Mainnet
Testnet
FinalFantasy (FF)

FinalFantasy (FF)

Overview

Max Total supply:
700,000,000
FF
Holders:
74 addresses
Total transfers:
44,551

Token info

Contract:
Name:
FinalFantasy
Symbol:
FF
Decimals:
18
Token type:
wrc20
Contract Source Code Verified (Partial Match)

Contract Name:

FinalFantasyToken

Compiler Version:

0.8.18+commit.87f61d96

EVM Version:

default evmVersion

Optimizations:

Disabled with 200 runs

License:

MIT License (MIT)

Contract source code and ABI

Constructor arguments

0000000000000000000000000000000000000000000000000000000029b92700

Creation bytecode

0x60806040523480156200001157600080fd5b506040516200397038038062003970833981810160405281019062000037919062001f14565b601260ff16600a6200004a9190620020c9565b816200005791906200211a565b600081905550600054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60005460405162000105919062002176565b60405180910390a3600573606da31247c389aa52629016b7c6e5504d26516e9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573877f35379ef23323a4660827586604c7dcf387da9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057378f0d9a770b141fd5886e245bd470268149638349080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005733cf148d97e03bcc911b739a0d895fd44237c3aaf9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573c319a081f5ea45ecc1b8590dd572881f09bfe2339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573839275b859aaddd789005ced6cee51f5c655df9c9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005732b3fbb7c27d2619de68acb2c8ff27a3c4ccf1b3a9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573e37add7f6b80d7e367f0015e0029a873081185c29080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573b270f34e23dba6b438df605a1a463bdd5be8386b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573bdf3160013f8e3652840136eb367fa2de57ef6859080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057375df805a59997ad96efeac080c949c12289976ef9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005738242e079b9c9c2a31974898f0635e7355cdf4bae9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057306f6f105dd37ac6a3be59766b5407347ce49dfa69080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005737d4ae1aae068aea2b017440c52d1b69f3cd81d479080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d25ac219e3e9d04df0d327c760440cc54e4fd1ad9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057340d6e9c9c267d9592a7f17595db25d0f489a6c1f9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573032ad2d0ab8abc27139f7795eb1cab2a62b4615e9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057360fdf9b6fe1eb870e33f90d99ab4bf1757c00f1d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573e6ccb30401332aee581a9ce083fb6a54973ec2299080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005735b4d485912dd82bda602974de0ccbf2024ed96659080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005731db45a65c3be4f00a25aa1680bdb5942ed7de2249080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573e6f900c859502d0a9d88ff7a7cbd32c1636edfea9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d67efed948df17f5b64218c23f0f77cf64d2e8d49080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573e6e91b308133fa7ab5fb44e536c836652f4386b79080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005735df05fbdc3af464c48f6da6d9d8dca49c8a086319080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005739653b82be447e9894f9da66107c8f4657c6acaae9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573086996ae01c2dda4c9b0af5c3998d4ed3f7e650f9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005733210c023b44b33fed106a6c9e762596d54400f2a9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d40bc09a3ca07872fbb1ccccc153de1884bcf7459080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573982c4c2ceeb5fbb970818a3fd70b87c3468af7619080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573abf7a454d059a456aaae2077e65ab1abca02fba29080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573437bc23faec5e690db467b128629f7fb574068569080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005736ce7da5aa1a3beaea6341417dd6c3b506b86307d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057384f859ad3c2e4c43d33329889ceaeb08b899ca169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573a98a2c1749d9f801305c84af8f85250ce130a5b79080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573eee8cc8b8eee1daa5705dc00849a88834bdcf5a39080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d464e4291120247f8cec3bef45de1f827b7509159080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573eb3ee458a53c960e5f78faedb4fc93f1dcfb80389080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005731eca4a9778cc15c937cc02278b75eecb82a7e2129080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573dfb0a334e996a3c974904c97872d2c8f982aa4339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005736de9a86cec39a2214643baf981bf65d250a515789080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005730de4393dd3a5e7ba2bc428da5fe4d76611ec5ff29080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005730af31abb4fad5e58394135e9886e4224f8cc7da89080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573c672a7ade84f23ffa0c053173d689390d4fcce489080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057377fd60bbcb125c98032907dd283c992f485b4bdc9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057351bec20f54c6b30327924a1f175b3af5f731fa539080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573e9eeffa1afde4b7566a314ea1aa3d1e5b6366f2f9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060057396fb368195b60dc1bcf5604c9d8dbf280d370d419080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005730227f882c6a82e93b1320f5c0f691a47fe6c1dec9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573185796c9e52430d55aa7d3ed28d7b3f0efe6a2719080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573c86204d7f4cd14bc0cc8e5e9db68cf3572f2dffe9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573b2dcf98c2f88e237af1a73dc2ace51659d369d449080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005735d00a6b82964e6adc05ead94a1b0506a83319e299080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573f1c896f644b1c6def75578f8109c481b72f274eb9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573a36347c84b4034493abbaf3ede195e0dfe1f54e29080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573211ae058c2441f47716589e920d655ec841976d29080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005735c5cd4a09ed7e5b6444c252e061dbe25886e1fee9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573698474421e301bdef777f16fdff892da4fab42999080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573b335d5903674ffd8d1778d9bcea7f916cec5f62d9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d9106e460d4e7a0fb76916c28bd719db5e0c50049080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005737482b1c1b1d28aab0af6f7d0ffd0a81d6e5b6c249080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573d28e1b3f4fac3a8fe0a940e9be05406008e370d59080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573417adacc402a23db404ac16d6b2e471ce41ad8fd9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600573f3b6b0bd6d014e9b3a11e2ca7d185d034d20e05f9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062002193565b600080fd5b6000819050919050565b62001eee8162001ed9565b811462001efa57600080fd5b50565b60008151905062001f0e8162001ee3565b92915050565b60006020828403121562001f2d5762001f2c62001ed4565b5b600062001f3d8482850162001efd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001fd45780860481111562001fac5762001fab62001f46565b5b600185161562001fbc5780820291505b808102905062001fcc8562001f75565b945062001f8c565b94509492505050565b60008262001fef5760019050620020c2565b8162001fff5760009050620020c2565b8160018114620020185760028114620020235762002059565b6001915050620020c2565b60ff84111562002038576200203762001f46565b5b8360020a91508482111562002052576200205162001f46565b5b50620020c2565b5060208310610133831016604e8410600b8410161715620020935782820a9050838111156200208d576200208c62001f46565b5b620020c2565b620020a2848484600162001f82565b92509050818404811115620020bc57620020bb62001f46565b5b81810290505b9392505050565b6000620020d68262001ed9565b9150620020e38362001ed9565b9250620021127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001fdd565b905092915050565b6000620021278262001ed9565b9150620021348362001ed9565b9250828202620021448162001ed9565b915082820484148315176200215e576200215d62001f46565b5b5092915050565b620021708162001ed9565b82525050565b60006020820190506200218d600083018462002165565b92915050565b6117cd80620021a36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d714610228578063a9059cbb14610258578063dd62ed3e14610288578063f968f493146102b8576100cf565b806370a08231146101be57806389158d8e146101ee57806395d89b411461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102c2565b6040516100e991906110a4565b60405180910390f35b61010c6004803603810190610107919061115f565b6102ff565b60405161011991906111ba565b60405180910390f35b61012a610316565b60405161013791906111e4565b60405180910390f35b61015a600480360381019061015591906111ff565b61031f565b60405161016791906111ba565b60405180910390f35b6101786104d0565b604051610185919061126e565b60405180910390f35b6101a860048036038101906101a3919061115f565b6104d9565b6040516101b591906111ba565b60405180910390f35b6101d860048036038101906101d39190611289565b610577565b6040516101e591906111e4565b60405180910390f35b610208600480360381019061020391906112b6565b6105c0565b005b6102126107aa565b60405161021f91906110a4565b60405180910390f35b610242600480360381019061023d919061115f565b6107e7565b60405161024f91906111ba565b60405180910390f35b610272600480360381019061026d919061115f565b610885565b60405161027f91906111ba565b60405180910390f35b6102a2600480360381019061029d91906112f6565b6109a3565b6040516102af91906111e4565b60405180910390f35b6102c0610a2a565b005b60606040518060400160405280600c81526020017f46696e616c46616e746173790000000000000000000000000000000000000000815250905090565b600061030c338484610b36565b6001905092915050565b60008054905090565b600061032a84610cff565b82111561036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390611382565b60405180910390fd5b60006103e860058461037e91906113d1565b6103889190611442565b9050600081846103989190611473565b90506103a5868683610e20565b6103c48673d88fa142b67f561c5f2cbf803bf5ae906a8f1e4184610e20565b60005b6005805490508110156104305761041d87600583815481106103ec576103eb6114a7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610e20565b8080610428906114d6565b9150506103c7565b506104c3863386600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be9190611473565b610b36565b6001925050509392505050565b60006012905090565b600061056d338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610568919061151e565b610b36565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105c933610cff565b82111561060b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060290611382565b60405180910390fd5b600082905082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069b9190611473565b036106b0576001836106ad9190611473565b90505b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106ff919061151e565b925050819055508142610712919061151e565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fd741e738a23fd18a03a26522320d9fc6cac1fed483e215ea9150fbc2fc43385d848460405161079d929190611552565b60405180910390a2505050565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061087b338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108769190611473565b610b36565b6001905092915050565b600061089033610cff565b8211156108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c990611382565b60405180910390fd5b60006103e86005846108e491906113d1565b6108ee9190611442565b9050600081846108fe9190611473565b905061090b338683610e20565b61092a3373d88fa142b67f561c5f2cbf803bf5ae906a8f1e4184610e20565b60005b600580549050811015610996576109833360058381548110610952576109516114a7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610e20565b808061098e906114d6565b91505061092d565b5060019250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b42600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906115c7565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcf96a7404357442bbc147c389fc2942cb6eedcaf1aad90bb8eb4b67ce43d4fb260405160405180910390a2565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90611633565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b9061169f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf291906111e4565b60405180910390a3505050565b600042600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610d8e57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e1b565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e189190611473565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e869061170b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef590611777565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4d9190611473565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa3919061151e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100791906111e4565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561104e578082015181840152602081019050611033565b60008484015250505050565b6000601f19601f8301169050919050565b600061107682611014565b611080818561101f565b9350611090818560208601611030565b6110998161105a565b840191505092915050565b600060208201905081810360008301526110be818461106b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110f6826110cb565b9050919050565b611106816110eb565b811461111157600080fd5b50565b600081359050611123816110fd565b92915050565b6000819050919050565b61113c81611129565b811461114757600080fd5b50565b60008135905061115981611133565b92915050565b60008060408385031215611176576111756110c6565b5b600061118485828601611114565b92505060206111958582860161114a565b9150509250929050565b60008115159050919050565b6111b48161119f565b82525050565b60006020820190506111cf60008301846111ab565b92915050565b6111de81611129565b82525050565b60006020820190506111f960008301846111d5565b92915050565b600080600060608486031215611218576112176110c6565b5b600061122686828701611114565b935050602061123786828701611114565b92505060406112488682870161114a565b9150509250925092565b600060ff82169050919050565b61126881611252565b82525050565b6000602082019050611283600083018461125f565b92915050565b60006020828403121561129f5761129e6110c6565b5b60006112ad84828501611114565b91505092915050565b600080604083850312156112cd576112cc6110c6565b5b60006112db8582860161114a565b92505060206112ec8582860161114a565b9150509250929050565b6000806040838503121561130d5761130c6110c6565b5b600061131b85828601611114565b925050602061132c85828601611114565b9150509250929050565b7f496e73756666696369656e7420756e6c6f636b65642062616c616e6365000000600082015250565b600061136c601d8361101f565b915061137782611336565b602082019050919050565b6000602082019050818103600083015261139b8161135f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113dc82611129565b91506113e783611129565b92508282026113f581611129565b9150828204841483151761140c5761140b6113a2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061144d82611129565b915061145883611129565b92508261146857611467611413565b5b828204905092915050565b600061147e82611129565b915061148983611129565b92508282039050818111156114a1576114a06113a2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006114e182611129565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611513576115126113a2565b5b600182019050919050565b600061152982611129565b915061153483611129565b925082820190508082111561154c5761154b6113a2565b5b92915050565b600060408201905061156760008301856111d5565b61157460208301846111d5565b9392505050565b7f546f6b656e7320617265207374696c6c206c6f636b6564000000000000000000600082015250565b60006115b160178361101f565b91506115bc8261157b565b602082019050919050565b600060208201905081810360008301526115e0816115a4565b9050919050565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b600061161d601d8361101f565b9150611628826115e7565b602082019050919050565b6000602082019050818103600083015261164c81611610565b9050919050565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b6000611689601b8361101f565b915061169482611653565b602082019050919050565b600060208201905081810360008301526116b88161167c565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b60006116f5601e8361101f565b9150611700826116bf565b602082019050919050565b60006020820190508181036000830152611724816116e8565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000611761601c8361101f565b915061176c8261172b565b602082019050919050565b6000602082019050818103600083015261179081611754565b905091905056fea2646970667358221220699e084cfb533c0181fc22deea6645747df8a4e3f9754f01f1e0c80fa209d78464736f6c634300081200330000000000000000000000000000000000000000000000000000000029b92700

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d714610228578063a9059cbb14610258578063dd62ed3e14610288578063f968f493146102b8576100cf565b806370a08231146101be57806389158d8e146101ee57806395d89b411461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102c2565b6040516100e991906110a4565b60405180910390f35b61010c6004803603810190610107919061115f565b6102ff565b60405161011991906111ba565b60405180910390f35b61012a610316565b60405161013791906111e4565b60405180910390f35b61015a600480360381019061015591906111ff565b61031f565b60405161016791906111ba565b60405180910390f35b6101786104d0565b604051610185919061126e565b60405180910390f35b6101a860048036038101906101a3919061115f565b6104d9565b6040516101b591906111ba565b60405180910390f35b6101d860048036038101906101d39190611289565b610577565b6040516101e591906111e4565b60405180910390f35b610208600480360381019061020391906112b6565b6105c0565b005b6102126107aa565b60405161021f91906110a4565b60405180910390f35b610242600480360381019061023d919061115f565b6107e7565b60405161024f91906111ba565b60405180910390f35b610272600480360381019061026d919061115f565b610885565b60405161027f91906111ba565b60405180910390f35b6102a2600480360381019061029d91906112f6565b6109a3565b6040516102af91906111e4565b60405180910390f35b6102c0610a2a565b005b60606040518060400160405280600c81526020017f46696e616c46616e746173790000000000000000000000000000000000000000815250905090565b600061030c338484610b36565b6001905092915050565b60008054905090565b600061032a84610cff565b82111561036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390611382565b60405180910390fd5b60006103e860058461037e91906113d1565b6103889190611442565b9050600081846103989190611473565b90506103a5868683610e20565b6103c48673d88fa142b67f561c5f2cbf803bf5ae906a8f1e4184610e20565b60005b6005805490508110156104305761041d87600583815481106103ec576103eb6114a7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610e20565b8080610428906114d6565b9150506103c7565b506104c3863386600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104be9190611473565b610b36565b6001925050509392505050565b60006012905090565b600061056d338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610568919061151e565b610b36565b6001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105c933610cff565b82111561060b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060290611382565b60405180910390fd5b600082905082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461069b9190611473565b036106b0576001836106ad9190611473565b90505b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106ff919061151e565b925050819055508142610712919061151e565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fd741e738a23fd18a03a26522320d9fc6cac1fed483e215ea9150fbc2fc43385d848460405161079d929190611552565b60405180910390a2505050565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061087b338484600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108769190611473565b610b36565b6001905092915050565b600061089033610cff565b8211156108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c990611382565b60405180910390fd5b60006103e86005846108e491906113d1565b6108ee9190611442565b9050600081846108fe9190611473565b905061090b338683610e20565b61092a3373d88fa142b67f561c5f2cbf803bf5ae906a8f1e4184610e20565b60005b600580549050811015610996576109833360058381548110610952576109516114a7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610e20565b808061098e906114d6565b91505061092d565b5060019250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b42600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906115c7565b60405180910390fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcf96a7404357442bbc147c389fc2942cb6eedcaf1aad90bb8eb4b67ce43d4fb260405160405180910390a2565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90611633565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b9061169f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf291906111e4565b60405180910390a3505050565b600042600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610d8e57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610e1b565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e189190611473565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e869061170b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef590611777565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4d9190611473565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610fa3919061151e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100791906111e4565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561104e578082015181840152602081019050611033565b60008484015250505050565b6000601f19601f8301169050919050565b600061107682611014565b611080818561101f565b9350611090818560208601611030565b6110998161105a565b840191505092915050565b600060208201905081810360008301526110be818461106b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110f6826110cb565b9050919050565b611106816110eb565b811461111157600080fd5b50565b600081359050611123816110fd565b92915050565b6000819050919050565b61113c81611129565b811461114757600080fd5b50565b60008135905061115981611133565b92915050565b60008060408385031215611176576111756110c6565b5b600061118485828601611114565b92505060206111958582860161114a565b9150509250929050565b60008115159050919050565b6111b48161119f565b82525050565b60006020820190506111cf60008301846111ab565b92915050565b6111de81611129565b82525050565b60006020820190506111f960008301846111d5565b92915050565b600080600060608486031215611218576112176110c6565b5b600061122686828701611114565b935050602061123786828701611114565b92505060406112488682870161114a565b9150509250925092565b600060ff82169050919050565b61126881611252565b82525050565b6000602082019050611283600083018461125f565b92915050565b60006020828403121561129f5761129e6110c6565b5b60006112ad84828501611114565b91505092915050565b600080604083850312156112cd576112cc6110c6565b5b60006112db8582860161114a565b92505060206112ec8582860161114a565b9150509250929050565b6000806040838503121561130d5761130c6110c6565b5b600061131b85828601611114565b925050602061132c85828601611114565b9150509250929050565b7f496e73756666696369656e7420756e6c6f636b65642062616c616e6365000000600082015250565b600061136c601d8361101f565b915061137782611336565b602082019050919050565b6000602082019050818103600083015261139b8161135f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113dc82611129565b91506113e783611129565b92508282026113f581611129565b9150828204841483151761140c5761140b6113a2565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061144d82611129565b915061145883611129565b92508261146857611467611413565b5b828204905092915050565b600061147e82611129565b915061148983611129565b92508282039050818111156114a1576114a06113a2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006114e182611129565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611513576115126113a2565b5b600182019050919050565b600061152982611129565b915061153483611129565b925082820190508082111561154c5761154b6113a2565b5b92915050565b600060408201905061156760008301856111d5565b61157460208301846111d5565b9392505050565b7f546f6b656e7320617265207374696c6c206c6f636b6564000000000000000000600082015250565b60006115b160178361101f565b91506115bc8261157b565b602082019050919050565b600060208201905081810360008301526115e0816115a4565b9050919050565b7f417070726f76652066726f6d20746865207a65726f2061646472657373000000600082015250565b600061161d601d8361101f565b9150611628826115e7565b602082019050919050565b6000602082019050818103600083015261164c81611610565b9050919050565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b6000611689601b8361101f565b915061169482611653565b602082019050919050565b600060208201905081810360008301526116b88161167c565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f20616464726573730000600082015250565b60006116f5601e8361101f565b9150611700826116bf565b602082019050919050565b60006020820190508181036000830152611724816116e8565b9050919050565b7f5472616e7366657220746f20746865207a65726f206164647265737300000000600082015250565b6000611761601c8361101f565b915061176c8261172b565b602082019050919050565b6000602082019050818103600083015261179081611754565b905091905056fea2646970667358221220699e084cfb533c0181fc22deea6645747df8a4e3f9754f01f1e0c80fa209d78464736f6c63430008120033

