Mainnet
Testnet
HARD Token (HRD)

HARD Token (HRD)

Overview

Max Total supply:
10,000,000
HRD
Holders:
127 addresses
Total transfers:
160

Token info

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

Contract Name:

TestToken

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

0000000000000000000000008bd9820cea7cc3a71b9eaf1fc9af00b3917397d5

Creation bytecode

0x60806040523480156200001157600080fd5b50604051620018d2380380620018d2833981810160405281019062000037919062000324565b6040518060400160405280600a81526020017f4841524420546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f48524400000000000000000000000000000000000000000000000000000000008152506a084595161401484a0000008260049081620000c09190620005d0565b508160059081620000d29190620005d0565b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200012681336200013060201b60201c565b50505050620007d2565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620001c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ba9062000718565b60405180910390fd5b620001d760008284620002b560201b60201c565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000228919062000769565b925050819055508160008082825462000242919062000769565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051620002a99190620007b5565b60405180910390a35050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002ec82620002bf565b9050919050565b620002fe81620002df565b81146200030a57600080fd5b50565b6000815190506200031e81620002f3565b92915050565b6000602082840312156200033d576200033c620002ba565b5b60006200034d848285016200030d565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003d857607f821691505b602082108103620003ee57620003ed62000390565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004587fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000419565b62000464868362000419565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004b1620004ab620004a5846200047c565b62000486565b6200047c565b9050919050565b6000819050919050565b620004cd8362000490565b620004e5620004dc82620004b8565b84845462000426565b825550505050565b600090565b620004fc620004ed565b62000509818484620004c2565b505050565b5b81811015620005315762000525600082620004f2565b6001810190506200050f565b5050565b601f82111562000580576200054a81620003f4565b620005558462000409565b8101602085101562000565578190505b6200057d620005748562000409565b8301826200050e565b50505b505050565b600082821c905092915050565b6000620005a56000198460080262000585565b1980831691505092915050565b6000620005c0838362000592565b9150826002028217905092915050565b620005db8262000356565b67ffffffffffffffff811115620005f757620005f662000361565b5b620006038254620003bf565b6200061082828562000535565b600060209050601f83116001811462000648576000841562000633578287015190505b6200063f8582620005b2565b865550620006af565b601f1984166200065886620003f4565b60005b8281101562000682578489015182556001820191506020850194506020810190506200065b565b86831015620006a257848901516200069e601f89168262000592565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b600062000700600d83620006b7565b91506200070d82620006c8565b602082019050919050565b600060208201905081810360008301526200073381620006f1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000776826200047c565b915062000783836200047c565b92508282019050808211156200079e576200079d6200073a565b5b92915050565b620007af816200047c565b82525050565b6000602082019050620007cc6000830184620007a4565b92915050565b6110f080620007e26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c5a565b60405180910390f35b6100e660048036038101906100e19190610d15565b6102a4565b005b6100f06102b3565b6040516100fd9190610d64565b60405180910390f35b610120600480360381019061011b9190610d7f565b6102bc565b005b61012a61057e565b6040516101379190610d64565b60405180910390f35b61015a60048036038101906101559190610dd2565b610587565b6040516101679190610d64565b60405180910390f35b61018a60048036038101906101859190610dff565b6105d0565b005b610194610744565b6040516101a19190610c5a565b60405180910390f35b6101c460048036038101906101bf9190610d15565b6107d6565b005b6101e060048036038101906101db9190610d15565b6108e4565b005b6101fc60048036038101906101f79190610e3f565b610a53565b6040516102099190610d64565b60405180910390f35b60606004805461022190610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eae565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f2b565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610f97565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610fe6565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d64565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106579061109a565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb919061101a565b92505081905550816000808282546106d3919061101a565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d64565b60405180910390a35050565b60606005805461075390610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eae565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d9061109a565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610fe6565b92505081905550806000808282546108d99190610fe6565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f2b565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e1919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d64565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d64565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2c82610bca565b610c368185610bd5565b9350610c46818560208601610be6565b610c4f81610c10565b840191505092915050565b60006020820190508181036000830152610c748184610c21565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cac82610c81565b9050919050565b610cbc81610ca1565b8114610cc757600080fd5b50565b600081359050610cd981610cb3565b92915050565b6000819050919050565b610cf281610cdf565b8114610cfd57600080fd5b50565b600081359050610d0f81610ce9565b92915050565b60008060408385031215610d2c57610d2b610c7c565b5b6000610d3a85828601610cca565b9250506020610d4b85828601610d00565b9150509250929050565b610d5e81610cdf565b82525050565b6000602082019050610d796000830184610d55565b92915050565b600080600060608486031215610d9857610d97610c7c565b5b6000610da686828701610cca565b9350506020610db786828701610cca565b9250506040610dc886828701610d00565b9150509250925092565b600060208284031215610de857610de7610c7c565b5b6000610df684828501610cca565b91505092915050565b60008060408385031215610e1657610e15610c7c565b5b6000610e2485828601610d00565b9250506020610e3585828601610cca565b9150509250929050565b60008060408385031215610e5657610e55610c7c565b5b6000610e6485828601610cca565b9250506020610e7585828601610cca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec657607f821691505b602082108103610ed957610ed8610e7f565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f15601283610bd5565b9150610f2082610edf565b602082019050919050565b60006020820190508181036000830152610f4481610f08565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f81601083610bd5565b9150610f8c82610f4b565b602082019050919050565b60006020820190508181036000830152610fb081610f74565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ff182610cdf565b9150610ffc83610cdf565b925082820390508181111561101457611013610fb7565b5b92915050565b600061102582610cdf565b915061103083610cdf565b925082820190508082111561104857611047610fb7565b5b92915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b6000611084600d83610bd5565b915061108f8261104e565b602082019050919050565b600060208201905081810360008301526110b381611077565b905091905056fea2646970667358221220e0723cd3f1d781698b5640e94731f08cc87daa9317d92dfa5ceac696b91ac2c864736f6c634300081200330000000000000000000000008bd9820cea7cc3a71b9eaf1fc9af00b3917397d5

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806370a082311161007157806370a082311461014057806394bf804d1461017057806395d89b411461018c5780639dc29fac146101aa578063a9059cbb146101c6578063dd62ed3e146101e2576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100e857806323b872dd14610106578063313ce56714610122575b600080fd5b6100b6610212565b6040516100c39190610c5a565b60405180910390f35b6100e660048036038101906100e19190610d15565b6102a4565b005b6100f06102b3565b6040516100fd9190610d64565b60405180910390f35b610120600480360381019061011b9190610d7f565b6102bc565b005b61012a61057e565b6040516101379190610d64565b60405180910390f35b61015a60048036038101906101559190610dd2565b610587565b6040516101679190610d64565b60405180910390f35b61018a60048036038101906101859190610dff565b6105d0565b005b610194610744565b6040516101a19190610c5a565b60405180910390f35b6101c460048036038101906101bf9190610d15565b6107d6565b005b6101e060048036038101906101db9190610d15565b6108e4565b005b6101fc60048036038101906101f79190610e3f565b610a53565b6040516102099190610d64565b60405180910390f35b60606004805461022190610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461024d90610eae565b801561029a5780601f1061026f5761010080835404028352916020019161029a565b820191906000526020600020905b81548152906001019060200180831161027d57829003601f168201915b5050505050905090565b6102af338383610ada565b5050565b60008054905090565b8281806102c883610587565b1015610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030090610f2b565b60405180910390fd5b610314858585610bc5565b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ca90610f97565b60405180910390fd5b82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045f9190610fe6565b9250508190555082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b59190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461050b919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161056f9190610d64565b60405180910390a35050505050565b60006012905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610660576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106579061109a565b60405180910390fd5b61066c60008284610bc5565b81600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106bb919061101a565b92505081905550816000808282546106d3919061101a565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107389190610d64565b60405180910390a35050565b60606005805461075390610eae565b80601f016020809104026020016040519081016040528092919081815260200182805461077f90610eae565b80156107cc5780601f106107a1576101008083540402835291602001916107cc565b820191906000526020600020905b8154815290600101906020018083116107af57829003601f168201915b5050505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d9061109a565b60405180910390fd5b61087282600083610bc5565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108c19190610fe6565b92505081905550806000808282546108d99190610fe6565b925050819055505050565b3381806108f083610587565b1015610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890610f2b565b60405180910390fd5b61093c338585610bc5565b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461098b9190610fe6565b9250508190555082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109e1919061101a565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a459190610d64565b60405180910390a350505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e83604051610bb89190610d64565b60405180910390a3505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c04578082015181840152602081019050610be9565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c2c82610bca565b610c368185610bd5565b9350610c46818560208601610be6565b610c4f81610c10565b840191505092915050565b60006020820190508181036000830152610c748184610c21565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cac82610c81565b9050919050565b610cbc81610ca1565b8114610cc757600080fd5b50565b600081359050610cd981610cb3565b92915050565b6000819050919050565b610cf281610cdf565b8114610cfd57600080fd5b50565b600081359050610d0f81610ce9565b92915050565b60008060408385031215610d2c57610d2b610c7c565b5b6000610d3a85828601610cca565b9250506020610d4b85828601610d00565b9150509250929050565b610d5e81610cdf565b82525050565b6000602082019050610d796000830184610d55565b92915050565b600080600060608486031215610d9857610d97610c7c565b5b6000610da686828701610cca565b9350506020610db786828701610cca565b9250506040610dc886828701610d00565b9150509250925092565b600060208284031215610de857610de7610c7c565b5b6000610df684828501610cca565b91505092915050565b60008060408385031215610e1657610e15610c7c565b5b6000610e2485828601610d00565b9250506020610e3585828601610cca565b9150509250929050565b60008060408385031215610e5657610e55610c7c565b5b6000610e6485828601610cca565b9250506020610e7585828601610cca565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ec657607f821691505b602082108103610ed957610ed8610e7f565b5b50919050565b7f6e6f7420656e6f75676820746f6b656e73210000000000000000000000000000600082015250565b6000610f15601283610bd5565b9150610f2082610edf565b602082019050919050565b60006020820190508181036000830152610f4481610f08565b9050919050565b7f636865636b20616c6c6f77616e63652100000000000000000000000000000000600082015250565b6000610f81601083610bd5565b9150610f8c82610f4b565b602082019050919050565b60006020820190508181036000830152610fb081610f74565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ff182610cdf565b9150610ffc83610cdf565b925082820390508181111561101457611013610fb7565b5b92915050565b600061102582610cdf565b915061103083610cdf565b925082820190508082111561104857611047610fb7565b5b92915050565b7f6e6f7420616e206f776e65722100000000000000000000000000000000000000600082015250565b6000611084600d83610bd5565b915061108f8261104e565b602082019050919050565b600060208201905081810360008301526110b381611077565b905091905056fea2646970667358221220e0723cd3f1d781698b5640e94731f08cc87daa9317d92dfa5ceac696b91ac2c864736f6c63430008120033

