ETH Price: $1,552.92 (-2.56%)

Token

Qwertycoin (QWC)
 

Overview

Max Total Supply

184,467,440 QWC

Holders

39 (0.00%)

Transfers

-
0 (0%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Qwertycoin (QWC) is a decentralized, open-source cryptocurrency originally based on CryptoNote. The ERC-20 QWC token represents the next evolution of the project, enabling seamless integration with Ethereum-based ecosystems.

# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

Qwertycoin

Compiler Version
v0.8.30+commit.73712a01
Optimization Enabled
No with 200 runs
Other Settings
paris EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CheckpointUnorderedInsertion","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"ERC20ExceededSafeSupply","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"ERC2612ExpiredSignature","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC2612InvalidSigner","type":"error"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"name":"ERC5805FutureLookup","type":"error"},{"inputs":[],"name":"ERC6372InconsistentClock","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"name":"InvalidAccountNonce","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"name":"VotesExpiredSignature","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousVotes","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newVotes","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"name":"checkpoints","outputs":[{"components":[{"internalType":"uint48","name":"_key","type":"uint48"},{"internalType":"uint208","name":"_value","type":"uint208"}],"internalType":"struct Checkpoints.Checkpoint208","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
61016060405234801561001157600080fd5b506040516152e13803806152e183398181016040528101906100339190611075565b6040518060400160405280600a81526020017f517765727479636f696e00000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f517765727479636f696e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5157430000000000000000000000000000000000000000000000000000000000815250816003908161011b91906112f2565b50806004908161012b91906112f2565b50505061014260058361021760201b90919060201c565b610120818152505061015e60068261021760201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a0818152505061019b61026760201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050610211816101eb6102c260201b60201c565b600a6101f79190611533565b630afebff0610206919061157e565b6102cb60201b60201c565b50611a10565b6000602083511015610239576102328361035360201b60201c565b9050610261565b82610249836103bb60201b60201c565b600001908161025891906112f2565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016102a79594939291906115f7565b60405160208183030381529060405280519060200120905090565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361033d5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610334919061164a565b60405180910390fd5b61034f600083836103c560201b60201c565b5050565b600080829050601f815111156103a057826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161039791906116ea565b60405180910390fd5b8051816103ac9061173c565b60001c1760001b915050919050565b6000819050919050565b6103d68383836103db60201b60201c565b505050565b6103ec8383836104a460201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361048e5760006104306106c960201b60201c565b905060006104426106d360201b60201c565b90508082111561048b5781816040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004016104829291906117a3565b60405180910390fd5b50505b61049f8383836106f760201b60201c565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f65780600260008282546104ea91906117cc565b925050819055506105c9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610582578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161057993929190611800565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610612578060026000828254039250508190555061065f565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516106bc9190611837565b60405180910390a3505050565b6000600254905090565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361075757610754600a6107e960201b610d4017610749846107ff60201b60201c565b61086d60201b60201c565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107b7576107b4600a6108b660201b610d56176107a9846107ff60201b60201c565b61086d60201b60201c565b50505b6107e46107c9846108cc60201b60201c565b6107d8846108cc60201b60201c565b8361093560201b60201c565b505050565b600081836107f79190611878565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156108655760d0826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161085c929190611901565b60405180910390fd5b819050919050565b6000806108aa610881610bd460201b60201c565b61089a61089388610be960201b60201c565b868860201c565b87610c5760201b9092919060201c565b91509150935093915050565b600081836108c4919061192a565b905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156109715750600081115b15610bcf57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610aa257600080610a13600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206108b660201b610d5617610a08866107ff60201b60201c565b61086d60201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610a979291906117a3565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610bce57600080610b3f600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206107e960201b610d4017610b34866107ff60201b60201c565b61086d60201b60201c565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610bc39291906117a3565b60405180910390a250505b5b505050565b6000610be4610c7a60201b60201c565b905090565b6000808260000180549050905060008114610c4c57610c1d83600001600183610c129190611978565b610c9060201b60201c565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16610c4f565b60005b915050919050565b600080610c6e856000018585610ca560201b60201c565b91509150935093915050565b6000610c8b43610fb860201b60201c565b905090565b60008260005281602060002001905092915050565b6000806000858054905090506000811115610ec8576000610cd887600184610ccd9190611978565b610c9060201b60201c565b905060008160000160009054906101000a900465ffffffffffff16905060008260000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1690508765ffffffffffff168265ffffffffffff161115610d6e576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff1603610dd957868360000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550610eb9565b8860405180604001604052808a65ffffffffffff1681526020018979ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80879550955050505050610fb0565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b600065ffffffffffff801682111561100a576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016110019291906119e7565b60405180910390fd5b819050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061104282611017565b9050919050565b61105281611037565b811461105d57600080fd5b50565b60008151905061106f81611049565b92915050565b60006020828403121561108b5761108a611012565b5b600061109984828501611060565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061112357607f821691505b602082108103611136576111356110dc565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261119e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611161565b6111a88683611161565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006111ef6111ea6111e5846111c0565b6111ca565b6111c0565b9050919050565b6000819050919050565b611209836111d4565b61121d611215826111f6565b84845461116e565b825550505050565b600090565b611232611225565b61123d818484611200565b505050565b5b818110156112615761125660008261122a565b600181019050611243565b5050565b601f8211156112a6576112778161113c565b61128084611151565b8101602085101561128f578190505b6112a361129b85611151565b830182611242565b50505b505050565b600082821c905092915050565b60006112c9600019846008026112ab565b1980831691505092915050565b60006112e283836112b8565b9150826002028217905092915050565b6112fb826110a2565b67ffffffffffffffff811115611314576113136110ad565b5b61131e825461110b565b611329828285611265565b600060209050601f83116001811461135c576000841561134a578287015190505b61135485826112d6565b8655506113bc565b601f19841661136a8661113c565b60005b828110156113925784890151825560018201915060208501945060208101905061136d565b868310156113af57848901516113ab601f8916826112b8565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561144a57808604811115611426576114256113c4565b5b60018516156114355780820291505b8081029050611443856113f3565b945061140a565b94509492505050565b600082611463576001905061151f565b81611471576000905061151f565b81600181146114875760028114611491576114c0565b600191505061151f565b60ff8411156114a3576114a26113c4565b5b8360020a9150848211156114ba576114b96113c4565b5b5061151f565b5060208310610133831016604e8410600b84101617156114f55782820a9050838111156114f0576114ef6113c4565b5b61151f565b6115028484846001611400565b92509050818404811115611519576115186113c4565b5b81810290505b9392505050565b600060ff82169050919050565b600061153e826111c0565b915061154983611526565b92506115767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611453565b905092915050565b6000611589826111c0565b9150611594836111c0565b92508282026115a2816111c0565b915082820484148315176115b9576115b86113c4565b5b5092915050565b6000819050919050565b6115d3816115c0565b82525050565b6115e2816111c0565b82525050565b6115f181611037565b82525050565b600060a08201905061160c60008301886115ca565b61161960208301876115ca565b61162660408301866115ca565b61163360608301856115d9565b61164060808301846115e8565b9695505050505050565b600060208201905061165f60008301846115e8565b92915050565b600082825260208201905092915050565b60005b83811015611694578082015181840152602081019050611679565b60008484015250505050565b6000601f19601f8301169050919050565b60006116bc826110a2565b6116c68185611665565b93506116d6818560208601611676565b6116df816116a0565b840191505092915050565b6000602082019050818103600083015261170481846116b1565b905092915050565b600081519050919050565b6000819050602082019050919050565b600061173382516115c0565b80915050919050565b60006117478261170c565b8261175184611717565b905061175c81611727565b9250602082101561179c576117977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802611161565b831692505b5050919050565b60006040820190506117b860008301856115d9565b6117c560208301846115d9565b9392505050565b60006117d7826111c0565b91506117e2836111c0565b92508282019050808211156117fa576117f96113c4565b5b92915050565b600060608201905061181560008301866115e8565b61182260208301856115d9565b61182f60408301846115d9565b949350505050565b600060208201905061184c60008301846115d9565b92915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b600061188382611852565b915061188e83611852565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff8111156118c0576118bf6113c4565b5b92915050565b6000819050919050565b60006118eb6118e66118e1846118c6565b6111ca565b611526565b9050919050565b6118fb816118d0565b82525050565b600060408201905061191660008301856118f2565b61192360208301846115d9565b9392505050565b600061193582611852565b915061194083611852565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115611972576119716113c4565b5b92915050565b6000611983826111c0565b915061198e836111c0565b92508282039050818111156119a6576119a56113c4565b5b92915050565b6000819050919050565b60006119d16119cc6119c7846119ac565b6111ca565b611526565b9050919050565b6119e1816119b6565b82525050565b60006040820190506119fc60008301856119d8565b611a0960208301846115d9565b9392505050565b60805160a05160c05160e051610100516101205161014051613877611a6a600039600061138001526000611345015260006117a10152600061178001526000610f1301526000610f6901526000610f9201526138776000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de57806395d89b4111610097578063c3cda52011610071578063c3cda520146104a2578063d505accf146104be578063dd62ed3e146104da578063f1127ed81461050a57610173565b806395d89b41146104245780639ab24eb014610442578063a9059cbb1461047257610173565b806370a082311461033657806379cc6790146103665780637ecebe001461038257806384b0196e146103b25780638e539e8c146103d657806391ddadf41461040657610173565b80633a46b1a8116101305780633a46b1a81461025057806342966c68146102805780634bf5d7e91461029c578063587cde1e146102ba5780635c19a95c146102ea5780636fcfff451461030657610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101c657806323b872dd146101e4578063313ce567146102145780633644e51514610232575b600080fd5b61018061053a565b60405161018d9190612b21565b60405180910390f35b6101b060048036038101906101ab9190612bdc565b6105cc565b6040516101bd9190612c37565b60405180910390f35b6101ce6105ef565b6040516101db9190612c61565b60405180910390f35b6101fe60048036038101906101f99190612c7c565b6105f9565b60405161020b9190612c37565b60405180910390f35b61021c610628565b6040516102299190612ceb565b60405180910390f35b61023a610631565b6040516102479190612d1f565b60405180910390f35b61026a60048036038101906102659190612bdc565b610640565b6040516102779190612c61565b60405180910390f35b61029a60048036038101906102959190612d3a565b6106bf565b005b6102a46106d3565b6040516102b19190612b21565b60405180910390f35b6102d460048036038101906102cf9190612d67565b610767565b6040516102e19190612da3565b60405180910390f35b61030460048036038101906102ff9190612d67565b6107d0565b005b610320600480360381019061031b9190612d67565b6107ea565b60405161032d9190612ddd565b60405180910390f35b610350600480360381019061034b9190612d67565b6107fc565b60405161035d9190612c61565b60405180910390f35b610380600480360381019061037b9190612bdc565b610844565b005b61039c60048036038101906103979190612d67565b610864565b6040516103a99190612c61565b60405180910390f35b6103ba610876565b6040516103cd9796959493929190612ef1565b60405180910390f35b6103f060048036038101906103eb9190612d3a565b610920565b6040516103fd9190612c61565b60405180910390f35b61040e610961565b60405161041b9190612f96565b60405180910390f35b61042c610970565b6040516104399190612b21565b60405180910390f35b61045c60048036038101906104579190612d67565b610a02565b6040516104699190612c61565b60405180910390f35b61048c60048036038101906104879190612bdc565b610a6e565b6040516104999190612c37565b60405180910390f35b6104bc60048036038101906104b79190613009565b610a91565b005b6104d860048036038101906104d39190613096565b610b57565b005b6104f460048036038101906104ef9190613138565b610c9f565b6040516105019190612c61565b60405180910390f35b610524600480360381019061051f91906131a4565b610d26565b6040516105319190613257565b60405180910390f35b606060038054610549906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610575906132a1565b80156105c25780601f10610597576101008083540402835291602001916105c2565b820191906000526020600020905b8154815290600101906020018083116105a557829003601f168201915b5050505050905090565b6000806105d7610d6c565b90506105e4818585610d74565b600191505092915050565b6000600254905090565b600080610604610d6c565b9050610611858285610d86565b61061c858585610e1b565b60019150509392505050565b60006012905090565b600061063b610f0f565b905090565b600061069b61064e83610fc6565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061103290919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b6106d06106ca610d6c565b8261112c565b50565b60606106dd6111ae565b65ffffffffffff166106ed610961565b65ffffffffffff161461072c576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107da610d6c565b90506107e681836111be565b5050565b60006107f5826112d2565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61085682610850610d6c565b83610d86565b610860828261112c565b5050565b600061086f8261132a565b9050919050565b60006060806000806000606061088a61133c565b610892611377565b46306000801b600067ffffffffffffffff8111156108b3576108b26132d2565b5b6040519080825280602002602001820160405280156108e15781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b600061093e61092e83610fc6565b600a61103290919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600061096b6111ae565b905090565b60606004805461097f906132a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab906132a1565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b5050505050905090565b6000610a4b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113b2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600080610a79610d6c565b9050610a86818585610e1b565b600191505092915050565b83421115610ad657836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610acd9190612c61565b60405180910390fd5b6000610b38610b307fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610b159493929190613301565b6040516020818303038152906040528051906020012061141a565b858585611434565b9050610b448187611464565b610b4e81886111be565b50505050505050565b83421115610b9c57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610b939190612c61565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610bcb8c6114bc565b89604051602001610be196959493929190613346565b6040516020818303038152906040528051906020012090506000610c048261141a565b90506000610c1482878787611434565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8857808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610c7f9291906133a7565b60405180910390fd5b610c938a8a8a610d74565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d2e612a53565b610d388383611513565b905092915050565b60008183610d4e91906133ff565b905092915050565b60008183610d64919061344d565b905092915050565b600033905090565b610d818383836001611574565b505050565b6000610d928484610c9f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610e155781811015610e05578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610dfc9392919061349b565b60405180910390fd5b610e1484848484036000611574565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8d5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e849190612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eff5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ef69190612da3565b60405180910390fd5b610f0a83838361174b565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610f8b57507f000000000000000000000000000000000000000000000000000000000000000046145b15610fb8577f00000000000000000000000000000000000000000000000000000000000000009050610fc3565b610fc061175b565b90505b90565b600080610fd1610961565b90508065ffffffffffff1683106110215782816040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004016110189291906134d2565b60405180910390fd5b61102a836117f1565b915050919050565b6000808360000180549050905060008082905060058311156110ba5760006110598461184b565b8461106491906134fb565b905061107387600001826119e8565b60000160009054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff1610156110a8578091506110b8565b6001816110b5919061352f565b92505b505b60006110cb876000018785856119fd565b90506000811461111d576110ee876000016001836110e991906134fb565b6119e8565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611120565b60005b94505050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119e5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016111959190612da3565b60405180910390fd5b6111aa8260008361174b565b5050565b60006111b9436117f1565b905090565b60006111c983610767565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46112cd81836112c886611a76565b611a88565b505050565b600061132361131e600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d01565b611d12565b9050919050565b600061133582611d6a565b9050919050565b606061137260057f0000000000000000000000000000000000000000000000000000000000000000611db390919063ffffffff16565b905090565b60606113ad60067f0000000000000000000000000000000000000000000000000000000000000000611db390919063ffffffff16565b905090565b600080826000018054905090506000811461140f576113e0836000016001836113db91906134fb565b6119e8565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611412565b60005b915050919050565b600061142d611427610f0f565b83611e63565b9050919050565b60008060008061144688888888611ea4565b9250925092506114568282611f98565b829350505050949350505050565b600061146f836114bc565b90508082146114b75782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016114ae929190613563565b60405180910390fd5b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b61151b612a53565b61156c82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206120fc90919063ffffffff16565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115e65760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115dd9190612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116585760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161164f9190612da3565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611745578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161173c9190612c61565b60405180910390a35b50505050565b6117568383836121d1565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016117d695949392919061358c565b60405160208183030381529060405280519060200120905090565b600065ffffffffffff8016821115611843576030826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161183a929190613624565b60405180910390fd5b819050919050565b60006001821161185d578190506119e3565b6000829050600060019050700100000000000000000000000000000000821061188f57608082901c9150604081901b90505b6801000000000000000082106118ae57604082901c9150602081901b90505b64010000000082106118c957602082901c9150601081901b90505b6201000082106118e257601082901c9150600881901b90505b61010082106118fa57600882901c9150600481901b90505b6010821061191157600482901c9150600281901b90505b6004821061192157600181901b90505b600181600302901c9050600181858161193d5761193c61364d565b5b048201901c905060018185816119565761195561364d565b5b048201901c9050600181858161196f5761196e61364d565b5b048201901c905060018185816119885761198761364d565b5b048201901c905060018185816119a1576119a061364d565b5b048201901c905060018185816119ba576119b961364d565b5b048201901c90506119dc8185816119d4576119d361364d565b5b048211612282565b8103925050505b919050565b60008260005281602060002001905092915050565b60005b81831015611a6b576000611a14848461228e565b90508465ffffffffffff16611a2987836119e8565b60000160009054906101000a900465ffffffffffff1665ffffffffffff161115611a5557809250611a65565b600181611a62919061352f565b93505b50611a00565b819050949350505050565b6000611a81826107fc565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac45750600081115b15611cfc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611be257600080611b53600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d56611b4e866122b4565b612322565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd792919061367c565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cfb57600080611c6c600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d40611c67866122b4565b612322565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cf092919061367c565b60405180910390a250505b5b505050565b600081600001805490509050919050565b600063ffffffff8016821115611d62576020826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611d599291906136e0565b60405180910390fd5b819050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060ff60001b8314611dd057611dc983612362565b9050611e5d565b818054611ddc906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054611e08906132a1565b8015611e555780601f10611e2a57610100808354040283529160200191611e55565b820191906000526020600020905b815481529060010190602001808311611e3857829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115611ee4576000600385925092509250611f8e565b600060018888888860405160008152602001604052604051611f099493929190613709565b6020604051602081039080840390855afa158015611f2b573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f7f57600060016000801b93509350935050611f8e565b8060008060001b935093509350505b9450945094915050565b60006003811115611fac57611fab61374e565b5b826003811115611fbf57611fbe61374e565b5b03156120f85760016003811115611fd957611fd861374e565b5b826003811115611fec57611feb61374e565b5b03612023576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156120375761203661374e565b5b82600381111561204a5761204961374e565b5b0361208f578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016120869190612c61565b60405180910390fd5b6003808111156120a2576120a161374e565b5b8260038111156120b5576120b461374e565b5b036120f757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016120ee9190612d1f565b60405180910390fd5b5b5050565b612104612a53565b826000018263ffffffff16815481106121205761211f61377d565b5b906000526020600020016040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6121dc8383836123d6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361227257600061221a6105ef565b905060006122266125fb565b90508082111561226f5781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040161226692919061367c565b60405180910390fd5b50505b61227d83838361261f565b505050565b60008115159050919050565b6000600282841861229f91906137ac565b8284166122ac919061352f565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561231a5760d0826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401612311929190613818565b60405180910390fd5b819050919050565b600080612356612330610961565b61234661233c886113b2565b868863ffffffff16565b876126d99092919063ffffffff16565b91509150935093915050565b6060600061236f836126f6565b90506000602067ffffffffffffffff81111561238e5761238d6132d2565b5b6040519080825280601f01601f1916602001820160405280156123c05781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361242857806002600082825461241c919061352f565b925050819055506124fb565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124b4578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016124ab9392919061349b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125445780600260008282540392505081905550612591565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ee9190612c61565b60405180910390a3505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361266c57612669600a610d40612664846122b4565b612322565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126b9576126b6600a610d566126b1846122b4565b612322565b50505b6126d46126c584610767565b6126ce84610767565b83611a88565b505050565b6000806126ea856000018585612746565b91509150935093915050565b60008060ff8360001c169050601f81111561273d576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60008060008580549050905060008111156129635760006127738760018461276e91906134fb565b6119e8565b905060008160000160009054906101000a900465ffffffffffff16905060008260000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1690508765ffffffffffff168265ffffffffffff161115612809576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361287457868360000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612954565b8860405180604001604052808a65ffffffffffff1681526020018979ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80879550955050505050612a4b565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6040518060400160405280600065ffffffffffff168152602001600079ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612acb578082015181840152602081019050612ab0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612af382612a91565b612afd8185612a9c565b9350612b0d818560208601612aad565b612b1681612ad7565b840191505092915050565b60006020820190508181036000830152612b3b8184612ae8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b7382612b48565b9050919050565b612b8381612b68565b8114612b8e57600080fd5b50565b600081359050612ba081612b7a565b92915050565b6000819050919050565b612bb981612ba6565b8114612bc457600080fd5b50565b600081359050612bd681612bb0565b92915050565b60008060408385031215612bf357612bf2612b43565b5b6000612c0185828601612b91565b9250506020612c1285828601612bc7565b9150509250929050565b60008115159050919050565b612c3181612c1c565b82525050565b6000602082019050612c4c6000830184612c28565b92915050565b612c5b81612ba6565b82525050565b6000602082019050612c766000830184612c52565b92915050565b600080600060608486031215612c9557612c94612b43565b5b6000612ca386828701612b91565b9350506020612cb486828701612b91565b9250506040612cc586828701612bc7565b9150509250925092565b600060ff82169050919050565b612ce581612ccf565b82525050565b6000602082019050612d006000830184612cdc565b92915050565b6000819050919050565b612d1981612d06565b82525050565b6000602082019050612d346000830184612d10565b92915050565b600060208284031215612d5057612d4f612b43565b5b6000612d5e84828501612bc7565b91505092915050565b600060208284031215612d7d57612d7c612b43565b5b6000612d8b84828501612b91565b91505092915050565b612d9d81612b68565b82525050565b6000602082019050612db86000830184612d94565b92915050565b600063ffffffff82169050919050565b612dd781612dbe565b82525050565b6000602082019050612df26000830184612dce565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612e2d81612df8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e6881612ba6565b82525050565b6000612e7a8383612e5f565b60208301905092915050565b6000602082019050919050565b6000612e9e82612e33565b612ea88185612e3e565b9350612eb383612e4f565b8060005b83811015612ee4578151612ecb8882612e6e565b9750612ed683612e86565b925050600181019050612eb7565b5085935050505092915050565b600060e082019050612f06600083018a612e24565b8181036020830152612f188189612ae8565b90508181036040830152612f2c8188612ae8565b9050612f3b6060830187612c52565b612f486080830186612d94565b612f5560a0830185612d10565b81810360c0830152612f678184612e93565b905098975050505050505050565b600065ffffffffffff82169050919050565b612f9081612f75565b82525050565b6000602082019050612fab6000830184612f87565b92915050565b612fba81612ccf565b8114612fc557600080fd5b50565b600081359050612fd781612fb1565b92915050565b612fe681612d06565b8114612ff157600080fd5b50565b60008135905061300381612fdd565b92915050565b60008060008060008060c0878903121561302657613025612b43565b5b600061303489828a01612b91565b965050602061304589828a01612bc7565b955050604061305689828a01612bc7565b945050606061306789828a01612fc8565b935050608061307889828a01612ff4565b92505060a061308989828a01612ff4565b9150509295509295509295565b600080600080600080600060e0888a0312156130b5576130b4612b43565b5b60006130c38a828b01612b91565b97505060206130d48a828b01612b91565b96505060406130e58a828b01612bc7565b95505060606130f68a828b01612bc7565b94505060806131078a828b01612fc8565b93505060a06131188a828b01612ff4565b92505060c06131298a828b01612ff4565b91505092959891949750929550565b6000806040838503121561314f5761314e612b43565b5b600061315d85828601612b91565b925050602061316e85828601612b91565b9150509250929050565b61318181612dbe565b811461318c57600080fd5b50565b60008135905061319e81613178565b92915050565b600080604083850312156131bb576131ba612b43565b5b60006131c985828601612b91565b92505060206131da8582860161318f565b9150509250929050565b6131ed81612f75565b82525050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613222816131f3565b82525050565b60408201600082015161323e60008501826131e4565b5060208201516132516020850182613219565b50505050565b600060408201905061326c6000830184613228565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132b957607f821691505b6020821081036132cc576132cb613272565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080820190506133166000830187612d10565b6133236020830186612d94565b6133306040830185612c52565b61333d6060830184612c52565b95945050505050565b600060c08201905061335b6000830189612d10565b6133686020830188612d94565b6133756040830187612d94565b6133826060830186612c52565b61338f6080830185612c52565b61339c60a0830184612c52565b979650505050505050565b60006040820190506133bc6000830185612d94565b6133c96020830184612d94565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061340a826131f3565b9150613415836131f3565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613447576134466133d0565b5b92915050565b6000613458826131f3565b9150613463836131f3565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613495576134946133d0565b5b92915050565b60006060820190506134b06000830186612d94565b6134bd6020830185612c52565b6134ca6040830184612c52565b949350505050565b60006040820190506134e76000830185612c52565b6134f46020830184612f87565b9392505050565b600061350682612ba6565b915061351183612ba6565b9250828203905081811115613529576135286133d0565b5b92915050565b600061353a82612ba6565b915061354583612ba6565b925082820190508082111561355d5761355c6133d0565b5b92915050565b60006040820190506135786000830185612d94565b6135856020830184612c52565b9392505050565b600060a0820190506135a16000830188612d10565b6135ae6020830187612d10565b6135bb6040830186612d10565b6135c86060830185612c52565b6135d56080830184612d94565b9695505050505050565b6000819050919050565b6000819050919050565b600061360e613609613604846135df565b6135e9565b612ccf565b9050919050565b61361e816135f3565b82525050565b60006040820190506136396000830185613615565b6136466020830184612c52565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506136916000830185612c52565b61369e6020830184612c52565b9392505050565b6000819050919050565b60006136ca6136c56136c0846136a5565b6135e9565b612ccf565b9050919050565b6136da816136af565b82525050565b60006040820190506136f560008301856136d1565b6137026020830184612c52565b9392505050565b600060808201905061371e6000830187612d10565b61372b6020830186612cdc565b6137386040830185612d10565b6137456060830184612d10565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006137b782612ba6565b91506137c283612ba6565b9250826137d2576137d161364d565b5b828204905092915050565b6000819050919050565b60006138026137fd6137f8846137dd565b6135e9565b612ccf565b9050919050565b613812816137e7565b82525050565b600060408201905061382d6000830185613809565b61383a6020830184612c52565b939250505056fea2646970667358221220b6d4f7e37845cce13a7acbca936afbf637153b2aa4267dbb97c18e1a0ae066cc64736f6c634300081e003300000000000000000000000097147d5b970aac269c38c0577782c81e43ecbab3
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de57806395d89b4111610097578063c3cda52011610071578063c3cda520146104a2578063d505accf146104be578063dd62ed3e146104da578063f1127ed81461050a57610173565b806395d89b41146104245780639ab24eb014610442578063a9059cbb1461047257610173565b806370a082311461033657806379cc6790146103665780637ecebe001461038257806384b0196e146103b25780638e539e8c146103d657806391ddadf41461040657610173565b80633a46b1a8116101305780633a46b1a81461025057806342966c68146102805780634bf5d7e91461029c578063587cde1e146102ba5780635c19a95c146102ea5780636fcfff451461030657610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101c657806323b872dd146101e4578063313ce567146102145780633644e51514610232575b600080fd5b61018061053a565b60405161018d9190612b21565b60405180910390f35b6101b060048036038101906101ab9190612bdc565b6105cc565b6040516101bd9190612c37565b60405180910390f35b6101ce6105ef565b6040516101db9190612c61565b60405180910390f35b6101fe60048036038101906101f99190612c7c565b6105f9565b60405161020b9190612c37565b60405180910390f35b61021c610628565b6040516102299190612ceb565b60405180910390f35b61023a610631565b6040516102479190612d1f565b60405180910390f35b61026a60048036038101906102659190612bdc565b610640565b6040516102779190612c61565b60405180910390f35b61029a60048036038101906102959190612d3a565b6106bf565b005b6102a46106d3565b6040516102b19190612b21565b60405180910390f35b6102d460048036038101906102cf9190612d67565b610767565b6040516102e19190612da3565b60405180910390f35b61030460048036038101906102ff9190612d67565b6107d0565b005b610320600480360381019061031b9190612d67565b6107ea565b60405161032d9190612ddd565b60405180910390f35b610350600480360381019061034b9190612d67565b6107fc565b60405161035d9190612c61565b60405180910390f35b610380600480360381019061037b9190612bdc565b610844565b005b61039c60048036038101906103979190612d67565b610864565b6040516103a99190612c61565b60405180910390f35b6103ba610876565b6040516103cd9796959493929190612ef1565b60405180910390f35b6103f060048036038101906103eb9190612d3a565b610920565b6040516103fd9190612c61565b60405180910390f35b61040e610961565b60405161041b9190612f96565b60405180910390f35b61042c610970565b6040516104399190612b21565b60405180910390f35b61045c60048036038101906104579190612d67565b610a02565b6040516104699190612c61565b60405180910390f35b61048c60048036038101906104879190612bdc565b610a6e565b6040516104999190612c37565b60405180910390f35b6104bc60048036038101906104b79190613009565b610a91565b005b6104d860048036038101906104d39190613096565b610b57565b005b6104f460048036038101906104ef9190613138565b610c9f565b6040516105019190612c61565b60405180910390f35b610524600480360381019061051f91906131a4565b610d26565b6040516105319190613257565b60405180910390f35b606060038054610549906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610575906132a1565b80156105c25780601f10610597576101008083540402835291602001916105c2565b820191906000526020600020905b8154815290600101906020018083116105a557829003601f168201915b5050505050905090565b6000806105d7610d6c565b90506105e4818585610d74565b600191505092915050565b6000600254905090565b600080610604610d6c565b9050610611858285610d86565b61061c858585610e1b565b60019150509392505050565b60006012905090565b600061063b610f0f565b905090565b600061069b61064e83610fc6565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061103290919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b6106d06106ca610d6c565b8261112c565b50565b60606106dd6111ae565b65ffffffffffff166106ed610961565b65ffffffffffff161461072c576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107da610d6c565b90506107e681836111be565b5050565b60006107f5826112d2565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61085682610850610d6c565b83610d86565b610860828261112c565b5050565b600061086f8261132a565b9050919050565b60006060806000806000606061088a61133c565b610892611377565b46306000801b600067ffffffffffffffff8111156108b3576108b26132d2565b5b6040519080825280602002602001820160405280156108e15781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b600061093e61092e83610fc6565b600a61103290919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600061096b6111ae565b905090565b60606004805461097f906132a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab906132a1565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b5050505050905090565b6000610a4b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206113b2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600080610a79610d6c565b9050610a86818585610e1b565b600191505092915050565b83421115610ad657836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610acd9190612c61565b60405180910390fd5b6000610b38610b307fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610b159493929190613301565b6040516020818303038152906040528051906020012061141a565b858585611434565b9050610b448187611464565b610b4e81886111be565b50505050505050565b83421115610b9c57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610b939190612c61565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610bcb8c6114bc565b89604051602001610be196959493929190613346565b6040516020818303038152906040528051906020012090506000610c048261141a565b90506000610c1482878787611434565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8857808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610c7f9291906133a7565b60405180910390fd5b610c938a8a8a610d74565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d2e612a53565b610d388383611513565b905092915050565b60008183610d4e91906133ff565b905092915050565b60008183610d64919061344d565b905092915050565b600033905090565b610d818383836001611574565b505050565b6000610d928484610c9f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610e155781811015610e05578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610dfc9392919061349b565b60405180910390fd5b610e1484848484036000611574565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8d5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e849190612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eff5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ef69190612da3565b60405180910390fd5b610f0a83838361174b565b505050565b60007f000000000000000000000000f3bfa7a1401c175d56a52f4a51bd9c3b8500591b73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610f8b57507f000000000000000000000000000000000000000000000000000000000000000146145b15610fb8577fc268dde028e95027588562e0676de3304bf83974a9840add48bd8105ab299beb9050610fc3565b610fc061175b565b90505b90565b600080610fd1610961565b90508065ffffffffffff1683106110215782816040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004016110189291906134d2565b60405180910390fd5b61102a836117f1565b915050919050565b6000808360000180549050905060008082905060058311156110ba5760006110598461184b565b8461106491906134fb565b905061107387600001826119e8565b60000160009054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff1610156110a8578091506110b8565b6001816110b5919061352f565b92505b505b60006110cb876000018785856119fd565b90506000811461111d576110ee876000016001836110e991906134fb565b6119e8565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611120565b60005b94505050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119e5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016111959190612da3565b60405180910390fd5b6111aa8260008361174b565b5050565b60006111b9436117f1565b905090565b60006111c983610767565b905081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46112cd81836112c886611a76565b611a88565b505050565b600061132361131e600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611d01565b611d12565b9050919050565b600061133582611d6a565b9050919050565b606061137260057f517765727479636f696e0000000000000000000000000000000000000000000a611db390919063ffffffff16565b905090565b60606113ad60067f3100000000000000000000000000000000000000000000000000000000000001611db390919063ffffffff16565b905090565b600080826000018054905090506000811461140f576113e0836000016001836113db91906134fb565b6119e8565b60000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611412565b60005b915050919050565b600061142d611427610f0f565b83611e63565b9050919050565b60008060008061144688888888611ea4565b9250925092506114568282611f98565b829350505050949350505050565b600061146f836114bc565b90508082146114b75782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016114ae929190613563565b60405180910390fd5b505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050559050919050565b61151b612a53565b61156c82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206120fc90919063ffffffff16565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115e65760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016115dd9190612da3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116585760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161164f9190612da3565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611745578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161173c9190612c61565b60405180910390a35b50505050565b6117568383836121d1565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f3be43e3e2d7a0ec5a14b063d73312bb69f30d8c389d8fa8d76c440da420ae0627fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016117d695949392919061358c565b60405160208183030381529060405280519060200120905090565b600065ffffffffffff8016821115611843576030826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161183a929190613624565b60405180910390fd5b819050919050565b60006001821161185d578190506119e3565b6000829050600060019050700100000000000000000000000000000000821061188f57608082901c9150604081901b90505b6801000000000000000082106118ae57604082901c9150602081901b90505b64010000000082106118c957602082901c9150601081901b90505b6201000082106118e257601082901c9150600881901b90505b61010082106118fa57600882901c9150600481901b90505b6010821061191157600482901c9150600281901b90505b6004821061192157600181901b90505b600181600302901c9050600181858161193d5761193c61364d565b5b048201901c905060018185816119565761195561364d565b5b048201901c9050600181858161196f5761196e61364d565b5b048201901c905060018185816119885761198761364d565b5b048201901c905060018185816119a1576119a061364d565b5b048201901c905060018185816119ba576119b961364d565b5b048201901c90506119dc8185816119d4576119d361364d565b5b048211612282565b8103925050505b919050565b60008260005281602060002001905092915050565b60005b81831015611a6b576000611a14848461228e565b90508465ffffffffffff16611a2987836119e8565b60000160009054906101000a900465ffffffffffff1665ffffffffffff161115611a5557809250611a65565b600181611a62919061352f565b93505b50611a00565b819050949350505050565b6000611a81826107fc565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ac45750600081115b15611cfc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611be257600080611b53600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d56611b4e866122b4565b612322565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd792919061367c565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611cfb57600080611c6c600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610d40611c67866122b4565b612322565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cf092919061367c565b60405180910390a250505b5b505050565b600081600001805490509050919050565b600063ffffffff8016821115611d62576020826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611d599291906136e0565b60405180910390fd5b819050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060ff60001b8314611dd057611dc983612362565b9050611e5d565b818054611ddc906132a1565b80601f0160208091040260200160405190810160405280929190818152602001828054611e08906132a1565b8015611e555780601f10611e2a57610100808354040283529160200191611e55565b820191906000526020600020905b815481529060010190602001808311611e3857829003601f168201915b505050505090505b92915050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115611ee4576000600385925092509250611f8e565b600060018888888860405160008152602001604052604051611f099493929190613709565b6020604051602081039080840390855afa158015611f2b573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f7f57600060016000801b93509350935050611f8e565b8060008060001b935093509350505b9450945094915050565b60006003811115611fac57611fab61374e565b5b826003811115611fbf57611fbe61374e565b5b03156120f85760016003811115611fd957611fd861374e565b5b826003811115611fec57611feb61374e565b5b03612023576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156120375761203661374e565b5b82600381111561204a5761204961374e565b5b0361208f578060001c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016120869190612c61565b60405180910390fd5b6003808111156120a2576120a161374e565b5b8260038111156120b5576120b461374e565b5b036120f757806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016120ee9190612d1f565b60405180910390fd5b5b5050565b612104612a53565b826000018263ffffffff16815481106121205761211f61377d565b5b906000526020600020016040518060400160405290816000820160009054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020016000820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6121dc8383836123d6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361227257600061221a6105ef565b905060006122266125fb565b90508082111561226f5781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040161226692919061367c565b60405180910390fd5b50505b61227d83838361261f565b505050565b60008115159050919050565b6000600282841861229f91906137ac565b8284166122ac919061352f565b905092915050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561231a5760d0826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401612311929190613818565b60405180910390fd5b819050919050565b600080612356612330610961565b61234661233c886113b2565b868863ffffffff16565b876126d99092919063ffffffff16565b91509150935093915050565b6060600061236f836126f6565b90506000602067ffffffffffffffff81111561238e5761238d6132d2565b5b6040519080825280601f01601f1916602001820160405280156123c05781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361242857806002600082825461241c919061352f565b925050819055506124fb565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124b4578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016124ab9392919061349b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125445780600260008282540392505081905550612591565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ee9190612c61565b60405180910390a3505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361266c57612669600a610d40612664846122b4565b612322565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126b9576126b6600a610d566126b1846122b4565b612322565b50505b6126d46126c584610767565b6126ce84610767565b83611a88565b505050565b6000806126ea856000018585612746565b91509150935093915050565b60008060ff8360001c169050601f81111561273d576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60008060008580549050905060008111156129635760006127738760018461276e91906134fb565b6119e8565b905060008160000160009054906101000a900465ffffffffffff16905060008260000160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1690508765ffffffffffff168265ffffffffffff161115612809576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff160361287457868360000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612954565b8860405180604001604052808a65ffffffffffff1681526020018979ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80879550955050505050612a4b565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060208201518160000160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6040518060400160405280600065ffffffffffff168152602001600079ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015612acb578082015181840152602081019050612ab0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612af382612a91565b612afd8185612a9c565b9350612b0d818560208601612aad565b612b1681612ad7565b840191505092915050565b60006020820190508181036000830152612b3b8184612ae8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b7382612b48565b9050919050565b612b8381612b68565b8114612b8e57600080fd5b50565b600081359050612ba081612b7a565b92915050565b6000819050919050565b612bb981612ba6565b8114612bc457600080fd5b50565b600081359050612bd681612bb0565b92915050565b60008060408385031215612bf357612bf2612b43565b5b6000612c0185828601612b91565b9250506020612c1285828601612bc7565b9150509250929050565b60008115159050919050565b612c3181612c1c565b82525050565b6000602082019050612c4c6000830184612c28565b92915050565b612c5b81612ba6565b82525050565b6000602082019050612c766000830184612c52565b92915050565b600080600060608486031215612c9557612c94612b43565b5b6000612ca386828701612b91565b9350506020612cb486828701612b91565b9250506040612cc586828701612bc7565b9150509250925092565b600060ff82169050919050565b612ce581612ccf565b82525050565b6000602082019050612d006000830184612cdc565b92915050565b6000819050919050565b612d1981612d06565b82525050565b6000602082019050612d346000830184612d10565b92915050565b600060208284031215612d5057612d4f612b43565b5b6000612d5e84828501612bc7565b91505092915050565b600060208284031215612d7d57612d7c612b43565b5b6000612d8b84828501612b91565b91505092915050565b612d9d81612b68565b82525050565b6000602082019050612db86000830184612d94565b92915050565b600063ffffffff82169050919050565b612dd781612dbe565b82525050565b6000602082019050612df26000830184612dce565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612e2d81612df8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e6881612ba6565b82525050565b6000612e7a8383612e5f565b60208301905092915050565b6000602082019050919050565b6000612e9e82612e33565b612ea88185612e3e565b9350612eb383612e4f565b8060005b83811015612ee4578151612ecb8882612e6e565b9750612ed683612e86565b925050600181019050612eb7565b5085935050505092915050565b600060e082019050612f06600083018a612e24565b8181036020830152612f188189612ae8565b90508181036040830152612f2c8188612ae8565b9050612f3b6060830187612c52565b612f486080830186612d94565b612f5560a0830185612d10565b81810360c0830152612f678184612e93565b905098975050505050505050565b600065ffffffffffff82169050919050565b612f9081612f75565b82525050565b6000602082019050612fab6000830184612f87565b92915050565b612fba81612ccf565b8114612fc557600080fd5b50565b600081359050612fd781612fb1565b92915050565b612fe681612d06565b8114612ff157600080fd5b50565b60008135905061300381612fdd565b92915050565b60008060008060008060c0878903121561302657613025612b43565b5b600061303489828a01612b91565b965050602061304589828a01612bc7565b955050604061305689828a01612bc7565b945050606061306789828a01612fc8565b935050608061307889828a01612ff4565b92505060a061308989828a01612ff4565b9150509295509295509295565b600080600080600080600060e0888a0312156130b5576130b4612b43565b5b60006130c38a828b01612b91565b97505060206130d48a828b01612b91565b96505060406130e58a828b01612bc7565b95505060606130f68a828b01612bc7565b94505060806131078a828b01612fc8565b93505060a06131188a828b01612ff4565b92505060c06131298a828b01612ff4565b91505092959891949750929550565b6000806040838503121561314f5761314e612b43565b5b600061315d85828601612b91565b925050602061316e85828601612b91565b9150509250929050565b61318181612dbe565b811461318c57600080fd5b50565b60008135905061319e81613178565b92915050565b600080604083850312156131bb576131ba612b43565b5b60006131c985828601612b91565b92505060206131da8582860161318f565b9150509250929050565b6131ed81612f75565b82525050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613222816131f3565b82525050565b60408201600082015161323e60008501826131e4565b5060208201516132516020850182613219565b50505050565b600060408201905061326c6000830184613228565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806132b957607f821691505b6020821081036132cc576132cb613272565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080820190506133166000830187612d10565b6133236020830186612d94565b6133306040830185612c52565b61333d6060830184612c52565b95945050505050565b600060c08201905061335b6000830189612d10565b6133686020830188612d94565b6133756040830187612d94565b6133826060830186612c52565b61338f6080830185612c52565b61339c60a0830184612c52565b979650505050505050565b60006040820190506133bc6000830185612d94565b6133c96020830184612d94565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061340a826131f3565b9150613415836131f3565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613447576134466133d0565b5b92915050565b6000613458826131f3565b9150613463836131f3565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613495576134946133d0565b5b92915050565b60006060820190506134b06000830186612d94565b6134bd6020830185612c52565b6134ca6040830184612c52565b949350505050565b60006040820190506134e76000830185612c52565b6134f46020830184612f87565b9392505050565b600061350682612ba6565b915061351183612ba6565b9250828203905081811115613529576135286133d0565b5b92915050565b600061353a82612ba6565b915061354583612ba6565b925082820190508082111561355d5761355c6133d0565b5b92915050565b60006040820190506135786000830185612d94565b6135856020830184612c52565b9392505050565b600060a0820190506135a16000830188612d10565b6135ae6020830187612d10565b6135bb6040830186612d10565b6135c86060830185612c52565b6135d56080830184612d94565b9695505050505050565b6000819050919050565b6000819050919050565b600061360e613609613604846135df565b6135e9565b612ccf565b9050919050565b61361e816135f3565b82525050565b60006040820190506136396000830185613615565b6136466020830184612c52565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506136916000830185612c52565b61369e6020830184612c52565b9392505050565b6000819050919050565b60006136ca6136c56136c0846136a5565b6135e9565b612ccf565b9050919050565b6136da816136af565b82525050565b60006040820190506136f560008301856136d1565b6137026020830184612c52565b9392505050565b600060808201905061371e6000830187612d10565b61372b6020830186612cdc565b6137386040830185612d10565b6137456060830184612d10565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006137b782612ba6565b91506137c283612ba6565b9250826137d2576137d161364d565b5b828204905092915050565b6000819050919050565b60006138026137fd6137f8846137dd565b6135e9565b612ccf565b9050919050565b613812816137e7565b82525050565b600060408201905061382d6000830185613809565b61383a6020830184612c52565b939250505056fea2646970667358221220b6d4f7e37845cce13a7acbca936afbf637153b2aa4267dbb97c18e1a0ae066cc64736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000097147d5b970aac269c38c0577782c81e43ecbab3

-----Decoded View---------------
Arg [0] : recipient (address): 0x97147D5B970aaC269c38c0577782c81E43ecBaB3

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000097147d5b970aac269c38c0577782c81e43ecbab3

🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.