Mainnet
Testnet
My Token (MTK)

My Token (MTK)

Overview

Max Total supply:
1
MTK
Holders:
2 addresses
Total transfers:
1

Token info

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

Contract Name:

ERC20Token

Compiler Version:

0.8.18+commit.87f61d96

EVM Version:

default evmVersion

Optimizations:

Disabled with 200 runs

License:

GNU General Public License v3.0 (GNU GPLv3)

Contract source code and ABI

Creation bytecode

0x60806040523480156200001157600080fd5b506040518060400160405280600881526020017f4d7920546f6b656e00000000000000000000000000000000000000000000000081525060009081620000589190620003a9565b506040518060400160405280600381526020017f4d544b0000000000000000000000000000000000000000000000000000000000815250600190816200009f9190620003a9565b506012600260006101000a81548160ff021916908360ff160217905550600260009054906101000a900460ff1660ff16600a620000dd919062000613565b600381905550600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000664565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001b157607f821691505b602082108103620001c757620001c662000169565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001f2565b6200023d8683620001f2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200028a620002846200027e8462000255565b6200025f565b62000255565b9050919050565b6000819050919050565b620002a68362000269565b620002be620002b58262000291565b848454620001ff565b825550505050565b600090565b620002d5620002c6565b620002e28184846200029b565b505050565b5b818110156200030a57620002fe600082620002cb565b600181019050620002e8565b5050565b601f82111562000359576200032381620001cd565b6200032e84620001e2565b810160208510156200033e578190505b620003566200034d85620001e2565b830182620002e7565b50505b505050565b600082821c905092915050565b60006200037e600019846008026200035e565b1980831691505092915050565b60006200039983836200036b565b9150826002028217905092915050565b620003b4826200012f565b67ffffffffffffffff811115620003d057620003cf6200013a565b5b620003dc825462000198565b620003e98282856200030e565b600060209050601f8311600181146200042157600084156200040c578287015190505b6200041885826200038b565b86555062000488565b601f1984166200043186620001cd565b60005b828110156200045b5784890151825560018201915060208501945060208101905062000434565b868310156200047b578489015162000477601f8916826200036b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051e57808604811115620004f657620004f562000490565b5b6001851615620005065780820291505b80810290506200051685620004bf565b9450620004d6565b94509492505050565b6000826200053957600190506200060c565b816200054957600090506200060c565b81600181146200056257600281146200056d57620005a3565b60019150506200060c565b60ff84111562000582576200058162000490565b5b8360020a9150848211156200059c576200059b62000490565b5b506200060c565b5060208310610133831016604e8410600b8410161715620005dd5782820a905083811115620005d757620005d662000490565b5b6200060c565b620005ec8484846001620004cc565b9250905081840481111562000606576200060562000490565b5b81810290505b9392505050565b6000620006208262000255565b91506200062d8362000255565b92506200065c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000527565b905092915050565b6111cb80620006746000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610bc4565b60405180910390f35b6100d060048036038101906100cb9190610c7f565b61028e565b6040516100dd9190610cda565b60405180910390f35b6100ee6103ee565b6040516100fb9190610d04565b60405180910390f35b61011e60048036038101906101199190610d1f565b6103f4565b60405161012b9190610cda565b60405180910390f35b61013c610806565b6040516101499190610d8e565b60405180910390f35b61016c60048036038101906101679190610da9565b610819565b6040516101799190610d04565b60405180910390f35b61018a610831565b6040516101979190610bc4565b60405180910390f35b6101ba60048036038101906101b59190610c7f565b6108bf565b6040516101c79190610cda565b60405180910390f35b6101ea60048036038101906101e59190610dd6565b610b0f565b6040516101f79190610d04565b60405180910390f35b6000805461020d90610e45565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610e45565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036102fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f590610ec2565b60405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103dc9190610d04565b60405180910390a36001905092915050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90610f2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ca90610f9a565b60405180910390fd5b60008211610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050d90611006565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058f90611072565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e906110de565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a6919061112d565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106fc9190611161565b9250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461078f919061112d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f39190610d04565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b60046020528060005260406000206000915090505481565b6001805461083e90610e45565b80601f016020809104026020016040519081016040528092919081815260200182805461086a90610e45565b80156108b75780601f1061088c576101008083540402835291602001916108b7565b820191906000526020600020905b81548152906001019060200180831161089a57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690610f9a565b60405180910390fd5b60008211610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990611006565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90611072565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a43919061112d565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a999190611161565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610afd9190610d04565b60405180910390a36001905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b6e578082015181840152602081019050610b53565b60008484015250505050565b6000601f19601f8301169050919050565b6000610b9682610b34565b610ba08185610b3f565b9350610bb0818560208601610b50565b610bb981610b7a565b840191505092915050565b60006020820190508181036000830152610bde8184610b8b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c1682610beb565b9050919050565b610c2681610c0b565b8114610c3157600080fd5b50565b600081359050610c4381610c1d565b92915050565b6000819050919050565b610c5c81610c49565b8114610c6757600080fd5b50565b600081359050610c7981610c53565b92915050565b60008060408385031215610c9657610c95610be6565b5b6000610ca485828601610c34565b9250506020610cb585828601610c6a565b9150509250929050565b60008115159050919050565b610cd481610cbf565b82525050565b6000602082019050610cef6000830184610ccb565b92915050565b610cfe81610c49565b82525050565b6000602082019050610d196000830184610cf5565b92915050565b600080600060608486031215610d3857610d37610be6565b5b6000610d4686828701610c34565b9350506020610d5786828701610c34565b9250506040610d6886828701610c6a565b9150509250925092565b600060ff82169050919050565b610d8881610d72565b82525050565b6000602082019050610da36000830184610d7f565b92915050565b600060208284031215610dbf57610dbe610be6565b5b6000610dcd84828501610c34565b91505092915050565b60008060408385031215610ded57610dec610be6565b5b6000610dfb85828601610c34565b9250506020610e0c85828601610c34565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5d57607f821691505b602082108103610e7057610e6f610e16565b5b50919050565b7f496e76616c6964207370656e6465722061646472657373000000000000000000600082015250565b6000610eac601783610b3f565b9150610eb782610e76565b602082019050919050565b60006020820190508181036000830152610edb81610e9f565b9050919050565b7f496e76616c69642073656e646572206164647265737300000000000000000000600082015250565b6000610f18601683610b3f565b9150610f2382610ee2565b602082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000610f84601983610b3f565b9150610f8f82610f4e565b602082019050919050565b60006020820190508181036000830152610fb381610f77565b9050919050565b7f496e76616c6964207472616e7366657220616d6f756e74000000000000000000600082015250565b6000610ff0601783610b3f565b9150610ffb82610fba565b602082019050919050565b6000602082019050818103600083015261101f81610fe3565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061105c601483610b3f565b915061106782611026565b602082019050919050565b6000602082019050818103600083015261108b8161104f565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b60006110c8601683610b3f565b91506110d382611092565b602082019050919050565b600060208201905081810360008301526110f7816110bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061113882610c49565b915061114383610c49565b925082820390508181111561115b5761115a6110fe565b5b92915050565b600061116c82610c49565b915061117783610c49565b925082820190508082111561118f5761118e6110fe565b5b9291505056fea2646970667358221220bc23e6399c9f13925ee43e51f76752c66b0a03a899a743dabe7cf54e549e7d8f64736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610bc4565b60405180910390f35b6100d060048036038101906100cb9190610c7f565b61028e565b6040516100dd9190610cda565b60405180910390f35b6100ee6103ee565b6040516100fb9190610d04565b60405180910390f35b61011e60048036038101906101199190610d1f565b6103f4565b60405161012b9190610cda565b60405180910390f35b61013c610806565b6040516101499190610d8e565b60405180910390f35b61016c60048036038101906101679190610da9565b610819565b6040516101799190610d04565b60405180910390f35b61018a610831565b6040516101979190610bc4565b60405180910390f35b6101ba60048036038101906101b59190610c7f565b6108bf565b6040516101c79190610cda565b60405180910390f35b6101ea60048036038101906101e59190610dd6565b610b0f565b6040516101f79190610d04565b60405180910390f35b6000805461020d90610e45565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610e45565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036102fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f590610ec2565b60405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103dc9190610d04565b60405180910390a36001905092915050565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90610f2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ca90610f9a565b60405180910390fd5b60008211610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050d90611006565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058f90611072565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e906110de565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a6919061112d565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106fc9190611161565b9250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461078f919061112d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107f39190610d04565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b60046020528060005260406000206000915090505481565b6001805461083e90610e45565b80601f016020809104026020016040519081016040528092919081815260200182805461086a90610e45565b80156108b75780601f1061088c576101008083540402835291602001916108b7565b820191906000526020600020905b81548152906001019060200180831161089a57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690610f9a565b60405180910390fd5b60008211610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990611006565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90611072565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a43919061112d565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a999190611161565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610afd9190610d04565b60405180910390a36001905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b6e578082015181840152602081019050610b53565b60008484015250505050565b6000601f19601f8301169050919050565b6000610b9682610b34565b610ba08185610b3f565b9350610bb0818560208601610b50565b610bb981610b7a565b840191505092915050565b60006020820190508181036000830152610bde8184610b8b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c1682610beb565b9050919050565b610c2681610c0b565b8114610c3157600080fd5b50565b600081359050610c4381610c1d565b92915050565b6000819050919050565b610c5c81610c49565b8114610c6757600080fd5b50565b600081359050610c7981610c53565b92915050565b60008060408385031215610c9657610c95610be6565b5b6000610ca485828601610c34565b9250506020610cb585828601610c6a565b9150509250929050565b60008115159050919050565b610cd481610cbf565b82525050565b6000602082019050610cef6000830184610ccb565b92915050565b610cfe81610c49565b82525050565b6000602082019050610d196000830184610cf5565b92915050565b600080600060608486031215610d3857610d37610be6565b5b6000610d4686828701610c34565b9350506020610d5786828701610c34565b9250506040610d6886828701610c6a565b9150509250925092565b600060ff82169050919050565b610d8881610d72565b82525050565b6000602082019050610da36000830184610d7f565b92915050565b600060208284031215610dbf57610dbe610be6565b5b6000610dcd84828501610c34565b91505092915050565b60008060408385031215610ded57610dec610be6565b5b6000610dfb85828601610c34565b9250506020610e0c85828601610c34565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e5d57607f821691505b602082108103610e7057610e6f610e16565b5b50919050565b7f496e76616c6964207370656e6465722061646472657373000000000000000000600082015250565b6000610eac601783610b3f565b9150610eb782610e76565b602082019050919050565b60006020820190508181036000830152610edb81610e9f565b9050919050565b7f496e76616c69642073656e646572206164647265737300000000000000000000600082015250565b6000610f18601683610b3f565b9150610f2382610ee2565b602082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000610f84601983610b3f565b9150610f8f82610f4e565b602082019050919050565b60006020820190508181036000830152610fb381610f77565b9050919050565b7f496e76616c6964207472616e7366657220616d6f756e74000000000000000000600082015250565b6000610ff0601783610b3f565b9150610ffb82610fba565b602082019050919050565b6000602082019050818103600083015261101f81610fe3565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061105c601483610b3f565b915061106782611026565b602082019050919050565b6000602082019050818103600083015261108b8161104f565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b60006110c8601683610b3f565b91506110d382611092565b602082019050919050565b600060208201905081810360008301526110f7816110bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061113882610c49565b915061114383610c49565b925082820390508181111561115b5761115a6110fe565b5b92915050565b600061116c82610c49565b915061117783610c49565b925082820190508082111561118f5761118e6110fe565b5b9291505056fea2646970667358221220bc23e6399c9f13925ee43e51f76752c66b0a03a899a743dabe7cf54e549e7d8f64736f6c63430008120033