Source map

2676:111:0:-:0;;;2709:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;828:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2763:15;917:5;909;:13;;;;;;:::i;:::-;;937:7;927;:17;;;;;;:::i;:::-;;957:10;949:5;;:18;;;;;;;;;;;;;;;;;;972:31;977:13;992:10;972:4;;;:31;;:::i;:::-;828:181;;;2709:73;2676:111;;1354:226;789:5;;;;;;;;;;;775:19;;:10;:19;;;767:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;1420:49:::1;1449:1;1453:7;1462:6;1420:20;;;:49;;:::i;:::-;1495:6;1474:8;:17;1483:7;1474:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;1521:6;1506:11;::::0;:21:::1;;;;;;;:::i;:::-;;;;;;;;1558:7;1537:37;;1554:1;1537:37;;;1567:6;1537:37;;;;;;:::i;:::-;;;;;;;;1354:226:::0;;:::o;2565:102::-;;;;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;1202:99::-;1254:6;1288:5;1282:12;1272:22;;1202:99;;;:::o;1307:180::-;1355:77;1352:1;1345:88;1452:4;1449:1;1442:15;1476:4;1473:1;1466:15;1493:180;1541:77;1538:1;1531:88;1638:4;1635:1;1628:15;1662:4;1659:1;1652:15;1679:320;1723:6;1760:1;1754:4;1750:12;1740:22;;1807:1;1801:4;1797:12;1828:18;1818:81;;1884:4;1876:6;1872:17;1862:27;;1818:81;1946:2;1938:6;1935:14;1915:18;1912:38;1909:84;;1965:18;;:::i;:::-;1909:84;1730:269;1679:320;;;:::o;2005:141::-;2054:4;2077:3;2069:11;;2100:3;2097:1;2090:14;2134:4;2131:1;2121:18;2113:26;;2005:141;;;:::o;2152:93::-;2189:6;2236:2;2231;2224:5;2220:14;2216:23;2206:33;;2152:93;;;:::o;2251:107::-;2295:8;2345:5;2339:4;2335:16;2314:37;;2251:107;;;;:::o;2364:393::-;2433:6;2483:1;2471:10;2467:18;2506:97;2536:66;2525:9;2506:97;:::i;:::-;2624:39;2654:8;2643:9;2624:39;:::i;:::-;2612:51;;2696:4;2692:9;2685:5;2681:21;2672:30;;2745:4;2735:8;2731:19;2724:5;2721:30;2711:40;;2440:317;;2364:393;;;;;:::o;2763:77::-;2800:7;2829:5;2818:16;;2763:77;;;:::o;2846:60::-;2874:3;2895:5;2888:12;;2846:60;;;:::o;2912:142::-;2962:9;2995:53;3013:34;3022:24;3040:5;3022:24;:::i;:::-;3013:34;:::i;:::-;2995:53;:::i;:::-;2982:66;;2912:142;;;:::o;3060:75::-;3103:3;3124:5;3117:12;;3060:75;;;:::o;3141:269::-;3251:39;3282:7;3251:39;:::i;:::-;3312:91;3361:41;3385:16;3361:41;:::i;:::-;3353:6;3346:4;3340:11;3312:91;:::i;:::-;3306:4;3299:105;3217:193;3141:269;;;:::o;3416:73::-;3461:3;3416:73;:::o;3495:189::-;3572:32;;:::i;:::-;3613:65;3671:6;3663;3657:4;3613:65;:::i;:::-;3548:136;3495:189;;:::o;3690:186::-;3750:120;3767:3;3760:5;3757:14;3750:120;;;3821:39;3858:1;3851:5;3821:39;:::i;:::-;3794:1;3787:5;3783:13;3774:22;;3750:120;;;3690:186;;:::o;3882:543::-;3983:2;3978:3;3975:11;3972:446;;;4017:38;4049:5;4017:38;:::i;:::-;4101:29;4119:10;4101:29;:::i;:::-;4091:8;4087:44;4284:2;4272:10;4269:18;4266:49;;;4305:8;4290:23;;4266:49;4328:80;4384:22;4402:3;4384:22;:::i;:::-;4374:8;4370:37;4357:11;4328:80;:::i;:::-;3987:431;;3972:446;3882:543;;;:::o;4431:117::-;4485:8;4535:5;4529:4;4525:16;4504:37;;4431:117;;;;:::o;4554:169::-;4598:6;4631:51;4679:1;4675:6;4667:5;4664:1;4660:13;4631:51;:::i;:::-;4627:56;4712:4;4706;4702:15;4692:25;;4605:118;4554:169;;;;:::o;4728:295::-;4804:4;4950:29;4975:3;4969:4;4950:29;:::i;:::-;4942:37;;5012:3;5009:1;5005:11;4999:4;4996:21;4988:29;;4728:295;;;;:::o;5028:1395::-;5145:37;5178:3;5145:37;:::i;:::-;5247:18;5239:6;5236:30;5233:56;;;5269:18;;:::i;:::-;5233:56;5313:38;5345:4;5339:11;5313:38;:::i;:::-;5398:67;5458:6;5450;5444:4;5398:67;:::i;:::-;5492:1;5516:4;5503:17;;5548:2;5540:6;5537:14;5565:1;5560:618;;;;6222:1;6239:6;6236:77;;;6288:9;6283:3;6279:19;6273:26;6264:35;;6236:77;6339:67;6399:6;6392:5;6339:67;:::i;:::-;6333:4;6326:81;6195:222;5530:887;;5560:618;5612:4;5608:9;5600:6;5596:22;5646:37;5678:4;5646:37;:::i;:::-;5705:1;5719:208;5733:7;5730:1;5727:14;5719:208;;;5812:9;5807:3;5803:19;5797:26;5789:6;5782:42;5863:1;5855:6;5851:14;5841:24;;5910:2;5899:9;5895:18;5882:31;;5756:4;5753:1;5749:12;5744:17;;5719:208;;;5955:6;5946:7;5943:19;5940:179;;;6013:9;6008:3;6004:19;5998:26;6056:48;6098:4;6090:6;6086:17;6075:9;6056:48;:::i;:::-;6048:6;6041:64;5963:156;5940:179;6165:1;6161;6153:6;6149:14;6145:22;6139:4;6132:36;5567:611;;;5530:887;;5120:1303;;;5028:1395;;:::o;6429:169::-;6513:11;6547:6;6542:3;6535:19;6587:4;6582:3;6578:14;6563:29;;6429:169;;;;:::o;6604:163::-;6744:15;6740:1;6732:6;6728:14;6721:39;6604:163;:::o;6773:366::-;6915:3;6936:67;7000:2;6995:3;6936:67;:::i;:::-;6929:74;;7012:93;7101:3;7012:93;:::i;:::-;7130:2;7125:3;7121:12;7114:19;;6773:366;;;:::o;7145:419::-;7311:4;7349:2;7338:9;7334:18;7326:26;;7398:9;7392:4;7388:20;7384:1;7373:9;7369:17;7362:47;7426:131;7552:4;7426:131;:::i;:::-;7418:139;;7145:419;;;:::o;7570:180::-;7618:77;7615:1;7608:88;7715:4;7712:1;7705:15;7739:4;7736:1;7729:15;7756:191;7796:3;7815:20;7833:1;7815:20;:::i;:::-;7810:25;;7849:20;7867:1;7849:20;:::i;:::-;7844:25;;7892:1;7889;7885:9;7878:16;;7913:3;7910:1;7907:10;7904:36;;;7920:18;;:::i;:::-;7904:36;7756:191;;;;:::o;7953:118::-;8040:24;8058:5;8040:24;:::i;:::-;8035:3;8028:37;7953:118;;:::o;8077:222::-;8170:4;8208:2;8197:9;8193:18;8185:26;;8221:71;8289:1;8278:9;8274:17;8265:6;8221:71;:::i;:::-;8077:222;;;;:::o;2676:111:0:-;;;;;;;