4 txs
4 calls
constructor
constructor(string name_, string symbol_)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfAt
viewfunction balanceOfAt(address account, uint256 snapshotId) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
paused
viewfunction paused() view returns (bool)
PAUSER_ROLE
viewfunction PAUSER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupplyAt
viewfunction totalSupplyAt(uint256 snapshotId) view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
burnFrom
nonpayablefunction burnFrom(address account, uint256 amount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
mint
nonpayablefunction mint(address to, uint256 amount)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Snapshot
event Snapshot(uint256 id)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b506040516200485d3803806200485d833981810160405281019062000037919062000a59565b818181818160059080519060200190620000539291906200092b565b5080600690805190602001906200006c9291906200092b565b5050506000600760006101000a81548160ff021916908315150217905550620000ae6000801b620000a26200015760201b60201c565b6200015f60201b60201c565b620000ef7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620000e36200015760201b60201c565b6200015f60201b60201c565b620001307f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a620001246200015760201b60201c565b6200015f60201b60201c565b50506200014f336a52b7d2dcc80cd2e40000006200017560201b60201c565b505062000eab565b600033905090565b620001718282620002ef60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001df9062000b3d565b60405180910390fd5b620001fc600083836200033760201b60201c565b806004600082825462000210919062000c0e565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000268919062000c0e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002cf919062000b81565b60405180910390a3620002eb600083836200036c60201b60201c565b5050565b6200030682826200037160201b620010301760201c565b6200033281600160008581526020019081526020016000206200046260201b620011101790919060201c565b505050565b6200034f8383836200049a60201b620011401760201c565b62000367838383620004b760201b620011501760201c565b505050565b505050565b620003838282620005b260201b60201c565b6200045e57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004036200015760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000492836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200061c60201b60201c565b905092915050565b620004b28383836200069660201b6200120a1760201c565b505050565b620004cf8383836200049a60201b620011401760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200052c5762000516826200070660201b60201c565b620005266200076960201b60201c565b620005ad565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620005895762000573836200070660201b60201c565b620005836200076960201b60201c565b620005ac565b6200059a836200070660201b60201c565b620005ab826200070660201b60201c565b5b5b505050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006200063083836200078d60201b60201c565b6200068b57826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000690565b600090505b92915050565b620006ae838383620007b060201b620012621760201c565b620006be620007b560201b60201c565b1562000701576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f89062000b5f565b60405180910390fd5b505050565b62000766600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200075a83620007cc60201b60201c565b6200081560201b60201c565b50565b6200078b60096200077f620008a160201b60201c565b6200081560201b60201c565b565b600080836001016000848152602001908152602001600020541415905092915050565b505050565b6000600760009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062000827620008ab60201b60201c565b9050806200083e84600001620008c960201b60201c565b10156200089c5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000600454905090565b6000620008c4600b6200091d60201b620012671760201c565b905090565b60008082805490501415620008e2576000905062000918565b8160018380549050620008f6919062000c6b565b815481106200090a576200090962000db0565b5b906000526020600020015490505b919050565b600081600001549050919050565b828054620009399062000ce6565b90600052602060002090601f0160209004810192826200095d5760008555620009a9565b82601f106200097857805160ff1916838001178555620009a9565b82800160010185558215620009a9579182015b82811115620009a85782518255916020019190600101906200098b565b5b509050620009b89190620009bc565b5090565b5b80821115620009d7576000816000905550600101620009bd565b5090565b6000620009f2620009ec8462000bc7565b62000b9e565b90508281526020810184848401111562000a115762000a1062000e13565b5b62000a1e84828562000cb0565b509392505050565b600082601f83011262000a3e5762000a3d62000e0e565b5b815162000a50848260208601620009db565b91505092915050565b6000806040838503121562000a735762000a7262000e1d565b5b600083015167ffffffffffffffff81111562000a945762000a9362000e18565b5b62000aa28582860162000a26565b925050602083015167ffffffffffffffff81111562000ac65762000ac562000e18565b5b62000ad48582860162000a26565b9150509250929050565b600062000aed601f8362000bfd565b915062000afa8262000e33565b602082019050919050565b600062000b14602a8362000bfd565b915062000b218262000e5c565b604082019050919050565b62000b378162000ca6565b82525050565b6000602082019050818103600083015262000b588162000ade565b9050919050565b6000602082019050818103600083015262000b7a8162000b05565b9050919050565b600060208201905062000b98600083018462000b2c565b92915050565b600062000baa62000bbd565b905062000bb8828262000d1c565b919050565b6000604051905090565b600067ffffffffffffffff82111562000be55762000be462000ddf565b5b62000bf08262000e22565b9050602081019050919050565b600082825260208201905092915050565b600062000c1b8262000ca6565b915062000c288362000ca6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c605762000c5f62000d52565b5b828201905092915050565b600062000c788262000ca6565b915062000c858362000ca6565b92508282101562000c9b5762000c9a62000d52565b5b828203905092915050565b6000819050919050565b60005b8381101562000cd057808201518184015260208101905062000cb3565b8381111562000ce0576000848401525b50505050565b6000600282049050600182168062000cff57607f821691505b6020821081141562000d165762000d1562000d81565b5b50919050565b62000d278262000e22565b810181811067ffffffffffffffff8211171562000d495762000d4862000ddf565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6139a28062000ebb6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806370a0823111610104578063a217fddf116100a2578063d539139311610071578063d5391393146105a3578063d547741f146105c1578063dd62ed3e146105dd578063e63ab1e91461060d576101da565b8063a217fddf146104f5578063a457c2d714610513578063a9059cbb14610543578063ca15c87314610573576101da565b80639010d07c116100de5780639010d07c1461044757806391d148541461047757806395d89b41146104a7578063981b24d0146104c5576101da565b806370a08231146103f157806379cc6790146104215780638456cb591461043d576101da565b8063313ce5671161017c57806340c10f191161014b57806340c10f191461036b57806342966c68146103875780634ee2cd7e146103a35780635c975abb146103d3576101da565b8063313ce567146102f757806336568abe1461031557806339509351146103315780633f4ba83a14610361576101da565b806318160ddd116101b857806318160ddd1461025d57806323b872dd1461027b578063248a9ca3146102ab5780632f2ff15d146102db576101da565b806301ffc9a7146101df57806306fdde031461020f578063095ea7b31461022d575b600080fd5b6101f960048036038101906101f491906127ea565b61062b565b6040516102069190612c73565b60405180910390f35b6102176106a5565b6040516102249190612ca9565b60405180910390f35b610247600480360381019061024291906126fd565b610737565b6040516102549190612c73565b60405180910390f35b610265610755565b6040516102729190612f6b565b60405180910390f35b610295600480360381019061029091906126aa565b61075f565b6040516102a29190612c73565b60405180910390f35b6102c560048036038101906102c0919061273d565b610857565b6040516102d29190612c8e565b60405180910390f35b6102f560048036038101906102f0919061276a565b610876565b005b6102ff61089f565b60405161030c9190612f86565b60405180910390f35b61032f600480360381019061032a919061276a565b6108a8565b005b61034b600480360381019061034691906126fd565b61092b565b6040516103589190612c73565b60405180910390f35b6103696109d7565b005b610385600480360381019061038091906126fd565b610a51565b005b6103a1600480360381019061039c9190612817565b610acf565b005b6103bd60048036038101906103b891906126fd565b610ae3565b6040516103ca9190612f6b565b60405180910390f35b6103db610b53565b6040516103e89190612c73565b60405180910390f35b61040b6004803603810190610406919061263d565b610b6a565b6040516104189190612f6b565b60405180910390f35b61043b600480360381019061043691906126fd565b610bb3565b005b610445610c2e565b005b610461600480360381019061045c91906127aa565b610ca8565b60405161046e9190612c58565b60405180910390f35b610491600480360381019061048c919061276a565b610cd7565b60405161049e9190612c73565b60405180910390f35b6104af610d41565b6040516104bc9190612ca9565b60405180910390f35b6104df60048036038101906104da9190612817565b610dd3565b6040516104ec9190612f6b565b60405180910390f35b6104fd610e04565b60405161050a9190612c8e565b60405180910390f35b61052d600480360381019061052891906126fd565b610e0b565b60405161053a9190612c73565b60405180910390f35b61055d600480360381019061055891906126fd565b610ef6565b60405161056a9190612c73565b60405180910390f35b61058d6004803603810190610588919061273d565b610f14565b60405161059a9190612f6b565b60405180910390f35b6105ab610f38565b6040516105b89190612c8e565b60405180910390f35b6105db60048036038101906105d6919061276a565b610f5c565b005b6105f760048036038101906105f2919061266a565b610f85565b6040516106049190612f6b565b60405180910390f35b61061561100c565b6040516106229190612c8e565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061069e575061069d82611275565b5b9050919050565b6060600580546106b4906131c5565b80601f01602080910402602001604051908101604052809291908181526020018280546106e0906131c5565b801561072d5780601f106107025761010080835404028352916020019161072d565b820191906000526020600020905b81548152906001019060200180831161071057829003601f168201915b5050505050905090565b600061074b6107446112ef565b84846112f7565b6001905092915050565b6000600454905090565b600061076c8484846114c2565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107b76112ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612deb565b60405180910390fd5b61084b856108436112ef565b8584036112f7565b60019150509392505050565b6000806000838152602001908152602001600020600101549050919050565b61087f82610857565b6108908161088b6112ef565b611746565b61089a83836117e3565b505050565b60006012905090565b6108b06112ef565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461091d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091490612f0b565b60405180910390fd5b6109278282611817565b5050565b60006109cd6109386112ef565b8484600360006109466112ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109c89190612fc8565b6112f7565b6001905092915050565b610a087f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610a036112ef565b610cd7565b610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90612d6b565b60405180910390fd5b610a4f61184b565b565b610a827f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a7d6112ef565b610cd7565b610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab890612e0b565b60405180910390fd5b610acb82826118ed565b5050565b610ae0610ada6112ef565b82611a4e565b50565b6000806000610b3084600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c27565b9150915081610b4757610b4285610b6a565b610b49565b805b9250505092915050565b6000600760009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610bc683610bc16112ef565b610f85565b905081811015610c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0290612e2b565b60405180910390fd5b610c1f83610c176112ef565b8484036112f7565b610c298383611a4e565b505050565b610c5f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610c5a6112ef565b610cd7565b610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590612eab565b60405180910390fd5b610ca6611d1d565b565b6000610ccf8260016000868152602001908152602001600020611dc090919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060068054610d50906131c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7c906131c5565b8015610dc95780601f10610d9e57610100808354040283529160200191610dc9565b820191906000526020600020905b815481529060010190602001808311610dac57829003601f168201915b5050505050905090565b6000806000610de3846009611c27565b9150915081610df957610df4610755565b610dfb565b805b92505050919050565b6000801b81565b60008060036000610e1a6112ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ece90612eeb565b60405180910390fd5b610eeb610ee26112ef565b858584036112f7565b600191505092915050565b6000610f0a610f036112ef565b84846114c2565b6001905092915050565b6000610f3160016000848152602001908152602001600020611dda565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610f6582610857565b610f7681610f716112ef565b611746565b610f808383611817565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61103a8282610cd7565b61110c57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506110b16112ef565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611138836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611def565b905092915050565b61114b83838361120a565b505050565b61115b838383611140565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a65761119982611e5f565b6111a1611eb2565b611205565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f1576111e483611e5f565b6111ec611eb2565b611204565b6111fa83611e5f565b61120382611e5f565b5b5b505050565b611215838383611262565b61121d610b53565b1561125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490612f4b565b60405180910390fd5b505050565b505050565b600081600001549050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112e857506112e782611ec6565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135e90612e8b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ce90612d8b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b59190612f6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152990612e6b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159990612d0b565b60405180910390fd5b6115ad838383611f30565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b90612dab565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116c99190612fc8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161172d9190612f6b565b60405180910390a3611740848484611f4b565b50505050565b6117508282610cd7565b6117df576117758173ffffffffffffffffffffffffffffffffffffffff166014611f50565b6117838360001c6020611f50565b604051602001611794929190612c1e565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d69190612ca9565b60405180910390fd5b5050565b6117ed8282611030565b611812816001600085815260200190815260200160002061111090919063ffffffff16565b505050565b611821828261218c565b611846816001600085815260200190815260200160002061226d90919063ffffffff16565b505050565b611853610b53565b611892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188990612d2b565b60405180910390fd5b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6118d66112ef565b6040516118e39190612c58565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490612f2b565b60405180910390fd5b61196960008383611f30565b806004600082825461197b9190612fc8565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d19190612fc8565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a369190612f6b565b60405180910390a3611a4a60008383611f4b565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab590612e4b565b60405180910390fd5b611aca82600083611f30565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4890612d4b565b60405180910390fd5b818103600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160046000828254611ba991906130a9565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c0e9190612f6b565b60405180910390a3611c2283600084611f4b565b505050565b60008060008411611c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6490612ecb565b60405180910390fd5b611c7561229d565b841115611cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cae90612ccb565b60405180910390fd5b6000611ccf85856000016122ae90919063ffffffff16565b90508360000180549050811415611ced576000809250925050611d16565b6001846001018281548110611d0557611d046132b3565b5b906000526020600020015492509250505b9250929050565b611d25610b53565b15611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c90612dcb565b60405180910390fd5b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611da96112ef565b604051611db69190612c58565b60405180910390a1565b6000611dcf8360000183612388565b60001c905092915050565b6000611de8826000016123b3565b9050919050565b6000611dfb83836123c4565b611e54578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611e59565b600090505b92915050565b611eaf600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611eaa83610b6a565b6123e7565b50565b611ec46009611ebf610755565b6123e7565b565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f3b838383611140565b611f46838383611150565b505050565b505050565b606060006002836002611f63919061304f565b611f6d9190612fc8565b67ffffffffffffffff811115611f8657611f856132e2565b5b6040519080825280601f01601f191660200182016040528015611fb85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611ff057611fef6132b3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612054576120536132b3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612094919061304f565b61209e9190612fc8565b90505b600181111561213e577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106120e0576120df6132b3565b5b1a60f81b8282815181106120f7576120f66132b3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806121379061319b565b90506120a1565b5060008414612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990612ceb565b60405180910390fd5b8091505092915050565b6121968282610cd7565b1561226957600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061220e6112ef565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612295836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612462565b905092915050565b60006122a9600b611267565b905090565b600080838054905014156122c55760009050612382565b600080848054905090505b808210156123295760006122e48383612576565b9050848682815481106122fa576122f96132b3565b5b9060005260206000200154111561231357809150612323565b6001816123209190612fc8565b92505b506122d0565b6000821180156123615750838560018461234391906130a9565b81548110612354576123536132b3565b5b9060005260206000200154145b1561237c5760018261237391906130a9565b92505050612382565b81925050505b92915050565b60008260000182815481106123a05761239f6132b3565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60006123f161229d565b9050806124008460000161259c565b101561245d5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000808360010160008481526020019081526020016000205490506000811461256a57600060018261249491906130a9565b90506000600186600001805490506124ac91906130a9565b905081811461251b5760008660000182815481106124cd576124cc6132b3565b5b90600052602060002001549050808760000184815481106124f1576124f06132b3565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061252f5761252e613284565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612570565b60009150505b92915050565b60006002828418612587919061301e565b8284166125949190612fc8565b905092915050565b600080828054905014156125b357600090506125e4565b81600183805490506125c591906130a9565b815481106125d6576125d56132b3565b5b906000526020600020015490505b919050565b6000813590506125f881613910565b92915050565b60008135905061260d81613927565b92915050565b6000813590506126228161393e565b92915050565b60008135905061263781613955565b92915050565b60006020828403121561265357612652613311565b5b6000612661848285016125e9565b91505092915050565b6000806040838503121561268157612680613311565b5b600061268f858286016125e9565b92505060206126a0858286016125e9565b9150509250929050565b6000806000606084860312156126c3576126c2613311565b5b60006126d1868287016125e9565b93505060206126e2868287016125e9565b92505060406126f386828701612628565b9150509250925092565b6000806040838503121561271457612713613311565b5b6000612722858286016125e9565b925050602061273385828601612628565b9150509250929050565b60006020828403121561275357612752613311565b5b6000612761848285016125fe565b91505092915050565b6000806040838503121561278157612780613311565b5b600061278f858286016125fe565b92505060206127a0858286016125e9565b9150509250929050565b600080604083850312156127c1576127c0613311565b5b60006127cf858286016125fe565b92505060206127e085828601612628565b9150509250929050565b600060208284031215612800576127ff613311565b5b600061280e84828501612613565b91505092915050565b60006020828403121561282d5761282c613311565b5b600061283b84828501612628565b91505092915050565b61284d816130dd565b82525050565b61285c816130ef565b82525050565b61286b816130fb565b82525050565b600061287c82612fa1565b6128868185612fac565b9350612896818560208601613168565b61289f81613316565b840191505092915050565b60006128b582612fa1565b6128bf8185612fbd565b93506128cf818560208601613168565b80840191505092915050565b60006128e8601d83612fac565b91506128f382613327565b602082019050919050565b600061290b602083612fac565b915061291682613350565b602082019050919050565b600061292e602383612fac565b915061293982613379565b604082019050919050565b6000612951601483612fac565b915061295c826133c8565b602082019050919050565b6000612974602283612fac565b915061297f826133f1565b604082019050919050565b6000612997603983612fac565b91506129a282613440565b604082019050919050565b60006129ba602283612fac565b91506129c58261348f565b604082019050919050565b60006129dd602683612fac565b91506129e8826134de565b604082019050919050565b6000612a00601083612fac565b9150612a0b8261352d565b602082019050919050565b6000612a23602883612fac565b9150612a2e82613556565b604082019050919050565b6000612a46603683612fac565b9150612a51826135a5565b604082019050919050565b6000612a69602483612fac565b9150612a74826135f4565b604082019050919050565b6000612a8c602183612fac565b9150612a9782613643565b604082019050919050565b6000612aaf602583612fac565b9150612aba82613692565b604082019050919050565b6000612ad2602483612fac565b9150612add826136e1565b604082019050919050565b6000612af5603783612fac565b9150612b0082613730565b604082019050919050565b6000612b18601683612fac565b9150612b238261377f565b602082019050919050565b6000612b3b601783612fbd565b9150612b46826137a8565b601782019050919050565b6000612b5e602583612fac565b9150612b69826137d1565b604082019050919050565b6000612b81601183612fbd565b9150612b8c82613820565b601182019050919050565b6000612ba4602f83612fac565b9150612baf82613849565b604082019050919050565b6000612bc7601f83612fac565b9150612bd282613898565b602082019050919050565b6000612bea602a83612fac565b9150612bf5826138c1565b604082019050919050565b612c0981613151565b82525050565b612c188161315b565b82525050565b6000612c2982612b2e565b9150612c3582856128aa565b9150612c4082612b74565b9150612c4c82846128aa565b91508190509392505050565b6000602082019050612c6d6000830184612844565b92915050565b6000602082019050612c886000830184612853565b92915050565b6000602082019050612ca36000830184612862565b92915050565b60006020820190508181036000830152612cc38184612871565b905092915050565b60006020820190508181036000830152612ce4816128db565b9050919050565b60006020820190508181036000830152612d04816128fe565b9050919050565b60006020820190508181036000830152612d2481612921565b9050919050565b60006020820190508181036000830152612d4481612944565b9050919050565b60006020820190508181036000830152612d6481612967565b9050919050565b60006020820190508181036000830152612d848161298a565b9050919050565b60006020820190508181036000830152612da4816129ad565b9050919050565b60006020820190508181036000830152612dc4816129d0565b9050919050565b60006020820190508181036000830152612de4816129f3565b9050919050565b60006020820190508181036000830152612e0481612a16565b9050919050565b60006020820190508181036000830152612e2481612a39565b9050919050565b60006020820190508181036000830152612e4481612a5c565b9050919050565b60006020820190508181036000830152612e6481612a7f565b9050919050565b60006020820190508181036000830152612e8481612aa2565b9050919050565b60006020820190508181036000830152612ea481612ac5565b9050919050565b60006020820190508181036000830152612ec481612ae8565b9050919050565b60006020820190508181036000830152612ee481612b0b565b9050919050565b60006020820190508181036000830152612f0481612b51565b9050919050565b60006020820190508181036000830152612f2481612b97565b9050919050565b60006020820190508181036000830152612f4481612bba565b9050919050565b60006020820190508181036000830152612f6481612bdd565b9050919050565b6000602082019050612f806000830184612c00565b92915050565b6000602082019050612f9b6000830184612c0f565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000612fd382613151565b9150612fde83613151565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613013576130126131f7565b5b828201905092915050565b600061302982613151565b915061303483613151565b92508261304457613043613226565b5b828204905092915050565b600061305a82613151565b915061306583613151565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561309e5761309d6131f7565b5b828202905092915050565b60006130b482613151565b91506130bf83613151565b9250828210156130d2576130d16131f7565b5b828203905092915050565b60006130e882613131565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561318657808201518184015260208101905061316b565b83811115613195576000848401525b50505050565b60006131a682613151565b915060008214156131ba576131b96131f7565b5b600182039050919050565b600060028204905060018216806131dd57607f821691505b602082108114156131f1576131f0613255565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f20756e706175736500000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f7665206d696e74657220726f6c6520746f206d696e7400000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305072657365744d696e7465725061757365723a206d75737420686160008201527f76652070617573657220726f6c6520746f207061757365000000000000000000602082015250565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b613919816130dd565b811461392457600080fd5b50565b613930816130fb565b811461393b57600080fd5b50565b61394781613105565b811461395257600080fd5b50565b61395e81613151565b811461396957600080fd5b5056fea2646970667358221220332f1f3a1c28ed432e762d336f439a31e04a5a55d7e22f4f2574e3f4b4ccd0db64736f6c63430008070033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000005423442495a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034234420000000000000000000000000000000000000000000000000000000000