0 txs
0 calls
constructor
constructor(string _name, string _symbol, address _token, address _bridge, uint256 _minAmount, uint256 _txFee)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
bridge
viewfunction bridge() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
emergencyShutdown
viewfunction emergencyShutdown() view returns (bool)
lpFee
viewfunction lpFee() view returns (uint256)
minAmountForSwap
viewfunction minAmountForSwap() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
symbol
viewfunction symbol() view returns (string)
token
viewfunction token() view returns (address)
tokenAllocationOf
viewfunction tokenAllocationOf(address account) view returns (uint256)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalTokens
viewfunction totalTokens() view returns (uint256)
treasuryAmount
viewfunction treasuryAmount() view returns (uint256)
txFee
viewfunction txFee() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 _amount, address _recipient) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
refund
nonpayablefunction refund(address account, uint256 amount, uint256 fee, uint256 gasFee)
renounceOwnership
nonpayablefunction renounceOwnership()
setEmergencyShutdown
nonpayablefunction setEmergencyShutdown(bool down)
setMinAmountForSwap
nonpayablefunction setMinAmountForSwap(uint256 minAmount)
setTxFee
nonpayablefunction setTxFee(uint256 _txFee)
swapIn
nonpayablefunction swapIn(address account, uint256 amount, uint256 fee)
swapOut
nonpayablefunction swapOut(address account, uint256 amount) returns (bool)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 _amount, address _recipient) returns (uint256)
withdrawTreasury
nonpayablefunction withdrawTreasury()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
EmergencyShutdown
event EmergencyShutdown(bool active)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RefundProcessed
event RefundProcessed(address indexed sender, uint256 amount, uint256 fee)
SwapInProcessed
event SwapInProcessed(address indexed sender, uint256 amount, uint256 fee)
SwapOutProcessed
event SwapOutProcessed(address indexed sender, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x6080604052611388600d553480156200001757600080fd5b50604051620044e0380380620044e083398181016040528101906200003d9190620003a8565b600160008190555062000065620000596200018a60201b60201c565b6200019260201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620000a057600080fd5b8560029080519060200190620000b892919062000258565b508460039080519060200190620000d192919062000258565b506012600460006101000a81548160ff021916908360ff16021790555083600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160088190555080600e8190555050505050505062000613565b600033905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b82805462000266906200054b565b90600052602060002090601f0160209004810192826200028a5760008555620002d6565b82601f10620002a557805160ff1916838001178555620002d6565b82800160010185558215620002d6579182015b82811115620002d5578251825591602001919060010190620002b8565b5b509050620002e59190620002e9565b5090565b5b8082111562000304576000816000905550600101620002ea565b5090565b60006200031f6200031984620004a4565b62000470565b9050828152602081018484840111156200033857600080fd5b6200034584828562000515565b509392505050565b6000815190506200035e81620005df565b92915050565b600082601f8301126200037657600080fd5b81516200038884826020860162000308565b91505092915050565b600081519050620003a281620005f9565b92915050565b60008060008060008060c08789031215620003c257600080fd5b600087015167ffffffffffffffff811115620003dd57600080fd5b620003eb89828a0162000364565b965050602087015167ffffffffffffffff8111156200040957600080fd5b6200041789828a0162000364565b95505060406200042a89828a016200034d565b94505060606200043d89828a016200034d565b93505060806200045089828a0162000391565b92505060a06200046389828a0162000391565b9150509295509295509295565b6000604051905081810181811067ffffffffffffffff821117156200049a5762000499620005b0565b5b8060405250919050565b600067ffffffffffffffff821115620004c257620004c1620005b0565b5b601f19601f8301169050602081019050919050565b6000620004e482620004eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200053557808201518184015260208101905062000518565b8381111562000545576000848401525b50505050565b600060028204905060018216806200056457607f821691505b602082108114156200057b576200057a62000581565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005ea81620004d7565b8114620005f657600080fd5b50565b62000604816200050b565b81146200061057600080fd5b50565b613ebd80620006236000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c80636f1a366d1161011a578063a9059cbb116100ad578063e78cea921161007c578063e78cea92146105dd578063f05d16f7146105fb578063f2fde38b14610617578063f796f81914610633578063fc0c546a14610651576101fa565b8063a9059cbb14610543578063cf82046114610573578063dd62ed3e14610591578063e3638a6b146105c1576101fa565b80637e1c0c09116100e95780637e1c0c09146104b95780638da5cb5b146104d757806395d89b41146104f5578063a457c2d714610513576101fa565b80636f1a366d14610445578063704ce43e1461046157806370a082311461047f578063715018a6146104af576101fa565b806323b872dd11610192578063368acb0911610161578063368acb091461039757806339509351146103b5578063410411bd146103e55780636e553f6514610415576101fa565b806323b872dd1461030f578063268ebd591461033f578063313ce5671461035b5780633403c2fc14610379576101fa565b806310d974ae116101ce57806310d974ae1461029b57806314c64402146102cb578063166bab95146102e757806318160ddd146102f1576101fa565b8062f714ce146101ff57806301e1d1141461022f57806306fdde031461024d578063095ea7b31461026b575b600080fd5b61021960048036038101906102149190612f34565b61066f565b60405161022691906139a1565b60405180910390f35b610237610b2e565b60405161024491906139a1565b60405180910390f35b610255610b3d565b604051610262919061373f565b60405180910390f35b61028560048036038101906102809190612da2565b610bcb565b6040516102929190613709565b60405180910390f35b6102b560048036038101906102b09190612da2565b610be9565b6040516102c29190613709565b60405180910390f35b6102e560048036038101906102e09190612e90565b610e8a565b005b6102ef610f5a565b005b6102f96110dd565b60405161030691906139a1565b60405180910390f35b61032960048036038101906103249190612d53565b6110e3565b6040516103369190613709565b60405180910390f35b61035960048036038101906103549190612e2d565b6111db565b005b6103636114ea565b60405161037091906139e5565b60405180910390f35b6103816114fd565b60405161038e9190613709565b60405180910390f35b61039f611510565b6040516103ac91906139a1565b60405180910390f35b6103cf60048036038101906103ca9190612da2565b611516565b6040516103dc9190613709565b60405180910390f35b6103ff60048036038101906103fa9190612cee565b6115c2565b60405161040c91906139a1565b60405180910390f35b61042f600480360381019061042a9190612f34565b611701565b60405161043c91906139a1565b60405180910390f35b61045f600480360381019061045a9190612dde565b611bb2565b005b610469611f17565b60405161047691906139a1565b60405180910390f35b61049960048036038101906104949190612cee565b611f1d565b6040516104a691906139a1565b60405180910390f35b6104b7611f66565b005b6104c1611fee565b6040516104ce91906139a1565b60405180910390f35b6104df611ff4565b6040516104ec9190613665565b60405180910390f35b6104fd61201e565b60405161050a919061373f565b60405180910390f35b61052d60048036038101906105289190612da2565b6120ac565b60405161053a9190613709565b60405180910390f35b61055d60048036038101906105589190612da2565b612197565b60405161056a9190613709565b60405180910390f35b61057b6121b5565b60405161058891906139a1565b60405180910390f35b6105ab60048036038101906105a69190612d17565b6121bb565b6040516105b891906139a1565b60405180910390f35b6105db60048036038101906105d69190612ee2565b612242565b005b6105e56122c8565b6040516105f29190613665565b60405180910390f35b61061560048036038101906106109190612ee2565b6122ee565b005b610631600480360381019061062c9190612cee565b612374565b005b61063b61246c565b60405161064891906139a1565b60405180910390f35b610659612476565b6040516106669190613724565b60405180910390f35b6000600260005414156106b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ae90613941565b60405180910390fd5b6002600081905550600b60009054906101000a900460ff161561070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070690613921565b60405180910390fd5b60008390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84141561077f57600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f890613761565b60405180910390fd5b60008111610844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083b906137a1565b60405180910390fd5b6000600554600654836108579190613c14565b6108619190613a72565b905081600560008282546108759190613c6e565b9250508190555081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108cb9190613c6e565b9250508190555080600660008282546108e49190613c6e565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161094991906139a1565b60405180910390a3600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85600460009054906101000a900460ff16600a6109ac9190613af6565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1457600080fd5b505afa158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c9190612f70565b600a610a589190613af6565b85610a639190613c14565b610a6d9190613a72565b6040518363ffffffff1660e01b8152600401610a8a9291906136e0565b602060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190612eb9565b610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b12906138e1565b60405180910390fd5b8192505050600160008190555092915050565b6000610b3861249c565b905090565b60028054610b4a90613d4e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7690613d4e565b8015610bc35780601f10610b9857610100808354040283529160200191610bc3565b820191906000526020600020905b815481529060010190602001808311610ba657829003601f168201915b505050505081565b6000610bdf610bd861254e565b8484612556565b6001905092915050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c4557600080fd5b600b60009054906101000a900460ff1615610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c90613921565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610cf09190613665565b60206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d409190612f0b565b821115610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7990613961565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610ddf9291906136e0565b602060405180830381600087803b158015610df957600080fd5b505af1158015610e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e319190612eb9565b508273ffffffffffffffffffffffffffffffffffffffff167f2b402c854188010746674a5c32efa7a3329482c07f52455babb9067c7c1dae3483604051610e7891906139a1565b60405180910390a26001905092915050565b610e9261254e565b73ffffffffffffffffffffffffffffffffffffffff16610eb0611ff4565b73ffffffffffffffffffffffffffffffffffffffff1614610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd906138a1565b60405180910390fd5b80600b60006101000a81548160ff0219169083151502179055507fba40372a3a724dca3c57156128ef1e896724b65b37a17f190b1ad5de68f3a4f381604051610f4f9190613709565b60405180910390a150565b610f6261254e565b73ffffffffffffffffffffffffffffffffffffffff16610f80611ff4565b73ffffffffffffffffffffffffffffffffffffffff1614610fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcd906138a1565b60405180910390fd5b60006007541161101b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611012906137a1565b60405180910390fd5b600060075490506000600781905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016110879291906136e0565b602060405180830381600087803b1580156110a157600080fd5b505af11580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d99190612eb9565b5050565b60055481565b60006110f0848484612721565b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061113b61254e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b290613881565b60405180910390fd5b6111cf856111c761254e565b858403612556565b60019150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461123557600080fd5b600b60009054906101000a900460ff1615611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c90613921565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016112e29291906136e0565b602060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113349190612eb9565b506000612710600d54600e548561134b9190613c6e565b6113559190613c14565b61135f9190613a72565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114019190612f70565b600a61140d9190613af6565b600460009054906101000a900460ff16600a6114299190613af6565b826114349190613c14565b61143e9190613a72565b6006600082825461144f9190613c6e565b9250508190555080836114629190613c6e565b600760008282546114739190613c6e565b92505081905550816007600082825461148c9190613a1c565b925050819055508473ffffffffffffffffffffffffffffffffffffffff167fa5411d116afcb8415f0019792cccf595f94852ba82886dacbf756d9c3ce85f3f85856040516114db9291906139bc565b60405180910390a25050505050565b600460009054906101000a900460ff1681565b600b60009054906101000a900460ff1681565b60075481565b60006115b861152361254e565b8484600a600061153161254e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b39190613a1c565b612556565b6001905092915050565b6000600554600460009054906101000a900460ff16600a6115e39190613af6565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561164b57600080fd5b505afa15801561165f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116839190612f70565b600a61168f9190613af6565b600654600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116dc9190613c14565b6116e69190613c14565b6116f09190613a72565b6116fa9190613a72565b9050919050565b600060026000541415611749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174090613941565b60405180910390fd5b6002600081905550600b60009054906101000a900460ff16156117a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179890613921565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117db57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561181457600080fd5b60008390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156118ef57600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161189c9190613665565b60206040518083038186803b1580156118b457600080fd5b505afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec9190612f0b565b90505b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161194a9190613665565b60206040518083038186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190612f0b565b8111158015611a555750600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b8152600401611a01929190613680565b60206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a519190612f0b565b8111155b611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b90613821565b60405180910390fd5b60008111611aa157600080fd5b6000611aad848361298f565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611b0e939291906136a9565b602060405180830381600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b609190612eb9565b611b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b96906138e1565b60405180910390fd5b8092505050600160008190555092915050565b600b60009054906101000a900460ff1615611c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf990613921565b60405180910390fd5b600854821015611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90613841565b60405180910390fd5b600e54811015611c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8390613861565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611ceb939291906136a9565b602060405180830381600087803b158015611d0557600080fd5b505af1158015611d19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d3d9190612eb9565b611d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d73906138e1565b60405180910390fd5b6000612710600d54600e5484611d929190613c6e565b611d9c9190613c14565b611da69190613a72565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611e1057600080fd5b505afa158015611e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e489190612f70565b600a611e549190613af6565b600460009054906101000a900460ff16600a611e709190613af6565b82611e7b9190613c14565b611e859190613a72565b60066000828254611e969190613a1c565b925050819055508082611ea99190613c6e565b60076000828254611eba9190613a1c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff167f4c2a98579e0c6c68e3033ac75a042c9b1d0310896e7544f85690637a6e57fab78484604051611f099291906139bc565b60405180910390a250505050565b600d5481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611f6e61254e565b73ffffffffffffffffffffffffffffffffffffffff16611f8c611ff4565b73ffffffffffffffffffffffffffffffffffffffff1614611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd9906138a1565b60405180910390fd5b611fec6000612baa565b565b60065481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6003805461202b90613d4e565b80601f016020809104026020016040519081016040528092919081815260200182805461205790613d4e565b80156120a45780601f10612079576101008083540402835291602001916120a4565b820191906000526020600020905b81548152906001019060200180831161208757829003601f168201915b505050505081565b600080600a60006120bb61254e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216f90613981565b60405180910390fd5b61218c61218361254e565b85858403612556565b600191505092915050565b60006121ab6121a461254e565b8484612721565b6001905092915050565b600e5481565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61224a61254e565b73ffffffffffffffffffffffffffffffffffffffff16612268611ff4565b73ffffffffffffffffffffffffffffffffffffffff16146122be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b5906138a1565b60405180910390fd5b8060088190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6122f661254e565b73ffffffffffffffffffffffffffffffffffffffff16612314611ff4565b73ffffffffffffffffffffffffffffffffffffffff161461236a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612361906138a1565b60405180910390fd5b80600e8190555050565b61237c61254e565b73ffffffffffffffffffffffffffffffffffffffff1661239a611ff4565b73ffffffffffffffffffffffffffffffffffffffff16146123f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e7906138a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612460576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612457906137c1565b60405180910390fd5b61246981612baa565b50565b6000600854905090565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124f99190613665565b60206040518083038186803b15801561251157600080fd5b505afa158015612525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125499190612f0b565b905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd90613901565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262d906137e1565b60405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161271491906139a1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612791576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612788906138c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f890613781565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287f90613801565b60405180910390fd5b818103600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461291d9190613a1c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161298191906139a1565b60405180910390a350505050565b60008060009050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156129fe57600080fd5b505afa158015612a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a369190612f70565b600a612a429190613af6565b600460009054906101000a900460ff16600a612a5e9190613af6565b84612a699190613c14565b612a739190613a72565b90506000811415612a8357600080fd5b600081905060006005541115612ab15760065460055482612aa49190613c14565b612aae9190613a72565b90505b8060056000828254612ac39190613a1c565b925050819055508160066000828254612adc9190613a1c565b9250508190555080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b329190613a1c565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b9791906139a1565b60405180910390a3809250505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050612c7f81613e2b565b92915050565b600081359050612c9481613e42565b92915050565b600081519050612ca981613e42565b92915050565b600081359050612cbe81613e59565b92915050565b600081519050612cd381613e59565b92915050565b600081519050612ce881613e70565b92915050565b600060208284031215612d0057600080fd5b6000612d0e84828501612c70565b91505092915050565b60008060408385031215612d2a57600080fd5b6000612d3885828601612c70565b9250506020612d4985828601612c70565b9150509250929050565b600080600060608486031215612d6857600080fd5b6000612d7686828701612c70565b9350506020612d8786828701612c70565b9250506040612d9886828701612caf565b9150509250925092565b60008060408385031215612db557600080fd5b6000612dc385828601612c70565b9250506020612dd485828601612caf565b9150509250929050565b600080600060608486031215612df357600080fd5b6000612e0186828701612c70565b9350506020612e1286828701612caf565b9250506040612e2386828701612caf565b9150509250925092565b60008060008060808587031215612e4357600080fd5b6000612e5187828801612c70565b9450506020612e6287828801612caf565b9350506040612e7387828801612caf565b9250506060612e8487828801612caf565b91505092959194509250565b600060208284031215612ea257600080fd5b6000612eb084828501612c85565b91505092915050565b600060208284031215612ecb57600080fd5b6000612ed984828501612c9a565b91505092915050565b600060208284031215612ef457600080fd5b6000612f0284828501612caf565b91505092915050565b600060208284031215612f1d57600080fd5b6000612f2b84828501612cc4565b91505092915050565b60008060408385031215612f4757600080fd5b6000612f5585828601612caf565b9250506020612f6685828601612c70565b9150509250929050565b600060208284031215612f8257600080fd5b6000612f9084828501612cd9565b91505092915050565b612fa281613ca2565b82525050565b612fb181613cb4565b82525050565b612fc081613cf7565b82525050565b6000612fd182613a00565b612fdb8185613a0b565b9350612feb818560208601613d1b565b612ff481613e0d565b840191505092915050565b600061300c601683613a0b565b91507f416d6f756e7420657863656564732062616c616e6365000000000000000000006000830152602082019050919050565b600061304c602383613a0b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130b2601383613a0b565b91507f4e6f7468696e6720746f207769746864726177000000000000000000000000006000830152602082019050919050565b60006130f2602683613a0b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613158602283613a0b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131be602683613a0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613224602383613a0b565b91507f42616c616e6365206f7220616c6c6f77616e6365206e6f74207375666669636960008301527f656e7400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061328a602483613a0b565b91507f53686f756c6420626520626967676572207468616e206d696e696d756d20616d60008301527f6f756e74000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006132f0602183613a0b565b91507f4665652073686f756c642062652067726561746572207468616e20747820666560008301527f65000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613356602883613a0b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006133bc602083613a0b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006133fc602583613a0b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613462600f83613a0b565b91507f4661696c6564207472616e7366657200000000000000000000000000000000006000830152602082019050919050565b60006134a2602483613a0b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613508601383613a0b565b91507f5661756c74206973206c6f636b6564206f7574000000000000000000000000006000830152602082019050919050565b6000613548601f83613a0b565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000613588602583613a0b565b91507f5472616e7366657220616d6f756e742065786365656473207661756c7420626160008301527f6c616e63650000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006135ee602583613a0b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61365081613ce0565b82525050565b61365f81613cea565b82525050565b600060208201905061367a6000830184612f99565b92915050565b60006040820190506136956000830185612f99565b6136a26020830184612f99565b9392505050565b60006060820190506136be6000830186612f99565b6136cb6020830185612f99565b6136d86040830184613647565b949350505050565b60006040820190506136f56000830185612f99565b6137026020830184613647565b9392505050565b600060208201905061371e6000830184612fa8565b92915050565b60006020820190506137396000830184612fb7565b92915050565b600060208201905081810360008301526137598184612fc6565b905092915050565b6000602082019050818103600083015261377a81612fff565b9050919050565b6000602082019050818103600083015261379a8161303f565b9050919050565b600060208201905081810360008301526137ba816130a5565b9050919050565b600060208201905081810360008301526137da816130e5565b9050919050565b600060208201905081810360008301526137fa8161314b565b9050919050565b6000602082019050818103600083015261381a816131b1565b9050919050565b6000602082019050818103600083015261383a81613217565b9050919050565b6000602082019050818103600083015261385a8161327d565b9050919050565b6000602082019050818103600083015261387a816132e3565b9050919050565b6000602082019050818103600083015261389a81613349565b9050919050565b600060208201905081810360008301526138ba816133af565b9050919050565b600060208201905081810360008301526138da816133ef565b9050919050565b600060208201905081810360008301526138fa81613455565b9050919050565b6000602082019050818103600083015261391a81613495565b9050919050565b6000602082019050818103600083015261393a816134fb565b9050919050565b6000602082019050818103600083015261395a8161353b565b9050919050565b6000602082019050818103600083015261397a8161357b565b9050919050565b6000602082019050818103600083015261399a816135e1565b9050919050565b60006020820190506139b66000830184613647565b92915050565b60006040820190506139d16000830185613647565b6139de6020830184613647565b9392505050565b60006020820190506139fa6000830184613656565b92915050565b600081519050919050565b600082825260208201905092915050565b6000613a2782613ce0565b9150613a3283613ce0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a6757613a66613d80565b5b828201905092915050565b6000613a7d82613ce0565b9150613a8883613ce0565b925082613a9857613a97613daf565b5b828204905092915050565b6000808291508390505b6001851115613aed57808604811115613ac957613ac8613d80565b5b6001851615613ad85780820291505b8081029050613ae685613e1e565b9450613aad565b94509492505050565b6000613b0182613ce0565b9150613b0c83613cea565b9250613b397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613b41565b905092915050565b600082613b515760019050613c0d565b81613b5f5760009050613c0d565b8160018114613b755760028114613b7f57613bae565b6001915050613c0d565b60ff841115613b9157613b90613d80565b5b8360020a915084821115613ba857613ba7613d80565b5b50613c0d565b5060208310610133831016604e8410600b8410161715613be35782820a905083811115613bde57613bdd613d80565b5b613c0d565b613bf08484846001613aa3565b92509050818404811115613c0757613c06613d80565b5b81810290505b9392505050565b6000613c1f82613ce0565b9150613c2a83613ce0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c6357613c62613d80565b5b828202905092915050565b6000613c7982613ce0565b9150613c8483613ce0565b925082821015613c9757613c96613d80565b5b828203905092915050565b6000613cad82613cc0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d0282613d09565b9050919050565b6000613d1482613cc0565b9050919050565b60005b83811015613d39578082015181840152602081019050613d1e565b83811115613d48576000848401525b50505050565b60006002820490506001821680613d6657607f821691505b60208210811415613d7a57613d79613dde565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b613e3481613ca2565b8114613e3f57600080fd5b50565b613e4b81613cb4565b8114613e5657600080fd5b50565b613e6281613ce0565b8114613e6d57600080fd5b50565b613e7981613cea565b8114613e8457600080fd5b5056fea2646970667358221220a888006bd1fd081ce70c88ca543bd2efd5f12d371b9db9cc0775bc95550c56a664736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000007b250f58146d0dd7fd7c491f33e7f1e37bafee4a0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000aae600000000000000000000000000000000000000000000000000000000000000007666f726d55534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d466f726d6174696f6e2055534400000000000000000000000000000000000000