Source map

57:1995:0:-:0;;;483:185;;;;;;;;;;507:17;;;;;;;;;;;;;;;;;:4;:17;;;;;;:::i;:::-;;534:14;;;;;;;;;;;;;;;;;:6;:14;;;;;;:::i;:::-;;569:2;558:8;;:13;;;;;;;;;;;;;;;;;;607:8;;;;;;;;;;;599:17;;595:2;:21;;;;:::i;:::-;581:11;:35;;;;650:11;;626:9;:21;636:10;626:21;;;;;;;;;;;;;;;:35;;;;57:1995;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:180::-;5282:77;5279:1;5272:88;5379:4;5376:1;5369:15;5403:4;5400:1;5393:15;5420:102;5462:8;5509:5;5506:1;5502:13;5481:34;;5420:102;;;:::o;5528:848::-;5589:5;5596:4;5620:6;5611:15;;5644:5;5635:14;;5658:712;5679:1;5669:8;5666:15;5658:712;;;5774:4;5769:3;5765:14;5759:4;5756:24;5753:50;;;5783:18;;:::i;:::-;5753:50;5833:1;5823:8;5819:16;5816:451;;;6248:4;6241:5;6237:16;6228:25;;5816:451;6298:4;6292;6288:15;6280:23;;6328:32;6351:8;6328:32;:::i;:::-;6316:44;;5658:712;;;5528:848;;;;;;;:::o;6382:1073::-;6436:5;6627:8;6617:40;;6648:1;6639:10;;6650:5;;6617:40;6676:4;6666:36;;6693:1;6684:10;;6695:5;;6666:36;6762:4;6810:1;6805:27;;;;6846:1;6841:191;;;;6755:277;;6805:27;6823:1;6814:10;;6825:5;;;6841:191;6886:3;6876:8;6873:17;6870:43;;;6893:18;;:::i;:::-;6870:43;6942:8;6939:1;6935:16;6926:25;;6977:3;6970:5;6967:14;6964:40;;;6984:18;;:::i;:::-;6964:40;7017:5;;;6755:277;;7141:2;7131:8;7128:16;7122:3;7116:4;7113:13;7109:36;7091:2;7081:8;7078:16;7073:2;7067:4;7064:12;7060:35;7044:111;7041:246;;;7197:8;7191:4;7187:19;7178:28;;7232:3;7225:5;7222:14;7219:40;;;7239:18;;:::i;:::-;7219:40;7272:5;;7041:246;7312:42;7350:3;7340:8;7334:4;7331:1;7312:42;:::i;:::-;7297:57;;;;7386:4;7381:3;7377:14;7370:5;7367:25;7364:51;;;7395:18;;:::i;:::-;7364:51;7444:4;7437:5;7433:16;7424:25;;6382:1073;;;;;;:::o;7461:285::-;7521:5;7545:23;7563:4;7545:23;:::i;:::-;7537:31;;7589:27;7607:8;7589:27;:::i;:::-;7577:39;;7635:104;7672:66;7662:8;7656:4;7635:104;:::i;:::-;7626:113;;7461:285;;;;:::o;57:1995:0:-;;;;;;;