0 txs
0 calls
constructor
constructor()
functions
_buyFundFee
viewfunction _buyFundFee() view returns (uint256)
_buyLPFee
viewfunction _buyLPFee() view returns (uint256)
_buyRewardFee
viewfunction _buyRewardFee() view returns (uint256)
_feeWhiteList
viewfunction _feeWhiteList(address) view returns (bool)
_mainPair
viewfunction _mainPair() view returns (address)
_rewardTokenDistributor
viewfunction _rewardTokenDistributor() view returns (address)
_sellFundFee
viewfunction _sellFundFee() view returns (uint256)
_sellLPFee
viewfunction _sellLPFee() view returns (uint256)
_sellRewardFee
viewfunction _sellRewardFee() view returns (uint256)
_swapPairList
viewfunction _swapPairList(address) view returns (bool)
_swapRouter
viewfunction _swapRouter() view returns (address)
_tokenDistributor
viewfunction _tokenDistributor() view returns (address)
airdropNumbs
viewfunction airdropNumbs() view returns (uint256)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
antiSYNC
viewfunction antiSYNC() view returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buy_burnFee
viewfunction buy_burnFee() view returns (uint256)
currency
viewfunction currency() view returns (address)
decimals
viewfunction decimals() view returns (uint256)
dmcAddress
viewfunction dmcAddress() view returns (address)
fundAddress
viewfunction fundAddress() view returns (address)
holderRewardCondition
viewfunction holderRewardCondition() view returns (uint256)
limitEnable
viewfunction limitEnable() view returns (bool)
lpAddress
viewfunction lpAddress() view returns (address)
lpRewardGas
viewfunction lpRewardGas() view returns (uint256)
minRewardCondition
viewfunction minRewardCondition() view returns (uint256)
name
viewfunction name() view returns (string)
numTokensSellRate
viewfunction numTokensSellRate() view returns (uint256)
owner
viewfunction owner() view returns (address)
processRewardWaitBlock
viewfunction processRewardWaitBlock() view returns (uint256)
sell_burnFee
viewfunction sell_burnFee() view returns (uint256)
startLPBlock
viewfunction startLPBlock() view returns (uint256)
startTradeBlock
viewfunction startTradeBlock() view returns (uint256)
swapAtAmount
viewfunction swapAtAmount() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalFundAmountReceive
viewfunction totalFundAmountReceive() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferFee
viewfunction transferFee() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claimOut
nonpayablefunction claimOut(address to, address token, uint256 amount)
launch
nonpayablefunction launch()
renounceOwnership
nonpayablefunction renounceOwnership()
setAirdropNumbs
nonpayablefunction setAirdropNumbs(uint256 newValue)
setAntiSYNCEnable
nonpayablefunction setAntiSYNCEnable(bool s)
setExcludeHolder
nonpayablefunction setExcludeHolder(address addr, bool enable)
setFundAddress
nonpayablefunction setFundAddress(address addr)
setHolderRewardCondition
nonpayablefunction setHolderRewardCondition(uint256 amount)
setLpAddress
nonpayablefunction setLpAddress(address addr)
setLpRewardGas
nonpayablefunction setLpRewardGas(uint256 newValue)
setMinRewardCondition
nonpayablefunction setMinRewardCondition(uint256 amount)
setNumTokensSellRate
nonpayablefunction setNumTokensSellRate(uint256 newValue)
setProcessRewardWaitBlock
nonpayablefunction setProcessRewardWaitBlock(uint256 newValue)
setSwapAtAmount
nonpayablefunction setSwapAtAmount(uint256 newValue)
setSwapPairList
nonpayablefunction setSwapPairList(address addr, bool enable)
startLP
nonpayablefunction startLP()
stopLP
nonpayablefunction stopLP()
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)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Failed_AddLiquidity
event Failed_AddLiquidity()
Failed_swapExactTokensForETHSupportingFeeOnTransferTokens
event Failed_swapExactTokensForETHSupportingFeeOnTransferTokens()
Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens
event Failed_swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60806040526040518060400160405280600a81526020017f447265616d20436f696e00000000000000000000000000000000000000000000815250600690816200004a919062000e15565b506040518060400160405280600381526020017f444d4300000000000000000000000000000000000000000000000000000000008152506007908162000091919062000e15565b5060126008556001600960006101000a81548160ff021916908315150217905550600060135560646014556000601555620557306016556001602055348015620000da57600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600854600a6200018d91906200107f565b620f42406200019d9190620010d0565b600b819055506000339050734530af4fdce714306e33f786b0cdf098f5be5873600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f2b2e0e89f782f5512a5407d58793eef35038710600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507355d398326f99059ff775485246999027b3197955600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060026013819055506001601260146101000a81548160ff02191690831515021790555060007310ed43c718714eb63d5aa57b78b54704e256024e905080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3826000196040518363ffffffff1660e01b81526004016200044992919062001171565b6020604051808303816000875af115801562000469573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048f9190620011e0565b5060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000504919062001243565b905060008173ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016200056792919062001275565b6020604051808303816000875af115801562000587573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ad919062001243565b905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620006f09190620012a2565b60405180910390a3600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000a97573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000abd9190620012f0565b600a62000acb91906200107f565b601d81905550600854600a62000ae291906200107f565b601e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000b199062000b8d565b62000b25919062001322565b604051809103906000f08015801562000b42573d6000803e3d6000fd5b50600f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050506200133f565b61024c80620064e983390190565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c1d57607f821691505b60208210810362000c335762000c3262000bd5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c9d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c5e565b62000ca9868362000c5e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cf662000cf062000cea8462000cc1565b62000ccb565b62000cc1565b9050919050565b6000819050919050565b62000d128362000cd5565b62000d2a62000d218262000cfd565b84845462000c6b565b825550505050565b600090565b62000d4162000d32565b62000d4e81848462000d07565b505050565b5b8181101562000d765762000d6a60008262000d37565b60018101905062000d54565b5050565b601f82111562000dc55762000d8f8162000c39565b62000d9a8462000c4e565b8101602085101562000daa578190505b62000dc262000db98562000c4e565b83018262000d53565b50505b505050565b600082821c905092915050565b600062000dea6000198460080262000dca565b1980831691505092915050565b600062000e05838362000dd7565b9150826002028217905092915050565b62000e208262000b9b565b67ffffffffffffffff81111562000e3c5762000e3b62000ba6565b5b62000e48825462000c04565b62000e5582828562000d7a565b600060209050601f83116001811462000e8d576000841562000e78578287015190505b62000e84858262000df7565b86555062000ef4565b601f19841662000e9d8662000c39565b60005b8281101562000ec75784890151825560018201915060208501945060208101905062000ea0565b8683101562000ee7578489015162000ee3601f89168262000dd7565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f8a5780860481111562000f625762000f6162000efc565b5b600185161562000f725780820291505b808102905062000f828562000f2b565b945062000f42565b94509492505050565b60008262000fa5576001905062001078565b8162000fb5576000905062001078565b816001811462000fce576002811462000fd9576200100f565b600191505062001078565b60ff84111562000fee5762000fed62000efc565b5b8360020a91508482111562001008576200100762000efc565b5b5062001078565b5060208310610133831016604e8410600b8410161715620010495782820a90508381111562001043576200104262000efc565b5b62001078565b62001058848484600162000f38565b9250905081840481111562001072576200107162000efc565b5b81810290505b9392505050565b60006200108c8262000cc1565b9150620010998362000cc1565b9250620010c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f93565b905092915050565b6000620010dd8262000cc1565b9150620010ea8362000cc1565b9250828202620010fa8162000cc1565b9150828204841483151762001114576200111362000efc565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001148826200111b565b9050919050565b6200115a816200113b565b82525050565b6200116b8162000cc1565b82525050565b60006040820190506200118860008301856200114f565b62001197602083018462001160565b9392505050565b600080fd5b60008115159050919050565b620011ba81620011a3565b8114620011c657600080fd5b50565b600081519050620011da81620011af565b92915050565b600060208284031215620011f957620011f86200119e565b5b60006200120984828501620011c9565b91505092915050565b6200121d816200113b565b81146200122957600080fd5b50565b6000815190506200123d8162001212565b92915050565b6000602082840312156200125c576200125b6200119e565b5b60006200126c848285016200122c565b91505092915050565b60006040820190506200128c60008301856200114f565b6200129b60208301846200114f565b9392505050565b6000602082019050620012b9600083018462001160565b92915050565b620012ca8162000cc1565b8114620012d657600080fd5b50565b600081519050620012ea81620012bf565b92915050565b6000602082840312156200130957620013086200119e565b5b60006200131984828501620012d9565b91505092915050565b60006020820190506200133960008301846200114f565b92915050565b61519a806200134f6000396000f3fe6080604052600436106103905760003560e01c80636f5e0212116101dc578063b1734f8711610102578063e32759cf116100a0578063ea10510e1161006f578063ea10510e14610cef578063eb10b74114610d18578063ef6e4f1714610d43578063f2fde38b14610d6e57610397565b8063e32759cf14610c45578063e5a6b10f14610c70578063e5c2b0a614610c9b578063e82bef2914610cc457610397565b8063c213d62d116100dc578063c213d62d14610b89578063ce0192f914610bb2578063d285e6ab14610bdd578063dd62ed3e14610c0857610397565b8063b1734f8714610b08578063b9fbc49d14610b33578063be4fe9a514610b5e57610397565b80638f6cd17d1161017a578063a842486111610149578063a842486114610a4c578063a9059cbb14610a75578063acb2ad6f14610ab2578063adc7955d14610add57610397565b80638f6cd17d146109b457806395d89b41146109df578063992db38f14610a0a5780639b4dc8cc14610a2157610397565b806385dc3004116101b657806385dc30041461090a57806386917524146109335780638718b24f1461095e5780638da5cb5b1461098957610397565b80636f5e02121461088d57806370a08231146108b6578063715018a6146108f357610397565b806335c96089116102c1578063553193ca1161025f5780636402511e1161022e5780636402511e146107e55780636482db4b1461080e57806369768b50146108375780636b6113681461086257610397565b8063553193ca1461073b5780635962dc4e14610766578063605324f214610791578063621823e6146107ba57610397565b80633c11100d1161029b5780633c11100d1461067d5780634188bf5a146106ba5780634482004e146106e55780634a9a77401461071057610397565b806335c96089146105fe5780633bb82eb6146106295780633bfe62ca1461065257610397565b806312afcc2f1161032e578063206c17bb11610308578063206c17bb1461054057806323b872dd1461056b578063255412d9146105a8578063313ce567146105d357610397565b806312afcc2f146104d557806318160ddd146104fe57806318d128551461052957610397565b8063060e304e1161036a578063060e304e1461041957806306fdde031461044257806307c3adf01461046d578063095ea7b31461049857610397565b806301339c211461039c57806301986fad146103b357806305833c2b146103f057610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610d97565b005b3480156103bf57600080fd5b506103da60048036038101906103d59190614131565b610e3f565b6040516103e79190614179565b60405180910390f35b3480156103fc57600080fd5b50610417600480360381019061041291906141c0565b610e5f565b005b34801561042557600080fd5b50610440600480360381019061043b9190614236565b610f14565b005b34801561044e57600080fd5b50610457610fbb565b60405161046491906142f3565b60405180910390f35b34801561047957600080fd5b5061048261104d565b60405161048f9190614324565b60405180910390f35b3480156104a457600080fd5b506104bf60048036038101906104ba919061433f565b611052565b6040516104cc9190614179565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f79190614236565b611069565b005b34801561050a57600080fd5b506105136110cd565b6040516105209190614324565b60405180910390f35b34801561053557600080fd5b5061053e6110d7565b005b34801561054c57600080fd5b5061055561113b565b60405161056291906143de565b60405180910390f35b34801561057757600080fd5b50610592600480360381019061058d91906143f9565b611161565b60405161059f9190614179565b60405180910390f35b3480156105b457600080fd5b506105bd611307565b6040516105ca9190614324565b60405180910390f35b3480156105df57600080fd5b506105e861130c565b6040516105f59190614324565b60405180910390f35b34801561060a57600080fd5b50610613611316565b6040516106209190614179565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b9190614236565b611329565b005b34801561065e57600080fd5b5061066761138d565b6040516106749190614324565b60405180910390f35b34801561068957600080fd5b506106a4600480360381019061069f9190614131565b611392565b6040516106b19190614179565b60405180910390f35b3480156106c657600080fd5b506106cf6113b2565b6040516106dc919061445b565b60405180910390f35b3480156106f157600080fd5b506106fa6113d8565b6040516107079190614324565b60405180910390f35b34801561071c57600080fd5b506107256113de565b6040516107329190614497565b60405180910390f35b34801561074757600080fd5b50610750611404565b60405161075d9190614324565b60405180910390f35b34801561077257600080fd5b5061077b61140a565b6040516107889190614324565b60405180910390f35b34801561079d57600080fd5b506107b860048036038101906107b39190614236565b611410565b005b3480156107c657600080fd5b506107cf6114c9565b6040516107dc9190614324565b60405180910390f35b3480156107f157600080fd5b5061080c60048036038101906108079190614236565b6114cf565b005b34801561081a57600080fd5b50610835600480360381019061083091906144f0565b611533565b005b34801561084357600080fd5b5061084c6116c2565b6040516108599190614179565b60405180910390f35b34801561086e57600080fd5b506108776116d5565b6040516108849190614324565b60405180910390f35b34801561089957600080fd5b506108b460048036038101906108af9190614543565b6116da565b005b3480156108c257600080fd5b506108dd60048036038101906108d89190614131565b6117d0565b6040516108ea9190614324565b60405180910390f35b3480156108ff57600080fd5b50610908611985565b005b34801561091657600080fd5b50610931600480360381019061092c9190614543565b611ad1565b005b34801561093f57600080fd5b50610948611bc7565b6040516109559190614324565b60405180910390f35b34801561096a57600080fd5b50610973611bcd565b6040516109809190614497565b60405180910390f35b34801561099557600080fd5b5061099e611bf3565b6040516109ab919061445b565b60405180910390f35b3480156109c057600080fd5b506109c9611c1c565b6040516109d69190614324565b60405180910390f35b3480156109eb57600080fd5b506109f4611c22565b604051610a0191906142f3565b60405180910390f35b348015610a1657600080fd5b50610a1f611cb4565b005b348015610a2d57600080fd5b50610a36611d5c565b604051610a43919061457f565b60405180910390f35b348015610a5857600080fd5b50610a736004803603810190610a6e91906141c0565b611d82565b005b348015610a8157600080fd5b50610a9c6004803603810190610a97919061433f565b611e37565b604051610aa99190614179565b60405180910390f35b348015610abe57600080fd5b50610ac7611e4e565b604051610ad49190614324565b60405180910390f35b348015610ae957600080fd5b50610af2611e54565b604051610aff9190614324565b60405180910390f35b348015610b1457600080fd5b50610b1d611e59565b604051610b2a919061445b565b60405180910390f35b348015610b3f57600080fd5b50610b48611e7f565b604051610b559190614324565b60405180910390f35b348015610b6a57600080fd5b50610b73611e84565b604051610b809190614324565b60405180910390f35b348015610b9557600080fd5b50610bb06004803603810190610bab9190614236565b611e89565b005b348015610bbe57600080fd5b50610bc7611eed565b604051610bd49190614324565b60405180910390f35b348015610be957600080fd5b50610bf2611ef2565b604051610bff9190614324565b60405180910390f35b348015610c1457600080fd5b50610c2f6004803603810190610c2a919061459a565b611ef8565b604051610c3c9190614324565b60405180910390f35b348015610c5157600080fd5b50610c5a611f7f565b604051610c679190614324565b60405180910390f35b348015610c7c57600080fd5b50610c85611f85565b604051610c92919061445b565b60405180910390f35b348015610ca757600080fd5b50610cc26004803603810190610cbd9190614236565b611fab565b005b348015610cd057600080fd5b50610cd961200f565b604051610ce6919061457f565b60405180910390f35b348015610cfb57600080fd5b50610d166004803603810190610d1191906145da565b612035565b005b348015610d2457600080fd5b50610d2d6120ac565b604051610d3a9190614324565b60405180910390f35b348015610d4f57600080fd5b50610d586120b2565b604051610d659190614324565b60405180910390f35b348015610d7a57600080fd5b50610d956004803603810190610d909190614131565b6120b8565b005b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610df157600080fd5b601154600014610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90614653565b60405180910390fd5b43601181905550565b600a6020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb957600080fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f6e57600080fd5b60008103610fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa8906146bf565b60405180910390fd5b8060148190555050565b606060068054610fca9061470e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff69061470e565b80156110435780601f1061101857610100808354040283529160200191611043565b820191906000526020600020905b81548152906001019060200180831161102657829003601f168201915b5050505050905090565b606481565b600061105f338484612272565b6001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110c357600080fd5b80601d8190555050565b6000600b54905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461113157600080fd5b6000601881905550565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061116e84848461235d565b600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146112fc5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461127b919061476e565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b606481565b6000600854905090565b601260149054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461138357600080fd5b8060208190555050565b603281565b600e6020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b601d5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461146a57600080fd5b62030d4081101580156114805750621e84808111155b6114bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b6906147ee565b60405180910390fd5b8060168190555050565b60205481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461152957600080fd5b8060158190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461158d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163d5760008373ffffffffffffffffffffffffffffffffffffffff16826040516115e79061483f565b60006040518083038185875af1925050503d8060008114611624576040519150601f19603f3d011682016040523d82523d6000602084013e611629565b606091505b505090508061163757600080fd5b506116bd565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401611678929190614875565b6020604051808303816000875af1158015611697573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bb91906148b3565b505b505050565b600960009054906101000a900460ff1681565b606481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461173457600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561187c5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80156118945750601260149054906101000a900460ff165b1561193e57600060016000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161193d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119349061492c565b60405180910390fd5b5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0a90614998565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b2b57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60155481565b600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60145481565b606060078054611c319061470e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5d9061470e565b8015611caa5780601f10611c7f57610100808354040283529160200191611caa565b820191906000526020600020905b815481529060010190602001808311611c8d57829003601f168201915b5050505050905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d0e57600080fd5b601854600014611d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4a90614a04565b60405180910390fd5b43601881905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ddc57600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611e4433848461235d565b6001905092915050565b61019081565b603281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b603281565b60c881565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee357600080fd5b80601e8190555050565b603281565b60165481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60135481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461200557600080fd5b8060138190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461208f57600080fd5b80601260146101000a81548160ff02191690831515021790555050565b601e5481565b60175481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213d90614998565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac90614a70565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123509190614324565b60405180910390a3505050565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156123e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123db90614adc565b60405180910390fd5b600080600080600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16036124515761244a612d16565b90506124b2565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16036124b1576124ae612eca565b91505b5b600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125565750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561256457506000601354115b801561260d5750600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061260c5750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b1561269357600080600090505b60135481101561267457808a4260405160200161263993929190614b1d565b6040516020818303038152906040528051906020012060001c91506126608c83600161307f565b50808061266c90614b5a565b91505061261a565b5060016013546126849190614ba2565b8961268f919061476e565b9850505b60006011540361283d57600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127415750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127975750600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127ed5750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561283c576127fb8961319d565b1561283b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283290614c30565b60405180910390fd5b5b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806128de5750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612bed57600a60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156129875750600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b3957600060115411806129a8575060185460001080156129a75750805b5b6129e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129de90614c9c565b60405180910390fd5b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b2257600f60009054906101000a900460ff16158015612a54575080155b15612b21576000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050601554811115612b1f576000603260c860328060646032612abe9190614cbc565b612ac89190614cbc565b612ad29190614cbc565b612adc9190614cbc565b612ae69190614cbc565b9050600060646014548c612afa9190614ba2565b612b049190614d1f565b905082811115612b12578290505b612b1c81836131b6565b50505b505b5b80158015612b2e575081155b15612b3857600195505b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b945760019450612bec565b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612beb57600193505b5b5b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612c915750600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612c9b57600192505b612ca98a8a8a89888861384c565b3073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614612d0a57848015612ce7575081155b80612cef5750825b15612cfe57612cfd89613aea565b5b612d09601654613c85565b5b50505050505050505050565b600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db09190614dd2565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161015612e3a57839050612e3e565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401612e79919061445b565b602060405180830381865afa158015612e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eba9190614e3a565b9050818111965050505050505090565b600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f649190614dd2565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161015612fee57839050612ff2565b8290505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b815260040161302d919061445b565b602060405180830381865afa15801561304a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306e9190614e3a565b905080821015965050505050505090565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130d0919061476e565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546131269190614cbc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161318a9190614324565b60405180910390a3600190509392505050565b600080823b905060008163ffffffff1611915050919050565b6001600f60006101000a81548160ff02191690831515021790555060008114806131e05750600082145b61382d5760006032806131f39190614cbc565b9050600082600283866132069190614ba2565b6132109190614d1f565b61321a9190614d1f565b9050600060028361322b9190614d1f565b84613236919061476e565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600267ffffffffffffffff81111561327c5761327b614e67565b5b6040519080825280602002602001820160405280156132aa5781602001602082028036833780820191505090505b50905030816000815181106132c2576132c1614e96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061333357613332614e96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79585896133b7919061476e565b600084600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016133fe959493929190614fbe565b600060405180830381600087803b15801561341857600080fd5b505af1925050508015613429575060015b61346a577f6c37756e80daba6f4df0d5bfa6cddadfe23601acc1a27dc8d4aa427de9146788600060405161345d9190615018565b60405180910390a161346b565b5b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016134c8919061445b565b602060405180830381865afa1580156134e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135099190614e3a565b9050600081146135b7578273ffffffffffffffffffffffffffffffffffffffff166323b872dd600f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b815260040161357293929190615033565b6020604051808303816000875af1158015613591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b591906148b3565b505b600084600288846135c89190614ba2565b6135d29190614d1f565b6135dc9190614d1f565b90506000856032806135ee9190614cbc565b846135f99190614ba2565b6136039190614d1f565b905060008111156136c9578473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161366b929190614875565b6020604051808303816000875af115801561368a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ae91906148b3565b5080601760008282546136c19190614cbc565b925050819055505b6000871180156136d95750600082115b1561380257600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8e3370030600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a86600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518963ffffffff1660e01b815260040161378c98979695949392919061506a565b6060604051808303816000875af19250505080156137c857506040513d601f19601f820116820180604052508101906137c591906150e8565b60015b6137fd577f0e944a8ae3ee1160b2678930fb103c5ceadb14ecbb4c16e311d7402f7011322c60405160405180910390a1613801565b5050505b5b600060c860646138129190614cbc565b0361382457505050505050505061382d565b50505050505050505b6000600f60006101000a81548160ff0219169083151502179055505050565b83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613897919061476e565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600083156139d5576000831561390b57603260c860326138fa9190614cbc565b6139049190614cbc565b9050613927565b606460328061391a9190614cbc565b6139249190614cbc565b90505b600061271082886139389190614ba2565b6139429190614d1f565b905060008111156139675780836139599190614cbc565b9250613966893083613fd6565b5b60008561398f5761271060648961397e9190614ba2565b6139889190614d1f565b90506139ac565b61271060648961399f9190614ba2565b6139a99190614d1f565b90505b60008111156139d15780846139c19190614cbc565b93506139d08a61dead83613fd6565b5b5050505b818015613a2c5750600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015613a825750600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613acb57600061271061019087613a9a9190614ba2565b613aa49190614d1f565b90506000811115613ac9578082613abb9190614cbc565b9150613ac8883083613fd6565b5b505b613ae187878388613adc919061476e565b613fd6565b50505050505050565b613af38161319d565b613c8257601e54613b03826117d0565b10613c8257601a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600003613c815760198054905060001480613bce57508073ffffffffffffffffffffffffffffffffffffffff166019600081548110613b8a57613b89614e96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15613c8057601980549050601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506019819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b43602054601f54613c969190614cbc565b11613fd3576000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000613ccd306117d0565b9050601d54811015613ce0575050613fd3565b6000613cea6110cd565b9050600080600080601980549050905060008060005a90508973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613d3b919061445b565b602060405180830381865afa158015613d58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d7c9190614e3a565b98505b8a83108015613d8d57508382105b15613fc15783601c5410613da4576000601c819055505b6019601c5481548110613dba57613db9614e96565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650613df0876117d0565b9550601e548610158015613e4e5750601b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613f7a5787868a613e609190614ba2565b613e6a9190614d1f565b9450600085118015613ef45750848a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401613eb1919061445b565b602060405180830381865afa158015613ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef29190614e3a565b115b15613f79578973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88876040518363ffffffff1660e01b8152600401613f3492919061513b565b6020604051808303816000875af1158015613f53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f7791906148b3565b505b5b5a81613f86919061476e565b83613f919190614cbc565b92505a9050601c6000815480929190613fa990614b5a565b91905055508180613fb990614b5a565b925050613d7f565b43601f81905550505050505050505050505b50565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546140219190614cbc565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516140c19190614324565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006140fe826140d3565b9050919050565b61410e816140f3565b811461411957600080fd5b50565b60008135905061412b81614105565b92915050565b600060208284031215614147576141466140ce565b5b60006141558482850161411c565b91505092915050565b60008115159050919050565b6141738161415e565b82525050565b600060208201905061418e600083018461416a565b92915050565b61419d8161415e565b81146141a857600080fd5b50565b6000813590506141ba81614194565b92915050565b600080604083850312156141d7576141d66140ce565b5b60006141e58582860161411c565b92505060206141f6858286016141ab565b9150509250929050565b6000819050919050565b61421381614200565b811461421e57600080fd5b50565b6000813590506142308161420a565b92915050565b60006020828403121561424c5761424b6140ce565b5b600061425a84828501614221565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561429d578082015181840152602081019050614282565b60008484015250505050565b6000601f19601f8301169050919050565b60006142c582614263565b6142cf818561426e565b93506142df81856020860161427f565b6142e8816142a9565b840191505092915050565b6000602082019050818103600083015261430d81846142ba565b905092915050565b61431e81614200565b82525050565b60006020820190506143396000830184614315565b92915050565b60008060408385031215614356576143556140ce565b5b60006143648582860161411c565b925050602061437585828601614221565b9150509250929050565b6000819050919050565b60006143a461439f61439a846140d3565b61437f565b6140d3565b9050919050565b60006143b682614389565b9050919050565b60006143c8826143ab565b9050919050565b6143d8816143bd565b82525050565b60006020820190506143f360008301846143cf565b92915050565b600080600060608486031215614412576144116140ce565b5b60006144208682870161411c565b93505060206144318682870161411c565b925050604061444286828701614221565b9150509250925092565b614455816140f3565b82525050565b6000602082019050614470600083018461444c565b92915050565b6000614481826143ab565b9050919050565b61449181614476565b82525050565b60006020820190506144ac6000830184614488565b92915050565b60006144bd826140d3565b9050919050565b6144cd816144b2565b81146144d857600080fd5b50565b6000813590506144ea816144c4565b92915050565b600080600060608486031215614509576145086140ce565b5b6000614517868287016144db565b93505060206145288682870161411c565b925050604061453986828701614221565b9150509250925092565b600060208284031215614559576145586140ce565b5b6000614567848285016144db565b91505092915050565b614579816144b2565b82525050565b60006020820190506145946000830184614570565b92915050565b600080604083850312156145b1576145b06140ce565b5b60006145bf8582860161411c565b92505060206145d08582860161411c565b9150509250929050565b6000602082840312156145f0576145ef6140ce565b5b60006145fe848285016141ab565b91505092915050565b7f616c7265616479206f70656e0000000000000000000000000000000000000000600082015250565b600061463d600c8361426e565b915061464882614607565b602082019050919050565b6000602082019050818103600083015261466c81614630565b9050919050565b7f67726561746572207468616e2030000000000000000000000000000000000000600082015250565b60006146a9600e8361426e565b91506146b482614673565b602082019050919050565b600060208201905081810360008301526146d88161469c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061472657607f821691505b602082108103614739576147386146df565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061477982614200565b915061478483614200565b925082820390508181111561479c5761479b61473f565b5b92915050565b7f746f6f2068696768206f7220746f6f206c6f7700000000000000000000000000600082015250565b60006147d860138361426e565b91506147e3826147a2565b602082019050919050565b60006020820190508181036000830152614807816147cb565b9050919050565b600081905092915050565b50565b600061482960008361480e565b915061483482614819565b600082019050919050565b600061484a8261481c565b9150819050919050565b600061485f826143ab565b9050919050565b61486f81614854565b82525050565b600060408201905061488a6000830185614866565b6148976020830184614315565b9392505050565b6000815190506148ad81614194565b92915050565b6000602082840312156148c9576148c86140ce565b5b60006148d78482850161489e565b91505092915050565b7f2173796e63000000000000000000000000000000000000000000000000000000600082015250565b600061491660058361426e565b9150614921826148e0565b602082019050919050565b6000602082019050818103600083015261494581614909565b9050919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b600061498260068361426e565b915061498d8261494c565b602082019050919050565b600060208201905081810360008301526149b181614975565b9050919050565b7f737461727465644164644c500000000000000000000000000000000000000000600082015250565b60006149ee600c8361426e565b91506149f9826149b8565b602082019050919050565b60006020820190508181036000830152614a1d816149e1565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000614a5a60088361426e565b9150614a6582614a24565b602082019050919050565b60006020820190508181036000830152614a8981614a4d565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b6000614ac660108361426e565b9150614ad182614a90565b602082019050919050565b60006020820190508181036000830152614af581614ab9565b9050919050565b6000819050919050565b614b17614b1282614200565b614afc565b82525050565b6000614b298286614b06565b602082019150614b398285614b06565b602082019150614b498284614b06565b602082019150819050949350505050565b6000614b6582614200565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614b9757614b9661473f565b5b600182019050919050565b6000614bad82614200565b9150614bb883614200565b9250828202614bc681614200565b91508282048414831517614bdd57614bdc61473f565b5b5092915050565b7f63616e7420616464206f74686572206c70000000000000000000000000000000600082015250565b6000614c1a60118361426e565b9150614c2582614be4565b602082019050919050565b60006020820190508181036000830152614c4981614c0d565b9050919050565b7f70617573696e6700000000000000000000000000000000000000000000000000600082015250565b6000614c8660078361426e565b9150614c9182614c50565b602082019050919050565b60006020820190508181036000830152614cb581614c79565b9050919050565b6000614cc782614200565b9150614cd283614200565b9250828201905080821115614cea57614ce961473f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614d2a82614200565b9150614d3583614200565b925082614d4557614d44614cf0565b5b828204905092915050565b60006dffffffffffffffffffffffffffff82169050919050565b614d7381614d50565b8114614d7e57600080fd5b50565b600081519050614d9081614d6a565b92915050565b600063ffffffff82169050919050565b614daf81614d96565b8114614dba57600080fd5b50565b600081519050614dcc81614da6565b92915050565b600080600060608486031215614deb57614dea6140ce565b5b6000614df986828701614d81565b9350506020614e0a86828701614d81565b9250506040614e1b86828701614dbd565b9150509250925092565b600081519050614e348161420a565b92915050565b600060208284031215614e5057614e4f6140ce565b5b6000614e5e84828501614e25565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000614eea614ee5614ee084614ec5565b61437f565b614200565b9050919050565b614efa81614ecf565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614f35816140f3565b82525050565b6000614f478383614f2c565b60208301905092915050565b6000602082019050919050565b6000614f6b82614f00565b614f758185614f0b565b9350614f8083614f1c565b8060005b83811015614fb1578151614f988882614f3b565b9750614fa383614f53565b925050600181019050614f84565b5085935050505092915050565b600060a082019050614fd36000830188614315565b614fe06020830187614ef1565b8181036040830152614ff28186614f60565b9050615001606083018561444c565b61500e6080830184614315565b9695505050505050565b600060208201905061502d6000830184614ef1565b92915050565b6000606082019050615048600083018661444c565b615055602083018561444c565b6150626040830184614315565b949350505050565b600061010082019050615080600083018b61444c565b61508d602083018a61444c565b61509a6040830189614315565b6150a76060830188614315565b6150b46080830187614ef1565b6150c160a0830186614ef1565b6150ce60c0830185614866565b6150db60e0830184614315565b9998505050505050505050565b600080600060608486031215615101576151006140ce565b5b600061510f86828701614e25565b935050602061512086828701614e25565b925050604061513186828701614e25565b9150509250925092565b6000604082019050615150600083018561444c565b61515d6020830184614315565b939250505056fea264697066735822122088236a27ef91cd774ba3b9a40580ddb1d74881eab24e76f4049f93e3a89aeb8264736f6c63430008130033608060405234801561001057600080fd5b5060405161024c38038061024c8339818101604052810190610032919061011c565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3336000196040518363ffffffff1660e01b815260040161006f929190610171565b6020604051808303816000875af115801561008e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b291906101d2565b50506101ff565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e9826100be565b9050919050565b6100f9816100de565b811461010457600080fd5b50565b600081519050610116816100f0565b92915050565b600060208284031215610132576101316100b9565b5b600061014084828501610107565b91505092915050565b610152816100de565b82525050565b6000819050919050565b61016b81610158565b82525050565b60006040820190506101866000830185610149565b6101936020830184610162565b9392505050565b60008115159050919050565b6101af8161019a565b81146101ba57600080fd5b50565b6000815190506101cc816101a6565b92915050565b6000602082840312156101e8576101e76100b9565b5b60006101f6848285016101bd565b91505092915050565b603f8061020d6000396000f3fe6080604052600080fdfea264697066735822122074e57032b78cc90609a724959285c8d69f41f8eb4c4ac87e1b94e8064da8b77464736f6c63430008130033