Source map

805:10049:0:-:0;;;1444:4872;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;979:2;1525:18;;1519:2;:24;;;;:::i;:::-;1503:12;:41;;;;:::i;:::-;1488:12;:56;;;;1578:12;;1554:9;:21;1564:10;1554:21;;;;;;;;;;;;;;;:36;;;;1626:10;1605:46;;1622:1;1605:46;;;1638:12;;1605:46;;;;;;:::i;:::-;;;;;;;;1706:13;1725:42;1706:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1778:13;1797:42;1778:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:13;1869:42;1850:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1922:13;1941:42;1922:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1994:13;2013:42;1994:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2066:13;2085:42;2066:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2138:13;2157:42;2138:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2210:13;2229:42;2210:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:13;2301:42;2282:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:13;2373:42;2354:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2426:13;2445:42;2426:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2498:13;2517:42;2498:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2570:13;2589:42;2570:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2642:13;2661:42;2642:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2714:13;2733:42;2714:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2786:13;2805:42;2786:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2858:13;2877:42;2858:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:13;2949:42;2930:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3002:13;3021:42;3002:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3074:13;3093:42;3074:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3146:13;3165:42;3146:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3218:13;3237:42;3218:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:13;3309:42;3290:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3362:13;3381:42;3362:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3434:13;3453:42;3434:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3506:13;3525:42;3506:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3578:13;3597:42;3578:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3650:13;3669:42;3650:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3722:13;3741:42;3722:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:13;3813:42;3794:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3866:13;3885:42;3866:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3938:13;3957:42;3938:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4010:13;4029:42;4010:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4082:13;4101:42;4082:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4154:13;4173:42;4154:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4226:13;4245:42;4226:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4298:13;4317:42;4298:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4370:13;4389:42;4370:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4442:13;4461:42;4442:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4514:13;4533:42;4514:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4586:13;4605:42;4586:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4658:13;4677:42;4658:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4730:13;4749:42;4730:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4802:13;4821:42;4802:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4874:13;4893:42;4874:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4946:13;4965:42;4946:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5018:13;5037:42;5018:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5090:13;5109:42;5090:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5162:13;5181:42;5162:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5234:13;5253:42;5234:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:13;5325:42;5306:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5378:13;5397:42;5378:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5450:13;5469:42;5450:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5522:13;5541:42;5522:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5594:13;5613:42;5594:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:13;5685:42;5666:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5738:13;5757:42;5738:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5810:13;5829:42;5810:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5882:13;5901:42;5882:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:13;5973:42;5954:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6026:13;6045:42;6026:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6098:13;6117:42;6098:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6170:13;6189:42;6170:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6242:13;6261:42;6242:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1444:4872;805:10049;;88:117:1;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:351::-;764:6;813:2;801:9;792:7;788:23;784:32;781:119;;;819:79;;:::i;:::-;781:119;939:1;964:64;1020:7;1011:6;1000:9;996:22;964:64;:::i;:::-;954:74;;910:128;694:351;;;;:::o;1051:180::-;1099:77;1096:1;1089:88;1196:4;1193:1;1186:15;1220:4;1217:1;1210:15;1237:102;1279:8;1326:5;1323:1;1319:13;1298:34;;1237:102;;;:::o;1345:848::-;1406:5;1413:4;1437:6;1428:15;;1461:5;1452:14;;1475:712;1496:1;1486:8;1483:15;1475:712;;;1591:4;1586:3;1582:14;1576:4;1573:24;1570:50;;;1600:18;;:::i;:::-;1570:50;1650:1;1640:8;1636:16;1633:451;;;2065:4;2058:5;2054:16;2045:25;;1633:451;2115:4;2109;2105:15;2097:23;;2145:32;2168:8;2145:32;:::i;:::-;2133:44;;1475:712;;;1345:848;;;;;;;:::o;2199:1073::-;2253:5;2444:8;2434:40;;2465:1;2456:10;;2467:5;;2434:40;2493:4;2483:36;;2510:1;2501:10;;2512:5;;2483:36;2579:4;2627:1;2622:27;;;;2663:1;2658:191;;;;2572:277;;2622:27;2640:1;2631:10;;2642:5;;;2658:191;2703:3;2693:8;2690:17;2687:43;;;2710:18;;:::i;:::-;2687:43;2759:8;2756:1;2752:16;2743:25;;2794:3;2787:5;2784:14;2781:40;;;2801:18;;:::i;:::-;2781:40;2834:5;;;2572:277;;2958:2;2948:8;2945:16;2939:3;2933:4;2930:13;2926:36;2908:2;2898:8;2895:16;2890:2;2884:4;2881:12;2877:35;2861:111;2858:246;;;3014:8;3008:4;3004:19;2995:28;;3049:3;3042:5;3039:14;3036:40;;;3056:18;;:::i;:::-;3036:40;3089:5;;2858:246;3129:42;3167:3;3157:8;3151:4;3148:1;3129:42;:::i;:::-;3114:57;;;;3203:4;3198:3;3194:14;3187:5;3184:25;3181:51;;;3212:18;;:::i;:::-;3181:51;3261:4;3254:5;3250:16;3241:25;;2199:1073;;;;;;:::o;3278:285::-;3338:5;3362:23;3380:4;3362:23;:::i;:::-;3354:31;;3406:27;3424:8;3406:27;:::i;:::-;3394:39;;3452:104;3489:66;3479:8;3473:4;3452:104;:::i;:::-;3443:113;;3278:285;;;;:::o;3569:410::-;3609:7;3632:20;3650:1;3632:20;:::i;:::-;3627:25;;3666:20;3684:1;3666:20;:::i;:::-;3661:25;;3721:1;3718;3714:9;3743:30;3761:11;3743:30;:::i;:::-;3732:41;;3922:1;3913:7;3909:15;3906:1;3903:22;3883:1;3876:9;3856:83;3833:139;;3952:18;;:::i;:::-;3833:139;3617:362;3569:410;;;;:::o;3985:118::-;4072:24;4090:5;4072:24;:::i;:::-;4067:3;4060:37;3985:118;;:::o;4109:222::-;4202:4;4240:2;4229:9;4225:18;4217:26;;4253:71;4321:1;4310:9;4306:17;4297:6;4253:71;:::i;:::-;4109:222;;;;:::o;805:10049:0:-;;;;;;;