[[project @ 2005-07-04 01:48:38 by unknown_lamer] unknown_lamer**20050704014838 Big documentation enhancements. All hooks are now documented. Changed hooks/send/message to match dest and pass dest to send hook. Changed hooks/signoff to take a second argument (intentional flag). A few source cleanups (lazy catch handlers are now methods of the Interp class). ] { hunk ./ChangeLog 1 +2005-07-03 Clinton Ebadi + + * bobot++.texinfo (Hook Types): Documented all hooks + + * source/ServerQueue.C (sendPrivmsg): Changed SEND_MESSAGE hook to + match dest and pass dest to send hook + + * bobot++.texinfo (Hook Types): Changed language of + hooks/dcc/chat-* hook documention + (Received Message Hooks): Added subsub section of Hook Types + (Sent Message Hooks): Added subsub section of Hook Types + (DCC CHAT Hooks): Added subsub section of Hook Types + (Miscellaneous Hooks): Added subsub section of Hook Types + + * source/Parser.C (parseScriptFunction): Changed + lazy_apply_wrapper to Interp::LazyApplyWrapper + (parseScriptFunction): Changed empty_handler to Interp::EmptyHandler + (parsePart): Grammar fix in log (Leaved => Left) + + * source/Interp.H (Interp): Added LazyHandler method + + * source/BotInterp.C (RunHooks): changed lazy_apply_wrapper to + Interp::LazyApplyWrapper + (RunTimers): Changed empty_handler to Interp::EmptyHandler + (RunHooks): Changed empty_handler to Interp::EmptyHandler + (RunTimers): Changed lazy_apply_wrapper to Interp::LazyApplyWrapper + + * source/Interp.C (LazyHandler): Renamed from lazy_handler + (ScmApplyWrapper): Renamed from scm_apply_wrapper + (EmptyHandler): Renamed from empty_handler + + * source/Interp.H (Interp): Removed ErrorHandler method + (Interp): Added LazyApplyWrapper method + (Interp): Added EmptyHandler method + (Interp): Added ScmApplyWrapper method + + * scripts/bobot-utils.scm: Added hooks/leave as an alias for hooks/part + Added begin-deprecated around deprecated definitions + (_deprecated-fun): Added macro to define an alias for a function + and issue a deprecation warning when used + Converted all bot- aliases to use _deprecated-fun + + * source/Interp.C (interp_init_helper): Changed Hook::LEAVE to + Hook::PART + (interp_init_helper): Removed definition of hooks/leave + + * bobot++.texinfo (Hook Types): Removed stub for hooks/leave, only + document hooks/part name (hooks/leave still exists, but will not + be documented as it is the same as hooks/part) + + * source/Parser.C (parsePart): Use Hook::PART instead of Hook::LEAVE + + * source/BotInterp.H: Removed Hook::LEAVE, added Hook::PART + + * bobot++.texinfo (Scripting): Added note about most arguments + being strings + + * source/Commands.C (NextServer): Call hooks/disconnect + + * source/Bot.C (run): Pass extra argument to Hook::DISCONNECT + + * bobot++.texinfo (Creating a Hook): Reformatted the bot:addhook + section to make it more readable + (Hook Types): Reformatted hooks/action + (Hook Types): Changed grammar of hooks/nickname (their => his) + (Hook Types): Documented hooks/signoff + hunk ./NEWS 14 +- Scripting + + hooks/disconnect now takes an additonal argument that specifies + whether the disconnect was intentional or not. + + The deprecated scripting procedure and hook names are now in a + `begin-deprecated' block. If your guile is built without + deprecated feature support, they will not be available. +- Documention + + Reorganized a few sections + + Every hook is now documented +- The code was cleaned up a bit binary ./bobot++.info oldhex *5468697320697320626f626f742b2b2e696e666f2c2070726f6475636564206279206d616b6569 *6e666f2076657273696f6e20342e372066726f6d0a626f626f742b2b2e746578696e666f2e0a0a *202020546869732066696c6520646f63756d656e747320426f626f742b2b20627920436c696e74 *6f6e20456261646920616e6420457469656e6e65204265726e6172640a286f726967696e616c20 *617574686f722c206e6f206c6f6e67657220776f726b73206f6e2070726f6772616d292e0a0a20 *2020436f7079726967687420323030322c323030342c3230303520436c696e746f6e2045626164 *690a0a2020205065726d697373696f6e206973206772616e74656420746f20636f70792c206469 *737472696275746520616e642f6f72206d6f64696679207468697320646f63756d656e740a756e *64657220746865207465726d73206f662074686520474e55204672656520446f63756d656e7461 *74696f6e204c6963656e73652c2056657273696f6e20312e31206f720a616e79206c6174657220 *76657273696f6e207075626c697368656420627920746865204672656520536f66747761726520 *466f756e646174696f6e3b2077697468206e6f0a496e76617269616e742053656374696f6e732c *2077697468206e6f2046726f6e742d436f7665722054657874732c20616e642077697468206e6f *204261636b2d436f7665720a54657874732e0a0a1f0a46696c653a20626f626f742b2b2e696e66 *6f2c20204e6f64653a20546f702c20204e6578743a20496e74726f64756374696f6e2c20205072 *65763a2028646972292c202055703a2028646972290a0a2020205468697320646f63756d656e74 *2064657363726962657320426f626f742b2b20627920436c696e746f6e20456261646920616e64 *20457469656e6e65204265726e6172640a286f726967696e616c20617574686f722c206e6f206c *6f6e67657220776f726b73206f6e2070726f6772616d292e0a0a2020205468697320646f63756d *656e74206170706c69657320746f2076657273696f6e20322e312e35206f66207468652070726f *6772616d206e616d656420426f626f742b2b0a0a202020436f7079726967687420323030322c32 *30303420436c696e746f6e2045626164690a0a2020205065726d697373696f6e20697320677261 *6e74656420746f20636f70792c206469737472696275746520616e642f6f72206d6f6469667920 *7468697320646f63756d656e740a756e64657220746865207465726d73206f662074686520474e *55204672656520446f63756d656e746174696f6e204c6963656e73652c2056657273696f6e2031 *2e31206f720a616e79206c617465722076657273696f6e207075626c6973686564206279207468 *65204672656520536f66747761726520466f756e646174696f6e3b2077697468206e6f0a496e76 *617269616e742053656374696f6e732c2077697468206e6f2046726f6e742d436f766572205465 *7874732c20616e642077697468206e6f204261636b2d436f7665720a54657874732e0a0a2a204d *656e753a0a0a2a20496e74726f64756374696f6e3a3a0a2a20436f6e66696775726174696f6e3a *3a0a2a205573696e672074686520426f743a3a0a2a20536372697074696e673a3a0a2a20436f6e *6365707420496e6465783a3a0a2a2046756e6374696f6e20496e6465783a3a0a2a205661726961 *626c6520496e6465783a3a0a0a202d2d2d205468652044657461696c6564204e6f6465204c6973 *74696e67202d2d2d0a0a436f6e66696775726174696f6e0a0a2a20436f6e66696775726174696f *6e2046696c6520506c6163656d656e743a3a0a2a20436f6e66696775726174696f6e2046696c65 *733a3a0a0a436f6e66696775726174696f6e2046696c65730a0a2a20626f742e636f6e663a3a0a *2a20626f742e75736572733a3a0a0a626f742e636f6e660a0a2a207365727665722073796e7461 *783a3a0a2a206368616e6e656c2073796e7461783a3a0a0a5573696e6720426f626f742b2b0a0a *2a205374617274696e672074686520426f743a3a0a2a2055736572204c6576656c733a3a0a2a20 *50726f74656374696f6e3a3a0a2a204175746f6d61746963204f703a3a0a2a204275696c742d49 *6e20436f6d6d616e64733a3a0a0a536372697074696e670a0a2a20416464696e67204e65772043 *6f6d6d616e64733a3a0a2a20486f6f6b733a3a0a2a20536368656d652055736572204c6576656c *733a3a0a2a2053656e64696e67204d657373616765733a3a0a2a204d6973632053637269707469 *6e672053747566663a3a0a0a486f6f6b730a0a2a204372656174696e67206120486f6f6b3a3a0a *2a20486f6f6b2054797065733a3a0a0a53656e64696e67204d657373616765730a0a2a20486967 *68204c6576656c204d6573736167652046756e6374696f6e733a3a0a2a204c6f77204c6576656c *204d6573736167652046756e6374696f6e733a3a0a0a1f0a46696c653a20626f626f742b2b2e69 *6e666f2c20204e6f64653a20496e74726f64756374696f6e2c20204e6578743a20436f6e666967 *75726174696f6e2c2020507265763a20546f702c202055703a20546f700a0a3120496e74726f64 *756374696f6e0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a54686973206d616e75616c206665656c *732061627573656420616e64206e65676c65637465642062656361757365206974206861732061 *6c6d6f7374206e6f20636f6e74656e742e0a0a1f0a46696c653a20626f626f742b2b2e696e666f *2c20204e6f64653a20436f6e66696775726174696f6e2c20204e6578743a205573696e67207468 *6520426f742c2020507265763a20496e74726f64756374696f6e2c202055703a20546f700a0a32 *20436f6e66696775726174696f6e0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a426f626f742b2b *206973206561737920746f20636f6e6669677572652e205365652074686520606578616d706c65 *7327206469726563746f727920666f7220616e0a6578616d706c6520636f6e6669677572617469 *6f6e2e0a0a2a204d656e753a0a0a2a20436f6e66696775726174696f6e2046696c6520506c6163 *656d656e743a3a0a2a20436f6e66696775726174696f6e2046696c65733a3a0a0a1f0a46696c65 *3a20626f626f742b2b2e696e666f2c20204e6f64653a20436f6e66696775726174696f6e204669 *6c6520506c6163656d656e742c20204e6578743a20436f6e66696775726174696f6e2046696c65 *732c2020507265763a20436f6e66696775726174696f6e2c202055703a20436f6e666967757261 *74696f6e0a0a322e3120436f6e66696775726174696f6e2046696c6520506c6163656d656e740a *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a426f626f74 *2b2b2077696c6c206c6f6f6b20696e20602f6574632f626f626f7470702f64656661756c742f27 *20666f72206974732064656661756c7420636f6e6669672069660a6e6f6e652069732073706563 *6966696564206f6e2074686520636f6d6d616e64206c696e652e205075742074686520636f6e66 *696775726174696f6e2066696c657320796f750a77616e7420746f206265206c6f616465642062 *792064656661756c7420696e2074686973206469726563746f72792e20496620796f7520617265 *206e6f7420726f6f74206f720a796f752077616e7420746f206861766520796f7572206f776e20 *706572736f6e616c20636f6e66696775726174696f6e2c2070757420697420696e0a607e2f2e62 *6f626f7470702f636f6e6669672f64656661756c742f272e0a0a1f0a46696c653a20626f626f74 *2b2b2e696e666f2c20204e6f64653a20436f6e66696775726174696f6e2046696c65732c202050 *7265763a20436f6e66696775726174696f6e2046696c6520506c6163656d656e742c202055703a *20436f6e66696775726174696f6e0a0a322e3220436f6e66696775726174696f6e2046696c6573 *0a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a2a204d656e753a0a0a2a20626f *742e636f6e663a3a0a2a20626f742e75736572733a3a0a0a1f0a46696c653a20626f626f742b2b *2e696e666f2c20204e6f64653a20626f742e636f6e662c20204e6578743a20626f742e75736572 *732c2020507265763a20436f6e66696775726174696f6e2046696c65732c202055703a20436f6e *66696775726174696f6e2046696c65730a0a322e322e3120626f742e636f6e660a2d2d2d2d2d2d *2d2d2d2d2d2d2d2d0a0a2a204d656e753a0a0a2a207365727665722073796e7461783a3a0a2a20 *6368616e6e656c2073796e7461783a3a0a0a20202060626f742e636f6e662720636f6e7461696e *73206b65792076616c75652070616972732073657061726174656420627920603d272e0a0a2020 *20603c6b65793e203d203c76616c75653e270a0a202020436f6d6d656e74732061726520737461 *72746564207769746820612060232720616e642063617573652074686520656e74697265206c69 *6e6520746f2062650a69676e6f7265642e205f4e6f746520746861742074686973206f6e6c7920 *776f726b73207768656e2074686520602327206973207468652066697273742063686172616374 *65720a6f6620746865206c696e655f2e0a0a202020626f742e636f6e6620697320746865206d61 *696e20636f6e66696775726174696f6e2066696c6520666f72206120426f626f742b2b2e205468 *6520617661696c61626c650a636f6e66696775726174696f6e207661726961626c657320617265 *206c69737465642062656c6f7720696e2074686520666f726d617420225641524941424c450a3c *64656661756c742d76616c75653e3a206465736372697074696f6e220a0a2020202a204e49434b *4e414d45203c426f626f743e3a20546865206e69636b6e616d65206f662074686520626f742028 *4e49434b20697320616e20616c69617320666f720a20202020204e49434b4e414d45290a0a2020 *202a20555345524e414d45203c626f626f743e3a205468652049524320757365726e616d65206f *662074686520626f740a0a2020202a20434d4443484152203c213e3a2054686520636861726163 *746572207468617420707265666978657320636f6d6d616e647320676976656e20746f20746865 *20626f740a202020202028434f4d4d414e4420697320616e20616c69617320666f7220434d4443 *484152290a0a2020202a204952434e414d45203c49276d206120626f626f742b2b213e3a205468 *6520495243206e616d6520286f7220277265616c206e616d652729206f662074686520626f740a *2020202020285245414c4e414d4520697320616e20616c69617320666f72204952434e414d4529 *0a0a2020202a20555345524c495354203c626f742e75736572733e3a204e616d65206f66207468 *652066696c652077686572652074686520757365726c6973742069732073746f7265640a0a2020 *202a20534849544c495354203c626f742e736869743e3a204e616d65206f66207468652066696c *652077686572652074686520736869746c6973742069732073746f7265640a0a2020202a204c4f *4746494c45203c244c4f474449522f626f742e6c6f673e3a204c6f636174696f6e206f66207468 *6520626f74206c6f6766696c65202873657420746869730a2020202020746f20602f6465762f6e *756c6c2720746f2064697361626c65206c6f6767696e67292e0a0a2020202a2053455256455220 *3c4e6f6e653e3a205468697320737065636966696573207468652073657276657220746f20636f *6e6e65637420746f2e204e6f746520746861740a20202020207468697320686173206120737065 *6369616c2073796e7461782e0a0a2020202a204348414e4e454c203c4e6f6e653e3a2054686973 *207370656369666965732061206368616e6e656c2074686520626f742077696c6c206a6f696e20 *7768656e2069740a20202020207374617274732075702e205468697320616c736f206861732061 *207370656369616c2073796e7461782e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f *2c20204e6f64653a207365727665722073796e7461782c20204e6578743a206368616e6e656c20 *73796e7461782c2020507265763a20626f742e636f6e662c202055703a20626f742e636f6e660a *0a322e322e312e31207365727665722073796e7461780a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e *2e2e2e2e2e0a0a534552564552203d205345525645525f4e414d45205b504f5254205b50415353 *574f52445d5d0a0a202020546869732077696c6c206d616b6520426f626f742b2b20617474656d *707420746f20636f6e6e65637420746f205345525645525f4e414d45206f6e20706f72740a504f *52542077697468207468652070617373776f72642050415353574f52442e205345525645525f4e *414d452073686f756c64206265207468652061646472657373206f660a74686520736572766572 *2e20504f525420616e642050415353574f524420617265206f7074696f6e616c2e20596f75206d *617920757365206d6f7265207468616e206f6e650a736572766572206c696e653b20426f626f74 *2b2b2077696c6c20617474656d707420746f20636f6e6e65637420746f20746865206669727374 *206f6e6520616e642c2069660a6974206661696c732c2077696c6c20636f6e6e65637420746f20 *746865206e657874206f6e6520696e20746865206c6973742e20546865726520697320616c736f *20610a636f6d6d616e6420746f2063617573652074686520626f7420746f206379636c65207365 *72766572732e204174207468652070726573656e742074696d6520426f626f742b2b0a63616e6e *6f7420636f6e6e65637420746f206d6f7265207468616e206f6e65207365727665722061742061 *2074696d652e2054686973206973206120706c616e6e65640a66656174757265206f6620332e30 *2028776869636820697320612076657279206c6f6e672077617920617761793b20746865206375 *7272656e7420737472756374757265206f660a7468652070726f6772616d20776f756c64206d61 *6b65206974207665727920646966666963756c7420746f2061646420737570706f727420666f72 *20636f6e6e656374696e670a746f206d756c7469706c6520736572766572732061742061207469 *6d6520696e206120757361626c65206d616e6e6572292e0a0a1f0a46696c653a20626f626f742b *2b2e696e666f2c20204e6f64653a206368616e6e656c2073796e7461782c2020507265763a2073 *65727665722073796e7461782c202055703a20626f742e636f6e660a0a322e322e312e32206368 *616e6e656c2073796e7461780a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a4348 *414e4e454c203d204e414d453a494e495449414c5f4d4f4445533a4d4f4445535f544f5f4b4545 *503a4348414e4e454c5f4b45590a0a202020596f75206d6179206861766520616e79206e756d62 *6572206f66206368616e6e656c206c696e65732e205768656e20426f626f742b2b207374617274 *732069742077696c6c0a617474656d707420746f206a6f696e20616e64206761696e206f707320 *696e206576657279206368616e6e656c206c69737465642e2049742077696c6c206a6f696e204e *414d450a616e642073657420746865206368616e6e656c206d6f64657320746f20494e49544941 *4c5f4d4f4445532028652e672e20226e7422292069662069742069732061626c6520746f0a6761 *696e206f70657261746f72207374617475732e2049742077696c6c207468656e206d61696e7461 *696e204d4f4445535f544f5f4b4545502e204966207468650a6368616e6e656c20726571756972 *65732061206b657920746f20656e7465722073696d706c7920736574204348414e4e454c5f4b45 *592e20457665727920617267756d656e740a65786365707420666f72204e414d45206973206f70 *74696f6e616c2e0a0a2020204120666577206578616d706c65206c696e65733a0a0a2020206043 *48414e4e454c203d2023666f6f3a6e743a6e743a626172270a0a20202054686520626f74207769 *6c6c206a6f696e206023666f6f27207769746820746865206368616e6e656c206b657920606261 *722720616e642077696c6c207468656e0a6d61696e7461696e20746865206d6f64657320606e74 *272e0a0a202020604348414e4e454c203d20236261723a3a3a270a0a20202054686520626f7420 *77696c6c206a6f696e2060236261722720616e642077696c6c206e6f742073657420616e79206d *6f646573206e6f722077696c6c2069740a617474656d707420746f206d61696e7461696e20616e *79206d6f6465732e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20 *626f742e75736572732c2020507265763a20626f742e636f6e662c202055703a20436f6e666967 *75726174696f6e2046696c65730a0a322e322e3220626f742e75736572730a2d2d2d2d2d2d2d2d *2d2d2d2d2d2d2d0a0a60626f742e757365727327206973207468652064656661756c742066696c *65206e616d65206f662074686520757365726c6973742e204974206d6179206265206368616e67 *65640a696e2060626f742e636f6e66272e205468652066696c6520636f6e7461696e73206c696e *657320776974682074686520666f726d61743a0a0a202020604d41534b3a4348414e4e454c3a4c *4556454c3a50524f54454354494f4e3a4155544f2d4f50270a0a2020202a204d41534b20697320 *74686520686f7374206d61736b2028652e672e20602a212a757365726e616d650a20202020202e *646f6d61696e2e636f6d2729206f662074686520757365720a0a2020202a204348414e4e454c20 *69732061206368616e6e656c206d61736b206f6620746865206368616e6e656c73207468617420 *7468652075736572206861730a202020202070726976696c6967657320746f2075736520746865 *20626f7420696e2028652e672e20602a2720666f7220616c6c206368616e6e656c732c2060232a *2720666f720a2020202020616c6c206e6f6e2d6c6f63616c206368616e6e656c2c206023666f6f *2a2720666f7220616c6c206368616e6e656c73207374617274696e6720776974680a2020202020 *22666f6f2c222060236261722720666f72206368616e6e656c20222362617222206f6e6c792c20 *6574632e290a0a2020202a204c4556454c206973207468652075736572206c6576656c206f6620 *746865207573657220282a4e6f74652055736572204c6576656c733a3a292e0a0a2020202a2050 *524f54454354494f4e206973207468652070726f74656374696f6e206c6576656c206f66207468 *65207573657220282a4e6f74650a202020202050726f74656374696f6e3a3a292e0a0a2020202a *204155544f2d4f502069732073657420746f20636f6e74726f6c20776865746865722061207573 *6572206973206175746f6d61746963616c6c7920676976656e0a20202020206f70657261746f72 *2070726976696c69676573206f6e206368616e6e656c20656e74727920282a4e6f746520417574 *6f6d61746963204f703a3a292e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c2020 *4e6f64653a205573696e672074686520426f742c20204e6578743a20536372697074696e672c20 *20507265763a20436f6e66696775726174696f6e2c202055703a20546f700a0a33205573696e67 *20426f626f742b2b0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a4649584d453a20737475666620 *686572652e2e2e0a0a2a204d656e753a0a0a2a205374617274696e672074686520426f743a3a0a *2a2055736572204c6576656c733a3a0a2a2050726f74656374696f6e3a3a0a2a204175746f6d61 *746963204f703a3a0a2a204275696c742d496e20436f6d6d616e64733a3a0a0a1f0a46696c653a *20626f626f742b2b2e696e666f2c20204e6f64653a205374617274696e672074686520426f742c *20204e6578743a2055736572204c6576656c732c2020507265763a205573696e67207468652042 *6f742c202055703a205573696e672074686520426f740a0a332e31205374617274696e67207468 *6520426f740a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a54686520626f7420697320 *757375616c6c7920696e7374616c6c65642077697468207468652062696e617279206e616d6520 *60626f626f747070272e20497420616363657074730a74686520666f6c6c6f77696e6720636f6d *6d616e64206c696e6520617267756d656e74733a0a0a2020202a20605b2d2d68656c705d5b2d68 *5d27202d2053686f77732064657461696c65642068656c7020616e642065786974730a0a202020 *2a20605b2d2d76657273696f6e5d5b2d765d27202d2053686f77732076657273696f6e20696e66 *6f726d6174696f6e20616e642065786974730a0a2020202a20605b2d2d6e6f2d6261636b67726f *756e645d5b2d625d27202d2052756e20626f626f742b2b20696e2074686520666f726567726f75 *6e640a0a2020202a20605b2d2d636f6e6669672d66696c652066696c655d5b2d665d27202d2055 *73652066696c6520696e7374656164206f662060626f742e636f6e66270a0a2020202a20605b2d *2d636f6e6669672d646972206469725d5b2d645d27202d20557365206469722061732064697220 *746f206c6f616420636f6e6669672066696c652066726f6d0a0a2020202a20605b2d2d636f6e66 *6967206469725d5b2d635d27202d2053656172636820796f757220636f6e666967207061746820 *2864656661756c747320746f0a20202020206024484f4d452f2e626f626f7470702f636f6e6669 *672f2720616e64207468656e20602f6574632f626f626f7470702f272920666f72206469722061 *6e640a20202020207468656e206c6f61647320796f757220636f6e666967206461746120757369 *6e67206469720a0a2020202a20605b2d2d7379732d636f6e666967206469725d5b2d735d27202d *204c6f6f6b7320666f7220636f6e66696720696e20602f6574632f626f626f7470702f64697227 *2e0a20202020204e6f7465207468617420746865207573657220646972206973207374696c6c20 *73656172636865642066697273740a0a2020202a20605b2d2d757365722d636f6e666967206469 *725d5b2d755d27202d204c6f6f6b7320666f7220636f6e66696720696e0a20202020206024484f *4d452f2e626f626f7470702f636f6e6669672f6469722f272e204e6f7465207468617420746865 *2073797374656d20646972206973207374696c6c0a202020202073656172636865642061667465 *72207468697320696620646972206973206e6f7420666f756e642e0a0a2020202a20605b2d2d64 *656275675d5b2d445d27204d616b657320426f626f742b2b207072696e7420646562756767696e *6720696e666f20616e642072756e20696e207468650a2020202020666f726567726f756e640a0a *2020202a20605b2d2d64656275672d736372697074735d5b2d535d2720456e61626c6564207468 *65204775696c6520646562756767696e67206576616c7561746f7220666f720a20202020207665 *72626f736520736372697074206572726f727320616e64206261636b747261636573207768696c *65207374696c6c2072756e6e696e672074686520626f740a2020202020696e2074686520626163 *6b67726f756e642e0a0a2020205468652064656661756c7420636f6e66696775726174696f6e20 *697320726561642066726f6d0a6024484f4d452f2e626f626f7470702f636f6e6669672f646566 *61756c742f2720616e64207468656e20602f6574632f626f626f7470702f64656661756c742f27 *2069660a746865207573657220636f6e666967206973206e6f7420666f756e642e0a0a20202054 *686520626f742064656661756c747320746f2072756e6e696e6720696e20746865206261636b67 *726f756e642061732061206461656d6f6e2e0a0a1f0a46696c653a20626f626f742b2b2e696e66 *6f2c20204e6f64653a2055736572204c6576656c732c20204e6578743a2050726f74656374696f *6e2c2020507265763a205374617274696e672074686520426f742c202055703a205573696e6720 *74686520426f740a0a332e322055736572204c6576656c730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d *3d0a0a546865726520617265207365766572616c2075736572206c6576656c7320617661696c61 *626c6520696e20426f626f742b2b20746f2070726f766964652067726164617465640a61636365 *737320746f20636f6d6d616e64732e206021616464757365722720616e642060626f742e757365 *7273272075736520746865206e756d6572696320636f64653b0a536368656d6520757365732074 *6865207465787475616c206e616d6520666f7220746865206c6576656c2e204279206465666175 *6c7420286966206e6f2063617463682d616c6c0a73657474696e6720697320666f756e6420696e *202a4e6f746520626f742e75736572733a3a2e2920612075736572206861732061636365737320 *746f20636f6d6d616e64730a7769746820746865206c6576656c2060626f743a757365722d6e6f *6e65272e0a0a2020302e2060626f743a757365722d6e6f6e6527202d204e6f202a6275696c742d *696e2a20636f6d6d616e6473206d6179206265206578656375746564205f62790a202020202064 *656661756c745f2028636f6d6d616e6473206d61792062652061646465642066726f6d20536368 *656d6520746861742063616e2062652065786563757465640a2020202020627920757365727320 *6f66206c6576656c206e6f6e6520616e6420746865206c6576656c20726571756972656420746f *2065786563757465206120636f6d6d616e640a20202020206d6179206265206368616e67656420 *66726f6d20536368656d65292e0a0a2020312e2060626f743a757365722d7573657227202d2057 *696c6c2062652061626c6520746f2065786563757465206d6f737420636f6d6d616e6473206275 *74206e6f740a2020202020616c6c20616e642063616e6e6f7420757365206d61736b73206f6e20 *6b69636b7320616e642062616e732e0a0a2020322e2060626f743a757365722d74727573746564 *27202d20466f72206275696c742d696e73207769746820612064656661756c7420636f6e666967 *75726174696f6e0a2020202020746869732075736572206861732061636365737320746f207468 *652073616d6520736574206f6620636f6d6d616e647320617320616e2060757365722720627574 *0a20202020206d617920757365206d61736b73206f6e206b69636b7320616e642062616e732e20 *536368656d6520636f6d6d616e6473206d61792062652061646465640a20202020207768696368 *20726571756972652061207573657220746f206265206f662074686973206c6576656c2e0a0a20 *20332e2060626f743a757365722d667269656e6427202d20496e207468652064656661756c7420 *636f6e66696775726174696f6e206120757365722077686f20697320610a202020202066726965 *6e642077696c6c2062652061626c6520746f20646f2065766572797468696e672073686f727420 *6f662073746f7070696e672074686520626f742e0a2020202020416761696e2c20746865726520 *6d6179206265207573657220616464656420636f6d6d616e647320746861742072657175697265 *20612068696768657220757365720a20202020206c6576656c2e0a0a2020342e2060626f743a75 *7365722d6d617374657227202d2054686973206973207468652068696768657374207573657220 *6c6576656c20616e6420686173206163636573730a2020202020746f2065766572792066656174 *757265206f662074686520626f742e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c *20204e6f64653a2050726f74656374696f6e2c20204e6578743a204175746f6d61746963204f70 *2c2020507265763a2055736572204c6576656c732c202055703a205573696e672074686520426f *740a0a332e332050726f74656374696f6e0a3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a4120757365 *722061646465642076696120536368656d652c207468652060626f742e7573657273272066696c *652c206f722060216164647573657227206d61792062650a70726f7465637465642066726f6d20 *6265696e672064656f7065642c206b69636b65642c206f722062616e6e65642e20546865726520 *6172652063757272656e746c79206e6f0a73796d626f6c6963206c6576656c7320696e20536368 *656d653b206a7573742075736520746865206e756d6572696320636f64652e0a0a2020302e204e *6f2070726f74656374696f6e0a0a2020312e204e6f2062616e2e20496620612075736572206973 *2062616e6e65642074686520626f742077696c6c20756e62616e2068696d2e2e0a0a2020322e20 *4e6f206b69636b2e205468652075736572206d6179207374696c6c206265206b69636b65642062 *75742074686520626f742077696c6c206b69636b62616e207468650a2020202020757365722077 *686f206b69636b6564207468652070726f74656374656420757365722e0a0a2020332e204e6f20 *64656f702e2054686520626f742077696c6c20656e737572652074686174207468652075736572 *20616c77617973206d61696e7461696e730a20202020206f70657261746f72207374617475732e *0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a204175746f6d617469 *63204f702c20204e6578743a204275696c742d496e20436f6d6d616e64732c2020507265763a20 *50726f74656374696f6e2c202055703a205573696e672074686520426f740a0a332e3420417574 *6f6d61746963204f700a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a412075736572206d617920 *6265206175746f6d61746963616c6c7920676976656e206f70657261746f722073746174757320 *75706f6e20656e746572696e6720610a6368616e6e656c2e205365742074686520414f50206669 *656c6420746f2022302220746f2064697361626c65206175746f2d6f70206f722022312220746f *20656e61626c650a6175746f2d6f702e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c *20204e6f64653a204275696c742d496e20436f6d6d616e64732c2020507265763a204175746f6d *61746963204f702c202055703a205573696e672074686520426f740a0a332e35204275696c742d *496e20436f6d6d616e64730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a426f626f *742b2b20686173206d616e79206275696c742d696e20636f6d6d616e64732074686174206d616b *652069742075736566756c20776974686f75740a736372697074696e6720737570706f72742e20 *546865207265666572656e6365206c6561766573206f66662074686520636f6d6d616e64206368 *61723b2072656d656d6265720a746f2075736520776861746576657220796f7520646566696e65 *642074686520636f6d6d616e64206368617220746f20626520696e2060626f742e636f6e66272e *20496620610a636f6d6d616e64206e6565647320746865206368616e6e656c206e616d65207468 *656e20796f75206d757374207370656369667920746865206368616e6e656c206173207468650a *666972737420617267756d656e7420746f2074686520636f6d6d616e64207768656e2070726976 *617465206d6573736167696e672074686520626f74206120636f6d6d616e642e0a0a434f4d4d41 *4e4420202020202020204e45454453202020202020204d494e204c4556454c2020204445534352 *495054494f4e0a2020202020202020202020202020204348414e4e454c2020202020544f205553 *452020202020200a60616374696f6e272060646f27202059657320202020202020202055534552 *2020202020202020204361757365732074686520626f7420746f20706572666f726d207468650a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *616374696f6e2060646f2720696e207468652063757272656e74206368616e6e656c2e0a606164 *6475736572272020202020202020202020202020202020202020202020202020202020200a6061 *646473657276657227202020202020202020202020202020202020202020202020202020204164 *647320746865207365727665722073706563696669656420627920484f53540a20202020202020 *20202020202020202020202020202020202020202020202020202020202020204e414d45206f72 *204950204144445245535320746f20746865207365727665720a20202020202020202020202020 *20202020202020202020202020202020202020202020202020206c6973742e0a60616464736869 *74272020202020202020202020202020202020202020202020202020202020200a60616c696173 *2720202020202020202020202020202020202020202020202020202020202020204d616b657320 *616e20616c6961732c20616e642061646473207468650a20202020202020202020202020202020 *202020202020202020202020202020202020202020202066756e6374696f6e204e4557204e414d *452c20746861742077696c6c20646f0a2020202020202020202020202020202020202020202020 *2020202020202020202020202020202065786163746c79207468652073616d6520636f6d6d616e *64206173204f4c440a202020202020202020202020202020202020202020202020202020202020 *2020202020202020204e414d452e0a6062616e2720202020202020202020202020202020202020 *20202020202020202020202020202042616e73204d41534b206f72204e49434b2066726f6d2043 *48414e4e454c2e20596f750a202020202020202020202020202020202020202020202020202020 *2020202020202020202020206e65656420746f2062652061207472757374656420757365722074 *6f2062616e0a202020202020202020202020202020202020202020202020202020202020202020 *202020202020776974682061204d41534b2e0a6062616e6c697374272020202020202020202020 *202020202020202020202020202020202020200a606368616e6e656c7327202020202020202020 *20202020202020202020202020202020202020205072696e747320746865206368616e6e656c28 *73292077686572652074686520626f740a20202020202020202020202020202020202020202020 *202020202020202020202020202020202069732063757272656e746c792e0a606379636c652720 *202020202020205965732020202020202020202020202020202020202020204d616b6573207468 *6520626f74206c6561766520616e64206a6f696e0a202020202020202020202020202020202020 *2020202020202020202020202020202020202020204348414e4e454c2e0a606463636c69737427 *202020202020202020202020202020202020202020202020202020202020476976657320746865 *206c697374206f6620616c6c2044434320436861740a2020202020202020202020202020202020 *20202020202020202020202020202020202020202020636f6e6e656374696f6e732e0a60646562 *616e27202020202020202059657320202020202020202020202020202020202020202044656261 *6e73204d41534b206f72204e49434b2066726f6d204348414e4e454c2e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020596f75206e65656420 *746f20626520612074727573746564207573657220746f0a202020202020202020202020202020 *202020202020202020202020202020202020202020202020646562616e20776974682061204d41 *534b2e0a6064656c73657276657227202020202020202020202020202020202020202020202020 *2020202044656c65746573207365727665722066726f6d20736572766572206c6973740a202020 *20202020202020202020202020202020202020202020202020202020202020202020202077686f *7365206e756d62657220696e2074686520736572766572206c6973742069730a20202020202020 *202020202020202020202020202020202020202020202020202020202020202053455256455220 *4e554d4245522e0a6064656c757365722720202020202020202020202020202020202020202020 *202020202020202052656d6f766573204e49434b206f72204d41534b2066726f6d207468650a20 *202020202020202020202020202020202020202020202020202020202020202020202020202075 *7365726c6973742e0a6064656c7368697427202020202020202020202020202020202020202020 *20202020202020202052656d6f766573204e49434b206f72204d41534b2066726f6d207468650a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *736869746c6973742e0a6064656f70272020202020202020205965732020202020202020202020 *2020202020202020202044656f7073204d41534b206f72204e49434b206f6e204348414e4e454c *2e0a60646965272020202020202020202020202020202020202020202020202020202020202020 *20204d616b65732074686520626f742073746f7020696d6d6564696174656c792e0a60646f2720 *202020202020202020202020202020202020202020202020202020202020202020200a60657865 *63757465272020202020202020202020202020202020202020202020202020202020202a4f6e6c *7920617661696c61626c6520696620736372697074696e670a2020202020202020202020202020 *20202020202020202020202020202020202020202020202020737570706f727420697320656e61 *626c65642a0a6068656c7027202020202020202020202020202020202020202020202020202020 *2020202020200a606964656e742720202020202020202020202020202020202020202020202020 *202020202020204964656e74696669657320796f75206f6e2074686520626f742e204e6f74650a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *7468617420796f752073686f756c64206e6f742075736520746869730a20202020202020202020 *2020202020202020202020202020202020202020202020202020202020636f6d6d616e6420696e *207075626c6963202e2e2e0a60696e766974652720202020202020596573202020202020202020 *202020202020202020202020496e7669746573204e49434b206f6e204348414e4e454c2e0a606a *6f696e272020202020202020202020202020202020202020202020202020202020202020204d61 *6b65732074686520626f74206a6f696e204348414e4e454c2e0a606b6565702720202020202020 *20205965732020202020202020202020202020202020202020205365747320746865204d4f4445 *5320746861742074686520626f742077696c6c0a20202020202020202020202020202020202020 *20202020202020202020202020202020202020206b65657020666f72204348414e4e454c2e0a60 *6b69636b272020202020202020205965732020202020202020202020202020202020202020204b *69636b73204d41534b206f72204e49434b206f7574206f66204348414e4e454c2c0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020206265636175 *7365206f6620524541534f4e2e20596f75206e65656420746f20626520610a2020202020202020 *202020202020202020202020202020202020202020202020202020202020207472757374656420 *7573657220746f207573652061204d41534b2e0a606b69636b62616e2720202020202059657320 *202020202020202020202020202020202020202042616e73207468656e206b69636b73204d4153 *4b206f72204e49434b206f7574206f660a20202020202020202020202020202020202020202020 *20202020202020202020202020202020204348414e4e454c2c2062656361757365206f66205245 *41534f4e2e20596f75206e6565640a202020202020202020202020202020202020202020202020 *202020202020202020202020202020746f20626520612074727573746564207573657220746f20 *7573652061204d41534b2e0a606c6f616427202020202020202020202020202020202020202020 *20202020202020202020202052656c6f6164732074686520757365726c6973742066726f6d2064 *69736b2e0a606c6f61647363726970742720202020202020202020202020202020202020202020 *20202020202a4f6e6c7920617661696c61626c6520696620736372697074696e670a2020202020 *20202020202020202020202020202020202020202020202020202020202020202020737570706f *727420697320656e61626c65642a0a606c6f636b27202020202020202020202020202020202020 *2020202020202020202020202020204c6f636b7320746f706963206f6e204348414e4e454c2e0a *606d6f646527202020202020202020596573202020202020202020202020202020202020202020 *53656e6473204d4f444520535452494e47206173206d6f646520666f720a202020202020202020 *2020202020202020202020202020202020202020202020202020202020204348414e4e454c2e0a *606d73672720202020202020202020202020202020202020202020202020202020202020202020 *0a606e616d65732720202020202020205965732020202020202020202020202020202020202020 *2053686f777320746865206e69636b6e616d657320616e6420737461747573206f660a20202020 *202020202020202020202020202020202020202020202020202020202020202020202075736572 *73206f6e204348414e4e454c2e0a606e6578747365727665722720202020202020202020202020 *20202020202020202020202020204d616b65732074686520626f7420636f6e6e65637420746f20 *746865206e6578740a202020202020202020202020202020202020202020202020202020202020 *20202020202020202073657276657220696e2069747320736572766572206c6973742e0a606e69 *636b272020202020202020202020202020202020202020202020202020202020202020204d616b *65732074686520626f7420757365206e69636b6e616d65204e49434b2e0a606e736c6f6f6b7570 *272020202020202020202020202020202020202020202020202020202020446f65732061206e61 *6d657365727665722071756572792061626f7574204e49434b0a20202020202020202020202020 *2020202020202020202020202020202020202020202020202020686f73742c20484f5354206f72 *20495020414444524553532e0a606f702720202020202020202020205965732020202020202020 *202020202020202020202020204f7073204e49434b206f6e204348414e4e454c2e0a6070617274 *272020202020202020205965732020202020202020202020202020202020202020204d616b6573 *2074686520626f74206c65617665204348414e4e454c2e0a6070617373776f7264272020202020 *2020202020202020202020202020202020202020202020204368616e67657320796f7572207061 *7373776f7264206f6e2074686520626f742e0a2020202020202020202020202020202020202020 *2020202020202020202020202020202020202055736520604e4f4e45272061732070617373776f *726420696620796f752077616e740a202020202020202020202020202020202020202020202020 *202020202020202020202020202020746f20636c6561722069742e20446f206e6f742075736520 *746869730a20202020202020202020202020202020202020202020202020202020202020202020 *2020202020636f6d6d616e6420696e207075626c6963210a607265636f6e6e6563742720202020 *2020202020202020202020202020202020202020202020204d616b65732074686520626f742072 *65636f6e6e65637420746f206974730a2020202020202020202020202020202020202020202020 *2020202020202020202020202020202063757272656e74207365727665722e0a60727370796d65 *737361676527202020202020202020202020202020202020202020202020202052656d6f766573 *20796f752066726f6d2074686520737079206c6973742e0a607361766527202020202020202020 *20202020202020202020202020202020202020202020202053617665732074686520757365726c *6973742e0a60736179272020202020202020202059657320202020202020202020202020202020 *20202020204d616b65732074686520626f7420736179204d455353414745206f6e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020204348414e4e *454c2e0a6073657276657227202020202020202020202020202020202020202020202020202020 *2020202053656c656374207468652073657276657220746f20636f6e6e65637420746f2e0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020205345 *52564552204e554d42455220697320746865206e756d626572206f66207468650a202020202020 *202020202020202020202020202020202020202020202020202020202020202020736572766572 *20696e20746865207365727665726c6973742e0a607365727665726c6973742720202020202020 *202020202020202020202020202020202020202053686f77732074686520626f74277320736572 *7665726c6973742e0a60736574666c6f6f64726174652720202020202020202020202020202020 *2020202020202020200a6073657476657273696f6e272020202020202020202020202020202020 *202020202020202020200a60736869746c69737427202020202020202020202020202020202020 *202020202020202020202053686f77732074686520626f74277320736869746c6973742e0a6073 *70796c697374272020202020202020202020202020202020202020202020202020202020205368 *6f77732074686520626f742773207370796c6973742e0a607370796d6573736167652720202020 *20202020202020202020202020202020202020202020204164647320796f7520746f2074686520 *7370796c6973740a60737461747327202020202020202059657320202020202020202020202020 *20202020202020204769766573204348414e4e454c277320737461746973746963732e0a607462 *616e2720202020202020202059657320202020202020202020202020202020202020202042616e *73204e49434b206f72204d41534b2066726f6d204348414e4e454c20666f720a20202020202020 *202020202020202020202020202020202020202020202020202020202020202054494d45207365 *636f6e64732e0a60746b62616e2720202020202020205965732020202020202020202020202020 *2020202020202042616e73204e49434b206f72204d41534b2066726f6d204348414e4e454c2066 *6f720a202020202020202020202020202020202020202020202020202020202020202020202020 *20202054494d45207365636f6e64732c207468656e206b69636b732068696d2f7468656d0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020206265 *6361757365206f6620524541534f4e2e0a60746f70696327202020202020202059657320202020 *20202020202020202020202020202020204966206e6f20544f504943697320676976656e2c2070 *72696e74730a202020202020202020202020202020202020202020202020202020202020202020 *2020202020204348414e4e454c277320746f7069632e204f74686572776973652c207468652062 *6f740a202020202020202020202020202020202020202020202020202020202020202020202020 *20202077696c6c206368616e6765204348414e4e454c277320746f70696320746f0a2020202020 *20202020202020202020202020202020202020202020202020202020202020202020544f504943 *2e0a60756e6c6f636b272020202020202059657320202020202020202020202020202020202020 *20204d616b65732074686520626f7420756e6c6f636b20746f706963206f6e0a20202020202020 *20202020202020202020202020202020202020202020202020202020202020204348414e4e454c *0a60757365726c6973742720202020202020202020202020202020202020202020202020202020 *2053686f77732074686520626f74277320757365726c6973740a6077686f272020202020202020 *202059657320202020202020202020202020202020202020202053686f7720796f7572206c6576 *656c206f6e204348414e4e454c0a6077686f697327202020202020202059657320202020202020 *202020202020202020202020202053686f777320696e666f726d6174696f6e2061626f7574204e *49434b206f6e0a2020202020202020202020202020202020202020202020202020202020202020 *202020202020204348414e4e454c0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c2020 *4e6f64653a20536372697074696e672c20204e6578743a20436f6e6365707420496e6465782c20 *20507265763a205573696e672074686520426f742c202055703a20546f700a0a34205363726970 *74696e670a2a2a2a2a2a2a2a2a2a2a2a0a0a426f626f742b2b2773206d6f737420706f77657266 *756c20666561747572652069732069747320736372697074696e672073797374656d2e20596f75 *2077726974650a73637269707473207573696e67204775696c6520536368656d652e2054686973 *206d616e75616c20646f6573206e6f7420636f76657220686f7720746f20757365204775696c65 *0a6f7220686f7720746f206c6561726e20536368656d652e202a4e6f7465204775696c65205265 *666572656e6365204d616e75616c3a20286775696c6529546f702c20666f720a74686520477569 *6c65207265666572656e6365206d616e75616c20616e640a60687474703a2f2f7777772e636373 *2e6e65752e6564752f686f6d652f646f7261692f742d792d736368656d652f742d792d73636865 *6d652e68746d6c2720666f7220610a676f6f64207475746f7269616c206f6e20536368656d652e *0a0a2020204e6f7465207468617420696e2070726576696f75732076657273696f6e7320746865 *20736372697074696e6720636f6d6d616e647320776865726520696e207468650a666f726d2060 *626f742d46554e4354494f4e272e205468657920617265206e6f7720696e2074686520666f726d *2060626f743a46554e4354494f4e272e20546865206f6c640a6e616d657320617265207374696c *6c20617661696c61626c652c2062757420617265206465707265636174656420616e642077696c *6c2062652072656d6f76656420696e0a426f626f742b2b20332e302e204e657720636f6d6d616e *647320617265206f6e6c7920617661696c61626c652077697468207468652060626f743a272070 *72656669782e0a54686520636f6d6d616e6420607065726c202d7069202d65206060732f626f74 *2d2f626f743a2f67272720594f55522d46494c4553272073686f756c6420626520656e6f756768 *0a746f20636f6e7665727420796f757220636f646520746f2075736520746865206e6577206675 *6e6374696f6e732e0a0a2a204d656e753a0a0a2a20416464696e67204e657720436f6d6d616e64 *733a3a0a2a20486f6f6b733a3a0a2a20536368656d652055736572204c6576656c733a3a0a2a20 *53656e64696e67204d657373616765733a3a0a2a204d69736320536372697074696e6720537475 *66663a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a2041646469 *6e67204e657720436f6d6d616e64732c20204e6578743a20486f6f6b732c2020507265763a2053 *6372697074696e672c202055703a20536372697074696e670a0a342e3120416464696e67204e65 *7720436f6d6d616e64730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a416464 *696e672061206e657720636f6d6d616e642069732073696d706c652e20546f2072656769737465 *722061206e657720636f6d6d616e64207573650a60626f743a616464636f6d6d616e64272e0a0a *202d2d2046756e6374696f6e3a20626f743a616464636f6d6d616e64206e616d652066756e6320 *6e656564732d6368616e6e656c3f206e756d2d6f662d617267730a202020202020202020206d69 *6e2d6c6576656c0a2020202020546865204e414d45206973206120737472696e67207265707265 *73656e74696e6720746865206e616d65206f662074686520636f6d6d616e64206265696e670a20 *2020202061646465642e202046554e4320697320612066756e6374696f6e20616363657074696e *67204e554d2d4f462d4152475320617267756d656e74732e0a20202020204e454544532d434841 *4e4e454c3f206973206120626f6f6c20746861742069732074727565206966207468652066756e *6374696f6e206e65656473207468650a20202020206368616e6e656c206e616d65206173206974 *73206669727374206172672c20616e642066616c7365206f74686572776973652e20204e554d2d *4f462d415247530a2020202020697320746865206e756d626572206f6620617267732046554e43 *2077696c6c2074616b6520616e64206d7573742062652077697468696e207a65726f202830290a *2020202020616e64207477656e747920283230292e20204d494e2d4c4556454c206973206f6e65 *206f6620746865202a4e6f746520536368656d6520557365720a20202020204c6576656c733a3a *2e2020412075736572206d757374206265206174206c65617374206120606d696e2d6c6576656c *27207573657220746f20757365207468650a20202020206e657720636f6d6d616e642e20204e6f *6e65206f662074686520617267756d656e7473206172652067756172616e7465656420746f2062 *65207061737365643b0a202020202069662074686579206172656e277420746865792061726520 *73657420746f2074686520656d70747920737472696e6720602222272e2020416e206578616d70 *6c650a20202020206f662061206e657720636f6d6d616e6420776f756c642062653a0a0a202020 *2020202020202028646566696e65202868656c6c6f206368616e6e656c206e616d65290a202020 *2020202020202020202869662028737472696e673d3f206e616d65202222290a20202020202020 *2020202020202028626f743a736179206368616e6e656c202248656c6c6f20776f726c64212229 *0a202020202020202020202020202028626f743a736179206368616e6e656c2028737472696e67 *2d617070656e64202248656c6c6f2022206e616d65202221222929290a0a202020202020202020 *2028626f743a616464636f6d6d616e64202268656c6c6f222068656c6c6f20237420322030290a *0a2020202020546869732077696c6c20646973706c6179202248656c6c6f20576f726c64212220 *69662063616c6c656420617320602168656c6c6f2720616e64202248656c6c6f0a202020202057 *6f726c6420605553455227222069662063616c6c656420617320602168656c6c6f205553455227 *2e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20486f6f6b732c20 *204e6578743a20536368656d652055736572204c6576656c732c2020507265763a20416464696e *67204e657720436f6d6d616e64732c202055703a20536372697074696e670a0a342e3220486f6f *6b730a3d3d3d3d3d3d3d3d3d0a0a486f6f6b7320617265206120706f77657266756c2066656174 *757265206f6620426f626f742b2b2e20486f6f6b7320617265206120687962726964206f662069 *726349490a616e642074696e79206675677565202861204d554420626f742920686f6f6b732077 *6974682061206c6974746c6520626974206f662065787472612073747566662061646465640a69 *6e2e204120686f6f6b2069732063616c6c6564207768656e206120726567756c61722065787072 *657373696f6e206973206d61746368656420616761696e737420610a6d6573736167652073656e *7420746f206f722062792074686520626f742e0a0a202020426f626f742b2b2075736573206469 *66666572656e7420686f6f6b20747970657320666f72206561636820495243206d657373616765 *20747970652c20616e6420616c736f0a696e636c75646573206120686f6f6b20666f7220616363 *657373696e672072617720697263206d657373616765732e20486f6f6b73206172652074616767 *6564207769746820610a7072696f7269747920616e64206120666c616720746861742073706563 *6966696573207768657468657220746f2063616c6c20746865206e65787420686f6f6b20746861 *740a6d6174636865732061667465722063616c6c696e67207468652063757272656e74206f6e65 *206f7220746f2073746f702070726f63657373696e672e0a0a202020486f6f6b73206172652070 *726f6365737365642066726f6d20746865206869676865737420746f206c6f7765737420707269 *6f726974792c20776974680a66616c6c7468726f75676820686f6f6b73206f6620657175616c20 *7072696f7269747920746f206e6f6e2d66616c6c7468726f75676820686f6f6b73206265696e67 *0a65786563757465642066697273742e0a0a2a204d656e753a0a0a2a204372656174696e672061 *20486f6f6b3a3a0a2a20486f6f6b2054797065733a3a0a0a1f0a46696c653a20626f626f742b2b *2e696e666f2c20204e6f64653a204372656174696e67206120486f6f6b2c20204e6578743a2048 *6f6f6b2054797065732c2020507265763a20486f6f6b732c202055703a20486f6f6b730a0a342e *322e31204372656174696e67206120486f6f6b0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d *2d2d0a0a546f206164642061206e657720686f6f6b20796f7520757365207468652066756e6374 *696f6e2060626f743a616464686f6f6b272e0a0a202d2d2046756e6374696f6e3a20626f743a61 *6464686f6f6b20747970652072656765782066756e6374696f6e205b7072692066616c6c206e61 *6d655d0a20202020205459504520737065636966696573207468652074797065206f6620686f6f *6b2028746865207479706573206f6620686f6f6b7320617265206c697374656420696e0a202020 *20202a4e6f746520486f6f6b2054797065733a3a292e2052454745582069732061207374616e64 *61726420726567756c61722065787072657373696f6e2e2049660a202020202052454745582069 *73206d6174636865642c2046554e4354494f4e2077696c6c2062652063616c6c65642e2046554e *4354494f4e2077696c6c2074616b6520610a2020202020646966666572656e74206e756d626572 *206f66206172677320646570656e64696e67206f6e2074686520686f6f6b20747970652e205052 *49207370656369666965730a2020202020746865207072696f72697479206f662074686520686f *6f6b2d2d686967686572207072696f7269747920686f6f6b73206172652065786563757465640a *202020202066697273742e205468697320617267756d656e74206973206f7074696f6e616c2061 *6e642064656661756c747320746f206030272e2046414c4c20697320602374270a202020202069 *662074686520686f6f6b20697320612066616c6c7468726f75676820686f6f6b20616e64206023 *66272069732074686520686f6f6b206973206e6f7420610a202020202066616c6c7468726f7567 *6820686f6f6b2e20546869732061726720697320616c736f206f7074696f6e616c20616e642064 *656661756c7420746f20602374272e0a20202020204e414d4520697320746865206f7074696f6e *616c206e616d65206f662074686520686f6f6b20746861742064656661756c747320746f202244 *454641554c54222e0a2020202020496620796f752073657420746865206e616d65207468656e20 *796f752063616e2068617665206d6f7265207468616e206f6e6520686f6f6b20746861740a2020 *2020206d617463686573207468652073616d65207265676578702c206173206c6f6e6720617320 *746865792068617665207468652073616d65206e616d652e20452e672e0a2020202020696e2061 *206c6f672073637269707420796f7520636f756c64206861766520746865207265676578707320 *666f7220746865206c6f672066756e6374696f6e0a2020202020616c6c2062652060222e2a2227 *20616e6420736574207468656972206e616d657320746f2060226c6f67222720746f2061766f69 *64206120636f6e666c6963740a202020202077697468206f7468657220686f6f6b732e0a0a1f0a *46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20486f6f6b2054797065732c20 *20507265763a204372656174696e67206120486f6f6b2c202055703a20486f6f6b730a0a342e32 *2e3220486f6f6b2054797065730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a48657265206973 *2061206c697374206f662074686520766172696f757320686f6f6b732066756e74696f6e732061 *6e64206e6f746573206f6e2065616368206f6e652e205468650a67656e6572616c20666f726d61 *74206f66206561636820686f6f6b206465736372697074696f6e20697320617320696620697420 *7765726520612066756e6374696f6e20746f0a626520646566696e65642c206275742074686573 *65206465736372696265207468652066756e6374696f6e20746f2062652070617373776420746f *0a60626f743a6164642d686f6f6b272e2020446f205f6e6f745f206e616d6520796f7572206675 *6e6374696f6e73207468657365206e616d65732e0a0a2020205468617420736169642c20686572 *6520697320746865206c697374206f6620617661696c61626c6520686f6f6b732066756e637469 *6f6e732e20204649584d453a0a777269746520646f63730a0a202d2d2046756e6374696f6e3a20 *686f6f6b732f616374696f6e2066726f6d20746f20616374696f6e0a2020202020546869732068 *6f6f6b20697320747269676765726564207768656e20736f6d656f6e6520706572666f726d7320 *616e20616374696f6e2e202046524f4d2069730a20202020207468652061646472657373206f66 *2074686520706572736f6e207468617420706572666f726d65642074686520616374696f6e2069 *6e2074686520666f726d0a2020202020604e49434b20212055534552204020484f535427202877 *6974686f75742074686520737061636573292e2020544f2069732074686520746172676574206f *660a202020202074686520616374696f6e2c207768696368206973206569746865722061206368 *616e6e656c206f722074686520426f742773206e69636b2e2020414354494f4e0a202020202069 *73207468652074657874206f662074686520616374696f6e2e20452e672e20696620736f6d656f *6e652064696420602a20666f6f62617220646f65730a202020202062617a272c207468656e2041 *4354494f4e20776f756c642062652074686520737472696e67206022646f65732062617a22272e *0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6e69636b6e616d65206f6c642d6e69636b *206e65772d6e69636b0a20202020205468697320686f6f6b20676574732063616c6c6564207768 *656e20736f6d656f6e65206368616e6765732074686972206e69636b6e616d652066726f6d0a20 *202020204f4c442d4e49434b20746f204e45572d4e49434b2e0a0a202d2d2046756e6374696f6e *3a20686f6f6b732f7369676e6f6666206e69636b20726573740a0a202d2d2046756e6374696f6e *3a20686f6f6b732f63746370206e69636b20746f20636f6d6d616e6420726573740a0a202d2d20 *46756e6374696f6e3a20686f6f6b732f637463702d7265706c79206e69636b20636f6d6d616e64 *20726573740a0a202d2d2046756e6374696f6e3a20686f6f6b732f646973636f6e6e6563742073 *65727665720a2020202020546869732069732063616c6c6564207768656e2074686520626f7420 *697320646973636f6e6e65637465642066726f6d2061207365727665720a2020202020756e696e *74656e74696f6e616c6c792e2060686f6f6b732f7369676e6f6666272069732063616c6c656420 *7768656e2074686520626f740a2020202020707572706f736566756c6c7920646973636f6e6e65 *637465642e2054686520686f6f6b2066756e6374696f6e20697320706173736564207468650a20 *20202020686f73746e616d65206f6620746865207365727665722069742077617320646973636f *6e6e65637465642066726f6d2e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f666c6f6f *64206e69636b0a0a202d2d2046756e6374696f6e3a20686f6f6b732f696e76697465206e69636b *206368616e6e656c0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6a6f696e206e69636b *206368616e6e656c0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6b69636b2074617267 *65742066726f6d206368616e6e656c20726561736f6e0a0a202d2d2046756e6374696f6e3a2068 *6f6f6b732f6c65617665206e69636b206368616e6e656c0a202d2d2046756e6374696f6e3a2068 *6f6f6b732f70617274206e69636b206368616e6e656c0a0a202d2d2046756e6374696f6e3a2068 *6f6f6b732f6d6f6465206e69636b206368616e6e656c206d6f6465730a0a202d2d2046756e6374 *696f6e3a20686f6f6b732f6d6573736167652066726f6d206d6573736167650a0a202d2d204675 *6e6374696f6e3a20686f6f6b732f6e6f74696365206e69636b206d6573736167650a0a202d2d20 *46756e6374696f6e3a20686f6f6b732f7075626c69632066726f6d20746f206d6573736167650a *0a202d2d2046756e6374696f6e3a20686f6f6b732f7075626c69632d6e6f74696365206e69636b *20746f206d6573736167650a0a202d2d2046756e6374696f6e3a20686f6f6b732f726177207261 *772d6d6573736167650a0a202d2d2046756e6374696f6e3a20686f6f6b732f74696d6572207469 *6d650a20202020205468697320686f6f6b207365656d7320746f2062652063616c6c6564206f6e *63652061206d696e7574652e202054494d4520697320696e206068683a6d6d270a202020202066 *6f726d61742e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f746f706963206e69636b20 *6368616e6e656c206e65772d746f7069630a0a202d2d2046756e6374696f6e3a20686f6f6b732f *73656e642f7075626c6963206d796e69636b2064657374206d6573736167650a0a202d2d204675 *6e6374696f6e3a20686f6f6b732f73656e642f6d65737361676520626f746e69636b206d657373 *6167650a0a202d2d2046756e6374696f6e3a20686f6f6b732f73656e642f616374696f6e206d79 *6e69636b20746f206d6573736167650a0a202d2d2046756e6374696f6e3a20686f6f6b732f7365 *6e642f63746370206d796e69636b20746f20636f6d6d616e64206d6573736167650a0a202d2d20 *46756e6374696f6e3a20686f6f6b732f6463632f636861742d626567696e2066726f6d0a202020 *20205468697320686f6f6b20697320747269676765726564207768656e20612075736572206265 *67696e73206120444343204348415420776974682074686520626f742e0a202020202046524f4d *2069732074686520757365722773206164647265737320696e2074686520666f726d20606e6963 *6b217573657240686f7374272e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6463632f *636861742d6d6573736167652066726f6d206d6573736167650a20202020205468697320686f6f *6b20697320747269676765726564207768656e206120757365722073656e64732061206d657373 *61676520746f2074686520626f740a20202020207468726f756768206120444343204348415420 *46524f4d2069732074686520757365722773206164647265737320696e2074686520666f726d0a *2020202020606e69636b217573657240686f7374272e20204d4553534147452069732074686520 *6d6573736167652074686520757365722073656e7420746f2074686520626f742e0a0a1f0a4669 *6c653a20626f626f742b2b2e696e666f2c20204e6f64653a20536368656d652055736572204c65 *76656c732c20204e6578743a2053656e64696e67204d657373616765732c2020507265763a2048 *6f6f6b732c202055703a20536372697074696e670a0a342e3320536368656d652055736572204c *6576656c730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a546865726520617265 *2066697665206c6576656c73207468617420612075736572206d6179206265207768656e20696e *746572666163696e672077697468206120626f743a0a4e4f4e452c20555345522c205452555354 *45445f555345522c20465249454e442c204d41535445522e2054686520536368656d6520766172 *6961626c657320666f72207468650a75736572206c6576656c73206172652060626f743a757365 *722d6e6f6e65272c2060626f743a757365722d75736572272c2060626f743a757365722d747275 *73746564272c0a60626f743a757365722d667269656e64272c20616e642060626f743a75736572 *2d6d6173746572272e20536565202a4e6f74652055736572204c6576656c733a3a20666f720a6d *6f726520696e666f726d6174696f6e206f6e2055736572204c6576656c732e0a0a202020576865 *6e20616464696e672061206e657720636f6d6d616e642c207468696e6b2061626f75742077686f *2073686f756c642062652061626c6520746f207573652069742e0a497320796f757220636f6d6d *616e6420612067656e6572616c20707572706f736520636f6d6d616e6420746861742068656c70 *7320746865206368616e6e656c2028652e672e0a60217365656e27292074686174206576657279 *6f6e652073686f756c642062652061626c6520746f207573653f204f7220697320697420736f6d *657468696e6720746861740a73686f756c6420626520726573747269637465643f20536565202a *4e6f74652055736572204c6576656c733a3a20666f7220696e666f726d6174696f6e206f6e2077 *6861740a6c6576656c2075736572732063616e20646f2077686174207769746820746865206275 *696c7420696e20626f7420636f6d6d616e647320616e64207468696e6b2061626f75740a776861 *74206c6576656c2061207573657220796f757220636f6d6d616e64206973207461726765747465 *6420746f77617264732e20596f75206d757374206265205f766572795f0a6361726566756c2077 *68656e20676976696e67206e657720636f6d6d616e647320746f206c6f776572206c6576656c20 *7573657273206265636175736520796f752063616e0a646f206261736963616c6c792065766572 *797468696e672074686520626f742063616e20646f20776974682061207363726970742e204173 *2074686520736372697074696e670a696e74657266616365206265636f6d6573206d6f72652070 *6f77657266756c2c20796f75206d757374207468696e6b206d6f72652061626f75742077686174 *2075736572730a63616e20757365206e657720636f6d6d616e647320796f75206164642e0a0a1f *0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a2053656e64696e67204d6573 *73616765732c20204e6578743a204d69736320536372697074696e672053747566662c20205072 *65763a20536368656d652055736572204c6576656c732c202055703a20536372697074696e670a *0a342e342053656e64696e67204d657373616765730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d *3d3d3d0a0a546865726520617265207365766572616c207479706573206f66206d657373616765 *7320796f752063616e2073656e64207769746820426f626f742b2b2066726f6d0a736372697074 *732e205468657265206973207468652073696d706c652c2062757420726174686572206c696d69 *7465642c2060626f743a736179272c0a60626f743a616374696f6e2720616e642060626f743a6d *7367272c20616e6420746865206d6f726520706f77657266756c2c20627574206c6f776572206c *6576656c2c0a60626f743a73656e642d4d455353414745272066756e6374696f6e732e204d6f73 *7420626f74732077696c6c2070726f6261626c79206f6e6c79206e656564207468650a68696768 *6572206c6576656c2066756e6374696f6e732c2062757420666f72207468652073616b65206f66 *207768792d6e6f7420426f626f742b2b206c65747320796f750a75736520746865206c6f776572 *206c6576656c2066756e6374696f6e732028696e2070726f6772657373292e0a0a2a204d656e75 *3a0a0a2a2048696768204c6576656c204d6573736167652046756e6374696f6e733a3a0a2a204c *6f77204c6576656c204d6573736167652046756e6374696f6e733a3a0a0a1f0a46696c653a2062 *6f626f742b2b2e696e666f2c20204e6f64653a2048696768204c6576656c204d65737361676520 *46756e6374696f6e732c20204e6578743a204c6f77204c6576656c204d6573736167652046756e *6374696f6e732c2020507265763a2053656e64696e67204d657373616765732c202055703a2053 *656e64696e67204d657373616765730a0a342e342e31202248696768204c6576656c22204d6573 *736167652046756e6374696f6e730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d *2d2d2d2d2d2d2d2d2d2d2d2d0a0a202d2d2046756e6374696f6e3a20626f743a73617920636861 *6e6e656c206d6573736167650a202020202053656e642061207075626c6963206f722070726976 *617465204d45535341474520746f204348414e4e454c2e0a0a202020202053656e64732061206e *6f726d616c2074657874206d6573736167652c2061732069662061207573657220686164207479 *70656420697420696e2e20205468650a2020202020444553542063616e2062652061206e69636b *6e616d65206f722061206368616e6e656c2e0a0a202d2d2046756e6374696f6e3a20626f743a61 *6374696f6e206368616e6e656c206d6573736167650a202020202053656e6420616e2022616374 *696f6e22207479706520204d45535341474520746f204348414e4e454c0a0a202d2d2046756e63 *74696f6e3a20626f743a6d7367206e69636b206d6573736167650a20202020205468652073616d *652061732069662061207573657220747970656420602f6d7367206e69636b206d657373616765 *2720746f207468656972204952430a2020202020636c69656e742e0a0a202d2d2046756e637469 *6f6e3a20626f743a6e6f7469636520746172676574206d6573736167650a202020202053656e64 *73204d4553534147452061732061204e4f5449434520746f205441524745542e20544152474554 *206d61792062652061207573657220286e69636b290a20202020206f722061206368616e6e656c *2e20546869732072657475726e732030206f6e20737563636573732e0a0a1f0a46696c653a2062 *6f626f742b2b2e696e666f2c20204e6f64653a204c6f77204c6576656c204d6573736167652046 *756e6374696f6e732c2020507265763a2048696768204c6576656c204d6573736167652046756e *6374696f6e732c202055703a2053656e64696e67204d657373616765730a0a342e342e3220224c *6f77204c6576656c22204d6573736167652046756e6374696f6e730a2d2d2d2d2d2d2d2d2d2d2d *2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a54686520224c6f77204c657665 *6c22206d6573736167696e672066756e6374696f6e7320616c6c6f7720796f7520746f20646f20 *7468696e6773206c696b652073656e640a43544350206d657373616765732e20596f752070726f *6261626c792077616e7420746f207265616420726663203238313220616e642074686520435443 *5020737065630a6265666f7265207573696e672074686573652e20496620796f75206861766520 *6e6f2069646561207768617420746865736520646f2c20726561642072666320323831320a2849 *524320436c69656e742050726f746f636f6c2920616e64204354435020737065632e2054686573 *652066756e6374696f6e7320616c6c2072657475726e0a602a756e7370656369666965642a2720 *616c776179732c20736f20646f6e277420757365207468652072657475726e2076616c75652066 *6f7220616e797468696e672e0a0a202d2d2046756e6374696f6e3a20626f743a73656e642d6374 *637020746f20636f6d6d616e64206d6573736167650a2020202020544f20697320746865207461 *72676574206f6620796f75722043544350206d6573736167652c20434f4d4d414e442069732074 *686520435443500a2020202020636f6d6d616e642c20616e64204d455353414745206973207468 *65206d65737361676520286f7220617267756d656e747329206f662074686520636f6d6d616e64 *2e0a20202020204d616b65207375726520746f2060626f743a637463702d71756f746527207468 *65206d657373616765210a0a202d2d2046756e6374696f6e3a20626f743a73656e642d63746370 *2d7265706c7920746f20636f6d6d616e64206d6573736167650a2020202020544f206973207468 *6520746172676574206f6620796f75722043544350207265706c792c20434f4d4d414e44206973 *20746865204354435020636f6d6d616e642c0a2020202020616e64204d45535341474520697320 *746865206d65737361676520286f7220617267756d656e747329206f662074686520636f6d6d61 *6e642e204d616b650a20202020207375726520746f2060626f743a637463702d71756f74652720 *746865206d657373616765210a0a202020202054686973206973207573656420746f207265706c *7920746f2061206374637020746861742074686520626f74206861732072656365697665642e0a *0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a204d6973632053637269 *7074696e672053747566662c2020507265763a2053656e64696e67204d657373616765732c2020 *55703a20536372697074696e670a0a342e35204d6973632e20536372697074696e672053747566 *660a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a54686573652061726520 *61206665772075736566756c207468696e6773207468617420492074686f756768742070656f70 *6c652077726974696e6720736372697074730a6d696768742077616e7420746f206b6e6f772e0a *0a202020496620796f752077616e7420746f206578656375746520636f6465207768656e207468 *6520626f742065786974732c206a75737420646f20606164642d686f6f6b210a626f743a657869 *742d686f6f6b205448554e4b27207768657265205448554e4b20697320616e20617267756d656e *746c6573732070726f6365647572652028610a7468756e6b292e205768656e2074686520626f74 *20657869747320796f7572207468756e6b2077696c6c2062652063616c6c65642e0a0a20202020 *205b2049206469646e2774206b6e6f7720776865726520746f2070757420616e79206f66207468 *6573652c20736f2049206a75737420737475636b207468656d20696e0a2020202020686572652e *0a0a202020202054686572652070726f6261626c79206e6565647320746f206265207365766572 *616c2073656374696f6e732061646465642c206c696b65206465616c696e670a20202020207769 *746820757365727320286b69636b696e672c2061646465642c20657463292c206465616c696e67 *20776974682074686520626f7420286368616e6e656c732c0a20202020206e69636b6e616d6520 *6f662074686520626f742c20657463292c20736572766572206973737565732028736572766572 *6c697374292c2075736566756c0a2020202020746f6f6c7320286e736c6f6f6b75702c2077686f *6973292c20616e6420646f206f6e2e205d0a0a202d2d2046756e6374696f6e3a20626f743a6164 *6475736572206e69636b2d6f722d6d61736b206362616e6e656c2d6d61736b206c6576656c2070 *726f74206175746f2d6f700a20202020204164647320616e207573657220746f20746865207573 *65726c6973742c20666f72206120606e69636b217573657240686f737427206d61746368696e67 *207468650a20202020206f6e6520676976656e2c206f6e2061206368616e6e656c206d61746368 *696e6720746865204348414e4e454c4d41534b20676976656e2e0a0a2020202020546865204c45 *56454c2063616e2062653a2020202020205468652050524f542063616e2062653a202020202020 *20546865204155544f2d4f502063616e2062653a0a202020202030202d204e6f206c6576656c20 *2020202020202020202030202d204e6f2070726f74656374696f6e20202020202030202d204e6f *206175746f2d6f700a202020202031202d20557365722020202020202020202020202020203120 *2d204e6f2062616e2020202020202020202020202031202d204f70206f6e206a6f696e0a202020 *202032202d205472757374656420557365722020202020202032202d204e6f206b69636b202020 *2020202020202020200a202020202033202d20467269656e642020202020202020202020202033 *202d204e6f2064656f702020202020202020202020200a202020202034202d204d617374657220 *20202020202020202020202020202020202020202020202020202020202020202020200a0a0a20 *2d2d2046756e6374696f6e3a20626f743a61646473657276657220686f73746e616d652069702d *61646472657373205b706f72746e756d6265725d0a202020202041646473207468652073657276 *65722073706563696669656420627920484f53544e414d45206f722049502d4144445245535320 *746f20746865207365727665720a20202020206c6973742e0a0a202d2d2046756e6374696f6e3a *20626f743a61646473686974206e69636b2d6f722d6d61736b206368616e6e656c2d6d61736b20 *6c6576656c205b74696d6520726561736f6e5d0a20202020204164647320616e20757365722074 *6f2074686520736869746c6973742c20666f722061206e69636b217573657240686f7374206d61 *746368696e67207468650a20202020206f6e6520676976656e2c206f6e2061206368616e6e656c *206d61746368696e6720746865204348414e4e454c4d41534b20676976656e2e0a0a2020202020 *2020202020546865204c4556454c2063616e2062653a0a20202020202020202020202030202d20 *4e6f20736869740a20202020202020202020202031202d204e6f206f700a202020202020202020 *20202032202d204b69636b20616e642042616e206f6e206a6f696e0a2020202020202020202020 *2033202d204b69636b20616e642042616e206f6e206a6f696e2c206e6f20646562616e0a0a0a20 *2d2d2046756e6374696f6e3a20626f743a62616e206368616e6e656c206d61736b2d6f722d6e69 *636b0a202020202042616e73204d41534b206f72204e49434b2066726f6d204348414e4e454c2e *20596f75206e65656420746f20626520612074727573746564207573657220746f0a2020202020 *62616e20776974682061204d41534b2e0a0a202d2d2046756e6374696f6e3a20626f743a636861 *6e67652d636f6d6d616e642d6c6576656c206e69636b2d6f722d6d61736b206368616e6e656c2d *6d61736b0a202020202020202020206e65772d6c6576656c0a20202020204769766573204e4943 *4b206f72204d41534b206c6576656c204e45572d4c4556454c206f6e206368616e6e656c287329 *204348414e4e454c2d4d41534b2e0a20202020204e6f7465207468617420796f752063616e206e *6f74206368616e6765206c6576656c20666f7220736f6d656f6e652077686f7365206c6576656c *2069730a202020202067726561746572207468616e20796f7572732c20616e6420746861742079 *6f752063616e206e6f7420676976652061206c6576656c2067726561746572207468616e0a2020 *202020796f7572732e0a0a202d2d2046756e6374696f6e3a20626f743a6379636c65206368616e *6e656c0a20202020204d616b65732074686520626f74206c6561766520616e64206a6f696e2043 *48414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a646562616e206368616e6e65 *6c206d61736b2d6f722d6e69636b0a2020202020446562616e73204d41534b206f72204e49434b *2066726f6d204348414e4e454c2e20596f75206e65656420746f20626520612074727573746564 *207573657220746f0a2020202020646562616e20776974682061204d41534b2e0a0a202d2d2046 *756e6374696f6e3a20626f743a64656c736572766572207365727665722d6e756d6265720a2020 *20202044656c65746573207365727665722066726f6d20736572766572206c6973742077686f73 *65206e756d62657220696e2074686520736572766572206c6973742069730a2020202020534552 *5645522d4e554d4245520a0a202d2d2046756e6374696f6e3a20626f743a64656c75736572206e *69636b2d6f722d6d61736b206368616e6e656c2d6d61736b0a202020202052656d6f766573204e *49434b206f72204d41534b2066726f6d2074686520757365726c6973742e0a0a202d2d2046756e *6374696f6e3a20626f743a64656c73686974206e69636b2d6f722d6d61736b206368616e6e656c *2d6d61736b0a202020202052656d6f766573204e49434b206f72204d41534b2066726f6d207468 *6520736869746c6973742e0a0a202d2d2046756e6374696f6e3a20626f743a64656f7020636861 *6e6e656c206d61736b2d6f722d6e69636b0a202020202044656f7073204d41534b206f72204e49 *434b206f6e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6469652072 *6561736f6e0a20202020204d616b65732074686520626f742073746f7020696d6d656469617465 *6c792e0a0a202d2d2046756e6374696f6e3a20626f743a646f203f0a0a202d2d2046756e637469 *6f6e3a20626f743a696e76697465206368616e6e656c206e69636b0a2020202020496e76697465 *73204e49434b206f6e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6a *6f696e206368616e6e656c0a20202020204d616b65732074686520626f74206a6f696e20434841 *4e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6b656570206368616e6e656c206d *6f6465730a20202020205365747320746865204d4f44455320746861742074686520626f742077 *696c6c206b65657020666f72204348414e4e454c2e202053656520616c736f2053544154532e0a *0a202d2d2046756e6374696f6e3a20626f743a6b69636b206368616e6e656c206d61736b2d6f72 *2d6e69636b205b726561736f6e5d0a20202020204b69636b73204d41534b206f72204e49434b20 *6f7574206f66204348414e4e454c2c2062656361757365206f6620524541534f4e2e2020596f75 *206e65656420746f0a2020202020626520612074727573746564207573657220746f2075736520 *61204d41534b2e0a0a202d2d2046756e6374696f6e3a20626f743a6b69636b62616e206368616e *6e656c206d61736b2d6f722d6e69636b205b726561736f6e5d0a202020202042616e7320746865 *6e206b69636b73204d41534b206f72204e49434b206f7574206f66204348414e4e454c2c206265 *6361757365206f6620524541534f4e2e0a2020202020596f75206e65656420746f206265206120 *74727573746564207573657220746f207573652061204d41534b2e0a0a202d2d2046756e637469 *6f6e3a20626f743a6c6f636b206368616e6e656c0a20202020204c6f636b7320746f706963206f *6e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6c6f67706f72740a20 *202020205b2050726f6261626c792072657475726e7320746865206c6f6720706f72743f205d0a *0a202d2d2046756e6374696f6e3a20626f743a6d6f6465206368616e6e656c206d6f64652d7374 *72696e670a202020202053656e6473204d4f44452d535452494e47206173206d6f646520666f72 *204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6e657874736572766572 *0a20202020204d616b65732074686520626f7420636f6e6e65637420746f20746865206e657874 *2073657276657220696e2069747320736572766572206c6973742e0a0a202d2d2046756e637469 *6f6e3a20626f743a6e69636b206e69636b0a20202020204d616b65732074686520626f74207573 *65206e69636b6e616d65204e49434b2e0a0a202d2d2046756e6374696f6e3a20626f743a6f7020 *6368616e6e656c206e69636b0a20202020204f7073204e49434b206f6e204348414e4e454c2e0a *0a202d2d2046756e6374696f6e3a20626f743a70617274206368616e6e656c0a20202020204d61 *6b65732074686520626f74206c65617665204348414e4e454c2e0a0a202d2d2046756e6374696f *6e3a20626f743a7265636f6e6e6563740a20202020204d616b65732074686520626f7420726563 *6f6e6e65637420746f206974732063757272656e74207365727665722e0a0a202d2d2046756e63 *74696f6e3a20626f743a736572766572207365727665722d6e756d6265720a202020202053656c *656374207468652073657276657220746f20636f6e6e65637420746f2e205345525645522d4e55 *4d42455220697320746865206e756d626572206f660a2020202020746865207365727665722069 *6e20746865207365727665726c6973742e0a0a202d2d2046756e6374696f6e3a20626f743a7365 *74666c6f6f6472617465203f0a0a202d2d2046756e6374696f6e3a20626f743a73657476657273 *696f6e203f0a0a202d2d2046756e6374696f6e3a20626f743a7462616e206368616e6e656c206e *69636b2d6f722d6d61736b2074696d650a202020202042616e73204e49434b206f72204d41534b *2066726f6d204348414e4e454c20666f722054494d45207365636f6e64732e0a0a202d2d204675 *6e6374696f6e3a20626f743a746b62616e206368616e6e656c206e69636b2d6f722d6d61736b20 *74696d65205b726561736f6e5d0a202020202042616e73204e49434b206f72204d41534b206672 *6f6d204348414e4e454c20666f722054494d45207365636f6e64732c207468656e206b69636b73 *0a202020202068696d2f7468656d2062656361757365206f6620524541534f4e2e0a0a202d2d20 *46756e6374696f6e3a20626f743a746f706963206368616e6e656c20746f7069630a2020202020 *4966206e6f20544f50494320697320676976656e2c207072696e7473204348414e4e454c277320 *746f7069632e204f74686572776973652c2074686520626f740a202020202077696c6c20636861 *6e6765204348414e4e454c277320746f70696320746f20544f5049432e0a0a202d2d2046756e63 *74696f6e3a20626f743a756e6c6f636b206368616e6e656c0a20202020204d616b657320746865 *20626f7420756e6c6f636b20746f706963206f6e204348414e4e454c2e0a0a202d2d2046756e63 *74696f6e3a20626f743a6765746e69636b6e616d650a20202020205b2047657473207468652062 *6f742773206e69636b6e616d653f205d0a0a202d2d2046756e6374696f6e3a20626f743a676574 *7365727665720a0a202d2d2046756e6374696f6e3a20626f743a6765747365727665726c697374 *0a0a202d2d2046756e6374696f6e3a20626f743a666c7573680a20202020205b20466c75736865 *732074686520736f636b657420746f20746865207365727665723f205d0a0a202d2d2046756e63 *74696f6e3a20626f743a666c757368706f72740a20202020205b20466c75736865732074686520 *6c6f6720706f72743f205d0a0a202d2d2046756e6374696f6e3a20626f743a72616e646f6d203f *0a20202020205b2052657475726e7320612072616e646f6d206e756d6265723f20205768617420 *72616e67653f20205768793f205d0a0a202d2d2046756e6374696f6e3a20626f743a64656c636f *6d6d616e640a20202020205b2050726f6261626c792064656c65746573206120636f6d6d616e64 *20616464656420776974682060626f743a616464636f6d6d616e6427203f205d0a0a202d2d2046 *756e6374696f6e3a20626f743a61646474696d6572203f203f0a0a202d2d2046756e6374696f6e *3a20626f743a64656c74696d6572203f0a0a202d2d2046756e6374696f6e3a20626f743a646363 *2d636861742d73656e64203f203f0a0a20202020205b20416e6420776861742061626f75742074 *686520737475666620646566696e656420696e2060626f626f742d7574696c732e73636d27203f *2049206a7573740a20202020206164646564206974206865726520736f20697420636f756c6420 *626520736f6d6577686572652e202054686572652073686f756c6420616c736f20626520610a20 *2020202073656374696f6e206465616c696e672077697468206d6f64756c65732e2020486f7720 *746f20757365207468656d2e202057686174206d6f64756c650a20202020207363726970747320 *61726520696e2e202057686174206d6f64756c6520626f626f742b2b2070726f76696465642070 *72696d697465732061726520696e2e0a2020202020416e6420736f206f6e2e205d0a0a202d2d20 *46756e6374696f6e3a20626f743a6c6f67202e206d657373616765730a20202020205772697465 *206173206d616e79204d4553534147455320617320796f752077616e7420746f20746865206c6f *672e20204966207468652061726720697320610a20202020207468756e6b2069742077696c6c20 *626520657865637574656420616e642069742773206f75747075742077696c6c20626520777269 *7474656e20746f207468650a20202020206c6f672e0a0a202d2d2046756e6374696f6e3a20626f *743a6c6f61642066696c650a0a202d2d2046756e6374696f6e3a20626f743a6c6f61642d6d6f64 *756c65206d6f64756c652d737065630a0a202d2d2046756e6374696f6e3a20626f743a7573652d *6d6f64756c65206d6f64756c652d737065630a0a202d2d2046756e6374696f6e3a20626f743a6d *617463682d6e6f742d6368616e6e656c2072656765780a20202020206d617463682d6e6f742d63 *68616e6e656c206164647320612070726566697820726567657820746f20796f75722052454745 *5820736f20697420646f65736e27740a20202020206d61746368207468652073656e646572206f *72206368616e6e656c20696e2061205055424c4943206d6573736167650a0a202d2d2046756e63 *74696f6e3a20626f743a6d617463682d746f2d6d652072656765780a20202020206d617463682d *746f2d6d65206d6174636865732074657874207468617420776173206164647265737365642074 *6f2074686520626f742077697468206120273a272c0a2020202020272c272c20206f72206e6f74 *68696e672061667465722074686520626f74206e616d652e0a0a202d2d2046756e6374696f6e3a *20626f743a73656e742d746f2d6d653f206d6573736167650a0a202d2d2046756e6374696f6e3a *20626f743a637463702d71756f7465206d6573736167650a202020202052657475726e73207468 *6520435443502071756f746564206d65737361676520496e707574205f4d555354204e4f545f20 *636f6e7461696e207468650a2020202020747261696c696e6720605c725c6e2720286974206973 *20616464656420627920746865206d6573736167652073656e64696e6720636f6465292e0a0a20 *2d2d205661726961626c653a2025626f743a6c6f6164706174680a0a202d2d2046756e6374696f *6e3a2025626f743a6c6f61642d657874656e73696f6e730a0a1f0a46696c653a20626f626f742b *2b2e696e666f2c20204e6f64653a20436f6e6365707420496e6465782c20204e6578743a204675 *6e6374696f6e20496e6465782c2020507265763a20536372697074696e672c202055703a20546f *700a0a436f6e6365707420496e6465780a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a00085b696e6465 *7800085d0a2a204d656e753a0a0a2a204261636b67726f756e64206f6e20486f6f6b733a202020 *20202020202020202020202020202020486f6f6b732e2020202020202020202020202020202020 *286c696e652036290a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20 *46756e6374696f6e20496e6465782c20204e6578743a205661726961626c6520496e6465782c20 *20507265763a20436f6e6365707420496e6465782c202055703a20546f700a0a46756e6374696f *6e20496e6465780a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a00085b696e64657800085d0a2a204d *656e753a0a0a2a2025626f743a6c6f61642d657874656e73696f6e733a20202020202020202020 *20202020202020204d69736320536372697074696e672053747566662e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020286c696e6520323036290a2a20626f743a616374696f6e3a20 *20202020202020202020202020202020202020202020202020202048696768204c6576656c204d *6573736167652046756e6374696f6e732e0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020286c696e6520203133290a2a20626f743a616464636f6d6d616e643a202020202020202020 *202020202020202020202020202020416464696e67204e657720436f6d6d616e64732e20286c69 *6e6520203131290a2a20626f743a616464686f6f6b3a2020202020202020202020202020202020 *202020202020202020204372656174696e67206120486f6f6b2e2020202020286c696e65202020 *39290a2a20626f743a6164647365727665723a2020202020202020202020202020202020202020 *20202020204d69736320536372697074696e672053747566662e0a202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020286c696e6520203334290a2a20626f743a616464736869743a202020 *2020202020202020202020202020202020202020202020204d69736320536372697074696e6720 *53747566662e0a2020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020286c696e6520203338 *290a2a20626f743a61646474696d65723a20202020202020202020202020202020202020202020 *202020204d69736320536372697074696e672053747566662e0a20202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020286c696e6520313637290a2a20626f743a616464757365723a20202020 *20202020202020202020202020202020202020202020204d69736320536372697074696e672053 *747566662e0a202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020286c696e652020323229 *0a2a20626f743a62616e3a20202020202020202020202020202020202020202020202020202020 *2020204d69736320536372697074696e672053747566662e0a2020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020286c696e6520203439290a2a20626f743a6368616e67652d636f6d6d616e *642d6c6576656c3a20202020202020202020202020204d69736320536372697074696e67205374 *7566662e0a20202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020286c696e6520203534290a *2a20626f743a637463702d71756f74653a20202020202020202020202020202020202020202020 *20204d69736320536372697074696e672053747566662e0a202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020286c696e6520323030290a2a20626f743a6379636c653a2020202020202020 *2020202020202020202020202020202020202020204d69736320536372697074696e6720537475 *66662e0a2020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020286c696e6520203630290a2a *20626f743a6463632d636861742d73656e643a2020202020202020202020202020202020202020 *204d69736320536372697074696e672053747566662e0a20202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020286c696e6520313731290a2a20626f743a646562616e3a202020202020202020 *20202020202020202020202020202020202020204d69736320536372697074696e672053747566 *662e0a202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020286c696e6520203633290a2a20 *626f743a64656c636f6d6d616e643a202020202020202020202020202020202020202020202020 *4d69736320536372697074696e672053747566662e0a2020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020286c696e6520313634290a2a20626f743a64656c7365727665723a202020202020 *202020202020202020202020202020202020204d69736320536372697074696e67205374756666 *2e0a20202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020286c696e6520203637290a2a2062 *6f743a64656c736869743a2020202020202020202020202020202020202020202020202020204d *69736320536372697074696e672053747566662e0a202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020286c696e6520203734290a2a20626f743a64656c74696d65723a2020202020202020 *2020202020202020202020202020202020204d69736320536372697074696e672053747566662e *0a2020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020286c696e6520313639290a2a20626f *743a64656c757365723a2020202020202020202020202020202020202020202020202020204d69 *736320536372697074696e672053747566662e0a20202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020286c696e6520203731290a2a20626f743a64656f703a20202020202020202020202020 *20202020202020202020202020202020204d69736320536372697074696e672053747566662e0a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020286c696e6520203737290a2a20626f74 *3a6469653a202020202020202020202020202020202020202020202020202020202020204d6973 *6320536372697074696e672053747566662e0a2020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020286c696e6520203830290a2a20626f743a646f3a20202020202020202020202020202020 *202020202020202020202020202020204d69736320536372697074696e672053747566662e0a20 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020286c696e6520203833290a2a20626f743a *666c7573683a20202020202020202020202020202020202020202020202020202020204d697363 *20536372697074696e672053747566662e0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020286c696e6520313535290a2a20626f743a666c757368706f72743a20202020202020202020 *2020202020202020202020202020204d69736320536372697074696e672053747566662e0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020286c696e6520313538290a2a20626f743a67 *65746e69636b6e616d653a20202020202020202020202020202020202020202020204d69736320 *536372697074696e672053747566662e0a20202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20286c696e6520313438290a2a20626f743a6765747365727665723a2020202020202020202020 *20202020202020202020202020204d69736320536372697074696e672053747566662e0a202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020286c696e6520313531290a2a20626f743a6765 *747365727665726c6973743a2020202020202020202020202020202020202020204d6973632053 *6372697074696e672053747566662e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520313533290a2a20626f743a696e766974653a202020202020202020202020202020 *202020202020202020202020204d69736320536372697074696e672053747566662e0a20202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020286c696e6520203835290a2a20626f743a6a6f69 *6e3a2020202020202020202020202020202020202020202020202020202020204d697363205363 *72697074696e672053747566662e0a202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202028 *6c696e6520203838290a2a20626f743a6b6565703a202020202020202020202020202020202020 *2020202020202020202020204d69736320536372697074696e672053747566662e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020286c696e6520203931290a2a20626f743a6b69636b *3a2020202020202020202020202020202020202020202020202020202020204d69736320536372 *697074696e672053747566662e0a20202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020202020202020286c *696e6520203934290a2a20626f743a6b69636b62616e3a20202020202020202020202020202020 *20202020202020202020204d69736320536372697074696e672053747566662e0a202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020286c696e6520203938290a2a20626f743a6c6f61643a *2020202020202020202020202020202020202020202020202020202020204d6973632053637269 *7074696e672053747566662e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020286c69 *6e6520313834290a2a20626f743a6c6f61642d6d6f64756c653a20202020202020202020202020 *202020202020202020204d69736320536372697074696e672053747566662e0a20202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020286c696e6520313836290a2a20626f743a6c6f636b3a20 *20202020202020202020202020202020202020202020202020202020204d697363205363726970 *74696e672053747566662e0a202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020202020202020286c696e *6520313032290a2a20626f743a6c6f673a20202020202020202020202020202020202020202020 *2020202020202020204d69736320536372697074696e672053747566662e0a2020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020286c696e6520313739290a2a20626f743a6c6f67706f7274 *3a2020202020202020202020202020202020202020202020202020204d69736320536372697074 *696e672053747566662e0a20202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020202020286c696e65 *20313035290a2a20626f743a6d617463682d6e6f742d6368616e6e656c3a202020202020202020 *20202020202020204d69736320536372697074696e672053747566662e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020286c696e6520313930290a2a20626f743a6d617463682d746f *2d6d653a20202020202020202020202020202020202020202020204d6973632053637269707469 *6e672053747566662e0a2020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020286c696e6520 *313934290a2a20626f743a6d6f64653a2020202020202020202020202020202020202020202020 *202020202020204d69736320536372697074696e672053747566662e0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020286c696e6520313038290a2a20626f743a6d73673a2020202020 *202020202020202020202020202020202020202020202020202048696768204c6576656c204d65 *73736167652046756e6374696f6e732e0a20202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20286c696e6520203136290a2a20626f743a6e6578747365727665723a20202020202020202020 *20202020202020202020202020204d69736320536372697074696e672053747566662e0a202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020286c696e6520313131290a2a20626f743a6e69 *636b3a2020202020202020202020202020202020202020202020202020202020204d6973632053 *6372697074696e672053747566662e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520313134290a2a20626f743a6e6f746963653a202020202020202020202020202020 *2020202020202020202020202048696768204c6576656c204d6573736167652046756e6374696f *6e732e0a2020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020286c696e6520203230290a2a *20626f743a6f703a20202020202020202020202020202020202020202020202020202020202020 *204d69736320536372697074696e672053747566662e0a20202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020286c696e6520313137290a2a20626f743a706172743a20202020202020202020 *20202020202020202020202020202020202020204d69736320536372697074696e672053747566 *662e0a202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020286c696e6520313230290a2a20 *626f743a72616e646f6d3a20202020202020202020202020202020202020202020202020202020 *4d69736320536372697074696e672053747566662e0a2020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020286c696e6520313631290a2a20626f743a7265636f6e6e6563743a202020202020 *202020202020202020202020202020202020204d69736320536372697074696e67205374756666 *2e0a20202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020286c696e6520313233290a2a2062 *6f743a7361793a2020202020202020202020202020202020202020202020202020202020202048 *696768204c6576656c204d6573736167652046756e6374696f6e732e0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020286c696e6520202037290a2a20626f743a73656e642d63746370 *3a202020202020202020202020202020202020202020202020204c6f77204c6576656c204d6573 *736167652046756e6374696f6e732e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520203133290a2a20626f743a73656e642d637463702d7265706c793a202020202020 *202020202020202020202020204c6f77204c6576656c204d6573736167652046756e6374696f6e *732e0a202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020286c696e6520203138290a2a20 *626f743a73656e742d746f2d6d653f3a2020202020202020202020202020202020202020202020 *4d69736320536372697074696e672053747566662e0a2020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020286c696e6520313938290a2a20626f743a7365727665723a202020202020202020 *202020202020202020202020202020202020204d69736320536372697074696e67205374756666 *2e0a20202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020286c696e6520313236290a2a2062 *6f743a736574666c6f6f64726174653a202020202020202020202020202020202020202020204d *69736320536372697074696e672053747566662e0a202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020286c696e6520313330290a2a20626f743a73657476657273696f6e3a202020202020 *2020202020202020202020202020202020204d69736320536372697074696e672053747566662e *0a2020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020286c696e6520313332290a2a20626f *743a7462616e3a2020202020202020202020202020202020202020202020202020202020204d69 *736320536372697074696e672053747566662e0a20202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020286c696e6520313334290a2a20626f743a746b62616e3a202020202020202020202020 *20202020202020202020202020202020204d69736320536372697074696e672053747566662e0a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020286c696e6520313337290a2a20626f74 *3a746f7069633a20202020202020202020202020202020202020202020202020202020204d6973 *6320536372697074696e672053747566662e0a2020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020286c696e6520313431290a2a20626f743a756e6c6f636b3a202020202020202020202020 *202020202020202020202020202020204d69736320536372697074696e672053747566662e0a20 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020286c696e6520313435290a2a20626f743a *7573652d6d6f64756c653a2020202020202020202020202020202020202020202020204d697363 *20536372697074696e672053747566662e0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020286c696e6520313838290a2a20686f6f6b732f616374696f6e3a2020202020202020202020 *202020202020202020202020202020486f6f6b2054797065732e20202020202020202020286c69 *6e6520203135290a2a20686f6f6b732f637463703a202020202020202020202020202020202020 *20202020202020202020486f6f6b2054797065732e20202020202020202020286c696e65202032 *39290a2a20686f6f6b732f637463702d7265706c793a2020202020202020202020202020202020 *2020202020486f6f6b2054797065732e20202020202020202020286c696e6520203331290a2a20 *686f6f6b732f6463632f636861742d626567696e3a202020202020202020202020202020202020 *486f6f6b2054797065732e20202020202020202020286c696e6520203736290a2a20686f6f6b73 *2f6463632f636861742d6d6573736167653a20202020202020202020202020202020486f6f6b20 *54797065732e20202020202020202020286c696e6520203830290a2a20686f6f6b732f64697363 *6f6e6e6563743a20202020202020202020202020202020202020202020486f6f6b205479706573 *2e20202020202020202020286c696e6520203333290a2a20686f6f6b732f666c6f6f643a202020 *202020202020202020202020202020202020202020202020486f6f6b2054797065732e20202020 *202020202020286c696e6520203339290a2a20686f6f6b732f696e766974653a20202020202020 *20202020202020202020202020202020202020486f6f6b2054797065732e202020202020202020 *20286c696e6520203431290a2a20686f6f6b732f6a6f696e3a2020202020202020202020202020 *2020202020202020202020202020486f6f6b2054797065732e20202020202020202020286c696e *6520203433290a2a20686f6f6b732f6b69636b3a20202020202020202020202020202020202020 *202020202020202020486f6f6b2054797065732e20202020202020202020286c696e6520203435 *290a2a20686f6f6b732f6c656176653a2020202020202020202020202020202020202020202020 *20202020486f6f6b2054797065732e20202020202020202020286c696e6520203437290a2a2068 *6f6f6b732f6d6573736167653a2020202020202020202020202020202020202020202020202048 *6f6f6b2054797065732e20202020202020202020286c696e6520203532290a2a20686f6f6b732f *6d6f64653a20202020202020202020202020202020202020202020202020202020486f6f6b2054 *797065732e20202020202020202020286c696e6520203530290a2a20686f6f6b732f6e69636b6e *616d653a202020202020202020202020202020202020202020202020486f6f6b2054797065732e *20202020202020202020286c696e6520203233290a2a20686f6f6b732f6e6f746963653a202020 *2020202020202020202020202020202020202020202020486f6f6b2054797065732e2020202020 *2020202020286c696e6520203534290a2a20686f6f6b732f706172743a20202020202020202020 *202020202020202020202020202020202020486f6f6b2054797065732e20202020202020202020 *286c696e6520203438290a2a20686f6f6b732f7075626c69633a20202020202020202020202020 *20202020202020202020202020486f6f6b2054797065732e20202020202020202020286c696e65 *20203536290a2a20686f6f6b732f7075626c69632d6e6f746963653a2020202020202020202020 *2020202020202020486f6f6b2054797065732e20202020202020202020286c696e652020353829 *0a2a20686f6f6b732f7261773a2020202020202020202020202020202020202020202020202020 *202020486f6f6b2054797065732e20202020202020202020286c696e6520203630290a2a20686f *6f6b732f73656e642f616374696f6e3a202020202020202020202020202020202020202020486f *6f6b2054797065732e20202020202020202020286c696e6520203732290a2a20686f6f6b732f73 *656e642f637463703a2020202020202020202020202020202020202020202020486f6f6b205479 *7065732e20202020202020202020286c696e6520203734290a2a20686f6f6b732f73656e642f6d *6573736167653a2020202020202020202020202020202020202020486f6f6b2054797065732e20 *202020202020202020286c696e6520203730290a2a20686f6f6b732f73656e642f7075626c6963 *3a202020202020202020202020202020202020202020486f6f6b2054797065732e202020202020 *20202020286c696e6520203638290a2a20686f6f6b732f7369676e6f66663a2020202020202020 *2020202020202020202020202020202020486f6f6b2054797065732e2020202020202020202028 *6c696e6520203237290a2a20686f6f6b732f74696d65723a202020202020202020202020202020 *202020202020202020202020486f6f6b2054797065732e20202020202020202020286c696e6520 *203632290a2a20686f6f6b732f746f7069633a2020202020202020202020202020202020202020 *20202020202020486f6f6b2054797065732e20202020202020202020286c696e6520203636290a *0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a205661726961626c6520 *496e6465782c2020507265763a2046756e6374696f6e20496e6465782c202055703a20546f700a *0a5661726961626c6520496e6465780a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a00085b696e6465 *7800085d0a2a204d656e753a0a0a2a2025626f743a6c6f6164706174683a202020202020202020 *202020202020202020202020202020204d69736320536372697074696e672053747566662e0a20 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020286c696e6520323034290a2a2065786974 *2d686f6f6b3a20202020202020202020202020202020202020202020202020202020204d697363 *20536372697074696e672053747566662e0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020286c696e6520202039290a2a20757365722d667269656e643a202020202020202020202020 *202020202020202020202020202020536368656d652055736572204c6576656c732e2020286c69 *6e6520202036290a2a20757365722d6d61737465723a2020202020202020202020202020202020 *20202020202020202020536368656d652055736572204c6576656c732e2020286c696e65202020 *36290a2a20757365722d6e6f6e653a202020202020202020202020202020202020202020202020 *2020202020536368656d652055736572204c6576656c732e2020286c696e6520202036290a2a20 *757365722d747275737465643a2020202020202020202020202020202020202020202020202020 *536368656d652055736572204c6576656c732e2020286c696e6520202036290a2a20757365722d *757365723a2020202020202020202020202020202020202020202020202020202020536368656d *652055736572204c6576656c732e2020286c696e6520202036290a0a0a1f0a546167205461626c *653a0a4e6f64653a20546f707f3532370a4e6f64653a20496e74726f64756374696f6e7f313831 *360a4e6f64653a20436f6e66696775726174696f6e7f323030380a4e6f64653a20436f6e666967 *75726174696f6e2046696c6520506c6163656d656e747f323239350a4e6f64653a20436f6e6669 *6775726174696f6e2046696c65737f323739350a4e6f64653a20626f742e636f6e667f32393838 *0a4e6f64653a207365727665722073796e7461787f343432360a4e6f64653a206368616e6e656c *2073796e7461787f353239300a4e6f64653a20626f742e75736572737f363133330a4e6f64653a *205573696e672074686520426f747f373033360a4e6f64653a205374617274696e672074686520 *426f747f373238360a4e6f64653a2055736572204c6576656c737f383739350a4e6f64653a2050 *726f74656374696f6e7f31303139370a4e6f64653a204175746f6d61746963204f707f31303830 *350a4e6f64653a204275696c742d496e20436f6d6d616e64737f31313039340a4e6f64653a2053 *6372697074696e677f31383037330a4e6f64653a20416464696e67204e657720436f6d6d616e64 *737f31393033380a4e6f64653a20486f6f6b737f32303336310a4e6f64653a204372656174696e *67206120486f6f6b7f32313230310a4e6f64653a20486f6f6b2054797065737f32323338340a4e *6f64653a20536368656d652055736572204c6576656c737f32353135310a4e6f64653a2053656e *64696e67204d657373616765737f32363238350a4e6f64653a2048696768204c6576656c204d65 *73736167652046756e6374696f6e737f32363930310a4e6f64653a204c6f77204c6576656c204d *6573736167652046756e6374696f6e737f32373638310a4e6f64653a204d697363205363726970 *74696e672053747566667f32383734340a4e6f64653a20436f6e6365707420496e6465787f3335 *3332300a4e6f64653a2046756e6374696f6e20496e6465787f33353533390a4e6f64653a205661 *726961626c6520496e6465787f34353637300a1f0a456e6420546167205461626c650a newhex *5468697320697320626f626f742b2b2e696e666f2c2070726f6475636564206279206d616b6569 *6e666f2076657273696f6e20342e372066726f6d0a626f626f742b2b2e746578696e666f2e0a0a *202020546869732066696c6520646f63756d656e747320426f626f742b2b20627920436c696e74 *6f6e20456261646920616e6420457469656e6e65204265726e6172640a286f726967696e616c20 *617574686f722c206e6f206c6f6e67657220776f726b73206f6e2070726f6772616d292e0a0a20 *2020436f7079726967687420323030322c323030342c3230303520436c696e746f6e2045626164 *690a0a2020205065726d697373696f6e206973206772616e74656420746f20636f70792c206469 *737472696275746520616e642f6f72206d6f64696679207468697320646f63756d656e740a756e *64657220746865207465726d73206f662074686520474e55204672656520446f63756d656e7461 *74696f6e204c6963656e73652c2056657273696f6e20312e31206f720a616e79206c6174657220 *76657273696f6e207075626c697368656420627920746865204672656520536f66747761726520 *466f756e646174696f6e3b2077697468206e6f0a496e76617269616e742053656374696f6e732c *2077697468206e6f2046726f6e742d436f7665722054657874732c20616e642077697468206e6f *204261636b2d436f7665720a54657874732e0a0a1f0a46696c653a20626f626f742b2b2e696e66 *6f2c20204e6f64653a20546f702c20204e6578743a20496e74726f64756374696f6e2c20205072 *65763a2028646972292c202055703a2028646972290a0a2020205468697320646f63756d656e74 *2064657363726962657320426f626f742b2b20627920436c696e746f6e20456261646920616e64 *20457469656e6e65204265726e6172640a286f726967696e616c20617574686f722c206e6f206c *6f6e67657220776f726b73206f6e2070726f6772616d292e0a0a2020205468697320646f63756d *656e74206170706c69657320746f2076657273696f6e20322e32206f66207468652070726f6772 *616d206e616d656420426f626f742b2b0a0a202020436f7079726967687420323030322c323030 *342c3230303520436c696e746f6e2045626164690a0a2020205065726d697373696f6e20697320 *6772616e74656420746f20636f70792c206469737472696275746520616e642f6f72206d6f6469 *6679207468697320646f63756d656e740a756e64657220746865207465726d73206f6620746865 *20474e55204672656520446f63756d656e746174696f6e204c6963656e73652c2056657273696f *6e20312e31206f720a616e79206c617465722076657273696f6e207075626c6973686564206279 *20746865204672656520536f66747761726520466f756e646174696f6e3b2077697468206e6f0a *496e76617269616e742053656374696f6e732c2077697468206e6f2046726f6e742d436f766572 *2054657874732c20616e642077697468206e6f204261636b2d436f7665720a54657874732e0a0a *2a204d656e753a0a0a2a20496e74726f64756374696f6e3a3a0a2a20436f6e6669677572617469 *6f6e3a3a0a2a205573696e672074686520426f743a3a0a2a20536372697074696e673a3a0a2a20 *436f6e6365707420496e6465783a3a0a2a2046756e6374696f6e20496e6465783a3a0a2a205661 *726961626c6520496e6465783a3a0a0a202d2d2d205468652044657461696c6564204e6f646520 *4c697374696e67202d2d2d0a0a436f6e66696775726174696f6e0a0a2a20436f6e666967757261 *74696f6e2046696c6520506c6163656d656e743a3a0a2a20436f6e66696775726174696f6e2046 *696c65733a3a0a0a436f6e66696775726174696f6e2046696c65730a0a2a20626f742e636f6e66 *3a3a0a2a20626f742e75736572733a3a0a0a626f742e636f6e660a0a2a20736572766572207379 *6e7461783a3a0a2a206368616e6e656c2073796e7461783a3a0a0a5573696e6720426f626f742b *2b0a0a2a205374617274696e672074686520426f743a3a0a2a2055736572204c6576656c733a3a *0a2a2050726f74656374696f6e3a3a0a2a204175746f6d61746963204f703a3a0a2a204275696c *742d496e20436f6d6d616e64733a3a0a0a536372697074696e670a0a2a20416464696e67204e65 *7720436f6d6d616e64733a3a0a2a20486f6f6b733a3a0a2a20536368656d652055736572204c65 *76656c733a3a0a2a2053656e64696e67204d657373616765733a3a0a2a204d6973632053637269 *7074696e672053747566663a3a0a0a486f6f6b730a0a2a204372656174696e67206120486f6f6b *3a3a0a2a20486f6f6b2054797065733a3a0a0a486f6f6b2054797065730a0a2a20526563656976 *6564204d65737361676520486f6f6b733a3a0a2a2053656e74204d65737361676520486f6f6b73 *3a3a0a2a20444343204348415420486f6f6b733a3a0a2a204d697363656c6c616e656f75732048 *6f6f6b733a3a0a0a53656e64696e67204d657373616765730a0a2a2048696768204c6576656c20 *4d6573736167652046756e6374696f6e733a3a0a2a204c6f77204c6576656c204d657373616765 *2046756e6374696f6e733a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f *64653a20496e74726f64756374696f6e2c20204e6578743a20436f6e66696775726174696f6e2c *2020507265763a20546f702c202055703a20546f700a0a3120496e74726f64756374696f6e0a2a *2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a54686973206d616e75616c206665656c7320616275736564 *20616e64206e65676c656374656420626563617573652069742068617320616c6d6f7374206e6f *20636f6e74656e742e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a *20436f6e66696775726174696f6e2c20204e6578743a205573696e672074686520426f742c2020 *507265763a20496e74726f64756374696f6e2c202055703a20546f700a0a3220436f6e66696775 *726174696f6e0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a426f626f742b2b2069732065617379 *20746f20636f6e6669677572652e205365652074686520606578616d706c657327206469726563 *746f727920666f7220616e0a6578616d706c6520636f6e66696775726174696f6e2e0a0a2a204d *656e753a0a0a2a20436f6e66696775726174696f6e2046696c6520506c6163656d656e743a3a0a *2a20436f6e66696775726174696f6e2046696c65733a3a0a0a1f0a46696c653a20626f626f742b *2b2e696e666f2c20204e6f64653a20436f6e66696775726174696f6e2046696c6520506c616365 *6d656e742c20204e6578743a20436f6e66696775726174696f6e2046696c65732c202050726576 *3a20436f6e66696775726174696f6e2c202055703a20436f6e66696775726174696f6e0a0a322e *3120436f6e66696775726174696f6e2046696c6520506c6163656d656e740a3d3d3d3d3d3d3d3d *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a426f626f742b2b2077696c6c20 *6c6f6f6b20696e20602f6574632f626f626f7470702f64656661756c742f2720666f7220697473 *2064656661756c7420636f6e6669672069660a6e6f6e6520697320737065636966696564206f6e *2074686520636f6d6d616e64206c696e652e205075742074686520636f6e66696775726174696f *6e2066696c657320796f750a77616e7420746f206265206c6f616465642062792064656661756c *7420696e2074686973206469726563746f72792e20496620796f7520617265206e6f7420726f6f *74206f720a796f752077616e7420746f206861766520796f7572206f776e20706572736f6e616c *20636f6e66696775726174696f6e2c2070757420697420696e0a607e2f2e626f626f7470702f63 *6f6e6669672f64656661756c742f272e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c *20204e6f64653a20436f6e66696775726174696f6e2046696c65732c2020507265763a20436f6e *66696775726174696f6e2046696c6520506c6163656d656e742c202055703a20436f6e66696775 *726174696f6e0a0a322e3220436f6e66696775726174696f6e2046696c65730a3d3d3d3d3d3d3d *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a2a204d656e753a0a0a2a20626f742e636f6e663a3a *0a2a20626f742e75736572733a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c2020 *4e6f64653a20626f742e636f6e662c20204e6578743a20626f742e75736572732c202050726576 *3a20436f6e66696775726174696f6e2046696c65732c202055703a20436f6e6669677572617469 *6f6e2046696c65730a0a322e322e3120626f742e636f6e660a2d2d2d2d2d2d2d2d2d2d2d2d2d2d *0a0a2a204d656e753a0a0a2a207365727665722073796e7461783a3a0a2a206368616e6e656c20 *73796e7461783a3a0a0a20202060626f742e636f6e662720636f6e7461696e73206b6579207661 *6c75652070616972732073657061726174656420627920603d272e0a0a202020603c6b65793e20 *3d203c76616c75653e270a0a202020436f6d6d656e747320617265207374617274656420776974 *6820612060232720616e642063617573652074686520656e74697265206c696e6520746f206265 *0a69676e6f7265642e205f4e6f746520746861742074686973206f6e6c7920776f726b73207768 *656e207468652060232720697320746865206669727374206368617261637465720a6f66207468 *65206c696e655f2e0a0a202020626f742e636f6e6620697320746865206d61696e20636f6e6669 *6775726174696f6e2066696c6520666f72206120426f626f742b2b2e2054686520617661696c61 *626c650a636f6e66696775726174696f6e207661726961626c657320617265206c697374656420 *62656c6f7720696e2074686520666f726d617420225641524941424c450a3c64656661756c742d *76616c75653e3a206465736372697074696f6e220a0a2020202a204e49434b4e414d45203c426f *626f743e3a20546865206e69636b6e616d65206f662074686520626f7420284e49434b20697320 *616e20616c69617320666f720a20202020204e49434b4e414d45290a0a2020202a20555345524e *414d45203c626f626f743e3a205468652049524320757365726e616d65206f662074686520626f *740a0a2020202a20434d4443484152203c213e3a20546865206368617261637465722074686174 *20707265666978657320636f6d6d616e647320676976656e20746f2074686520626f740a202020 *202028434f4d4d414e4420697320616e20616c69617320666f7220434d4443484152290a0a2020 *202a204952434e414d45203c49276d206120626f626f742b2b213e3a2054686520495243206e61 *6d6520286f7220277265616c206e616d652729206f662074686520626f740a2020202020285245 *414c4e414d4520697320616e20616c69617320666f72204952434e414d45290a0a2020202a2055 *5345524c495354203c626f742e75736572733e3a204e616d65206f66207468652066696c652077 *686572652074686520757365726c6973742069732073746f7265640a0a2020202a20534849544c *495354203c626f742e736869743e3a204e616d65206f66207468652066696c6520776865726520 *74686520736869746c6973742069732073746f7265640a0a2020202a204c4f4746494c45203c24 *4c4f474449522f626f742e6c6f673e3a204c6f636174696f6e206f662074686520626f74206c6f *6766696c65202873657420746869730a2020202020746f20602f6465762f6e756c6c2720746f20 *64697361626c65206c6f6767696e67292e0a0a2020202a20534552564552203c4e6f6e653e3a20 *5468697320737065636966696573207468652073657276657220746f20636f6e6e65637420746f *2e204e6f746520746861740a202020202074686973206861732061207370656369616c2073796e *7461782e0a0a2020202a204348414e4e454c203c4e6f6e653e3a20546869732073706563696669 *65732061206368616e6e656c2074686520626f742077696c6c206a6f696e207768656e2069740a *20202020207374617274732075702e205468697320616c736f206861732061207370656369616c *2073796e7461782e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a *207365727665722073796e7461782c20204e6578743a206368616e6e656c2073796e7461782c20 *20507265763a20626f742e636f6e662c202055703a20626f742e636f6e660a0a322e322e312e31 *207365727665722073796e7461780a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a53 *4552564552203d205345525645525f4e414d45205b504f5254205b50415353574f52445d5d0a0a *202020546869732077696c6c206d616b6520426f626f742b2b20617474656d707420746f20636f *6e6e65637420746f205345525645525f4e414d45206f6e20706f72740a504f5254207769746820 *7468652070617373776f72642050415353574f52442e205345525645525f4e414d452073686f75 *6c64206265207468652061646472657373206f660a746865207365727665722e20504f52542061 *6e642050415353574f524420617265206f7074696f6e616c2e20596f75206d617920757365206d *6f7265207468616e206f6e650a736572766572206c696e653b20426f626f742b2b2077696c6c20 *617474656d707420746f20636f6e6e65637420746f20746865206669727374206f6e6520616e64 *2c2069660a6974206661696c732c2077696c6c20636f6e6e65637420746f20746865206e657874 *206f6e6520696e20746865206c6973742e20546865726520697320616c736f20610a636f6d6d61 *6e6420746f2063617573652074686520626f7420746f206379636c6520736572766572732e2041 *74207468652070726573656e742074696d6520426f626f742b2b0a63616e6e6f7420636f6e6e65 *637420746f206d6f7265207468616e206f6e652073657276657220617420612074696d652e2054 *686973206973206120706c616e6e65640a66656174757265206f6620332e302028776869636820 *697320612076657279206c6f6e672077617920617761793b207468652063757272656e74207374 *72756374757265206f660a7468652070726f6772616d20776f756c64206d616b65206974207665 *727920646966666963756c7420746f2061646420737570706f727420666f7220636f6e6e656374 *696e670a746f206d756c7469706c65207365727665727320617420612074696d6520696e206120 *757361626c65206d616e6e6572292e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20 *204e6f64653a206368616e6e656c2073796e7461782c2020507265763a20736572766572207379 *6e7461782c202055703a20626f742e636f6e660a0a322e322e312e32206368616e6e656c207379 *6e7461780a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a4348414e4e454c203d20 *4e414d453a494e495449414c5f4d4f4445533a4d4f4445535f544f5f4b4545503a4348414e4e45 *4c5f4b45590a0a202020596f75206d6179206861766520616e79206e756d626572206f66206368 *616e6e656c206c696e65732e205768656e20426f626f742b2b207374617274732069742077696c *6c0a617474656d707420746f206a6f696e20616e64206761696e206f707320696e206576657279 *206368616e6e656c206c69737465642e2049742077696c6c206a6f696e204e414d450a616e6420 *73657420746865206368616e6e656c206d6f64657320746f20494e495449414c5f4d4f44455320 *28652e672e20226e7422292069662069742069732061626c6520746f0a6761696e206f70657261 *746f72207374617475732e2049742077696c6c207468656e206d61696e7461696e204d4f444553 *5f544f5f4b4545502e204966207468650a6368616e6e656c2072657175697265732061206b6579 *20746f20656e7465722073696d706c7920736574204348414e4e454c5f4b45592e204576657279 *20617267756d656e740a65786365707420666f72204e414d45206973206f7074696f6e616c2e0a *0a2020204120666577206578616d706c65206c696e65733a0a0a202020604348414e4e454c203d *2023666f6f3a6e743a6e743a626172270a0a20202054686520626f742077696c6c206a6f696e20 *6023666f6f27207769746820746865206368616e6e656c206b657920606261722720616e642077 *696c6c207468656e0a6d61696e7461696e20746865206d6f64657320606e74272e0a0a20202060 *4348414e4e454c203d20236261723a3a3a270a0a20202054686520626f742077696c6c206a6f69 *6e2060236261722720616e642077696c6c206e6f742073657420616e79206d6f646573206e6f72 *2077696c6c2069740a617474656d707420746f206d61696e7461696e20616e79206d6f6465732e *0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20626f742e75736572 *732c2020507265763a20626f742e636f6e662c202055703a20436f6e66696775726174696f6e20 *46696c65730a0a322e322e3220626f742e75736572730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a *0a60626f742e757365727327206973207468652064656661756c742066696c65206e616d65206f *662074686520757365726c6973742e204974206d6179206265206368616e6765640a696e206062 *6f742e636f6e66272e205468652066696c6520636f6e7461696e73206c696e6573207769746820 *74686520666f726d61743a0a0a202020604d41534b3a4348414e4e454c3a4c4556454c3a50524f *54454354494f4e3a4155544f2d4f50270a0a2020202a204d41534b2069732074686520686f7374 *206d61736b2028652e672e20602a212a757365726e616d650a20202020202e646f6d61696e2e63 *6f6d2729206f662074686520757365720a0a2020202a204348414e4e454c206973206120636861 *6e6e656c206d61736b206f6620746865206368616e6e656c732074686174207468652075736572 *206861730a202020202070726976696c6967657320746f207573652074686520626f7420696e20 *28652e672e20602a2720666f7220616c6c206368616e6e656c732c2060232a2720666f720a2020 *202020616c6c206e6f6e2d6c6f63616c206368616e6e656c2c206023666f6f2a2720666f722061 *6c6c206368616e6e656c73207374617274696e6720776974680a202020202022666f6f2c222060 *236261722720666f72206368616e6e656c20222362617222206f6e6c792c206574632e290a0a20 *20202a204c4556454c206973207468652075736572206c6576656c206f66207468652075736572 *20282a4e6f74652055736572204c6576656c733a3a292e0a0a2020202a2050524f54454354494f *4e206973207468652070726f74656374696f6e206c6576656c206f662074686520757365722028 *2a4e6f74650a202020202050726f74656374696f6e3a3a292e0a0a2020202a204155544f2d4f50 *2069732073657420746f20636f6e74726f6c207768657468657220612075736572206973206175 *746f6d61746963616c6c7920676976656e0a20202020206f70657261746f722070726976696c69 *676573206f6e206368616e6e656c20656e74727920282a4e6f7465204175746f6d61746963204f *703a3a292e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a205573 *696e672074686520426f742c20204e6578743a20536372697074696e672c2020507265763a2043 *6f6e66696775726174696f6e2c202055703a20546f700a0a33205573696e6720426f626f742b2b *0a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a4649584d453a20737475666620686572652e2e2e0a *0a2a204d656e753a0a0a2a205374617274696e672074686520426f743a3a0a2a2055736572204c *6576656c733a3a0a2a2050726f74656374696f6e3a3a0a2a204175746f6d61746963204f703a3a *0a2a204275696c742d496e20436f6d6d616e64733a3a0a0a1f0a46696c653a20626f626f742b2b *2e696e666f2c20204e6f64653a205374617274696e672074686520426f742c20204e6578743a20 *55736572204c6576656c732c2020507265763a205573696e672074686520426f742c202055703a *205573696e672074686520426f740a0a332e31205374617274696e672074686520426f740a3d3d *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a54686520626f7420697320757375616c6c7920 *696e7374616c6c65642077697468207468652062696e617279206e616d652060626f626f747070 *272e20497420616363657074730a74686520666f6c6c6f77696e6720636f6d6d616e64206c696e *6520617267756d656e74733a0a0a2020202a20605b2d2d68656c705d5b2d685d27202d2053686f *77732064657461696c65642068656c7020616e642065786974730a0a2020202a20605b2d2d7665 *7273696f6e5d5b2d765d27202d2053686f77732076657273696f6e20696e666f726d6174696f6e *20616e642065786974730a0a2020202a20605b2d2d6e6f2d6261636b67726f756e645d5b2d625d *27202d2052756e20626f626f742b2b20696e2074686520666f726567726f756e640a0a2020202a *20605b2d2d636f6e6669672d66696c652066696c655d5b2d665d27202d205573652066696c6520 *696e7374656164206f662060626f742e636f6e66270a0a2020202a20605b2d2d636f6e6669672d *646972206469725d5b2d645d27202d20557365206469722061732064697220746f206c6f616420 *636f6e6669672066696c652066726f6d0a0a2020202a20605b2d2d636f6e666967206469725d5b *2d635d27202d2053656172636820796f757220636f6e6669672070617468202864656661756c74 *7320746f0a20202020206024484f4d452f2e626f626f7470702f636f6e6669672f2720616e6420 *7468656e20602f6574632f626f626f7470702f272920666f722064697220616e640a2020202020 *7468656e206c6f61647320796f757220636f6e6669672064617461207573696e67206469720a0a *2020202a20605b2d2d7379732d636f6e666967206469725d5b2d735d27202d204c6f6f6b732066 *6f7220636f6e66696720696e20602f6574632f626f626f7470702f646972272e0a20202020204e *6f7465207468617420746865207573657220646972206973207374696c6c207365617263686564 *2066697273740a0a2020202a20605b2d2d757365722d636f6e666967206469725d5b2d755d2720 *2d204c6f6f6b7320666f7220636f6e66696720696e0a20202020206024484f4d452f2e626f626f *7470702f636f6e6669672f6469722f272e204e6f74652074686174207468652073797374656d20 *646972206973207374696c6c0a2020202020736561726368656420616674657220746869732069 *6620646972206973206e6f7420666f756e642e0a0a2020202a20605b2d2d64656275675d5b2d44 *5d27204d616b657320426f626f742b2b207072696e7420646562756767696e6720696e666f2061 *6e642072756e20696e207468650a2020202020666f726567726f756e640a0a2020202a20605b2d *2d64656275672d736372697074735d5b2d535d2720456e61626c656420746865204775696c6520 *646562756767696e67206576616c7561746f7220666f720a2020202020766572626f7365207363 *72697074206572726f727320616e64206261636b747261636573207768696c65207374696c6c20 *72756e6e696e672074686520626f740a2020202020696e20746865206261636b67726f756e642e *0a0a2020205468652064656661756c7420636f6e66696775726174696f6e206973207265616420 *66726f6d0a6024484f4d452f2e626f626f7470702f636f6e6669672f64656661756c742f272061 *6e64207468656e20602f6574632f626f626f7470702f64656661756c742f272069660a74686520 *7573657220636f6e666967206973206e6f7420666f756e642e0a0a20202054686520626f742064 *656661756c747320746f2072756e6e696e6720696e20746865206261636b67726f756e64206173 *2061206461656d6f6e2e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f6465 *3a2055736572204c6576656c732c20204e6578743a2050726f74656374696f6e2c202050726576 *3a205374617274696e672074686520426f742c202055703a205573696e672074686520426f740a *0a332e322055736572204c6576656c730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a5468657265 *20617265207365766572616c2075736572206c6576656c7320617661696c61626c6520696e2042 *6f626f742b2b20746f2070726f766964652067726164617465640a61636365737320746f20636f *6d6d616e64732e206021616464757365722720616e642060626f742e7573657273272075736520 *746865206e756d6572696320636f64653b0a536368656d65207573657320746865207465787475 *616c206e616d6520666f7220746865206c6576656c2e2042792064656661756c7420286966206e *6f2063617463682d616c6c0a73657474696e6720697320666f756e6420696e202a4e6f74652062 *6f742e75736572733a3a2e2920612075736572206861732061636365737320746f20636f6d6d61 *6e64730a7769746820746865206c6576656c2060626f743a757365722d6e6f6e65272e0a0a2020 *302e2060626f743a757365722d6e6f6e6527202d204e6f202a6275696c742d696e2a20636f6d6d *616e6473206d6179206265206578656375746564205f62790a202020202064656661756c745f20 *28636f6d6d616e6473206d61792062652061646465642066726f6d20536368656d652074686174 *2063616e2062652065786563757465640a20202020206279207573657273206f66206c6576656c *206e6f6e6520616e6420746865206c6576656c20726571756972656420746f2065786563757465 *206120636f6d6d616e640a20202020206d6179206265206368616e6765642066726f6d20536368 *656d65292e0a0a2020312e2060626f743a757365722d7573657227202d2057696c6c2062652061 *626c6520746f2065786563757465206d6f737420636f6d6d616e647320627574206e6f740a2020 *202020616c6c20616e642063616e6e6f7420757365206d61736b73206f6e206b69636b7320616e *642062616e732e0a0a2020322e2060626f743a757365722d7472757374656427202d20466f7220 *6275696c742d696e73207769746820612064656661756c7420636f6e66696775726174696f6e0a *2020202020746869732075736572206861732061636365737320746f207468652073616d652073 *6574206f6620636f6d6d616e647320617320616e20607573657227206275740a20202020206d61 *7920757365206d61736b73206f6e206b69636b7320616e642062616e732e20536368656d652063 *6f6d6d616e6473206d61792062652061646465640a202020202077686963682072657175697265 *2061207573657220746f206265206f662074686973206c6576656c2e0a0a2020332e2060626f74 *3a757365722d667269656e6427202d20496e207468652064656661756c7420636f6e6669677572 *6174696f6e206120757365722077686f20697320610a2020202020667269656e642077696c6c20 *62652061626c6520746f20646f2065766572797468696e672073686f7274206f662073746f7070 *696e672074686520626f742e0a2020202020416761696e2c207468657265206d61792062652075 *73657220616464656420636f6d6d616e6473207468617420726571756972652061206869676865 *7220757365720a20202020206c6576656c2e0a0a2020342e2060626f743a757365722d6d617374 *657227202d20546869732069732074686520686967686573742075736572206c6576656c20616e *6420686173206163636573730a2020202020746f2065766572792066656174757265206f662074 *686520626f742e0a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20 *50726f74656374696f6e2c20204e6578743a204175746f6d61746963204f702c2020507265763a *2055736572204c6576656c732c202055703a205573696e672074686520426f740a0a332e332050 *726f74656374696f6e0a3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a41207573657220616464656420 *76696120536368656d652c207468652060626f742e7573657273272066696c652c206f72206021 *6164647573657227206d61792062650a70726f7465637465642066726f6d206265696e67206465 *6f7065642c206b69636b65642c206f722062616e6e65642e205468657265206172652063757272 *656e746c79206e6f0a73796d626f6c6963206c6576656c7320696e20536368656d653b206a7573 *742075736520746865206e756d6572696320636f64652e0a0a2020302e204e6f2070726f746563 *74696f6e0a0a2020312e204e6f2062616e2e204966206120757365722069732062616e6e656420 *74686520626f742077696c6c20756e62616e2068696d2e2e0a0a2020322e204e6f206b69636b2e *205468652075736572206d6179207374696c6c206265206b69636b656420627574207468652062 *6f742077696c6c206b69636b62616e207468650a2020202020757365722077686f206b69636b65 *64207468652070726f74656374656420757365722e0a0a2020332e204e6f2064656f702e205468 *6520626f742077696c6c20656e73757265207468617420746865207573657220616c7761797320 *6d61696e7461696e730a20202020206f70657261746f72207374617475732e0a0a1f0a46696c65 *3a20626f626f742b2b2e696e666f2c20204e6f64653a204175746f6d61746963204f702c20204e *6578743a204275696c742d496e20436f6d6d616e64732c2020507265763a2050726f7465637469 *6f6e2c202055703a205573696e672074686520426f740a0a332e34204175746f6d61746963204f *700a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a412075736572206d6179206265206175746f6d *61746963616c6c7920676976656e206f70657261746f72207374617475732075706f6e20656e74 *6572696e6720610a6368616e6e656c2e205365742074686520414f50206669656c6420746f2022 *302220746f2064697361626c65206175746f2d6f70206f722022312220746f20656e61626c650a *6175746f2d6f702e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20 *4275696c742d496e20436f6d6d616e64732c2020507265763a204175746f6d61746963204f702c *202055703a205573696e672074686520426f740a0a332e35204275696c742d496e20436f6d6d61 *6e64730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a426f626f742b2b2068617320 *6d616e79206275696c742d696e20636f6d6d616e64732074686174206d616b6520697420757365 *66756c20776974686f75740a736372697074696e6720737570706f72742e205468652072656665 *72656e6365206c6561766573206f66662074686520636f6d6d616e6420636861723b2072656d65 *6d6265720a746f2075736520776861746576657220796f7520646566696e65642074686520636f *6d6d616e64206368617220746f20626520696e2060626f742e636f6e66272e20496620610a636f *6d6d616e64206e6565647320746865206368616e6e656c206e616d65207468656e20796f75206d *757374207370656369667920746865206368616e6e656c206173207468650a6669727374206172 *67756d656e7420746f2074686520636f6d6d616e64207768656e2070726976617465206d657373 *6167696e672074686520626f74206120636f6d6d616e642e0a0a434f4d4d414e44202020202020 *20204e45454453202020202020204d494e204c4556454c2020204445534352495054494f4e0a20 *20202020202020202020202020204348414e4e454c2020202020544f205553452020202020200a *60616374696f6e272060646f272020596573202020202020202020555345522020202020202020 *204361757365732074686520626f7420746f20706572666f726d207468650a2020202020202020 *20202020202020202020202020202020202020202020202020202020202020616374696f6e2060 *646f2720696e207468652063757272656e74206368616e6e656c2e0a6061646475736572272020 *202020202020202020202020202020202020202020202020202020200a60616464736572766572 *272020202020202020202020202020202020202020202020202020202041646473207468652073 *65727665722073706563696669656420627920484f53540a202020202020202020202020202020 *2020202020202020202020202020202020202020202020204e414d45206f722049502041444452 *45535320746f20746865207365727665720a202020202020202020202020202020202020202020 *2020202020202020202020202020202020206c6973742e0a606164647368697427202020202020 *2020202020202020202020202020202020202020202020200a60616c6961732720202020202020 *202020202020202020202020202020202020202020202020204d616b657320616e20616c696173 *2c20616e642061646473207468650a202020202020202020202020202020202020202020202020 *20202020202020202020202020202066756e6374696f6e204e4557204e414d452c207468617420 *77696c6c20646f0a20202020202020202020202020202020202020202020202020202020202020 *202020202020202065786163746c79207468652073616d6520636f6d6d616e64206173204f4c44 *0a2020202020202020202020202020202020202020202020202020202020202020202020202020 *204e414d452e0a6062616e27202020202020202020202020202020202020202020202020202020 *2020202020202042616e73204d41534b206f72204e49434b2066726f6d204348414e4e454c2e20 *596f750a2020202020202020202020202020202020202020202020202020202020202020202020 *202020206e65656420746f20626520612074727573746564207573657220746f2062616e0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020207769 *74682061204d41534b2e0a6062616e6c6973742720202020202020202020202020202020202020 *20202020202020202020200a606368616e6e656c73272020202020202020202020202020202020 *2020202020202020202020205072696e747320746865206368616e6e656c287329207768657265 *2074686520626f740a202020202020202020202020202020202020202020202020202020202020 *20202020202020202069732063757272656e746c792e0a606379636c6527202020202020202059 *65732020202020202020202020202020202020202020204d616b65732074686520626f74206c65 *61766520616e64206a6f696e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020204348414e4e454c2e0a606463636c697374272020202020202020 *20202020202020202020202020202020202020202020476976657320746865206c697374206f66 *20616c6c2044434320436861740a20202020202020202020202020202020202020202020202020 *2020202020202020202020202020636f6e6e656374696f6e732e0a60646562616e272020202020 *202020596573202020202020202020202020202020202020202020446562616e73204d41534b20 *6f72204e49434b2066726f6d204348414e4e454c2e0a2020202020202020202020202020202020 *20202020202020202020202020202020202020202020596f75206e65656420746f206265206120 *74727573746564207573657220746f0a2020202020202020202020202020202020202020202020 *20202020202020202020202020202020646562616e20776974682061204d41534b2e0a6064656c *736572766572272020202020202020202020202020202020202020202020202020202044656c65 *746573207365727665722066726f6d20736572766572206c6973740a2020202020202020202020 *2020202020202020202020202020202020202020202020202020202077686f7365206e756d6265 *7220696e2074686520736572766572206c6973742069730a202020202020202020202020202020 *202020202020202020202020202020202020202020202020534552564552204e554d4245522e0a *6064656c7573657227202020202020202020202020202020202020202020202020202020202020 *52656d6f766573204e49434b206f72204d41534b2066726f6d207468650a202020202020202020 *202020202020202020202020202020202020202020202020202020202020757365726c6973742e *0a6064656c73686974272020202020202020202020202020202020202020202020202020202020 *2052656d6f766573204e49434b206f72204d41534b2066726f6d207468650a2020202020202020 *20202020202020202020202020202020202020202020202020202020202020736869746c697374 *2e0a6064656f702720202020202020202059657320202020202020202020202020202020202020 *202044656f7073204d41534b206f72204e49434b206f6e204348414e4e454c2e0a606469652720 *2020202020202020202020202020202020202020202020202020202020202020204d616b657320 *74686520626f742073746f7020696d6d6564696174656c792e0a60646f27202020202020202020 *20202020202020202020202020202020202020202020202020200a606578656375746527202020 *2020202020202020202020202020202020202020202020202020202a4f6e6c7920617661696c61 *626c6520696620736372697074696e670a20202020202020202020202020202020202020202020 *2020202020202020202020202020202020737570706f727420697320656e61626c65642a0a6068 *656c70272020202020202020202020202020202020202020202020202020202020202020200a60 *6964656e7427202020202020202020202020202020202020202020202020202020202020202049 *64656e74696669657320796f75206f6e2074686520626f742e204e6f74650a2020202020202020 *202020202020202020202020202020202020202020202020202020202020207468617420796f75 *2073686f756c64206e6f742075736520746869730a202020202020202020202020202020202020 *202020202020202020202020202020202020202020636f6d6d616e6420696e207075626c696320 *2e2e2e0a60696e7669746527202020202020205965732020202020202020202020202020202020 *20202020496e7669746573204e49434b206f6e204348414e4e454c2e0a606a6f696e2720202020 *20202020202020202020202020202020202020202020202020202020204d616b65732074686520 *626f74206a6f696e204348414e4e454c2e0a606b65657027202020202020202020596573202020 *2020202020202020202020202020202020205365747320746865204d4f44455320746861742074 *686520626f742077696c6c0a202020202020202020202020202020202020202020202020202020 *2020202020202020202020206b65657020666f72204348414e4e454c2e0a606b69636b27202020 *2020202020205965732020202020202020202020202020202020202020204b69636b73204d4153 *4b206f72204e49434b206f7574206f66204348414e4e454c2c0a20202020202020202020202020 *202020202020202020202020202020202020202020202020202062656361757365206f66205245 *41534f4e2e20596f75206e65656420746f20626520610a20202020202020202020202020202020 *202020202020202020202020202020202020202020202074727573746564207573657220746f20 *7573652061204d41534b2e0a606b69636b62616e27202020202020596573202020202020202020 *20202020202020202020202042616e73207468656e206b69636b73204d41534b206f72204e4943 *4b206f7574206f660a202020202020202020202020202020202020202020202020202020202020 *2020202020202020204348414e4e454c2c2062656361757365206f6620524541534f4e2e20596f *75206e6565640a2020202020202020202020202020202020202020202020202020202020202020 *20202020202020746f20626520612074727573746564207573657220746f207573652061204d41 *534b2e0a606c6f6164272020202020202020202020202020202020202020202020202020202020 *2020202052656c6f6164732074686520757365726c6973742066726f6d206469736b2e0a606c6f *6164736372697074272020202020202020202020202020202020202020202020202020202a4f6e *6c7920617661696c61626c6520696620736372697074696e670a20202020202020202020202020 *2020202020202020202020202020202020202020202020202020737570706f727420697320656e *61626c65642a0a606c6f636b272020202020202020202020202020202020202020202020202020 *202020202020204c6f636b7320746f706963206f6e204348414e4e454c2e0a606d6f6465272020 *2020202020202059657320202020202020202020202020202020202020202053656e6473204d4f *444520535452494e47206173206d6f646520666f720a2020202020202020202020202020202020 *202020202020202020202020202020202020202020204348414e4e454c2e0a606d736727202020 *202020202020202020202020202020202020202020202020202020202020200a606e616d657327 *202020202020202059657320202020202020202020202020202020202020202053686f77732074 *6865206e69636b6e616d657320616e6420737461747573206f660a202020202020202020202020 *2020202020202020202020202020202020202020202020202020207573657273206f6e20434841 *4e4e454c2e0a606e65787473657276657227202020202020202020202020202020202020202020 *2020202020204d616b65732074686520626f7420636f6e6e65637420746f20746865206e657874 *0a2020202020202020202020202020202020202020202020202020202020202020202020202020 *2073657276657220696e2069747320736572766572206c6973742e0a606e69636b272020202020 *202020202020202020202020202020202020202020202020202020204d616b6573207468652062 *6f7420757365206e69636b6e616d65204e49434b2e0a606e736c6f6f6b75702720202020202020 *20202020202020202020202020202020202020202020446f65732061206e616d65736572766572 *2071756572792061626f7574204e49434b0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020686f73742c20484f5354206f722049502041444452 *4553532e0a606f7027202020202020202020202059657320202020202020202020202020202020 *20202020204f7073204e49434b206f6e204348414e4e454c2e0a60706172742720202020202020 *20205965732020202020202020202020202020202020202020204d616b65732074686520626f74 *206c65617665204348414e4e454c2e0a6070617373776f72642720202020202020202020202020 *202020202020202020202020202020204368616e67657320796f75722070617373776f7264206f *6e2074686520626f742e0a20202020202020202020202020202020202020202020202020202020 *202020202020202020202055736520604e4f4e45272061732070617373776f726420696620796f *752077616e740a2020202020202020202020202020202020202020202020202020202020202020 *20202020202020746f20636c6561722069742e20446f206e6f742075736520746869730a202020 *202020202020202020202020202020202020202020202020202020202020202020202020636f6d *6d616e6420696e207075626c6963210a607265636f6e6e65637427202020202020202020202020 *202020202020202020202020202020204d616b65732074686520626f74207265636f6e6e656374 *20746f206974730a20202020202020202020202020202020202020202020202020202020202020 *202020202020202063757272656e74207365727665722e0a60727370796d657373616765272020 *20202020202020202020202020202020202020202020202052656d6f76657320796f752066726f *6d2074686520737079206c6973742e0a6073617665272020202020202020202020202020202020 *2020202020202020202020202020202053617665732074686520757365726c6973742e0a607361 *7927202020202020202020205965732020202020202020202020202020202020202020204d616b *65732074686520626f7420736179204d455353414745206f6e0a20202020202020202020202020 *20202020202020202020202020202020202020202020202020204348414e4e454c2e0a60736572 *766572272020202020202020202020202020202020202020202020202020202020202053656c65 *6374207468652073657276657220746f20636f6e6e65637420746f2e0a20202020202020202020 *2020202020202020202020202020202020202020202020202020202020534552564552204e554d *42455220697320746865206e756d626572206f66207468650a2020202020202020202020202020 *2020202020202020202020202020202020202020202020202073657276657220696e2074686520 *7365727665726c6973742e0a607365727665726c69737427202020202020202020202020202020 *20202020202020202020202053686f77732074686520626f742773207365727665726c6973742e *0a60736574666c6f6f647261746527202020202020202020202020202020202020202020202020 *200a6073657476657273696f6e2720202020202020202020202020202020202020202020202020 *20200a60736869746c697374272020202020202020202020202020202020202020202020202020 *20202053686f77732074686520626f74277320736869746c6973742e0a607370796c6973742720 *202020202020202020202020202020202020202020202020202020202053686f77732074686520 *626f742773207370796c6973742e0a607370796d65737361676527202020202020202020202020 *2020202020202020202020202020204164647320796f7520746f20746865207370796c6973740a *607374617473272020202020202020596573202020202020202020202020202020202020202020 *4769766573204348414e4e454c277320737461746973746963732e0a607462616e272020202020 *2020202059657320202020202020202020202020202020202020202042616e73204e49434b206f *72204d41534b2066726f6d204348414e4e454c20666f720a202020202020202020202020202020 *20202020202020202020202020202020202020202020202054494d45207365636f6e64732e0a60 *746b62616e27202020202020202059657320202020202020202020202020202020202020202042 *616e73204e49434b206f72204d41534b2066726f6d204348414e4e454c20666f720a2020202020 *2020202020202020202020202020202020202020202020202020202020202020202054494d4520 *7365636f6e64732c207468656e206b69636b732068696d2f7468656d0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202062656361757365206f66 *20524541534f4e2e0a60746f706963272020202020202020596573202020202020202020202020 *2020202020202020204966206e6f20544f504943697320676976656e2c207072696e74730a2020 *202020202020202020202020202020202020202020202020202020202020202020202020204348 *414e4e454c277320746f7069632e204f74686572776973652c2074686520626f740a2020202020 *2020202020202020202020202020202020202020202020202020202020202020202077696c6c20 *6368616e6765204348414e4e454c277320746f70696320746f0a20202020202020202020202020 *2020202020202020202020202020202020202020202020202020544f5049432e0a60756e6c6f63 *6b27202020202020205965732020202020202020202020202020202020202020204d616b657320 *74686520626f7420756e6c6f636b20746f706963206f6e0a202020202020202020202020202020 *2020202020202020202020202020202020202020202020204348414e4e454c0a60757365726c69 *737427202020202020202020202020202020202020202020202020202020202053686f77732074 *686520626f74277320757365726c6973740a6077686f2720202020202020202020596573202020 *20202020202020202020202020202020202053686f7720796f7572206c6576656c206f6e204348 *414e4e454c0a6077686f6973272020202020202020596573202020202020202020202020202020 *20202020202053686f777320696e666f726d6174696f6e2061626f7574204e49434b206f6e0a20 *202020202020202020202020202020202020202020202020202020202020202020202020202043 *48414e4e454c0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a205363 *72697074696e672c20204e6578743a20436f6e6365707420496e6465782c2020507265763a2055 *73696e672074686520426f742c202055703a20546f700a0a3420536372697074696e670a2a2a2a *2a2a2a2a2a2a2a2a0a0a426f626f742b2b2773206d6f737420706f77657266756c206665617475 *72652069732069747320736372697074696e672073797374656d2e20596f752077726974650a73 *637269707473207573696e67204775696c6520536368656d652e2054686973206d616e75616c20 *646f6573206e6f7420636f76657220686f7720746f20757365204775696c650a6f7220686f7720 *746f206c6561726e20536368656d652e202a4e6f7465204775696c65205265666572656e636520 *4d616e75616c3a20286775696c6529546f702c20666f720a746865204775696c65207265666572 *656e6365206d616e75616c20616e640a60687474703a2f2f7777772e6363732e6e65752e656475 *2f686f6d652f646f7261692f742d792d736368656d652f742d792d736368656d652e68746d6c27 *20666f7220610a676f6f64207475746f7269616c206f6e20536368656d652e0a0a2020204e6f74 *65207468617420696e2070726576696f75732076657273696f6e73207468652073637269707469 *6e6720636f6d6d616e647320776865726520696e207468650a666f726d2060626f742d46554e43 *54494f4e272e205468657920617265206e6f7720696e2074686520666f726d2060626f743a4655 *4e4354494f4e272e20546865206f6c640a6e616d657320617265207374696c6c20617661696c61 *626c652c2062757420617265206465707265636174656420616e642077696c6c2062652072656d *6f76656420696e0a426f626f742b2b20332e302e204e657720636f6d6d616e647320617265206f *6e6c7920617661696c61626c652077697468207468652060626f743a27207072656669782e0a54 *686520636f6d6d616e6420607065726c202d7069202d65206060732f626f742d2f626f743a2f67 *272720594f55522d46494c4553272073686f756c6420626520656e6f7567680a746f20636f6e76 *65727420796f757220636f646520746f2075736520746865206e65772066756e6374696f6e732e *0a0a2020202a4e4f54452a3a20416c6c20617267756d656e747320746f2066756e6374696f6e73 *20616e6420686f6f6b732063616c6c65642062792074686520626f74206172650a737472696e67 *7320756e6c657373206f7468657277697365207370656369666965642e0a0a2a204d656e753a0a *0a2a20416464696e67204e657720436f6d6d616e64733a3a0a2a20486f6f6b733a3a0a2a205363 *68656d652055736572204c6576656c733a3a0a2a2053656e64696e67204d657373616765733a3a *0a2a204d69736320536372697074696e672053747566663a3a0a0a1f0a46696c653a20626f626f *742b2b2e696e666f2c20204e6f64653a20416464696e67204e657720436f6d6d616e64732c2020 *4e6578743a20486f6f6b732c2020507265763a20536372697074696e672c202055703a20536372 *697074696e670a0a342e3120416464696e67204e657720436f6d6d616e64730a3d3d3d3d3d3d3d *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a416464696e672061206e657720636f6d6d616e6420 *69732073696d706c652e20546f2072656769737465722061206e657720636f6d6d616e64207573 *650a60626f743a616464636f6d6d616e64272e0a0a202d2d2046756e6374696f6e3a20626f743a *616464636f6d6d616e64206e616d652066756e63206e656564732d6368616e6e656c3f206e756d *2d6f662d617267730a202020202020202020206d696e2d6c6576656c0a2020202020546865204e *414d45206973206120737472696e6720726570726573656e74696e6720746865206e616d65206f *662074686520636f6d6d616e64206265696e670a202020202061646465642e202046554e432069 *7320612066756e6374696f6e20616363657074696e67204e554d2d4f462d415247532061726775 *6d656e74732e0a20202020204e454544532d4348414e4e454c3f206973206120626f6f6c207468 *61742069732074727565206966207468652066756e6374696f6e206e65656473207468650a2020 *2020206368616e6e656c206e616d6520617320697473206669727374206172672c20616e642066 *616c7365206f74686572776973652e20204e554d2d4f462d415247530a20202020206973207468 *65206e756d626572206f6620617267732046554e432077696c6c2074616b6520616e64206d7573 *742062652077697468696e207a65726f202830290a2020202020616e64207477656e7479202832 *30292e20204d494e2d4c4556454c206973206f6e65206f6620746865202a4e6f74652053636865 *6d6520557365720a20202020204c6576656c733a3a2e2020412075736572206d75737420626520 *6174206c65617374206120606d696e2d6c6576656c27207573657220746f20757365207468650a *20202020206e657720636f6d6d616e642e20204e6f6e65206f662074686520617267756d656e74 *73206172652067756172616e7465656420746f206265207061737365643b0a2020202020696620 *74686579206172656e27742074686579206172652073657420746f2074686520656d7074792073 *7472696e6720602222272e2020416e206578616d706c650a20202020206f662061206e65772063 *6f6d6d616e6420776f756c642062653a0a0a2020202020202020202028646566696e6520286865 *6c6c6f206368616e6e656c206e616d65290a202020202020202020202020286966202873747269 *6e673d3f206e616d65202222290a202020202020202020202020202028626f743a736179206368 *616e6e656c202248656c6c6f20776f726c642122290a202020202020202020202020202028626f *743a736179206368616e6e656c2028737472696e672d617070656e64202248656c6c6f2022206e *616d65202221222929290a0a2020202020202020202028626f743a616464636f6d6d616e642022 *68656c6c6f222068656c6c6f20237420322030290a0a2020202020546869732077696c6c206469 *73706c6179202248656c6c6f20576f726c6421222069662063616c6c656420617320602168656c *6c6f2720616e64202248656c6c6f0a2020202020576f726c642055534552222069662063616c6c *656420617320602168656c6c6f2055534552272e0a0a1f0a46696c653a20626f626f742b2b2e69 *6e666f2c20204e6f64653a20486f6f6b732c20204e6578743a20536368656d652055736572204c *6576656c732c2020507265763a20416464696e67204e657720436f6d6d616e64732c202055703a *20536372697074696e670a0a342e3220486f6f6b730a3d3d3d3d3d3d3d3d3d0a0a486f6f6b7320 *617265206120706f77657266756c2066656174757265206f6620426f626f742b2b2e20486f6f6b *7320617265206120687962726964206f662069726349490a616e642074696e7920667567756520 *2861204d554420626f742920686f6f6b7320776974682061206c6974746c6520626974206f6620 *65787472612073747566662061646465640a696e2e204120686f6f6b2069732063616c6c656420 *7768656e206120726567756c61722065787072657373696f6e206973206d617463686564206167 *61696e737420610a6d6573736167652073656e7420746f206f722062792074686520626f742e0a *0a202020426f626f742b2b207573657320646966666572656e7420686f6f6b2074797065732066 *6f72206561636820495243206d65737361676520747970652c20616e6420616c736f0a696e636c *75646573206120686f6f6b20666f7220616363657373696e672072617720697263206d65737361 *6765732e20486f6f6b732061726520746167676564207769746820610a7072696f726974792061 *6e64206120666c6167207468617420737065636966696573207768657468657220746f2063616c *6c20746865206e65787420686f6f6b20746861740a6d6174636865732061667465722063616c6c *696e67207468652063757272656e74206f6e65206f7220746f2073746f702070726f6365737369 *6e672e0a0a202020486f6f6b73206172652070726f6365737365642066726f6d20746865206869 *676865737420746f206c6f77657374207072696f726974792c20776974680a66616c6c7468726f *75676820686f6f6b73206f6620657175616c207072696f7269747920746f206e6f6e2d66616c6c *7468726f75676820686f6f6b73206265696e670a65786563757465642066697273742e0a0a2a20 *4d656e753a0a0a2a204372656174696e67206120486f6f6b3a3a0a2a20486f6f6b205479706573 *3a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20437265617469 *6e67206120486f6f6b2c20204e6578743a20486f6f6b2054797065732c2020507265763a20486f *6f6b732c202055703a20486f6f6b730a0a342e322e31204372656174696e67206120486f6f6b0a *2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a546f206164642061206e657720686f6f *6b20796f7520757365207468652066756e6374696f6e2060626f743a616464686f6f6b272e0a0a *202d2d2046756e6374696f6e3a20626f743a616464686f6f6b2074797065207265676578206675 *6e6374696f6e205b7072692066616c6c206e616d655d0a20202020205459504520737065636966 *696573207468652074797065206f6620686f6f6b2028746865207479706573206f6620686f6f6b *7320617265206c697374656420696e0a20202020202a4e6f746520486f6f6b2054797065733a3a *292e0a0a202020202052454745582069732061207374616e6461726420726567756c6172206578 *7072657373696f6e2e204966205245474558206973206d6174636865642c0a202020202046554e *4354494f4e2077696c6c2062652063616c6c65642e0a0a202020202046554e4354494f4e207769 *6c6c2074616b65206120646966666572656e74206e756d626572206f6620617267732064657065 *6e64696e67206f6e207468650a2020202020686f6f6b20747970652e0a0a202020202050524920 *73706563696669657320746865207072696f72697479206f662074686520686f6f6b2d2d686967 *686572207072696f7269747920686f6f6b73206172650a20202020206578656375746564206669 *7273742e205468697320617267756d656e74206973206f7074696f6e616c20616e642064656661 *756c747320746f206030272e0a0a202020202046414c4c20697320602374272069662074686520 *686f6f6b20697320612066616c6c7468726f75676820686f6f6b20616e64206023662720697320 *7468650a2020202020686f6f6b206973206e6f7420612066616c6c7468726f75676820686f6f6b *2e20546869732061726720697320616c736f206f7074696f6e616c20616e640a20202020206465 *6661756c747320746f20602374272e0a0a20202020204e414d4520697320746865206f7074696f *6e616c206e616d65206f662074686520686f6f6b20746861742064656661756c747320746f0a20 *20202020602244454641554c5422272e20496620796f752073657420746865206e616d65207468 *656e20796f752063616e2068617665206d6f7265207468616e206f6e650a2020202020686f6f6b *2074686174206d617463686573207468652073616d65207265676578702c206173206c6f6e6720 *617320746865792068617665207468652073616d650a20202020206e616d652e20452e672e2069 *6e2061206c6f672073637269707420796f7520636f756c64206861766520746865207265676578 *707320666f7220746865206c6f670a202020202066756e6374696f6e20616c6c2062652060222e *2a222720616e6420736574207468656972206e616d657320746f2060226c6f67222720746f2061 *766f696420610a2020202020636f6e666c6963742077697468206f7468657220686f6f6b732e0a *0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20486f6f6b2054797065 *732c2020507265763a204372656174696e67206120486f6f6b2c202055703a20486f6f6b730a0a *342e322e3220486f6f6b2054797065730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a54686520 *666f6c6c6f77696e672073656374696f6e7320646f63756d656e74207468652064696666657265 *6e7420686f6f6b7320426f626f742b2b206578706f7365732e0a0a2020205468652067656e6572 *616c20666f726d6174206f66206561636820686f6f6b206465736372697074696f6e2069732061 *73206966206974207765726520610a66756e6374696f6e20746f20626520646566696e65642c20 *627574207468657365206465736372696265207468652066756e6374696f6e20746f2062652070 *617373776420746f0a60626f743a6164642d686f6f6b272e2020446f205f6e6f745f206e616d65 *20796f75722066756e6374696f6e73207468657365206e616d65732e0a0a202020546861742073 *6169642c206865726520697320746865206c697374206f6620617661696c61626c6520686f6f6b *732066756e6374696f6e732e20204649584d453a0a777269746520646f63730a0a2a204d656e75 *3a0a0a2a205265636569766564204d65737361676520486f6f6b733a3a0a2a2053656e74204d65 *737361676520486f6f6b733a3a0a2a20444343204348415420486f6f6b733a3a0a2a204d697363 *656c6c616e656f757320486f6f6b733a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f *2c20204e6f64653a205265636569766564204d65737361676520486f6f6b732c20204e6578743a *2053656e74204d65737361676520486f6f6b732c2020507265763a20486f6f6b2054797065732c *202055703a20486f6f6b2054797065730a0a342e322e322e3120526563656965766564204d6573 *7361676520486f6f6b730a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e *2e2e2e0a0a54686520666f6c6c6f77696e6720686f6f6b73206172652074726967676572656420 *7768656e2061206d65736167652069732072656365697665642062792074686520626f742e0a0a *202d2d2046756e6374696f6e3a20686f6f6b732f616374696f6e2066726f6d20746f2061637469 *6f6e0a20202020205468697320686f6f6b20697320747269676765726564207768656e20736f6d *656f6e6520706572666f726d7320616e20616374696f6e2e0a0a202020202046524f4d20697320 *746865206e69636b6e616d652074686520706572736f6e207468617420706572666f726d656420 *74686520616374696f6e2e0a0a2020202020544f2069732074686520746172676574206f662074 *686520616374696f6e2c207768696368206973206569746865722061206368616e6e656c206f72 *207468650a2020202020426f742773206e69636b20696620746865207573657220707269766174 *65206d657373616765732074686520626f742e0a0a2020202020414354494f4e20697320746865 *2074657874206f662074686520616374696f6e2e20452e672e20696620736f6d656f6e65206469 *6420602a20666f6f6261720a2020202020646f65732062617a272c207468656e20414354494f4e *20776f756c642062652074686520737472696e67206022646f65732062617a22272e0a0a202d2d *2046756e6374696f6e3a20686f6f6b732f6e69636b6e616d65206f6c642d6e69636b206e65772d *6e69636b0a20202020205468697320686f6f6b2069732063616c6c6564207768656e20736f6d65 *6f6e65206368616e67657320686973206e69636b6e616d652066726f6d0a20202020204f4c442d *4e49434b20746f204e45572d4e49434b2e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f *7369676e6f6666206e69636b206d6573736167650a20202020205468697320686f6f6b20697320 *63616c6c6564207768656e20736f6d656f6e65207369676e73206f6666206f66204952432e0a0a *20202020204e49434b20697320746865206e69636b6e616d65206f662074686520706572736f6e *207369676e696e67206f66662e0a0a20202020204d455353414745206973206869732071756974 *206d6573736167650a0a202d2d2046756e6374696f6e3a20686f6f6b732f63746370206e69636b *20746f20636f6d6d616e6420726573740a20202020205468697320686f6f6b2069732063616c6c *6564207768656e2061204354435020726571756573742069732072656365697665642062792074 *686520626f742e0a0a20202020204e49434b20697320746865206e69636b6e616d65206f662074 *68652073656e6465722e0a0a2020202020544f2069732074686520746172676574206f66207468 *65204354435020726571756573742e20546869732077696c6c2065697468657220626520610a20 *202020206368616e6e656c2074686520626f7420697320696e2c206f7220746865206e69636b6e *616d65206f662074686520626f742e0a0a2020202020434f4d4d414e4420697320746865204354 *435020636f6d6d616e64206973737565642e0a0a20202020205245535420636f6e7461696e7320 *74686520617267756d656e747320746f20746865204354435020636f6d6d616e642e0a0a202d2d *2046756e6374696f6e3a20686f6f6b732f637463702d7265706c79206e69636b20636f6d6d616e *6420726573740a20202020205468697320686f6f6b2069732063616c6c6564207768656e206120 *43544350205245504c592069732072656365697665642e2054686973206f636375727320776865 *6e0a202020202074686520626f74206861732073656e7420612043544350207265717565737420 *746f20616e6f7468657220636c69656e742e205468652043544350205245504c590a2020202020 *697320616c776179732061646472657373656420746f2074686520626f74206469726563746c79 *2e0a0a20202020204e49434b20697320746865206e69636b6e616d65206f662074686520706572 *736f6e2077686f207265706c6965642e0a0a2020202020434f4d4d414e44206973207468652063 *6f6d6d616e6420746f207768696368204e49434b206973207265706c79696e672e0a0a20202020 *205245535420636f6e7461696e732074686520626f6479206f6620746865207265706c792e0a0a *202d2d2046756e6374696f6e3a20686f6f6b732f646973636f6e6e656374207365727665722069 *6e74656e74696f6e616c0a2020202020546869732069732063616c6c6564207768656e20746865 *20626f7420697320646973636f6e6e65637465642066726f6d2061207365727665722e0a0a2020 *2020205345525645522069732074686520686f73746e616d65206f662074686520736572766572 *2066726f6d2077686963682074686520626f74207761730a2020202020646973636f6e6e656374 *65642e0a0a2020202020494e54454e54494f4e414c206973206120666c61672073657420746f20 *60237427207768656e2074686520626f74206469736f6e6e65637465642066726f6d0a20202020 *20746865207365727665722061732074686520726573756c74206f66206120636f6d6d616e6420 *28697373756564206279206120757365722066726f6d204952432c0a2020202020534947485550 *2c206f722066726f6d206120736372697074292c206f722060236627207768656e207468652062 *6f7420646973636f6e6e65637465642066726f6d0a20202020207468652073657276657220756e *696e74656e74696f6e616c6c792e2e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f696e *76697465206e69636b206368616e6e656c0a20202020205468697320686f6f6b2069732063616c *6c6564207768656e2061207573657220696e76697465642074686520626f7420746f206a6f696e *2061206368616e6e656c2e0a0a20202020204e49434b20697320746865206e69636b6e616d6520 *6f662074686520757365722077686f2073656e742074686520696e766974652e0a0a2020202020 *4348414e4e454c20697320746865206368616e6e656c20746f2077686963682074686520626f74 *2077617320696e76697465642e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6a6f696e *206e69636b206368616e6e656c0a2020202020546869732069732063616c6c6564207768656e20 *612075736572206f722074686520626f74206a6f696e732061206368616e6e656c2e0a0a202020 *20204e49434b20697320746865206e69636b6e616d65206f662074686520757365722077686f20 *6a6f696e6564204348414e4e454c2e2054686973206d61792062650a202020202074686520626f *742773206e69636b6e616d65202874686520495243207365727665722073656e64732074686520 *4a4f494e20636f6d6d616e64206261636b20746f0a20202020207468652074686520626f742061 *66746572206974206a6f696e732061206368616e6e656c292e0a0a20202020204348414e4e454c *20697320746865206368616e6e656c207468617420776173206a6f696e65640a0a202d2d204675 *6e6374696f6e3a20686f6f6b732f6b69636b207461726765742066726f6d206368616e6e656c20 *726561736f6e0a20202020205468697320686f6f6b2069732063616c6c6564207768656e206120 *757365722c20696e636c7564696e672074686520626f742c206973206b69636b6564206f75740a *20202020206f662061206368616e6e656c2e0a0a20202020205441524745542069732074686520 *6e69636b206f662074686520757365722077686f20776173206b69636b65642e2054686973206d *6179206265207468650a2020202020626f742773206e69636b2e0a0a202020202046524f4d2069 *7320746865206e69636b206f662074686520757365722077686f2069737375656420746865206b *69636b2e2054686973206d617920616c736f2062650a202020202074686520626f742773206e69 *636b2e0a0a20202020204348414e4e454c20697320746865206368616e6e656c20746865206b69 *636b207761732069737375656420696e2e0a0a2020202020524541534f4e206973207468652072 *6561736f6e20746865207573657220776173206b69636b65642e0a0a202d2d2046756e6374696f *6e3a20686f6f6b732f70617274206e69636b206368616e6e656c0a20202020205468697320686f *6f6b2069732063616c6c6564207768656e206120757365722070617274732061206368616e6e65 *6c2e0a0a20202020204e49434b2069732074686520757365722077686f20706172746564207468 *65206368616e6e656c2e2054686973206d61792062652074686520626f742e0a0a202020202043 *48414e4e454c20697320746865206368616e6e656c2066726f6d20776869636820746865207573 *6572207061727465642e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6d6f6465206e69 *636b20746172676574206d6f6465730a20202020205468697320686f6f6b2069732063616c6c65 *64207768656e20736f6d656f6e65207365747320746865206d6f646573206f6620544152474554 *2e0a0a20202020204e49434b2069732074686520757365722077686f2073657420746865206d6f *6465732e2054686973206d61792062652074686520626f742e0a0a202020202054415247455420 *69732074686520746172676574206f6620746865204d4f444520636f6d6d616e642e2054686973 *206d61792062652061206368616e6e656c206f720a20202020206120757365722e204966206974 *206973206120757365722c206974206d61792062652074686520626f742e0a0a20202020204d4f *44455320697320746865204d4f444520737472696e672e0a0a202d2d2046756e6374696f6e3a20 *686f6f6b732f6d657373616765206e69636b206d6573736167650a20202020205468697320686f *6f6b2069732063616c6c6564207768656e20736f6d656f6e652073656e64732061207072697661 *7465206d65737361676520746f207468650a2020202020626f742e0a0a20202020204e49434b20 *697320746865206e69636b6e616d65206f662074686520757365722077686f2073656e74207468 *65206d6573736167652e0a0a20202020204d45535341474520697320746865206d657373616765 *2074686520757365722073656e742e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6e6f *74696365206e69636b206d6573736167650a20202020205468697320686f6f6b2069732063616c *6c6564207768656e206120757365722073656e6420612070726976617465206e6f746963652074 *6f2074686520626f742e0a0a20202020204e49434b2069732074686520757365722077686f2073 *656e7420746865206e6f746963652e0a0a20202020204d45535341474520697320746865206d65 *73736167652074686520757365722073656e742e0a0a202d2d2046756e6374696f6e3a20686f6f *6b732f7075626c6963206e69636b206368616e6e656c206d6573736167650a2020202020546869 *7320686f6f6b2069732063616c6c6564207768656e206120757365722073656e64732061206e6f *726d616c206d65737361676520746f20610a20202020206368616e6e656c2e0a0a20202020204e *49434b2069732074686520757365722077686f2073656e7420746865206d6573736167652e0a0a *20202020204348414e4e454c20697320746865206368616e6e656c20746f207768696368207468 *65206d657373616765207761732073656e742e0a0a20202020204d455353414745206973207468 *65206d6573736167652074686174207761732073656e742e0a0a202d2d2046756e6374696f6e3a *20686f6f6b732f7075626c69632d6e6f74696365206e69636b206368616e6e656c206d65737361 *67650a20202020205468697320686f6f6b2069732063616c6c6564207768656e20612075736572 *2073656e642061206e6f7469636520746f2061206368616e6e656c2e0a0a20202020204e49434b *2069732074686520757365722077686f2073656e7420746865206e6f746963652e0a0a20202020 *204348414e4e454c20697320746865206368616e6e656c20746f20776869636820746865206e6f *74696365207761732073656e742e0a0a20202020204d45535341474520697320746865206d6573 *736167652074686174207761732073656e742e0a0a202d2d2046756e6374696f6e3a20686f6f6b *732f726177207261772d6d6573736167650a20202020205468697320686f6f6b2069732063616c *6c65642065766572792074696d652061206d6573736167652069732072656365697665642e2054 *686973206d6174636865730a20202020206f6e2074686520726177206d65737361676520746578 *7420616e64207061737365732074686520686f6f6b2066756e6374696f6e207468652072617720 *4952430a20202020206d6573736167652e0a0a20202020205241572d4d45535341474520697320 *7468652072617720495243206d6573736167652e0a0a202d2d2046756e6374696f6e3a20686f6f *6b732f746f706963206e69636b206368616e6e656c206e65772d746f7069630a20202020205468 *697320686f6f6b2069732063616c6c6564207768656e20612075736572206368616e6765732074 *686520746f70696320696e2061206368616e6e656c2e0a0a20202020204e49434b206973207468 *6520757365722077686f207365742074686520746f7069632e2054686973206d61792062652074 *686520626f742e0a0a20202020204348414e4e454c20697320746865206368616e6e656c207468 *6174277320746f70696320776173206368616e6765642e0a0a20202020204e45572d544f504943 *20697320746865206e657720746f7069632e0a0a1f0a46696c653a20626f626f742b2b2e696e66 *6f2c20204e6f64653a2053656e74204d65737361676520486f6f6b732c20204e6578743a204443 *43204348415420486f6f6b732c2020507265763a205265636569766564204d6573736167652048 *6f6f6b732c202055703a20486f6f6b2054797065730a0a342e322e322e322053656e74204d6573 *7361676520486f6f6b730a2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a *546865736520686f6f6b73206172652063616c6c6564207768656e2074686520626f742073656e *64732061206d6573736167652e204d594e49434b20697320616c776179730a74686520626f7427 *73206e69636b20616e642077696c6c206e6f7420626520646f63756d656e74656420696e206561 *636820686f6f6b206465736372697074696f6e2e0a0a202d2d2046756e6374696f6e3a20686f6f *6b732f73656e642f7075626c6963206d796e69636b206368616e6e656c206d6573736167650a20 *202020205468697320686f6f6b2069732063616c6c6564207768656e2074686520626f74207365 *6e64732061206e6f726d616c206d65737361676520746f20610a20202020206368616e6e656c2e *0a0a20202020204348414e4e454c20697320746865206368616e6e656c20746f20776869636820 *74686520626f742073656e7420746865206d6573736167652e0a0a20202020204d455353414745 *20697320746865206d6573736167652074686520626f742073656e742e0a0a202d2d2046756e63 *74696f6e3a20686f6f6b732f73656e642f6d657373616765206d796e69636b20746f206d657373 *6167650a20202020205468697320686f6f6b2069732063616c6c6564207768656e207468652062 *6f742073656e647320612070726976617465206d65737361676520746f206120757365722e0a0a *2020202020544f20697320746865206e69636b206f6620746865207573657220746f2077686f6d *20746865206d657373616765207761732073656e742e0a0a20202020204d455353414745206973 *20746865206d6573736167652074686174207761732073656e742e0a0a202d2d2046756e637469 *6f6e3a20686f6f6b732f73656e642f616374696f6e206d796e69636b20746f206d657373616765 *0a20202020205468697320686f6f6b2069732063616c6c6564207768656e2074686520626f7420 *73656e747320616e20616374696f6e20746f2061206368616e6e656c206f7220610a2020202020 *757365722e0a0a2020202020544f20697320746865206368616e6e656c206f72206e69636b206f *6620746865207573657220746f2077686963682074686520616374696f6e207761732073656e74 *2e0a0a20202020204d455353414745206973207468652074657874206f66207468652061637469 *6f6e2e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f73656e642f63746370206d796e69 *636b20746f20636f6d6d616e64206d6573736167650a20202020205468697320686f6f6b206973 *2063616c6c6564207768656e2074686520626f742073656e647320612043544350206d65737361 *6765205f6f74686572207468616e5f0a2020202020616e20414354494f4e20746f206120636861 *6e6e656c206f7220757365722e0a0a2020202020544f20697320746865206368616e6e656c206f *72206e69636b206f6620746865207573657220746f207768696368207468652043544350207761 *732073656e742e0a0a2020202020434f4d4d414e4420697320746865204354435020636f6d6d61 *6e642074686174207761732073656e742e0a0a20202020204d4553534147452069732061207374 *72696e6720636f6e7461696e696e672074686520617267756d656e747320746f20746865204354 *435020636f6d6d616e642e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64 *653a20444343204348415420486f6f6b732c20204e6578743a204d697363656c6c616e656f7573 *20486f6f6b732c2020507265763a2053656e74204d65737361676520486f6f6b732c202055703a *20486f6f6b2054797065730a0a342e322e322e3320444343204348415420486f6f6b730a2e2e2e *2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a546865736520686f6f6b7320617265206361 *6c6c6564207768656e2061207573657220696e697469616c697a65732061204443432043484154 *20616e64207768656e207468650a626f74207265636569766573206d657373616765732066726f *6d20746865207573657220696e20612044434320434841542e0a0a202d2d2046756e6374696f6e *3a20686f6f6b732f6463632f636861742d626567696e2066726f6d0a2020202020546869732068 *6f6f6b2069732063616c6c6564207768656e2061207573657220626567696e7320612044434320 *4348415420776974682074686520626f742e0a202020202046524f4d2069732074686520757365 *722773206164647265737320696e2074686520666f726d20606e69636b217573657240686f7374 *272e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f6463632f636861742d6d6573736167 *652066726f6d206d6573736167650a20202020205468697320686f6f6b2069732063616c6c6564 *207768656e206120757365722073656e64732061206d65737361676520746f2074686520626f74 *207468726f7567680a2020202020612044434320434841542e0a0a202020202046524f4d206973 *2074686520757365722773206164647265737320696e2074686520666f726d20606e69636b2175 *73657240686f7374272e0a0a20202020204d45535341474520697320746865206d657373616765 *2074686520757365722073656e7420746f2074686520626f742e0a0a1f0a46696c653a20626f62 *6f742b2b2e696e666f2c20204e6f64653a204d697363656c6c616e656f757320486f6f6b732c20 *20507265763a20444343204348415420486f6f6b732c202055703a20486f6f6b2054797065730a *0a342e322e322e34204d697363656c6c616e656f757320486f6f6b730a2e2e2e2e2e2e2e2e2e2e *2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f *666c6f6f64206e69636b0a20202020205468697320686f6f6b2069732063616c6c656420776865 *6e2061207573657220697320646574656374656420666c6f6f64696e672074686520626f742e0a *0a20202020204e49434b20697320746865206e69636b6e616d65206f6620746865207573657220 *666c6f6f64696e672074686520626f742e0a0a202d2d2046756e6374696f6e3a20686f6f6b732f *74696d65722074696d650a20202020205468697320686f6f6b2069732063616c6c6564206f6e63 *652061206d696e7574652e20546865207265676578206973202a6e6f742a20757365642e0a0a20 *2020202054494d452069732074686520696e207a65726f2d706164646564206068683a6d6d2720 *666f726d61742e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a2053 *6368656d652055736572204c6576656c732c20204e6578743a2053656e64696e67204d65737361 *6765732c2020507265763a20486f6f6b732c202055703a20536372697074696e670a0a342e3320 *536368656d652055736572204c6576656c730a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d *3d3d0a0a5468657265206172652066697665206c6576656c73207468617420612075736572206d *6179206265207768656e20696e746572666163696e672077697468206120626f743a0a4e4f4e45 *2c20555345522c20545255535445445f555345522c20465249454e442c204d41535445522e2054 *686520536368656d65207661726961626c657320666f72207468650a75736572206c6576656c73 *206172652060626f743a757365722d6e6f6e65272c2060626f743a757365722d75736572272c20 *60626f743a757365722d74727573746564272c0a60626f743a757365722d667269656e64272c20 *616e642060626f743a757365722d6d6173746572272e20536565202a4e6f74652055736572204c *6576656c733a3a20666f720a6d6f726520696e666f726d6174696f6e206f6e2055736572204c65 *76656c732e0a0a2020205768656e20616464696e672061206e657720636f6d6d616e642c207468 *696e6b2061626f75742077686f2073686f756c642062652061626c6520746f207573652069742e *0a497320796f757220636f6d6d616e6420612067656e6572616c20707572706f736520636f6d6d *616e6420746861742068656c707320746865206368616e6e656c2028652e672e0a60217365656e *272920746861742065766572796f6e652073686f756c642062652061626c6520746f207573653f *204f7220697320697420736f6d657468696e6720746861740a73686f756c642062652072657374 *7269637465643f20536565202a4e6f74652055736572204c6576656c733a3a20666f7220696e66 *6f726d6174696f6e206f6e20776861740a6c6576656c2075736572732063616e20646f20776861 *74207769746820746865206275696c7420696e20626f7420636f6d6d616e647320616e64207468 *696e6b2061626f75740a77686174206c6576656c2061207573657220796f757220636f6d6d616e *642069732074617267657474656420746f77617264732e20596f75206d757374206265205f7665 *72795f0a6361726566756c207768656e20676976696e67206e657720636f6d6d616e647320746f *206c6f776572206c6576656c207573657273206265636175736520796f752063616e0a646f2062 *61736963616c6c792065766572797468696e672074686520626f742063616e20646f2077697468 *2061207363726970742e2041732074686520736372697074696e670a696e746572666163652062 *65636f6d6573206d6f726520706f77657266756c2c20796f75206d757374207468696e6b206d6f *72652061626f757420776861742075736572730a63616e20757365206e657720636f6d6d616e64 *7320796f75206164642e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f6465 *3a2053656e64696e67204d657373616765732c20204e6578743a204d6973632053637269707469 *6e672053747566662c2020507265763a20536368656d652055736572204c6576656c732c202055 *703a20536372697074696e670a0a342e342053656e64696e67204d657373616765730a3d3d3d3d *3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0a0a546865726520617265207365766572616c20747970 *6573206f66206d6573736167657320796f752063616e2073656e64207769746820426f626f742b *2b2066726f6d0a736372697074732e205468657265206973207468652073696d706c652c206275 *7420726174686572206c696d697465642c2060626f743a736179272c0a60626f743a616374696f *6e2720616e642060626f743a6d7367272c20616e6420746865206d6f726520706f77657266756c *2c20627574206c6f776572206c6576656c2c0a60626f743a73656e642d4d455353414745272066 *756e6374696f6e732e204d6f737420626f74732077696c6c2070726f6261626c79206f6e6c7920 *6e656564207468650a686967686572206c6576656c2066756e6374696f6e732c2062757420666f *72207468652073616b65206f66207768792d6e6f7420426f626f742b2b206c65747320796f750a *75736520746865206c6f776572206c6576656c2066756e6374696f6e732028696e2070726f6772 *657373292e0a0a2a204d656e753a0a0a2a2048696768204c6576656c204d657373616765204675 *6e6374696f6e733a3a0a2a204c6f77204c6576656c204d6573736167652046756e6374696f6e73 *3a3a0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a2048696768204c *6576656c204d6573736167652046756e6374696f6e732c20204e6578743a204c6f77204c657665 *6c204d6573736167652046756e6374696f6e732c2020507265763a2053656e64696e67204d6573 *73616765732c202055703a2053656e64696e67204d657373616765730a0a342e342e3120224869 *6768204c6576656c22204d6573736167652046756e6374696f6e730a2d2d2d2d2d2d2d2d2d2d2d *2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a202d2d2046756e6374696f6e *3a20626f743a736179206368616e6e656c206d6573736167650a202020202053656e6420612070 *75626c6963206f722070726976617465204d45535341474520746f204348414e4e454c2e0a0a20 *2020202053656e64732061206e6f726d616c2074657874206d6573736167652c20617320696620 *6120757365722068616420747970656420697420696e2e20205468650a20202020204445535420 *63616e2062652061206e69636b6e616d65206f722061206368616e6e656c2e0a0a202d2d204675 *6e6374696f6e3a20626f743a616374696f6e206368616e6e656c206d6573736167650a20202020 *2053656e6420616e2022616374696f6e22207479706520204d45535341474520746f204348414e *4e454c0a0a202d2d2046756e6374696f6e3a20626f743a6d7367206e69636b206d657373616765 *0a20202020205468652073616d652061732069662061207573657220747970656420602f6d7367 *206e69636b206d6573736167652720746f207468656972204952430a2020202020636c69656e74 *2e0a0a202d2d2046756e6374696f6e3a20626f743a6e6f7469636520746172676574206d657373 *6167650a202020202053656e6473204d4553534147452061732061204e4f5449434520746f2054 *41524745542e20544152474554206d61792062652061207573657220286e69636b290a20202020 *206f722061206368616e6e656c2e20546869732072657475726e732030206f6e20737563636573 *732e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a204c6f77204c65 *76656c204d6573736167652046756e6374696f6e732c2020507265763a2048696768204c657665 *6c204d6573736167652046756e6374696f6e732c202055703a2053656e64696e67204d65737361 *6765730a0a342e342e3220224c6f77204c6576656c22204d6573736167652046756e6374696f6e *730a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0a0a *54686520224c6f77204c6576656c22206d6573736167696e672066756e6374696f6e7320616c6c *6f7720796f7520746f20646f207468696e6773206c696b652073656e640a43544350206d657373 *616765732e20596f752070726f6261626c792077616e7420746f20726561642072666320323831 *3220616e6420746865204354435020737065630a6265666f7265207573696e672074686573652e *20496620796f752068617665206e6f2069646561207768617420746865736520646f2c20726561 *642072666320323831320a2849524320436c69656e742050726f746f636f6c2920616e64204354 *435020737065632e2054686573652066756e6374696f6e7320616c6c2072657475726e0a602a75 *6e7370656369666965642a2720616c776179732c20736f20646f6e277420757365207468652072 *657475726e2076616c756520666f7220616e797468696e672e0a0a202d2d2046756e6374696f6e *3a20626f743a73656e642d6374637020746f20636f6d6d616e64206d6573736167650a20202020 *20544f2069732074686520746172676574206f6620796f75722043544350206d6573736167652c *20434f4d4d414e442069732074686520435443500a2020202020636f6d6d616e642c20616e6420 *4d45535341474520697320746865206d65737361676520286f7220617267756d656e747329206f *662074686520636f6d6d616e642e0a20202020204d616b65207375726520746f2060626f743a63 *7463702d71756f74652720746865206d657373616765210a0a202d2d2046756e6374696f6e3a20 *626f743a73656e642d637463702d7265706c7920746f20636f6d6d616e64206d6573736167650a *2020202020544f2069732074686520746172676574206f6620796f75722043544350207265706c *792c20434f4d4d414e4420697320746865204354435020636f6d6d616e642c0a2020202020616e *64204d45535341474520697320746865206d65737361676520286f7220617267756d656e747329 *206f662074686520636f6d6d616e642e204d616b650a20202020207375726520746f2060626f74 *3a637463702d71756f74652720746865206d657373616765210a0a202020202054686973206973 *207573656420746f207265706c7920746f2061206374637020746861742074686520626f742068 *61732072656365697665642e0a0a1f0a46696c653a20626f626f742b2b2e696e666f2c20204e6f *64653a204d69736320536372697074696e672053747566662c2020507265763a2053656e64696e *67204d657373616765732c202055703a20536372697074696e670a0a342e35204d6973632e2053 *6372697074696e672053747566660a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d *3d0a0a5468657365206172652061206665772075736566756c207468696e677320746861742049 *2074686f756768742070656f706c652077726974696e6720736372697074730a6d696768742077 *616e7420746f206b6e6f772e0a0a202020496620796f752077616e7420746f2065786563757465 *20636f6465207768656e2074686520626f742065786974732c206a75737420646f20606164642d *686f6f6b210a626f743a657869742d686f6f6b205448554e4b27207768657265205448554e4b20 *697320616e20617267756d656e746c6573732070726f6365647572652028610a7468756e6b292e *205768656e2074686520626f7420657869747320796f7572207468756e6b2077696c6c20626520 *63616c6c65642e0a0a20202020205b2049206469646e2774206b6e6f7720776865726520746f20 *70757420616e79206f662074686573652c20736f2049206a75737420737475636b207468656d20 *696e0a2020202020686572652e0a0a202020202054686572652070726f6261626c79206e656564 *7320746f206265207365766572616c2073656374696f6e732061646465642c206c696b65206465 *616c696e670a20202020207769746820757365727320286b69636b696e672c2061646465642c20 *657463292c206465616c696e6720776974682074686520626f7420286368616e6e656c732c0a20 *202020206e69636b6e616d65206f662074686520626f742c20657463292c207365727665722069 *737375657320287365727665726c697374292c2075736566756c0a2020202020746f6f6c732028 *6e736c6f6f6b75702c2077686f6973292c20616e6420646f206f6e2e205d0a0a202d2d2046756e *6374696f6e3a20626f743a61646475736572206e69636b2d6f722d6d61736b206362616e6e656c *2d6d61736b206c6576656c2070726f74206175746f2d6f700a20202020204164647320616e2075 *73657220746f2074686520757365726c6973742c20666f72206120606e69636b21757365724068 *6f737427206d61746368696e67207468650a20202020206f6e6520676976656e2c206f6e206120 *6368616e6e656c206d61746368696e6720746865204348414e4e454c4d41534b20676976656e2e *0a0a2020202020546865204c4556454c2063616e2062653a2020202020205468652050524f5420 *63616e2062653a20202020202020546865204155544f2d4f502063616e2062653a0a2020202020 *30202d204e6f206c6576656c202020202020202020202030202d204e6f2070726f74656374696f *6e20202020202030202d204e6f206175746f2d6f700a202020202031202d205573657220202020 *202020202020202020202031202d204e6f2062616e2020202020202020202020202031202d204f *70206f6e206a6f696e0a202020202032202d205472757374656420557365722020202020202032 *202d204e6f206b69636b2020202020202020202020200a202020202033202d20467269656e6420 *20202020202020202020202033202d204e6f2064656f702020202020202020202020200a202020 *202034202d204d6173746572202020202020202020202020202020202020202020202020202020 *2020202020202020200a0a0a202d2d2046756e6374696f6e3a20626f743a616464736572766572 *20686f73746e616d652069702d61646472657373205b706f72746e756d6265725d0a2020202020 *4164647320746865207365727665722073706563696669656420627920484f53544e414d45206f *722049502d4144445245535320746f20746865207365727665720a20202020206c6973742e0a0a *202d2d2046756e6374696f6e3a20626f743a61646473686974206e69636b2d6f722d6d61736b20 *6368616e6e656c2d6d61736b206c6576656c205b74696d6520726561736f6e5d0a202020202041 *64647320616e207573657220746f2074686520736869746c6973742c20666f722061206e69636b *217573657240686f7374206d61746368696e67207468650a20202020206f6e6520676976656e2c *206f6e2061206368616e6e656c206d61746368696e6720746865204348414e4e454c4d41534b20 *676976656e2e0a0a20202020202020202020546865204c4556454c2063616e2062653a0a202020 *20202020202020202030202d204e6f20736869740a20202020202020202020202031202d204e6f *206f700a20202020202020202020202032202d204b69636b20616e642042616e206f6e206a6f69 *6e0a20202020202020202020202033202d204b69636b20616e642042616e206f6e206a6f696e2c *206e6f20646562616e0a0a0a202d2d2046756e6374696f6e3a20626f743a62616e206368616e6e *656c206d61736b2d6f722d6e69636b0a202020202042616e73204d41534b206f72204e49434b20 *66726f6d204348414e4e454c2e20596f75206e65656420746f2062652061207472757374656420 *7573657220746f0a202020202062616e20776974682061204d41534b2e0a0a202d2d2046756e63 *74696f6e3a20626f743a6368616e67652d636f6d6d616e642d6c6576656c206e69636b2d6f722d *6d61736b206368616e6e656c2d6d61736b0a202020202020202020206e65772d6c6576656c0a20 *202020204769766573204e49434b206f72204d41534b206c6576656c204e45572d4c4556454c20 *6f6e206368616e6e656c287329204348414e4e454c2d4d41534b2e0a20202020204e6f74652074 *68617420796f752063616e206e6f74206368616e6765206c6576656c20666f7220736f6d656f6e *652077686f7365206c6576656c2069730a202020202067726561746572207468616e20796f7572 *732c20616e64207468617420796f752063616e206e6f7420676976652061206c6576656c206772 *6561746572207468616e0a2020202020796f7572732e0a0a202d2d2046756e6374696f6e3a2062 *6f743a6379636c65206368616e6e656c0a20202020204d616b65732074686520626f74206c6561 *766520616e64206a6f696e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f74 *3a646562616e206368616e6e656c206d61736b2d6f722d6e69636b0a2020202020446562616e73 *204d41534b206f72204e49434b2066726f6d204348414e4e454c2e20596f75206e65656420746f *20626520612074727573746564207573657220746f0a2020202020646562616e20776974682061 *204d41534b2e0a0a202d2d2046756e6374696f6e3a20626f743a64656c73657276657220736572 *7665722d6e756d6265720a202020202044656c65746573207365727665722066726f6d20736572 *766572206c6973742077686f7365206e756d62657220696e2074686520736572766572206c6973 *742069730a20202020205345525645522d4e554d4245520a0a202d2d2046756e6374696f6e3a20 *626f743a64656c75736572206e69636b2d6f722d6d61736b206368616e6e656c2d6d61736b0a20 *2020202052656d6f766573204e49434b206f72204d41534b2066726f6d2074686520757365726c *6973742e0a0a202d2d2046756e6374696f6e3a20626f743a64656c73686974206e69636b2d6f72 *2d6d61736b206368616e6e656c2d6d61736b0a202020202052656d6f766573204e49434b206f72 *204d41534b2066726f6d2074686520736869746c6973742e0a0a202d2d2046756e6374696f6e3a *20626f743a64656f70206368616e6e656c206d61736b2d6f722d6e69636b0a202020202044656f *7073204d41534b206f72204e49434b206f6e204348414e4e454c2e0a0a202d2d2046756e637469 *6f6e3a20626f743a64696520726561736f6e0a20202020204d616b65732074686520626f742073 *746f7020696d6d6564696174656c792e0a0a202d2d2046756e6374696f6e3a20626f743a646f20 *3f0a0a202d2d2046756e6374696f6e3a20626f743a696e76697465206368616e6e656c206e6963 *6b0a2020202020496e7669746573204e49434b206f6e204348414e4e454c2e0a0a202d2d204675 *6e6374696f6e3a20626f743a6a6f696e206368616e6e656c0a20202020204d616b657320746865 *20626f74206a6f696e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6b *656570206368616e6e656c206d6f6465730a20202020205365747320746865204d4f4445532074 *6861742074686520626f742077696c6c206b65657020666f72204348414e4e454c2e2020536565 *20616c736f2053544154532e0a0a202d2d2046756e6374696f6e3a20626f743a6b69636b206368 *616e6e656c206d61736b2d6f722d6e69636b205b726561736f6e5d0a20202020204b69636b7320 *4d41534b206f72204e49434b206f7574206f66204348414e4e454c2c2062656361757365206f66 *20524541534f4e2e2020596f75206e65656420746f0a2020202020626520612074727573746564 *207573657220746f207573652061204d41534b2e0a0a202d2d2046756e6374696f6e3a20626f74 *3a6b69636b62616e206368616e6e656c206d61736b2d6f722d6e69636b205b726561736f6e5d0a *202020202042616e73207468656e206b69636b73204d41534b206f72204e49434b206f7574206f *66204348414e4e454c2c2062656361757365206f6620524541534f4e2e0a2020202020596f7520 *6e65656420746f20626520612074727573746564207573657220746f207573652061204d41534b *2e0a0a202d2d2046756e6374696f6e3a20626f743a6c6f636b206368616e6e656c0a2020202020 *4c6f636b7320746f706963206f6e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20 *626f743a6c6f67706f72740a20202020205b2050726f6261626c792072657475726e7320746865 *206c6f6720706f72743f205d0a0a202d2d2046756e6374696f6e3a20626f743a6d6f6465206368 *616e6e656c206d6f64652d737472696e670a202020202053656e6473204d4f44452d535452494e *47206173206d6f646520666f72204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a2062 *6f743a6e6578747365727665720a20202020204d616b65732074686520626f7420636f6e6e6563 *7420746f20746865206e6578742073657276657220696e2069747320736572766572206c697374 *2e0a0a202d2d2046756e6374696f6e3a20626f743a6e69636b206e69636b0a20202020204d616b *65732074686520626f7420757365206e69636b6e616d65204e49434b2e0a0a202d2d2046756e63 *74696f6e3a20626f743a6f70206368616e6e656c206e69636b0a20202020204f7073204e49434b *206f6e204348414e4e454c2e0a0a202d2d2046756e6374696f6e3a20626f743a70617274206368 *616e6e656c0a20202020204d616b65732074686520626f74206c65617665204348414e4e454c2e *0a0a202d2d2046756e6374696f6e3a20626f743a7265636f6e6e6563740a20202020204d616b65 *732074686520626f74207265636f6e6e65637420746f206974732063757272656e742073657276 *65722e0a0a202d2d2046756e6374696f6e3a20626f743a736572766572207365727665722d6e75 *6d6265720a202020202053656c656374207468652073657276657220746f20636f6e6e65637420 *746f2e205345525645522d4e554d42455220697320746865206e756d626572206f660a20202020 *207468652073657276657220696e20746865207365727665726c6973742e0a0a202d2d2046756e *6374696f6e3a20626f743a736574666c6f6f6472617465203f0a0a202d2d2046756e6374696f6e *3a20626f743a73657476657273696f6e203f0a0a202d2d2046756e6374696f6e3a20626f743a74 *62616e206368616e6e656c206e69636b2d6f722d6d61736b2074696d650a202020202042616e73 *204e49434b206f72204d41534b2066726f6d204348414e4e454c20666f722054494d4520736563 *6f6e64732e0a0a202d2d2046756e6374696f6e3a20626f743a746b62616e206368616e6e656c20 *6e69636b2d6f722d6d61736b2074696d65205b726561736f6e5d0a202020202042616e73204e49 *434b206f72204d41534b2066726f6d204348414e4e454c20666f722054494d45207365636f6e64 *732c207468656e206b69636b730a202020202068696d2f7468656d2062656361757365206f6620 *524541534f4e2e0a0a202d2d2046756e6374696f6e3a20626f743a746f706963206368616e6e65 *6c20746f7069630a20202020204966206e6f20544f50494320697320676976656e2c207072696e *7473204348414e4e454c277320746f7069632e204f74686572776973652c2074686520626f740a *202020202077696c6c206368616e6765204348414e4e454c277320746f70696320746f20544f50 *49432e0a0a202d2d2046756e6374696f6e3a20626f743a756e6c6f636b206368616e6e656c0a20 *202020204d616b65732074686520626f7420756e6c6f636b20746f706963206f6e204348414e4e *454c2e0a0a202d2d2046756e6374696f6e3a20626f743a6765746e69636b6e616d650a20202020 *205b20476574732074686520626f742773206e69636b6e616d653f205d0a0a202d2d2046756e63 *74696f6e3a20626f743a6765747365727665720a0a202d2d2046756e6374696f6e3a20626f743a *6765747365727665726c6973740a0a202d2d2046756e6374696f6e3a20626f743a666c7573680a *20202020205b20466c75736865732074686520736f636b657420746f2074686520736572766572 *3f205d0a0a202d2d2046756e6374696f6e3a20626f743a666c757368706f72740a20202020205b *20466c757368657320746865206c6f6720706f72743f205d0a0a202d2d2046756e6374696f6e3a *20626f743a72616e646f6d203f0a20202020205b2052657475726e7320612072616e646f6d206e *756d6265723f2020576861742072616e67653f20205768793f205d0a0a202d2d2046756e637469 *6f6e3a20626f743a64656c636f6d6d616e640a20202020205b2050726f6261626c792064656c65 *746573206120636f6d6d616e6420616464656420776974682060626f743a616464636f6d6d616e *6427203f205d0a0a202d2d2046756e6374696f6e3a20626f743a61646474696d6572203f203f0a *0a202d2d2046756e6374696f6e3a20626f743a64656c74696d6572203f0a0a202d2d2046756e63 *74696f6e3a20626f743a6463632d636861742d73656e64203f203f0a0a20202020205b20416e64 *20776861742061626f75742074686520737475666620646566696e656420696e2060626f626f74 *2d7574696c732e73636d27203f2049206a7573740a202020202061646465642069742068657265 *20736f20697420636f756c6420626520736f6d6577686572652e202054686572652073686f756c *6420616c736f20626520610a202020202073656374696f6e206465616c696e672077697468206d *6f64756c65732e2020486f7720746f20757365207468656d2e202057686174206d6f64756c650a *2020202020736372697074732061726520696e2e202057686174206d6f64756c6520626f626f74 *2b2b2070726f7669646564207072696d697465732061726520696e2e0a2020202020416e642073 *6f206f6e2e205d0a0a202d2d2046756e6374696f6e3a20626f743a6c6f67202e206d6573736167 *65730a20202020205772697465206173206d616e79204d4553534147455320617320796f752077 *616e7420746f20746865206c6f672e20204966207468652061726720697320610a202020202074 *68756e6b2069742077696c6c20626520657865637574656420616e642069742773206f75747075 *742077696c6c206265207772697474656e20746f207468650a20202020206c6f672e0a0a202d2d *2046756e6374696f6e3a20626f743a6c6f61642066696c650a0a202d2d2046756e6374696f6e3a *20626f743a6c6f61642d6d6f64756c65206d6f64756c652d737065630a0a202d2d2046756e6374 *696f6e3a20626f743a7573652d6d6f64756c65206d6f64756c652d737065630a0a202d2d204675 *6e6374696f6e3a20626f743a6d617463682d6e6f742d6368616e6e656c2072656765780a202020 *20206d617463682d6e6f742d6368616e6e656c2061646473206120707265666978207265676578 *20746f20796f757220524547455820736f20697420646f65736e27740a20202020206d61746368 *207468652073656e646572206f72206368616e6e656c20696e2061205055424c4943206d657373 *6167650a0a202d2d2046756e6374696f6e3a20626f743a6d617463682d746f2d6d652072656765 *780a20202020206d617463682d746f2d6d65206d61746368657320746578742074686174207761 *732061646472657373656420746f2074686520626f742077697468206120273a272c0a20202020 *20272c272c20206f72206e6f7468696e672061667465722074686520626f74206e616d652e0a0a *202d2d2046756e6374696f6e3a20626f743a73656e742d746f2d6d653f206d6573736167650a0a *202d2d2046756e6374696f6e3a20626f743a637463702d71756f7465206d6573736167650a2020 *20202052657475726e732074686520435443502071756f746564206d65737361676520496e7075 *74205f4d555354204e4f545f20636f6e7461696e207468650a2020202020747261696c696e6720 *605c725c6e272028697420697320616464656420627920746865206d6573736167652073656e64 *696e6720636f6465292e0a0a202d2d205661726961626c653a2025626f743a6c6f616470617468 *0a0a202d2d2046756e6374696f6e3a2025626f743a6c6f61642d657874656e73696f6e730a0a1f *0a46696c653a20626f626f742b2b2e696e666f2c20204e6f64653a20436f6e6365707420496e64 *65782c20204e6578743a2046756e6374696f6e20496e6465782c2020507265763a205363726970 *74696e672c202055703a20546f700a0a436f6e6365707420496e6465780a2a2a2a2a2a2a2a2a2a *2a2a2a2a0a0a00085b696e64657800085d0a2a204d656e753a0a0a2a204261636b67726f756e64 *206f6e20486f6f6b733a20202020202020202020202020202020202020486f6f6b732e20202020 *20202020202020202020202020286c696e652036290a0a1f0a46696c653a20626f626f742b2b2e *696e666f2c20204e6f64653a2046756e6374696f6e20496e6465782c20204e6578743a20566172 *6961626c6520496e6465782c2020507265763a20436f6e6365707420496e6465782c202055703a *20546f700a0a46756e6374696f6e20496e6465780a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a0008 *5b696e64657800085d0a2a204d656e753a0a0a2a2025626f743a6c6f61642d657874656e73696f *6e733a2020202020202020202020202020202020204d69736320536372697074696e6720537475 *66662e0a2020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020286c696e6520323036290a2a *20626f743a616374696f6e3a202020202020202020202020202020202020202020202020202020 *2048696768204c6576656c204d6573736167652046756e6374696f6e732e0a2020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020286c696e6520203133290a2a20626f743a616464636f6d6d *616e643a202020202020202020202020202020202020202020202020416464696e67204e657720 *436f6d6d616e64732e20286c696e6520203131290a2a20626f743a616464686f6f6b3a20202020 *20202020202020202020202020202020202020202020204372656174696e67206120486f6f6b2e *2020202020286c696e6520202039290a2a20626f743a6164647365727665723a20202020202020 *2020202020202020202020202020202020204d69736320536372697074696e672053747566662e *0a2020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020286c696e6520203334290a2a20626f *743a616464736869743a2020202020202020202020202020202020202020202020202020204d69 *736320536372697074696e672053747566662e0a20202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020286c696e6520203338290a2a20626f743a61646474696d65723a202020202020202020 *20202020202020202020202020202020204d69736320536372697074696e672053747566662e0a *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020286c696e6520313637290a2a20626f74 *3a616464757365723a2020202020202020202020202020202020202020202020202020204d6973 *6320536372697074696e672053747566662e0a2020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020286c696e6520203232290a2a20626f743a62616e3a202020202020202020202020202020 *202020202020202020202020202020204d69736320536372697074696e672053747566662e0a20 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020286c696e6520203439290a2a20626f743a *6368616e67652d636f6d6d616e642d6c6576656c3a20202020202020202020202020204d697363 *20536372697074696e672053747566662e0a202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020286c696e6520203534290a2a20626f743a637463702d71756f74653a202020202020202020 *2020202020202020202020202020204d69736320536372697074696e672053747566662e0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020286c696e6520323030290a2a20626f743a63 *79636c653a20202020202020202020202020202020202020202020202020202020204d69736320 *536372697074696e672053747566662e0a20202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20286c696e6520203630290a2a20626f743a6463632d636861742d73656e643a20202020202020 *20202020202020202020202020204d69736320536372697074696e672053747566662e0a202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020286c696e6520313731290a2a20626f743a6465 *62616e3a20202020202020202020202020202020202020202020202020202020204d6973632053 *6372697074696e672053747566662e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520203633290a2a20626f743a64656c636f6d6d616e643a2020202020202020202020 *202020202020202020202020204d69736320536372697074696e672053747566662e0a20202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020286c696e6520313634290a2a20626f743a64656c *7365727665723a202020202020202020202020202020202020202020202020204d697363205363 *72697074696e672053747566662e0a202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202028 *6c696e6520203637290a2a20626f743a64656c736869743a202020202020202020202020202020 *2020202020202020202020204d69736320536372697074696e672053747566662e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020286c696e6520203734290a2a20626f743a64656c74 *696d65723a20202020202020202020202020202020202020202020202020204d69736320536372 *697074696e672053747566662e0a20202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020202020202020286c *696e6520313639290a2a20626f743a64656c757365723a20202020202020202020202020202020 *20202020202020202020204d69736320536372697074696e672053747566662e0a202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020286c696e6520203731290a2a20626f743a64656f703a *2020202020202020202020202020202020202020202020202020202020204d6973632053637269 *7074696e672053747566662e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020286c69 *6e6520203737290a2a20626f743a6469653a202020202020202020202020202020202020202020 *202020202020202020204d69736320536372697074696e672053747566662e0a20202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020286c696e6520203830290a2a20626f743a646f3a202020 *20202020202020202020202020202020202020202020202020202020204d697363205363726970 *74696e672053747566662e0a202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020202020202020286c696e *6520203833290a2a20626f743a666c7573683a2020202020202020202020202020202020202020 *2020202020202020204d69736320536372697074696e672053747566662e0a2020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020286c696e6520313535290a2a20626f743a666c757368706f *72743a202020202020202020202020202020202020202020202020204d69736320536372697074 *696e672053747566662e0a20202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020202020286c696e65 *20313538290a2a20626f743a6765746e69636b6e616d653a202020202020202020202020202020 *20202020202020204d69736320536372697074696e672053747566662e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020286c696e6520313438290a2a20626f743a6765747365727665 *723a202020202020202020202020202020202020202020202020204d6973632053637269707469 *6e672053747566662e0a2020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020286c696e6520 *313531290a2a20626f743a6765747365727665726c6973743a2020202020202020202020202020 *202020202020204d69736320536372697074696e672053747566662e0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020286c696e6520313533290a2a20626f743a696e766974653a2020 *20202020202020202020202020202020202020202020202020204d69736320536372697074696e *672053747566662e0a202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020202020286c696e652020 *3835290a2a20626f743a6a6f696e3a202020202020202020202020202020202020202020202020 *2020202020204d69736320536372697074696e672053747566662e0a2020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020286c696e6520203838290a2a20626f743a6b6565703a2020202020 *202020202020202020202020202020202020202020202020204d69736320536372697074696e67 *2053747566662e0a20202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020286c696e65202039 *31290a2a20626f743a6b69636b3a20202020202020202020202020202020202020202020202020 *20202020204d69736320536372697074696e672053747566662e0a202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020286c696e6520203934290a2a20626f743a6b69636b62616e3a202020 *2020202020202020202020202020202020202020202020204d69736320536372697074696e6720 *53747566662e0a2020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020286c696e6520203938 *290a2a20626f743a6c6f61643a2020202020202020202020202020202020202020202020202020 *202020204d69736320536372697074696e672053747566662e0a20202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020286c696e6520313834290a2a20626f743a6c6f61642d6d6f64756c653a *20202020202020202020202020202020202020202020204d69736320536372697074696e672053 *747566662e0a202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020286c696e652031383629 *0a2a20626f743a6c6f636b3a202020202020202020202020202020202020202020202020202020 *2020204d69736320536372697074696e672053747566662e0a2020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020286c696e6520313032290a2a20626f743a6c6f673a202020202020202020 *202020202020202020202020202020202020202020204d69736320536372697074696e67205374 *7566662e0a20202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020286c696e6520313739290a *2a20626f743a6c6f67706f72743a20202020202020202020202020202020202020202020202020 *20204d69736320536372697074696e672053747566662e0a202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020286c696e6520313035290a2a20626f743a6d617463682d6e6f742d6368616e *6e656c3a20202020202020202020202020202020204d69736320536372697074696e6720537475 *66662e0a2020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020286c696e6520313930290a2a *20626f743a6d617463682d746f2d6d653a20202020202020202020202020202020202020202020 *204d69736320536372697074696e672053747566662e0a20202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020286c696e6520313934290a2a20626f743a6d6f64653a20202020202020202020 *20202020202020202020202020202020202020204d69736320536372697074696e672053747566 *662e0a202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020286c696e6520313038290a2a20 *626f743a6d73673a20202020202020202020202020202020202020202020202020202020202020 *48696768204c6576656c204d6573736167652046756e6374696f6e732e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020286c696e6520203136290a2a20626f743a6e65787473657276 *65723a2020202020202020202020202020202020202020202020204d6973632053637269707469 *6e672053747566662e0a2020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020286c696e6520 *313131290a2a20626f743a6e69636b3a2020202020202020202020202020202020202020202020 *202020202020204d69736320536372697074696e672053747566662e0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020286c696e6520313134290a2a20626f743a6e6f746963653a2020 *202020202020202020202020202020202020202020202020202048696768204c6576656c204d65 *73736167652046756e6374696f6e732e0a20202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20286c696e6520203230290a2a20626f743a6f703a202020202020202020202020202020202020 *20202020202020202020202020204d69736320536372697074696e672053747566662e0a202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020286c696e6520313137290a2a20626f743a7061 *72743a2020202020202020202020202020202020202020202020202020202020204d6973632053 *6372697074696e672053747566662e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520313230290a2a20626f743a72616e646f6d3a202020202020202020202020202020 *202020202020202020202020204d69736320536372697074696e672053747566662e0a20202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020286c696e6520313631290a2a20626f743a726563 *6f6e6e6563743a202020202020202020202020202020202020202020202020204d697363205363 *72697074696e672053747566662e0a202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202028 *6c696e6520313233290a2a20626f743a7361793a20202020202020202020202020202020202020 *20202020202020202020202048696768204c6576656c204d6573736167652046756e6374696f6e *732e0a202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020286c696e6520202037290a2a20 *626f743a73656e642d637463703a20202020202020202020202020202020202020202020202020 *4c6f77204c6576656c204d6573736167652046756e6374696f6e732e0a20202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020286c696e6520203133290a2a20626f743a73656e642d63746370 *2d7265706c793a202020202020202020202020202020202020204c6f77204c6576656c204d6573 *736167652046756e6374696f6e732e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520203138290a2a20626f743a73656e742d746f2d6d653f3a20202020202020202020 *202020202020202020202020204d69736320536372697074696e672053747566662e0a20202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020286c696e6520313938290a2a20626f743a736572 *7665723a202020202020202020202020202020202020202020202020202020204d697363205363 *72697074696e672053747566662e0a202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202028 *6c696e6520313236290a2a20626f743a736574666c6f6f64726174653a20202020202020202020 *2020202020202020202020204d69736320536372697074696e672053747566662e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020286c696e6520313330290a2a20626f743a73657476 *657273696f6e3a2020202020202020202020202020202020202020202020204d69736320536372 *697074696e672053747566662e0a20202020202020202020202020202020202020202020202020 *20202020202020202020202020202020202020202020202020202020202020202020202020286c *696e6520313332290a2a20626f743a7462616e3a20202020202020202020202020202020202020 *20202020202020202020204d69736320536372697074696e672053747566662e0a202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020286c696e6520313334290a2a20626f743a746b62616e *3a20202020202020202020202020202020202020202020202020202020204d6973632053637269 *7074696e672053747566662e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020286c69 *6e6520313337290a2a20626f743a746f7069633a20202020202020202020202020202020202020 *202020202020202020204d69736320536372697074696e672053747566662e0a20202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020202020202020202020202020286c696e6520313431290a2a20626f743a756e6c6f636b *3a202020202020202020202020202020202020202020202020202020204d697363205363726970 *74696e672053747566662e0a202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020202020202020202020202020202020286c696e *6520313435290a2a20626f743a7573652d6d6f64756c653a202020202020202020202020202020 *2020202020202020204d69736320536372697074696e672053747566662e0a2020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020286c696e6520313838290a2a20686f6f6b732f616374696f *6e3a20202020202020202020202020202020202020202020202020205265636569766564204d65 *737361676520486f6f6b732e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020286c69 *6e6520202039290a2a20686f6f6b732f637463703a202020202020202020202020202020202020 *202020202020202020205265636569766564204d65737361676520486f6f6b732e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020286c696e6520203331290a2a20686f6f6b732f6374 *63702d7265706c793a202020202020202020202020202020202020202020205265636569766564 *204d65737361676520486f6f6b732e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520203433290a2a20686f6f6b732f6463632f636861742d626567696e3a2020202020 *20202020202020202020202020444343204348415420486f6f6b732e202020202020286c696e65 *20203130290a2a20686f6f6b732f6463632f636861742d6d6573736167653a2020202020202020 *2020202020202020444343204348415420486f6f6b732e202020202020286c696e652020313429 *0a2a20686f6f6b732f646973636f6e6e6563743a20202020202020202020202020202020202020 *2020205265636569766564204d65737361676520486f6f6b732e0a202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020286c696e6520203534290a2a20686f6f6b732f666c6f6f643a202020 *2020202020202020202020202020202020202020202020204d697363656c6c616e656f75732048 *6f6f6b732e20286c696e6520202037290a2a20686f6f6b732f696e766974653a20202020202020 *202020202020202020202020202020202020205265636569766564204d65737361676520486f6f *6b732e0a2020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020286c696e6520203635290a2a *20686f6f6b732f6a6f696e3a202020202020202020202020202020202020202020202020202020 *205265636569766564204d65737361676520486f6f6b732e0a2020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020286c696e6520203732290a2a20686f6f6b732f6b69636b3a202020202020 *202020202020202020202020202020202020202020205265636569766564204d65737361676520 *486f6f6b732e0a2020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020286c696e6520203831 *290a2a20686f6f6b732f6d6573736167653a202020202020202020202020202020202020202020 *202020205265636569766564204d65737361676520486f6f6b732e0a2020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020286c696e6520313132290a2a20686f6f6b732f6d6f64653a202020 *202020202020202020202020202020202020202020202020205265636569766564204d65737361 *676520486f6f6b732e0a2020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020286c696e6520 *313032290a2a20686f6f6b732f6e69636b6e616d653a2020202020202020202020202020202020 *202020202020205265636569766564204d65737361676520486f6f6b732e0a2020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020286c696e6520203230290a2a20686f6f6b732f6e6f746963 *653a20202020202020202020202020202020202020202020202020205265636569766564204d65 *737361676520486f6f6b732e0a2020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020286c69 *6e6520313230290a2a20686f6f6b732f706172743a202020202020202020202020202020202020 *202020202020202020205265636569766564204d65737361676520486f6f6b732e0a2020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020286c696e6520203935290a2a20686f6f6b732f7075 *626c69633a20202020202020202020202020202020202020202020202020205265636569766564 *204d65737361676520486f6f6b732e0a2020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *286c696e6520313237290a2a20686f6f6b732f7075626c69632d6e6f746963653a202020202020 *202020202020202020202020205265636569766564204d65737361676520486f6f6b732e0a2020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020286c696e6520313337290a2a20686f6f6b73 *2f7261773a20202020202020202020202020202020202020202020202020202020205265636569 *766564204d65737361676520486f6f6b732e0a2020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *202020286c696e6520313436290a2a20686f6f6b732f73656e642f616374696f6e3a2020202020 *2020202020202020202020202020202053656e74204d65737361676520486f6f6b732e2020286c *696e6520203235290a2a20686f6f6b732f73656e642f637463703a202020202020202020202020 *202020202020202020202053656e74204d65737361676520486f6f6b732e2020286c696e652020 *3333290a2a20686f6f6b732f73656e642f6d6573736167653a2020202020202020202020202020 *20202020202053656e74204d65737361676520486f6f6b732e2020286c696e6520203138290a2a *20686f6f6b732f73656e642f7075626c69633a2020202020202020202020202020202020202020 *2053656e74204d65737361676520486f6f6b732e2020286c696e6520203130290a2a20686f6f6b *732f7369676e6f66663a2020202020202020202020202020202020202020202020202052656365 *69766564204d65737361676520486f6f6b732e0a20202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *20202020286c696e6520203234290a2a20686f6f6b732f74696d65723a20202020202020202020 *20202020202020202020202020202020204d697363656c6c616e656f757320486f6f6b732e2028 *6c696e6520203132290a2a20686f6f6b732f746f7069633a202020202020202020202020202020 *2020202020202020202020205265636569766564204d65737361676520486f6f6b732e0a202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020202020202020286c696e6520313533290a0a1f0a46696c653a *20626f626f742b2b2e696e666f2c20204e6f64653a205661726961626c6520496e6465782c2020 *507265763a2046756e6374696f6e20496e6465782c202055703a20546f700a0a5661726961626c *6520496e6465780a2a2a2a2a2a2a2a2a2a2a2a2a2a2a0a0a00085b696e64657800085d0a2a204d *656e753a0a0a2a2025626f743a6c6f6164706174683a2020202020202020202020202020202020 *20202020202020204d69736320536372697074696e672053747566662e0a202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020202020202020 *2020202020202020202020202020286c696e6520323034290a2a20657869742d686f6f6b3a2020 *2020202020202020202020202020202020202020202020202020204d6973632053637269707469 *6e672053747566662e0a2020202020202020202020202020202020202020202020202020202020 *202020202020202020202020202020202020202020202020202020202020202020286c696e6520 *202039290a2a20757365722d667269656e643a2020202020202020202020202020202020202020 *20202020202020536368656d652055736572204c6576656c732e2020286c696e6520202036290a *2a20757365722d6d61737465723a20202020202020202020202020202020202020202020202020 *2020536368656d652055736572204c6576656c732e2020286c696e6520202036290a2a20757365 *722d6e6f6e653a2020202020202020202020202020202020202020202020202020202020536368 *656d652055736572204c6576656c732e2020286c696e6520202036290a2a20757365722d747275 *737465643a2020202020202020202020202020202020202020202020202020536368656d652055 *736572204c6576656c732e2020286c696e6520202036290a2a20757365722d757365723a202020 *2020202020202020202020202020202020202020202020202020536368656d652055736572204c *6576656c732e2020286c696e6520202036290a0a0a1f0a546167205461626c653a0a4e6f64653a *20546f707f3532370a4e6f64653a20496e74726f64756374696f6e7f313932350a4e6f64653a20 *436f6e66696775726174696f6e7f323131370a4e6f64653a20436f6e66696775726174696f6e20 *46696c6520506c6163656d656e747f323430340a4e6f64653a20436f6e66696775726174696f6e *2046696c65737f323930340a4e6f64653a20626f742e636f6e667f333039370a4e6f64653a2073 *65727665722073796e7461787f343533350a4e6f64653a206368616e6e656c2073796e7461787f *353339390a4e6f64653a20626f742e75736572737f363234320a4e6f64653a205573696e672074 *686520426f747f373134350a4e6f64653a205374617274696e672074686520426f747f37333935 *0a4e6f64653a2055736572204c6576656c737f383930340a4e6f64653a2050726f74656374696f *6e7f31303330360a4e6f64653a204175746f6d61746963204f707f31303931340a4e6f64653a20 *4275696c742d496e20436f6d6d616e64737f31313230330a4e6f64653a20536372697074696e67 *7f31383138320a4e6f64653a20416464696e67204e657720436f6d6d616e64737f31393235340a *4e6f64653a20486f6f6b737f32303537350a4e6f64653a204372656174696e67206120486f6f6b *7f32313431350a4e6f64653a20486f6f6b2054797065737f32323632310a4e6f64653a20526563 *6569766564204d65737361676520486f6f6b737f32333138350a4e6f64653a2053656e74204d65 *737361676520486f6f6b737f32383431320a4e6f64653a20444343204348415420486f6f6b737f *32393830390a4e6f64653a204d697363656c6c616e656f757320486f6f6b737f33303532360a4e *6f64653a20536368656d652055736572204c6576656c737f33303937350a4e6f64653a2053656e *64696e67204d657373616765737f33323130390a4e6f64653a2048696768204c6576656c204d65 *73736167652046756e6374696f6e737f33323732350a4e6f64653a204c6f77204c6576656c204d *6573736167652046756e6374696f6e737f33333530350a4e6f64653a204d697363205363726970 *74696e672053747566667f33343536380a4e6f64653a20436f6e6365707420496e6465787f3431 *3134340a4e6f64653a2046756e6374696f6e20496e6465787f34313336330a4e6f64653a205661 *726961626c6520496e6465787f35323532360a1f0a456e6420546167205461626c650a hunk ./bobot++.texinfo 105 +Hook Types + +* Received Message Hooks:: +* Sent Message Hooks:: +* DCC CHAT Hooks:: +* Miscellaneous Hooks:: + hunk ./bobot++.texinfo 559 +@strong{NOTE}: All arguments to functions and hooks called by the bot +are strings unless otherwise specified. + hunk ./bobot++.texinfo 599 -``Hello World @code{USER}'' if called as @kbd{!hello @var{USER}}. +``Hello World @var{USER}'' if called as @kbd{!hello @var{USER}}. hunk ./bobot++.texinfo 633 -in @ref{Hook Types}). @var{regex} is a standard regular expression. If -@var{regex} is matched, @var{function} will be called. @var{function} -will take a different number of args depending on the hook -type. @var{pri} specifies the priority of the hook---higher priority -hooks are executed first. This argument is optional and defaults to -@code{0}. @var{fall} is @code{#t} if the hook is a fallthrough hook -and @code{#f} is the hook is not a fallthrough hook. This arg is also -optional and default to @code{#t}. @var{name} is the optional name of -the hook that defaults to ``DEFAULT''. If you set the name then you -can have more than one hook that matches the same regexp, as long as -they have the same name. E.g. in a log script you could have the -regexps for the log function all be @code{".*"} and set their names to -@code{"log"} to avoid a conflict with other hooks. +in @ref{Hook Types}). + +@var{regex} is a standard regular expression. If +@var{regex} is matched, @var{function} will be called. + +@var{function} will take a different number of args depending on the +hook type. + +@var{pri} specifies the priority of the hook---higher priority hooks +are executed first. This argument is optional and defaults to +@code{0}. + +@var{fall} is @code{#t} if the hook is a fallthrough hook and +@code{#f} is the hook is not a fallthrough hook. This arg is also +optional and defaults to @code{#t}. + +@var{name} is the optional name of the hook that defaults to +@code{"DEFAULT"}. If you set the name then you can have more than +one hook that matches the same regexp, as long as they have the same +name. E.g. in a log script you could have the regexps for the log +function all be @code{".*"} and set their names to @code{"log"} to +avoid a conflict with other hooks. hunk ./bobot++.texinfo 660 -Here is a list of the various hooks funtions and notes on each -one. The general format of each hook description is as if it were a +The following sections document the different hooks Bobot++ exposes. + +The general format of each hook description is as if it were a hunk ./bobot++.texinfo 670 +@menu +* Received Message Hooks:: +* Sent Message Hooks:: +* DCC CHAT Hooks:: +* Miscellaneous Hooks:: +@end menu + +@node Received Message Hooks, Sent Message Hooks, Hook Types, Hook Types +@subsubsection Receieved Message Hooks + +The following hooks are triggered when a mesage is received by the bot. + hunk ./bobot++.texinfo 683 -This hook is triggered when someone performs an action. @var{from} is -the address of the person that performed the action in the form -@samp{@var{nick} ! @var{user} @@ @var{host}} (without the spaces). +This hook is triggered when someone performs an action. + +@var{from} is the nickname the person that performed the +action. + hunk ./bobot++.texinfo 689 -Bot's nick. @var{action} is the text of the action. E.g. if someone -did @samp{* foobar does baz}, then @var{action} would be the string -@code{"does baz"}. -@end defun +Bot's nick if the user private messages the bot. hunk ./bobot++.texinfo 691 +@var{action} is the text of the action. E.g. if someone did @samp{* +foobar does baz}, then @var{action} would be the string @code{"does +baz"}. +@end defun hunk ./bobot++.texinfo 697 -This hook gets called when someone changes thir nickname from +This hook is called when someone changes his nickname from hunk ./bobot++.texinfo 701 -@defun hooks/signoff nick rest +@defun hooks/signoff nick message +This hook is called when someone signs off of IRC. + +@var{nick} is the nickname of the person signing off. + +@var{message} is his quit message hunk ./bobot++.texinfo 710 +This hook is called when a CTCP request is received by the bot. + +@var{nick} is the nickname of the sender. + +@var{to} is the target of the CTCP request. This will either be a +channel the bot is in, or the nickname of the bot. + +@var{command} is the CTCP command issued. + +@var{rest} contains the arguments to the CTCP command. hunk ./bobot++.texinfo 723 -@end defun +This hook is called when a CTCP REPLY is received. This occurs when +the bot has sent a CTCP request to another client. The CTCP REPLY is +always addressed to the bot directly. + +@var{nick} is the nickname of the person who replied. + +@var{command} is the command to which @var{nick} is replying. hunk ./bobot++.texinfo 731 -@defun hooks/disconnect server -This is called when the bot is disconnected from a server -unintentionally. @code{hooks/signoff} is called when the bot purposefully -disconnected. The hook function is passed the hostname of the -server it was disconnected from. +@var{rest} contains the body of the reply. hunk ./bobot++.texinfo 734 -@defun hooks/flood nick +@defun hooks/disconnect server intentional +This is called when the bot is disconnected from a server. + +@var{server} is the hostname of the server from which the bot was +disconnected. + +@var{intentional} is a flag set to @code{#t} when the bot disonnected +from the server as the result of a command (issued by a user from IRC, +SIGHUP, or from a script), or @code{#f} when the bot disconnected from +the server unintentionally.. hunk ./bobot++.texinfo 747 +This hook is called when a user invited the bot to join a channel. + +@var{nick} is the nickname of the user who sent the invite. + +@var{channel} is the channel to which the bot was invited. hunk ./bobot++.texinfo 755 +This is called when a user or the bot joins a channel. + +@var{nick} is the nickname of the user who joined @var{channel}. This +may be the bot's nickname (the IRC server sends the JOIN command back +to the the bot after it joins a channel). + +@var{channel} is the channel that was joined hunk ./bobot++.texinfo 765 +This hook is called when a user, including the bot, is kicked out of a +channel. + +@var{target} is the nick of the user who was kicked. This may be the +bot's nick. + +@var{from} is the nick of the user who issued the kick. This may also +be the bot's nick. + +@var{channel} is the channel the kick was issued in. + +@var{reason} is the reason the user was kicked. hunk ./bobot++.texinfo 779 -@defun hooks/leave nick channel -@defunx hooks/part nick channel +@defun hooks/part nick channel +This hook is called when a user parts a channel. + +@var{nick} is the user who parted the channel. This may be the bot. + +@var{channel} is the channel from which the user parted. hunk ./bobot++.texinfo 787 -@defun hooks/mode nick channel modes +@defun hooks/mode nick target modes +This hook is called when someone sets the modes of @var{target}. + +@var{nick} is the user who set the modes. This may be the bot. + +@var{target} is the target of the MODE command. This may be a +channel or a user. If it is a user, it may be the bot. + +@var{modes} is the MODE string. hunk ./bobot++.texinfo 798 -@defun hooks/message from message +@defun hooks/message nick message +This hook is called when someone sends a private message to the bot. + +@var{nick} is the nickname of the user who sent the message. + +@var{message} is the message the user sent. hunk ./bobot++.texinfo 807 +This hook is called when a user send a private notice to the bot. + +@var{nick} is the user who sent the notice. + +@var{message} is the message the user sent. hunk ./bobot++.texinfo 814 -@defun hooks/public from to message +@defun hooks/public nick channel message +This hook is called when a user sends a normal message to a channel. + +@var{nick} is the user who sent the message. + +@var{channel} is the channel to which the message was sent. + +@var{message} is the message that was sent. hunk ./bobot++.texinfo 824 -@defun hooks/public-notice nick to message +@defun hooks/public-notice nick channel message +This hook is called when a user send a notice to a channel. + +@var{nick} is the user who sent the notice. + +@var{channel} is the channel to which the notice was sent. + +@var{message} is the message that was sent. hunk ./bobot++.texinfo 835 -@end defun +This hook is called every time a message is received. This matches on +the raw message text and passes the hook function the raw IRC message. hunk ./bobot++.texinfo 838 -@defun hooks/timer time -This hook seems to be called once a minute. @var{time} is in -@code{hh:mm} format. +@var{raw-message} is the raw IRC message. hunk ./bobot++.texinfo 842 +This hook is called when a user changes the topic in a channel. + +@var{nick} is the user who set the topic. This may be the bot. + +@var{channel} is the channel that's topic was changed. + +@var{new-topic} is the new topic. hunk ./bobot++.texinfo 851 -@defun hooks/send/public mynick dest message +@node Sent Message Hooks, DCC CHAT Hooks, Received Message Hooks, Hook Types +@subsubsection Sent Message Hooks + +These hooks are called when the bot sends a message. @var{mynick} is +always the bot's nick and will not be documented in each hook +description. + +@defun hooks/send/public mynick channel message +This hook is called when the bot sends a normal message to a channel. + +@var{channel} is the channel to which the bot sent the message. + +@var{message} is the message the bot sent. hunk ./bobot++.texinfo 866 -@defun hooks/send/message botnick message +@defun hooks/send/message mynick to message +This hook is called when the bot sends a private message to a user. + +@var{to} is the nick of the user to whom the message was sent. + +@var{message} is the message that was sent. hunk ./bobot++.texinfo 875 +This hook is called when the bot sents an action to a channel or a +user. + +@var{to} is the channel or nick of the user to which the action was +sent. + +@var{message} is the text of the action. hunk ./bobot++.texinfo 885 +This hook is called when the bot sends a CTCP message @emph{other +than} an ACTION to a channel or user. + +@var{to} is the channel or nick of the user to which the CTCP was +sent. + +@var{command} is the CTCP command that was sent. + +@var{message} is a string containing the arguments to the CTCP command. hunk ./bobot++.texinfo 896 +@node DCC CHAT Hooks, Miscellaneous Hooks, Sent Message Hooks, Hook Types +@subsubsection DCC CHAT Hooks + +These hooks are called when a user initializes a DCC CHAT and when the +bot receives messages from the user in a DCC CHAT. + hunk ./bobot++.texinfo 903 -This hook is triggered when a user begins a DCC CHAT with the bot. +This hook is called when a user begins a DCC CHAT with the bot. hunk ./bobot++.texinfo 908 -This hook is triggered when a user sends a message to the bot through -a DCC CHAT @var{from} is the user's address in the form -@samp{nick!user@@host}. @var{message} is the message the user sent to -the bot. +This hook is called when a user sends a message to the bot through +a DCC CHAT. + +@var{from} is the user's address in the form @samp{nick!user@@host}. + +@var{message} is the message the user sent to the bot. +@end defun + +@node Miscellaneous Hooks, , DCC CHAT Hooks, Hook Types +@subsubsection Miscellaneous Hooks + +@defun hooks/flood nick +This hook is called when a user is detected flooding the bot. + +@var{nick} is the nickname of the user flooding the bot. +@end defun + +@defun hooks/timer time +This hook is called once a minute. The regex is @strong{not} used. + +@var{time} is the in zero-padded @code{hh:mm} format. hunk ./scripts/bobot-utils.scm 128 +(begin-deprecated hunk ./scripts/bobot-utils.scm 130 -(define-public bot-load bot:load) -(define-public bot-action bot:action) -(define-public bot-adduser bot:adduser) -(define-public bot-addserver bot:addserver) -(define-public bot-addshit bot:addshit) -(define-public bot-ban bot:ban) -(define-public bot-cycle bot:cycle) -(define-public bot-deban bot:deban) -(define-public bot-delserver bot:delserver) -(define-public bot-deluser bot:deluser) -(define-public bot-delshit bot:delshit) -(define-public bot-deop bot:deop) -(define-public bot-die bot:die) -(define-public bot-do bot:do) -(define-public bot-invite bot:invite) -(define-public bot-join bot:join) -(define-public bot-keep bot:keep) -(define-public bot-kick bot:kick) -(define-public bot-kickban bot:kickban) -(define-public bot-lock bot:lock) -(define-public bot-logport bot:logport) -(define-public bot-mode bot:mode) -(define-public bot-msg bot:msg) -(define-public bot-nextserver bot:nextserver) -(define-public bot-nick bot:nick) -(define-public bot-op bot:op) -(define-public bot-part bot:part) -(define-public bot-reconnect bot:reconnect) -(define-public bot-say bot:say) -(define-public bot-server bot:server) -(define-public bot-setversion bot:setversion) -(define-public bot-tban bot:tban) -(define-public bot-tkban bot:tkban) -(define-public bot-topic bot:topic) -(define-public bot-unlock bot:unlock) -(define-public bot-getnickname bot:getnickname) -(define-public bot-getserver bot:getserver) -(define-public bot-getserverlist bot:getserverlist) -(define-public bot-flush bot:flush) -(define-public bot-flushport bot:flushport) -(define-public bot-random bot:random) -(define-public bot-addcommand bot:addcommand) -(define-public bot-delcommand bot:delcommand) -(define-public bot-addhook bot:addhook) -(define-public bot-addtimer bot:addtimer) -(define-public bot-deltimer bot:deltimer) + (define-macro (_deprecated-fun old-name new-name) + `(define-public ,old-name + (lambda args + (issue-deprecation-warning + (string-append + (symbol->string ',old-name) + " is a deprecated function. Please use " + (symbol->string ',new-name) " instead.")) + (apply ,new-name args)))) + + (_deprecated-fun bot-load bot:load) + (_deprecated-fun bot-action bot:action) + (_deprecated-fun bot-adduser bot:adduser) + (_deprecated-fun bot-addserver bot:addserver) + (_deprecated-fun bot-addshit bot:addshit) + (_deprecated-fun bot-ban bot:ban) + (_deprecated-fun bot-cycle bot:cycle) + (_deprecated-fun bot-deban bot:deban) + (_deprecated-fun bot-delserver bot:delserver) + (_deprecated-fun bot-deluser bot:deluser) + (_deprecated-fun bot-delshit bot:delshit) + (_deprecated-fun bot-deop bot:deop) + (_deprecated-fun bot-die bot:die) + (_deprecated-fun bot-do bot:do) + (_deprecated-fun bot-invite bot:invite) + (_deprecated-fun bot-join bot:join) + (_deprecated-fun bot-keep bot:keep) + (_deprecated-fun bot-kick bot:kick) + (_deprecated-fun bot-kickban bot:kickban) + (_deprecated-fun bot-lock bot:lock) + (_deprecated-fun bot-logport bot:logport) + (_deprecated-fun bot-mode bot:mode) + (_deprecated-fun bot-msg bot:msg) + (_deprecated-fun bot-nextserver bot:nextserver) + (_deprecated-fun bot-nick bot:nick) + (_deprecated-fun bot-op bot:op) + (_deprecated-fun bot-part bot:part) + (_deprecated-fun bot-reconnect bot:reconnect) + (_deprecated-fun bot-say bot:say) + (_deprecated-fun bot-server bot:server) + (_deprecated-fun bot-setversion bot:setversion) + (_deprecated-fun bot-tban bot:tban) + (_deprecated-fun bot-tkban bot:tkban) + (_deprecated-fun bot-topic bot:topic) + (_deprecated-fun bot-unlock bot:unlock) + (_deprecated-fun bot-getnickname bot:getnickname) + (_deprecated-fun bot-getserver bot:getserver) + (_deprecated-fun bot-getserverlist bot:getserverlist) + (_deprecated-fun bot-flush bot:flush) + (_deprecated-fun bot-flushport bot:flushport) + (_deprecated-fun bot-random bot:random) + (_deprecated-fun bot-addcommand bot:addcommand) + (_deprecated-fun bot-delcommand bot:delcommand) + (_deprecated-fun bot-addhook bot:addhook) + (_deprecated-fun bot-addtimer bot:addtimer) + (_deprecated-fun bot-deltimer bot:deltimer) + + (define-public hooks/leave hooks/part)) hunk ./source/Bot.C 333 - // Run hooks/disconnected + // Run hooks/disconnect hunk ./source/Bot.C 338 - (Utils::str2scm (serverConnection->server->getHostName ()))); + (Utils::str2scm (serverConnection->server->getHostName ()), + SCM_BOOL_F)); hunk ./source/BotInterp.C 3 -// Copyright (C) 2002 Clinton Ebadi +// Copyright (C) 2002,2005 Clinton Ebadi hunk ./source/BotInterp.C 17 -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. hunk ./source/BotInterp.C 119 - (scm_t_catch_body) lazy_apply_wrapper, + (scm_t_catch_body) + Interp::LazyApplyWrapper, hunk ./source/BotInterp.C 122 - (scm_t_catch_handler) empty_handler, 0); + (scm_t_catch_handler) Interp::EmptyHandler, 0); hunk ./source/BotInterp.C 173 - (scm_t_catch_body) lazy_apply_wrapper, (void *)&wd, - (scm_t_catch_handler) empty_handler, 0); + (scm_t_catch_body) Interp::LazyApplyWrapper, (void *)&wd, + (scm_t_catch_handler) Interp::EmptyHandler, 0); hunk ./source/BotInterp.H 79 - DISCONNECT, FLOOD, INVITE, JOIN, KICK, LEAVE, - MODE, MESSAGE, NAMES, NOTICE, PUBLIC, + DISCONNECT, FLOOD, INVITE, JOIN, KICK, MODE, + MESSAGE, NAMES, NOTICE, PART, PUBLIC, hunk ./source/Commands.C 591 + +#ifdef USESCRIPTS + // Run hooks/disconnect + bot->botInterp->RunHooks + (Hook::DISCONNECT, + bot->serverConnection->server->getHostName (), + scm_list_n + (Utils::str2scm (bot->serverConnection->server->getHostName ()), + SCM_BOOL_T)); +#endif hunk ./source/Interp.C 17 -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. hunk ./source/Interp.C 44 -scm_apply_wrapper(void *data) +Interp::ScmApplyWrapper (void *data) hunk ./source/Interp.C 60 -static SCM -lazy_handler(void *data, SCM tag, SCM throw_args) +SCM +Interp::LazyHandler (void *data, SCM tag, SCM throw_args) hunk ./source/Interp.C 74 -empty_handler(void *data, SCM tag, SCM args) +Interp::EmptyHandler(void *data, SCM tag, SCM args) hunk ./source/Interp.C 81 -lazy_apply_wrapper(void *data) +Interp::LazyApplyWrapper(void *data) hunk ./source/Interp.C 84 - (scm_t_catch_body) scm_apply_wrapper, data, - (scm_t_catch_handler) lazy_handler, 0); + (scm_t_catch_body) Interp::ScmApplyWrapper, + data, + (scm_t_catch_handler) Interp::LazyHandler, + 0); hunk ./source/Interp.C 95 - (scm_t_catch_body) scm_c_primitive_load, filename, - (scm_t_catch_handler) lazy_handler, 0); + (scm_t_catch_body) scm_c_primitive_load, + filename, + (scm_t_catch_handler) Interp::LazyHandler, 0); hunk ./source/Interp.C 105 - (scm_t_catch_handler) lazy_handler, 0); + (scm_t_catch_handler) Interp::LazyHandler, 0); hunk ./source/Interp.C 154 - scm_c_define ("hooks/leave", scm_long2num(Hook::LEAVE)); - scm_c_define ("hooks/part", scm_long2num(Hook::LEAVE)); hunk ./source/Interp.C 157 + scm_c_define ("hooks/part", scm_long2num(Hook::PART)); hunk ./source/Interp.C 306 - (scm_t_catch_handler) empty_handler, 0); + (scm_t_catch_handler) Interp::EmptyHandler, 0); hunk ./source/Interp.C 324 - (scm_t_catch_body) lazy_eval_file, (void *)static_cast(filename), - (scm_t_catch_handler) empty_handler, 0); + (scm_t_catch_body) lazy_eval_file, + (void *)static_cast(filename), + (scm_t_catch_handler) Interp::EmptyHandler, 0); hunk ./source/Interp.H 17 -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. hunk ./source/Interp.H 42 -SCM lazy_apply_wrapper(void *); -SCM empty_handler(void *, SCM, SCM); - hunk ./source/Interp.H 55 - static SCM ErrorHandler(void *, SCM, SCM); hunk ./source/Interp.H 56 - friend SCM scm_apply_wrapper (void*); + static SCM LazyApplyWrapper (void *); + static SCM EmptyHandler (void *, SCM, SCM); + static SCM LazyHandler (void *, SCM, SCM); + static SCM ScmApplyWrapper (void *); hunk ./source/Parser.C 36 -std::map < std::string, fptr, std::less < std::string > >Parser::functions; +std::map < std::string, fptr, std::less < std::string > > Parser::functions; hunk ./source/Parser.C 717 - cnx->bot->botInterp->RunHooks (Hook::LEAVE, n + " " + channel, + cnx->bot->botInterp->RunHooks (Hook::PART, n + " " + channel, hunk ./source/Parser.C 726 - cnx->bot->logLine (String ("Leaved channel ") + channel + "."); + cnx->bot->logLine (String ("Left channel ") + channel + "."); hunk ./source/Parser.C 1050 - (scm_t_catch_body) lazy_apply_wrapper, (void *) &wd, - (scm_t_catch_handler) empty_handler, 0); + (scm_t_catch_body) Interp::LazyApplyWrapper, + (void *) &wd, + (scm_t_catch_handler) Interp::EmptyHandler, 0); hunk ./source/ScriptCommands.C 17 -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. hunk ./source/ScriptCommands.H 17 -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. hunk ./source/ServerQueue.C 236 - Interp::bot->botInterp->RunHooks (Hook::SEND_MESSAGE, - Interp::bot->nickName + " " + - message, - scm_listify (Utils:: - str2scm (Interp::bot->nickName), - Utils:: - str2scm - (message), SCM_UNDEFINED)); + Interp::bot->botInterp->RunHooks + (Hook::SEND_MESSAGE, + Interp::bot->nickName + " " + dest + + message, + scm_listify (Utils::str2scm (Interp::bot->nickName), + Utils::str2scm (dest), + Utils::str2scm + (message), SCM_UNDEFINED)); }