Mainnet
Testnet
MDTOKEN (MDT)

MDTOKEN (MDT)

Overview

Max Total supply:
10,000,000
MDT
Holders:
1 addresses
Total transfers:
1

Token info

Contract:
Name:
MDTOKEN
Symbol:
MDT
Decimals:
18
Token type:
wrc20
Contract Source Code Verified (Partial Match)
Note: ByteCode deployed for this contract is identical to source code.

Contract Name:

MDTOCEN

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

00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000

Creation bytecode

0x60806040523480156200001157600080fd5b50604051620019eb380380620019eb83398181016040528101906200003791906200044d565b6040518060400160405280600781526020017f4d44544f4b454e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d445400000000000000000000000000000000000000000000000000000000008152506a084595161401484a0000008260049081620000c09190620006e9565b508160059081620000d29190620006e9565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200012681336200013060201b60201c565b50505050620008eb565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620001c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ba9062000831565b60405180910390fd5b620001d760008284620002b560201b60201c565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000228919062000882565b925050819055508160008082825462000242919062000882565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620002a99190620008ce565b60405180910390a35050565b505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200032382620002d8565b810181811067ffffffffffffffff82111715620003455762000344620002e9565b5b80604052505050565b60006200035a620002ba565b905062000368828262000318565b919050565b600067ffffffffffffffff8211156200038b576200038a620002e9565b5b6200039682620002d8565b9050602081019050919050565b60005b83811015620003c3578082015181840152602081019050620003a6565b60008484015250505050565b6000620003e6620003e0846200036d565b6200034e565b905082815260208101848484011115620004055762000404620002d3565b5b62000412848285620003a3565b509392505050565b600082601f830112620004325762000431620002ce565b5b815162000444848260208601620003cf565b91505092915050565b600060208284031215620004665762000465620002c4565b5b600082015167ffffffffffffffff811115620004875762000486620002c9565b5b62000495848285016200041a565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004f157607f821691505b602082108103620005075762000506620004a9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000532565b6200057d868362000532565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005ca620005c4620005be8462000595565b6200059f565b62000595565b9050919050565b6000819050919050565b620005e683620005a9565b620005fe620005f582620005d1565b8484546200053f565b825550505050565b600090565b6200061562000606565b62000622818484620005db565b505050565b5b818110156200064a576200063e6000826200060b565b60018101905062000628565b5050565b601f821115620006995762000663816200050d565b6200066e8462000522565b810160208510156200067e578190505b620006966200068d8562000522565b83018262000627565b50505b505050565b600082821c905092915050565b6000620006be600019846008026200069e565b1980831691505092915050565b6000620006d98383620006ab565b9150826002028217905092915050565b620006f4826200049e565b67ffffffffffffffff81111562000710576200070f620002e9565b5b6200071c8254620004d8565b620007298282856200064e565b600060209050601f8311600181146200076157600084156200074c578287015190505b620007588582620006cb565b865550620007c8565b601f19841662000771866200050d565b60005b828110156200079b5784890151825560018201915060208501945060208101905062000774565b86831015620007bb5784890151620007b7601f891682620006ab565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b600062000819600d83620007d0565b91506200082682620007e1565b602082019050919050565b600060208201905081810360008301526200084c816200080a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200088f8262000595565b91506200089c8362000595565b9250828201905080821115620008b757620008b662000853565b5b92915050565b620008c88162000595565b82525050565b6000602082019050620008e56000830184620008bd565b92915050565b6110f080620008fb6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c5a565b60405180910390f35b6100e660048036038101906100e19190610d15565b6102a4565b005b6100f06102b3565b6040516100fd9190610d64565b60405180910390f35b610120600480360381019061011b9190610d7f565b6102bc565b005b61012a61057e565b6040516101379190610d64565b60405180910390f35b61015a60048036038101906101559190610dd2565b610587565b6040516101679190610d64565b60405180910390f35b61018a60048036038101906101859190610dff565b6105d0565b005b610194610744565b6040516101a19190610c5a565b60405180910390f35b6101c460048036038101906101bf9190610d15565b6107d6565b005b6101e060048036038101906101db9190610d15565b6108e4565b005b6101fc60048036038101906101f79190610e3f565b610a53565b6040516102099190610d64565b60405180910390f35b60606004805461022190610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eae565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f2b565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610f97565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610fe6565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d64565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106579061109a565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb919061101a565b92505081905550816000808282546106d3919061101a565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d64565b60405180910390a35050565b60606005805461075390610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eae565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d9061109a565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610fe6565b92505081905550806000808282546108d99190610fe6565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f2b565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e1919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d64565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d64565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2c82610bca565b610c368185610bd5565b9350610c46818560208601610be6565b610c4f81610c10565b840191505092915050565b60006020820190508181036000830152610c748184610c21565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cac82610c81565b9050919050565b610cbc81610ca1565b8114610cc757600080fd5b50565b600081359050610cd981610cb3565b92915050565b6000819050919050565b610cf281610cdf565b8114610cfd57600080fd5b50565b600081359050610d0f81610ce9565b92915050565b60008060408385031215610d2c57610d2b610c7c565b5b6000610d3a85828601610cca565b9250506020610d4b85828601610d00565b9150509250929050565b610d5e81610cdf565b82525050565b6000602082019050610d796000830184610d55565b92915050565b600080600060608486031215610d9857610d97610c7c565b5b6000610da686828701610cca565b9350506020610db786828701610cca565b9250506040610dc886828701610d00565b9150509250925092565b600060208284031215610de857610de7610c7c565b5b6000610df684828501610cca565b91505092915050565b60008060408385031215610e1657610e15610c7c565b5b6000610e2485828601610d00565b9250506020610e3585828601610cca565b9150509250929050565b60008060408385031215610e5657610e55610c7c565b5b6000610e6485828601610cca565b9250506020610e7585828601610cca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec657607f821691505b602082108103610ed957610ed8610e7f565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f15601283610bd5565b9150610f2082610edf565b602082019050919050565b60006020820190508181036000830152610f4481610f08565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f81601083610bd5565b9150610f8c82610f4b565b602082019050919050565b60006020820190508181036000830152610fb081610f74565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ff182610cdf565b9150610ffc83610cdf565b925082820390508181111561101457611013610fb7565b5b92915050565b600061102582610cdf565b915061103083610cdf565b925082820190508082111561104857611047610fb7565b5b92915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b6000611084600d83610bd5565b915061108f8261104e565b602082019050919050565b600060208201905081810360008301526110b381611077565b905091905056fea26469706673582212207a724f3675403e58f48a67f7290b58e524ce1886f744b88cb7c734ab8b48f5b564736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c5a565b60405180910390f35b6100e660048036038101906100e19190610d15565b6102a4565b005b6100f06102b3565b6040516100fd9190610d64565b60405180910390f35b610120600480360381019061011b9190610d7f565b6102bc565b005b61012a61057e565b6040516101379190610d64565b60405180910390f35b61015a60048036038101906101559190610dd2565b610587565b6040516101679190610d64565b60405180910390f35b61018a60048036038101906101859190610dff565b6105d0565b005b610194610744565b6040516101a19190610c5a565b60405180910390f35b6101c460048036038101906101bf9190610d15565b6107d6565b005b6101e060048036038101906101db9190610d15565b6108e4565b005b6101fc60048036038101906101f79190610e3f565b610a53565b6040516102099190610d64565b60405180910390f35b60606004805461022190610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eae565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f2b565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610f97565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610fe6565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d64565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106579061109a565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb919061101a565b92505081905550816000808282546106d3919061101a565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d64565b60405180910390a35050565b60606005805461075390610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eae565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d9061109a565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610fe6565b92505081905550806000808282546108d99190610fe6565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f2b565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e1919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d64565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d64565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2c82610bca565b610c368185610bd5565b9350610c46818560208601610be6565b610c4f81610c10565b840191505092915050565b60006020820190508181036000830152610c748184610c21565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cac82610c81565b9050919050565b610cbc81610ca1565b8114610cc757600080fd5b50565b600081359050610cd981610cb3565b92915050565b6000819050919050565b610cf281610cdf565b8114610cfd57600080fd5b50565b600081359050610d0f81610ce9565b92915050565b60008060408385031215610d2c57610d2b610c7c565b5b6000610d3a85828601610cca565b9250506020610d4b85828601610d00565b9150509250929050565b610d5e81610cdf565b82525050565b6000602082019050610d796000830184610d55565b92915050565b600080600060608486031215610d9857610d97610c7c565b5b6000610da686828701610cca565b9350506020610db786828701610cca565b9250506040610dc886828701610d00565b9150509250925092565b600060208284031215610de857610de7610c7c565b5b6000610df684828501610cca565b91505092915050565b60008060408385031215610e1657610e15610c7c565b5b6000610e2485828601610d00565b9250506020610e3585828601610cca565b9150509250929050565b60008060408385031215610e5657610e55610c7c565b5b6000610e6485828601610cca565b9250506020610e7585828601610cca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec657607f821691505b602082108103610ed957610ed8610e7f565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f15601283610bd5565b9150610f2082610edf565b602082019050919050565b60006020820190508181036000830152610f4481610f08565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f81601083610bd5565b9150610f8c82610f4b565b602082019050919050565b60006020820190508181036000830152610fb081610f74565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ff182610cdf565b9150610ffc83610cdf565b925082820390508181111561101457611013610fb7565b5b92915050565b600061102582610cdf565b915061103083610cdf565b925082820190508082111561104857611047610fb7565b5b92915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b6000611084600d83610bd5565b915061108f8261104e565b602082019050919050565b600060208201905081810360008301526110b381611077565b905091905056fea26469706673582212207a724f3675403e58f48a67f7290b58e524ce1886f744b88cb7c734ab8b48f5b564736f6c63430008120033

Source map

3220:110:1:-:0;;;3255:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1008:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3306:15;1105:5;1097;:13;;;;;;:::i;:::-;;1133:7;1123;:17;;;;;;:::i;:::-;;1161:10;1153:5;;:18;;;;;;;;;;;;;;;;;;1184:31;1189:13;1204:10;1184:4;;;:31;;:::i;:::-;1008:217;;;3255:70;3220:110;;1650:262;949:5;;;;;;;;;;;935:19;;:10;:19;;;927:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1724:49:::1;1753:1;1757:7;1766:6;1724:20;;;:49;;:::i;:::-;1807:6;1786:8;:17;1795:7;1786:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;1841:6;1826:11;::::0;:21:::1;;;;;;;:::i;:::-;;;;;;;;1886:7;1865:37;;1882:1;1865:37;;;1895:6;1865:37;;;;;;:::i;:::-;;;;;;;;1650:262:::0;;:::o;3077:130::-;;;;:::o;7:75:2:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:524::-;2757:6;2806:2;2794:9;2785:7;2781:23;2777:32;2774:119;;;2812:79;;:::i;:::-;2774:119;2953:1;2942:9;2938:17;2932:24;2983:18;2975:6;2972:30;2969:117;;;3005:79;;:::i;:::-;2969:117;3110:74;3176:7;3167:6;3156:9;3152:22;3110:74;:::i;:::-;3100:84;;2903:291;2677:524;;;;:::o;3207:99::-;3259:6;3293:5;3287:12;3277:22;;3207:99;;;:::o;3312:180::-;3360:77;3357:1;3350:88;3457:4;3454:1;3447:15;3481:4;3478:1;3471:15;3498:320;3542:6;3579:1;3573:4;3569:12;3559:22;;3626:1;3620:4;3616:12;3647:18;3637:81;;3703:4;3695:6;3691:17;3681:27;;3637:81;3765:2;3757:6;3754:14;3734:18;3731:38;3728:84;;3784:18;;:::i;:::-;3728:84;3549:269;3498:320;;;:::o;3824:141::-;3873:4;3896:3;3888:11;;3919:3;3916:1;3909:14;3953:4;3950:1;3940:18;3932:26;;3824:141;;;:::o;3971:93::-;4008:6;4055:2;4050;4043:5;4039:14;4035:23;4025:33;;3971:93;;;:::o;4070:107::-;4114:8;4164:5;4158:4;4154:16;4133:37;;4070:107;;;;:::o;4183:393::-;4252:6;4302:1;4290:10;4286:18;4325:97;4355:66;4344:9;4325:97;:::i;:::-;4443:39;4473:8;4462:9;4443:39;:::i;:::-;4431:51;;4515:4;4511:9;4504:5;4500:21;4491:30;;4564:4;4554:8;4550:19;4543:5;4540:30;4530:40;;4259:317;;4183:393;;;;;:::o;4582:77::-;4619:7;4648:5;4637:16;;4582:77;;;:::o;4665:60::-;4693:3;4714:5;4707:12;;4665:60;;;:::o;4731:142::-;4781:9;4814:53;4832:34;4841:24;4859:5;4841:24;:::i;:::-;4832:34;:::i;:::-;4814:53;:::i;:::-;4801:66;;4731:142;;;:::o;4879:75::-;4922:3;4943:5;4936:12;;4879:75;;;:::o;4960:269::-;5070:39;5101:7;5070:39;:::i;:::-;5131:91;5180:41;5204:16;5180:41;:::i;:::-;5172:6;5165:4;5159:11;5131:91;:::i;:::-;5125:4;5118:105;5036:193;4960:269;;;:::o;5235:73::-;5280:3;5235:73;:::o;5314:189::-;5391:32;;:::i;:::-;5432:65;5490:6;5482;5476:4;5432:65;:::i;:::-;5367:136;5314:189;;:::o;5509:186::-;5569:120;5586:3;5579:5;5576:14;5569:120;;;5640:39;5677:1;5670:5;5640:39;:::i;:::-;5613:1;5606:5;5602:13;5593:22;;5569:120;;;5509:186;;:::o;5701:543::-;5802:2;5797:3;5794:11;5791:446;;;5836:38;5868:5;5836:38;:::i;:::-;5920:29;5938:10;5920:29;:::i;:::-;5910:8;5906:44;6103:2;6091:10;6088:18;6085:49;;;6124:8;6109:23;;6085:49;6147:80;6203:22;6221:3;6203:22;:::i;:::-;6193:8;6189:37;6176:11;6147:80;:::i;:::-;5806:431;;5791:446;5701:543;;;:::o;6250:117::-;6304:8;6354:5;6348:4;6344:16;6323:37;;6250:117;;;;:::o;6373:169::-;6417:6;6450:51;6498:1;6494:6;6486:5;6483:1;6479:13;6450:51;:::i;:::-;6446:56;6531:4;6525;6521:15;6511:25;;6424:118;6373:169;;;;:::o;6547:295::-;6623:4;6769:29;6794:3;6788:4;6769:29;:::i;:::-;6761:37;;6831:3;6828:1;6824:11;6818:4;6815:21;6807:29;;6547:295;;;;:::o;6847:1395::-;6964:37;6997:3;6964:37;:::i;:::-;7066:18;7058:6;7055:30;7052:56;;;7088:18;;:::i;:::-;7052:56;7132:38;7164:4;7158:11;7132:38;:::i;:::-;7217:67;7277:6;7269;7263:4;7217:67;:::i;:::-;7311:1;7335:4;7322:17;;7367:2;7359:6;7356:14;7384:1;7379:618;;;;8041:1;8058:6;8055:77;;;8107:9;8102:3;8098:19;8092:26;8083:35;;8055:77;8158:67;8218:6;8211:5;8158:67;:::i;:::-;8152:4;8145:81;8014:222;7349:887;;7379:618;7431:4;7427:9;7419:6;7415:22;7465:37;7497:4;7465:37;:::i;:::-;7524:1;7538:208;7552:7;7549:1;7546:14;7538:208;;;7631:9;7626:3;7622:19;7616:26;7608:6;7601:42;7682:1;7674:6;7670:14;7660:24;;7729:2;7718:9;7714:18;7701:31;;7575:4;7572:1;7568:12;7563:17;;7538:208;;;7774:6;7765:7;7762:19;7759:179;;;7832:9;7827:3;7823:19;7817:26;7875:48;7917:4;7909:6;7905:17;7894:9;7875:48;:::i;:::-;7867:6;7860:64;7782:156;7759:179;7984:1;7980;7972:6;7968:14;7964:22;7958:4;7951:36;7386:611;;;7349:887;;6939:1303;;;6847:1395;;:::o;8248:169::-;8332:11;8366:6;8361:3;8354:19;8406:4;8401:3;8397:14;8382:29;;8248:169;;;;:::o;8423:163::-;8563:15;8559:1;8551:6;8547:14;8540:39;8423:163;:::o;8592:366::-;8734:3;8755:67;8819:2;8814:3;8755:67;:::i;:::-;8748:74;;8831:93;8920:3;8831:93;:::i;:::-;8949:2;8944:3;8940:12;8933:19;;8592:366;;;:::o;8964:419::-;9130:4;9168:2;9157:9;9153:18;9145:26;;9217:9;9211:4;9207:20;9203:1;9192:9;9188:17;9181:47;9245:131;9371:4;9245:131;:::i;:::-;9237:139;;8964:419;;;:::o;9389:180::-;9437:77;9434:1;9427:88;9534:4;9531:1;9524:15;9558:4;9555:1;9548:15;9575:191;9615:3;9634:20;9652:1;9634:20;:::i;:::-;9629:25;;9668:20;9686:1;9668:20;:::i;:::-;9663:25;;9711:1;9708;9704:9;9697:16;;9732:3;9729:1;9726:10;9723:36;;;9739:18;;:::i;:::-;9723:36;9575:191;;;;:::o;9772:118::-;9859:24;9877:5;9859:24;:::i;:::-;9854:3;9847:37;9772:118;;:::o;9896:222::-;9989:4;10027:2;10016:9;10012:18;10004:26;;10040:71;10108:1;10097:9;10093:17;10084:6;10040:71;:::i;:::-;9896:222;;;;:::o;3220:110:1:-;;;;;;;