0 txs
0 calls
constructor
constructor(address _owner, uint256 _price, uint256 decimal, address usdt, address akita, address _incufi, address commision, address County)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
commisionAmount
viewfunction commisionAmount(address) view returns (uint256)
CommissionContractToken
viewfunction CommissionContractToken() view returns (address)
contractToken
viewfunction contractToken() view returns (address)
countryhead
viewfunction countryhead(uint256) view returns (address)
Firstlevel
viewfunction Firstlevel() view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getearning
viewfunction getearning(uint256 id) view returns (uint256)
geteligibleAmount
viewfunction geteligibleAmount(uint256 id) view returns (uint256)
geteligiblePrecent
viewfunction geteligiblePrecent(uint256 id) view returns (uint256)
getTotalownerwithdral
viewfunction getTotalownerwithdral() view returns (uint256)
getTotalstacking
viewfunction getTotalstacking() view returns (uint256)
getTotalwithdral
viewfunction getTotalwithdral() view returns (uint256)
HeadPercent
viewfunction HeadPercent() view returns (uint256)
incufiContract
viewfunction incufiContract() view returns (address)
incufiId
viewfunction incufiId(uint256) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
listMyNFT
viewfunction listMyNFT() view returns (tuple[])
listPackage
viewfunction listPackage() view returns (tuple[])
name
viewfunction name() view returns (string)
NativeContractToken
viewfunction NativeContractToken() view returns (address)
NFTInvestMap
viewfunction NFTInvestMap(uint256) view returns (uint256 id, string url, address owner, uint256 package, uint256 starttime, uint256 endtime, uint256 apy, uint256 price, uint256 decimal, uint256 amount, uint256 earningWithdrawal, bool complet)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
PackageMap
viewfunction PackageMap(uint256) view returns (string name, uint256 id, uint256 amount, uint256 apy, uint256 period)
Price
viewfunction Price() view returns (uint256)
Secondlevel
viewfunction Secondlevel() view returns (uint256)
setdecimal
viewfunction setdecimal() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalfdearning
viewfunction totalfdearning() view returns (uint256 earning)
totaluserstaking
viewfunction totaluserstaking(address _user) view returns (uint256)
userEarningWithdrawlStatus
viewfunction userEarningWithdrawlStatus(address) view returns (bool)
userToggleTimestamps
viewfunction userToggleTimestamps(address, uint256) view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
buyNFT
nonpayablefunction buyNFT(uint256 _id, string uri, address soponpoer, address nd_sponore, uint256 period)
buyNFTOwner
nonpayablefunction buyNFTOwner(uint256 _id, string uri, address _user, uint256 _amount, uint256 _apy, uint256 period)
changeAkitaAddrees
nonpayablefunction changeAkitaAddrees(address newAkita)
changeOwner
nonpayablefunction changeOwner(address _owner)
changepackagedetails
nonpayablefunction changepackagedetails(string _name, uint256 _amount, uint256 _Apy, uint256 _id, uint256 _period)
changeStatus
nonpayablefunction changeStatus(bool status)
createPackage
nonpayablefunction createPackage(string _name, uint256 _amount, uint256 _apy)
IncubuyNFTOwner
nonpayablefunction IncubuyNFTOwner(uint256 _id, string uri, address _user, uint256 _amount, uint256 _apy)
OwnerchangeStatus
nonpayablefunction OwnerchangeStatus(bool status, address _user)
OwnerWithdral
nonpayablefunction OwnerWithdral(uint256 Amount)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setcountryHead
nonpayablefunction setcountryHead(uint256 countryid, address _countryHead)
setfirstlevel
nonpayablefunction setfirstlevel(uint256 percange)
setHeadPercentage
nonpayablefunction setHeadPercentage(uint256 percange)
setPrice
nonpayablefunction setPrice(uint256 price)
setPriceDecimal
nonpayablefunction setPriceDecimal(uint256 Decimal)
setsecondlevel
nonpayablefunction setsecondlevel(uint256 percange)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
withdalEarning
nonpayablefunction withdalEarning(uint256 id)
withdralNFT
nonpayablefunction withdralNFT(uint256 id)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BatchMetadataUpdate
event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId)
MetadataUpdate
event MetadataUpdate(uint256 _tokenId)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
creation bytecode
0x608060405234801562000010575f80fd5b5060405162003ef438038062003ef4833981016040819052620000339162000130565b6040518060400160405280600a81526020016920b5b4ba30a934b232b960b11b81525060405180604001604052806005815260200164414b49544160d81b815250815f90816200008491906200025f565b5060016200009382826200025f565b5050600780546001600160a01b03199081166001600160a01b039b8c161790915560089890985550600a959095556012805487169488169490941790935560138054861692871692909217909155601480548516918616919091179055601580548416918516919091179055601d805490921692169190911790556200032b565b80516001600160a01b03811681146200012b575f80fd5b919050565b5f805f805f805f80610100898b03121562000149575f80fd5b620001548962000114565b975060208901519650604089015195506200017260608a0162000114565b94506200018260808a0162000114565b93506200019260a08a0162000114565b9250620001a260c08a0162000114565b9150620001b260e08a0162000114565b90509295985092959890939650565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001ea57607f821691505b6020821081036200020957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200025a57805f5260205f20601f840160051c81016020851015620002365750805b601f840160051c820191505b8181101562000257575f815560010162000242565b50505b505050565b81516001600160401b038111156200027b576200027b620001c1565b62000293816200028c8454620001d5565b846200020f565b602080601f831160018114620002c9575f8415620002b15750858301515b5f19600386901b1c1916600185901b17855562000323565b5f85815260208120601f198616915b82811015620002f957888601518255948401946001909101908401620002d8565b50858210156200031757878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b613bbb80620003395f395ff3fe608060405234801561000f575f80fd5b506004361061037c575f3560e01c8063852bd0a7116101d4578063b434fc4511610109578063c99d6b8b116100a9578063e985e9c511610079578063e985e9c5146107cf578063f63f88e0146107e2578063fc11e788146107f5578063fd6e197f14610808575f80fd5b8063c99d6b8b14610783578063cb2c6f7714610796578063cc085054146107a9578063d4f57b14146107bc575f80fd5b8063c2a9ed47116100e4578063c2a9ed4714610741578063c765f90d1461074a578063c79d445c1461075d578063c87b56dd14610770575f80fd5b8063b434fc451461071d578063b88d4fde14610726578063c1b6bc9014610739575f80fd5b8063970f8d2711610174578063a22cb4651161014f578063a22cb465146106dc578063a4f0be73146106ef578063a6f9dae1146106f7578063b347ba891461070a575f80fd5b8063970f8d27146106b85780639b3de49b146106c05780639dfde201146106d3575f80fd5b806391b0420d116101af57806391b0420d1461068157806391b7f5ed1461068a578063946ca1891461069d57806395d89b41146106b0575f80fd5b8063852bd0a7146106335780638bc655bd1461065b5780638da5cb5b1461066e575f80fd5b80632677180d116102b557806352d0a2531161025557806370a082311161022557806370a08231146105d65780637230147e146105e9578063767e6c4e146105fc57806384364d5914610620575f80fd5b806352d0a2531461058857806362356d491461059b5780636352211e146105ae578063665f9e71146105c1575f80fd5b806342e3f3cd1161029057806342e3f3cd146105305780634595fb9c146105435780634cd925b01461055657806352196ea714610569575f80fd5b80632677180d146104f25780632ba28b1e146104fb57806342842e0e1461051d575f80fd5b80630898c867116103205780631635db0c116102fb5780631635db0c1461047f5780631c7038801461049257806320bfeb08146104b457806323b872dd146104df575f80fd5b80630898c86714610444578063095ea7b3146104575780630a0936c31461046a575f80fd5b8063059a95311161035b578063059a9531146103e857806305b39f8a1461040957806306fdde031461041c578063081812fc14610431575f80fd5b80623a37791461038057806301ffc9a7146103955780630423ab51146103bd575b5f80fd5b61039361038e3660046131e2565b610810565b005b6103a86103a3366004613211565b610848565b60405190151581526020015b60405180910390f35b6015546103d0906001600160a01b031681565b6040516001600160a01b0390911681526020016103b4565b6103fb6103f63660046131e2565b610872565b6040519081526020016103b4565b6012546103d0906001600160a01b031681565b610424610901565b6040516103b49190613279565b6103d061043f3660046131e2565b610990565b6013546103d0906001600160a01b031681565b6103936104653660046132a6565b6109b7565b6104726109c6565b6040516103b491906132ce565b61039361048d3660046131e2565b610c01565b6103a86104a0366004613363565b60186020525f908152604090205460ff1681565b6104c76104c23660046131e2565b610c30565b6040516103b49c9b9a9998979695949392919061337c565b6103936104ed3660046133f1565b610d20565b6103fb600a5481565b6103a86105093660046131e2565b601a6020525f908152604090205460ff1681565b61039361052b3660046133f1565b610da9565b61039361053e366004613437565b610dc8565b61039361055136600461350f565b610e11565b610393610564366004613363565b611301565b6103fb610577366004613363565b601c6020525f908152604090205481565b6103fb6105963660046131e2565b61134d565b6103936105a93660046131e2565b6113a3565b6103d06105bc3660046131e2565b6113d2565b6105c96113dc565b6040516103b4919061357a565b6103fb6105e4366004613363565b6116b1565b6103936105f73660046131e2565b6116f6565b61060f61060a3660046131e2565b6117ed565b6040516103b495949392919061365d565b6103fb61062e3660046132a6565b6118a0565b6103d06106413660046131e2565b601b6020525f90815260409020546001600160a01b031681565b610393610669366004613693565b6118cb565b6007546103d0906001600160a01b031681565b6103fb600b5481565b6103936106983660046131e2565b61198b565b6103936106ab3660046136dd565b6119ba565b610424611b9c565b6103fb611bab565b6103936106ce36600461374b565b611bde565b6103fb60085481565b6103936106ea366004613766565b611c1a565b6103fb611c25565b610393610705366004613363565b611c94565b6103936107183660046131e2565b611ce0565b6103fb600d5481565b61039361073436600461379b565b611ef2565b6103fb611f09565b6103fb600c5481565b6103fb610758366004613363565b611f3c565b61039361076b366004613812565b611fca565b61042461077e3660046131e2565b6121c7565b6103fb6107913660046131e2565b6122d2565b6103936107a43660046131e2565b6124fa565b6014546103d0906001600160a01b031681565b6103936107ca366004613876565b612529565b6103a86107dd366004613897565b612580565b6103936107f03660046131e2565b6125ad565b6103936108033660046138b1565b612667565b6103fb6126d0565b6007546001600160a01b031633146108435760405162461bcd60e51b815260040161083a90613909565b60405180910390fd5b600a55565b5f6001600160e01b03198216632483248360e11b148061086c575061086c82612703565b92915050565b5f8181526017602052604081206004015481622820726108928342613943565b61089c9190613956565b9050601e81106108b0575060649392505050565b601881106108c2575060509392505050565b601281106108d45750603c9392505050565b600c81106108e6575060289392505050565b600681106108f8575060149392505050565b505f9392505050565b60605f805461090f90613975565b80601f016020809104026020016040519081016040528092919081815260200182805461093b90613975565b80156109865780601f1061095d57610100808354040283529160200191610986565b820191905f5260205f20905b81548152906001019060200180831161096957829003601f168201915b5050505050905090565b5f61099a82612752565b505f828152600460205260409020546001600160a01b031661086c565b6109c282823361278a565b5050565b60605f6109d260115490565b90505f805b82811015610a1b575f6016816109ee8460016139ad565b81526020019081526020015f20600201541115610a1357610a106001836139ad565b91505b6001016109d7565b505f8167ffffffffffffffff811115610a3657610a3661346a565b604051908082528060200260200182016040528015610a9557816020015b610a826040518060a00160405280606081526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081610a545790505b5090505f805b84811015610bf7575f601681610ab28460016139ad565b81526020019081526020015f20600201541115610bef575f601681610ad88460016139ad565b81526020019081526020015f206001015490505f60165f8381526020019081526020015f209050806040518060a00160405290815f82018054610b1a90613975565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4690613975565b8015610b915780601f10610b6857610100808354040283529160200191610b91565b820191905f5260205f20905b815481529060010190602001808311610b7457829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481525050858581518110610bd457610bd46139c0565b6020908102919091010152610bea6001856139ad565b935050505b600101610a9b565b5090949350505050565b6007546001600160a01b03163314610c2b5760405162461bcd60e51b815260040161083a90613909565b600d55565b60176020525f908152604090208054600182018054919291610c5190613975565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7d90613975565b8015610cc85780601f10610c9f57610100808354040283529160200191610cc8565b820191905f5260205f20905b815481529060010190602001808311610cab57829003601f168201915b50505060028401546003850154600486015460058701546006880154600789015460088a015460098b0154600a8c0154600b909c01549a9b6001600160a01b039098169a969950949750929591949093919060ff168c565b6001600160a01b038216610d4957604051633250574960e11b81525f600482015260240161083a565b5f610d55838333612797565b9050836001600160a01b0316816001600160a01b031614610da3576040516364283d7b60e01b81526001600160a01b038086166004830152602482018490528216604482015260640161083a565b50505050565b610dc383838360405180602001604052805f815250611ef2565b505050565b335f908152601860209081526040808320805460ff1916951515959095179094556001600160a01b03929092168152601982529182208054600181018255908352912042910155565b60145460405163c3c5a54760e01b81523360048201526001600160a01b039091169063c3c5a54790602401602060405180830381865afa158015610e57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7b91906139d4565b1515600114610e88575f80fd5b5f8581526016602052604090819020600281015460039091015460125492516323b872dd60e01b815233600482015230602482015260448101839052919290916001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015610ef9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1d91906139d4565b50610f2c601080546001019055565b5f610f3660105490565b9050610f423382612889565b610f4c81886128a2565b5f42610f5b86622820726139ef565b610f6591906139ad565b90505f6064600b5486610f7891906139ef565b610f829190613956565b90505f6064600c5487610f9591906139ef565b610f9f9190613956565b90505f6064600d5488610fb291906139ef565b610fbc9190613956565b60155460405163a9059cbb60e01b81526001600160a01b038d811660048301526024820187905292935091169063a9059cbb906044016020604051808303815f875af115801561100e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103291906139d4565b5060155460405163a9059cbb60e01b81526001600160a01b038b81166004830152602482018590529091169063a9059cbb906044016020604051808303815f875af1158015611083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a791906139d4565b50601554601d5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af11580156110fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061111e91906139d4565b505f6040518061018001604052808781526020018d8152602001336001600160a01b031681526020018e81526020014281526020018681526020018881526020016008548152602001600a5481526020018981526020015f81526020015f151581525090508060175f8881526020019081526020015f205f820151815f015560208201518160010190816111b29190613a4a565b5060408201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e082015160078201556101008201516008820155610120820151600980830191909155610140830151600a83015561016090920151600b909101805460ff191691151591909117905580548991905f9061125d9084906139ad565b9091555061126c90505f611bde565b6001600160a01b038b165f908152601c6020526040812080548692906112939084906139ad565b90915550506001600160a01b038a165f908152601c6020526040812080548592906112bf9084906139ad565b9091555050601d546001600160a01b03165f908152601c6020526040812080548492906112ed9084906139ad565b909155505050505050505050505050505050565b6007546001600160a01b0316331461132b5760405162461bcd60e51b815260040161083a90613909565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b5f80611358836122d2565b90505f61136484610872565b5f8581526017602052604081206009015491925060648361138586856139ad565b61138f91906139ef565b6113999190613956565b9695505050505050565b6007546001600160a01b031633146113cd5760405162461bcd60e51b815260040161083a90613909565b600c55565b5f61086c82612752565b60605f6113e860105490565b90505f805b8281101561143b573360175f6114048460016139ad565b815260208101919091526040015f20600201546001600160a01b031603611433576114306001836139ad565b91505b6001016113ed565b505f8167ffffffffffffffff8111156114565761145661346a565b6040519080825280602002602001820160405280156114eb57816020015b6114d86040518061018001604052805f8152602001606081526020015f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f151581525090565b8152602001906001900390816114745790505b5090505f805b84811015610bf7573360175f6115088460016139ad565b815260208101919091526040015f20600201546001600160a01b0316036116a9575f6017816115388460016139ad565b81526020019081526020015f205f015490505f60175f8381526020019081526020015f20905080604051806101800160405290815f820154815260200160018201805461158490613975565b80601f01602080910402602001604051908101604052809291908181526020018280546115b090613975565b80156115fb5780601f106115d2576101008083540402835291602001916115fb565b820191905f5260205f20905b8154815290600101906020018083116115de57829003601f168201915b505050918352505060028201546001600160a01b03166020820152600382015460408201526004820154606082015260058201546080820152600682015460a0820152600782015460c0820152600882015460e08201526009820154610100820152600a820154610120820152600b9091015460ff16151561014090910152855186908690811061168e5761168e6139c0565b60209081029190910101526116a46001856139ad565b935050505b6001016114f1565b5f6001600160a01b0382166116db576040516322718ad960e21b81525f600482015260240161083a565b506001600160a01b03165f9081526003602052604090205490565b335f9081526018602052604090205460ff1615156001146117595760405162461bcd60e51b815260206004820152601a60248201527f57697468647261776c2054696d65204e6f742053746172746564000000000000604482015260640161083a565b5f6117638261134d565b5f838152601760205260409081902060020154601354915163a9059cbb60e01b81526001600160a01b03918216600482018190526024820185905293945091169063a9059cbb906044016020604051808303815f875af11580156117c9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da391906139d4565b60166020525f908152604090208054819061180790613975565b80601f016020809104026020016040519081016040528092919081815260200182805461183390613975565b801561187e5780601f106118555761010080835404028352916020019161187e565b820191905f5260205f20905b81548152906001019060200180831161186157829003601f168201915b5050505050908060010154908060020154908060030154908060040154905085565b6019602052815f5260405f2081815481106118b9575f80fd5b905f5260205f20015f91509150505481565b6007546001600160a01b031633146118f55760405162461bcd60e51b815260040161083a90613909565b611903601180546001019055565b5f61190d60115490565b6040805160a081018252868152602080820184905281830187905260608201869052602460808301525f8481526016909152919091208151929350909182919081906119599082613a4a565b506020820151600182015560408201516002820155606082015160038201556080909101516004909101555050505050565b6007546001600160a01b031633146119b55760405162461bcd60e51b815260040161083a90613909565b600855565b6007546001600160a01b031633146119e45760405162461bcd60e51b815260040161083a90613909565b82826119f4601080546001019055565b5f6119fe60105490565b9050611a0a8782612889565b611a1481896128a2565b5f42611a2386622820726139ef565b611a2d91906139ad565b604080516101808101825284815260208082018d81526001600160a01b038d1683850152606083018f905242608084015260a0830185905260c0830188905260085460e0840152600a5461010084015261012083018990525f610140840181905261016084018190528781526017909252929020815181559151929350918291906001820190611abd9082613a4a565b5060408201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e082015160078201556101008201516008820155610120820151600980830191909155610140830151600a83015561016090920151600b909101805460ff191691151591909117905580548691905f90611b689084906139ad565b90915550505f8b8152601a60205260408120805460ff19166001179055611b8f908a610dc8565b5050505050505050505050565b60606001805461090f90613975565b6007545f906001600160a01b03163314611bd75760405162461bcd60e51b815260040161083a90613909565b50600f5490565b335f908152601860209081526040808320805460ff19169415159490941790935560198152918120805460018101825590825291902042910155565b6109c23383836128f1565b5f80611c3060105490565b90505f5b81811015611c8f573360175f611c4b8460016139ad565b815260208101919091526040015f20600201546001600160a01b031603611c8757611c7a6107918260016139ad565b611c8490846139ad565b92505b600101611c34565b505090565b6007546001600160a01b03163314611cbe5760405162461bcd60e51b815260040161083a90613909565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b335f9081526018602052604090205460ff1615611d3f5760405162461bcd60e51b815260206004820152601a60248201527f57697468647261776c2054696d65204e6f742053746172746564000000000000604482015260640161083a565b5f818152601760205260409020600201546001600160a01b03163314611d965760405162461bcd60e51b815260206004820152600c60248201526b1393d5081e5bdd5c8813919560a21b604482015260640161083a565b5f818152601760205260409020600b015460ff1615611de35760405162461bcd60e51b815260206004820152600960248201526810dbdb5c1b195d195960ba1b604482015260640161083a565b5f81815260176020526040902060050154421015611e375760405162461bcd60e51b815260206004820152601160248201527039ba30b1b5b4b733902727aa1027bb32b960791b604482015260640161083a565b5f818152601760205260409081902060090154601254915163a9059cbb60e01b81523360048201526024810182905290916001600160a01b03169063a9059cbb906044016020604051808303815f875af1158015611e97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ebb91906139d4565b505f828152601760205260408120600b01805460ff19166001179055600f8054839290611ee99084906139ad565b90915550505050565b611efd848484610d20565b610da38484848461298f565b6007545f906001600160a01b03163314611f355760405162461bcd60e51b815260040161083a90613909565b50600e5490565b5f80611f4760105490565b90505f805b82811015611fc2576001600160a01b03851660175f611f6c8460016139ad565b815260208101919091526040015f20600201546001600160a01b031603611fba5760175f611f9b8360016139ad565b81526020019081526020015f206009015482611fb791906139ad565b91505b600101611f4c565b509392505050565b5f858152601a602052604090205460ff161561201b5760405162461bcd60e51b815260206004820152601060248201526f185b1c9958591e4818dbdb5c1b1d195960821b604482015260640161083a565b818161202b601080546001019055565b5f61203560105490565b90506120413382612889565b61204b81886128a2565b5f61205a426305a490086139ad565b604080516101808101825284815260208082018c81526001600160a01b038c1683850152606083018e905242608084015260a0830185905260c0830188905260085460e0840152600a5461010084015261012083018990525f6101408401819052610160840181905287815260179092529290208151815591519293509182919060018201906120ea9082613a4a565b5060408201516002820180546001600160a01b0319166001600160a01b03909216919091179055606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e082015160078201556101008201516008820155610120820151600980830191909155610140830151600a83015561016090920151600b909101805460ff191691151591909117905580548691905f906121959084906139ad565b90915550505f8a8152601a60205260408120805460ff191660011790556121bb90611bde565b50505050505050505050565b60606121d282612752565b505f82815260066020526040812080546121eb90613975565b80601f016020809104026020016040519081016040528092919081815260200182805461221790613975565b80156122625780601f1061223957610100808354040283529160200191612262565b820191905f5260205f20905b81548152906001019060200180831161224557829003601f168201915b505050505090505f61227e60408051602081019091525f815290565b905080515f0361228f575092915050565b8151156122c15780826040516020016122a9929190613b0a565b60405160208183030381529060405292505050919050565b6122ca84612ab5565b949350505050565b5f818152601760209081526040808320815161018081019092528054825260018101805485948401919061230590613975565b80601f016020809104026020016040519081016040528092919081815260200182805461233190613975565b801561237c5780601f106123535761010080835404028352916020019161237c565b820191905f5260205f20905b81548152906001019060200180831161235f57829003601f168201915b505050918352505060028201546001600160a01b031660208083019190915260038301546040808401919091526004840154606084015260058401546080840152600684015460a0840152600784015460c0840152600884015460e08401526009840154610100840152600a840154610120840152600b9093015460ff16151561014090920191909152335f9081526019825282812080548451818502810185019095528085529495509093909183018282801561245757602002820191905f5260205f20905b815481526020019060010190808311612443575b505050505090505f428360a001511015612475578260a00151612477565b425b90505f83608001518261248a9190613943565b90505f806124a98661012001518760c0015185888a6080015189612b26565b90925090505f6124b983836139ad565b90505f8761014001518860e00151896101000151846124d891906139ef565b6124e29190613956565b6124ec9190613943565b9a9950505050505050505050565b6007546001600160a01b031633146125245760405162461bcd60e51b815260040161083a90613909565b600b55565b6007546001600160a01b031633146125535760405162461bcd60e51b815260040161083a90613909565b5f918252601b602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b6007546001600160a01b031633146125d75760405162461bcd60e51b815260040161083a90613909565b60125460075460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af1158015612629573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061264d91906139d4565b5080600e5f82825461265f91906139ad565b909155505050565b6007546001600160a01b031633146126915760405162461bcd60e51b815260040161083a90613909565b5f8281526016602052604090206126a88682613a4a565b505f918252601660205260409091206002810193909355600383019190915560049091015550565b6007545f906001600160a01b031633146126fc5760405162461bcd60e51b815260040161083a90613909565b5060095490565b5f6001600160e01b031982166380ac58cd60e01b148061273357506001600160e01b03198216635b5e139f60e01b145b8061086c57506301ffc9a760e01b6001600160e01b031983161461086c565b5f818152600260205260408120546001600160a01b03168061086c57604051637e27328960e01b81526004810184905260240161083a565b610dc38383836001612b5a565b5f828152600260205260408120546001600160a01b03908116908316156127c3576127c3818486612c5e565b6001600160a01b038116156127fd576127de5f855f80612b5a565b6001600160a01b0381165f90815260036020526040902080545f190190555b6001600160a01b0385161561282b576001600160a01b0385165f908152600360205260409020805460010190555b5f8481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6109c2828260405180602001604052805f815250612cc2565b5f8281526006602052604090206128b98282613a4a565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b6001600160a01b03821661292357604051630b61174360e31b81526001600160a01b038316600482015260240161083a565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b15610da357604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906129d1903390889087908790600401613b38565b6020604051808303815f875af1925050508015612a0b575060408051601f3d908101601f19168201909252612a0891810190613b6a565b60015b612a72573d808015612a38576040519150601f19603f3d011682016040523d82523d5f602084013e612a3d565b606091505b5080515f03612a6a57604051633250574960e11b81526001600160a01b038516600482015260240161083a565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14612aae57604051633250574960e11b81526001600160a01b038516600482015260240161083a565b5050505050565b6060612ac082612752565b505f612ad660408051602081019091525f815290565b90505f815111612af45760405180602001604052805f815250612b1f565b80612afe84612cd8565b604051602001612b0f929190613b0a565b6040516020818303038152906040525b9392505050565b5f805f80612b358a8a8a612d68565b9092509050612b498a8a8989898787612de3565b909b909a5098505050505050505050565b8080612b6e57506001600160a01b03821615155b15612c2f575f612b7d84612752565b90506001600160a01b03831615801590612ba95750826001600160a01b0316816001600160a01b031614155b8015612bbc5750612bba8184612580565b155b15612be55760405163a9fbf51f60e01b81526001600160a01b038416600482015260240161083a565b8115612c2d5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b612c69838383612f96565b610dc3576001600160a01b038316612c9757604051637e27328960e01b81526004810182905260240161083a565b60405163177e802f60e01b81526001600160a01b03831660048201526024810182905260440161083a565b612ccc8383612ff7565b610dc35f84848461298f565b60605f612ce483613058565b60010190505f8167ffffffffffffffff811115612d0357612d0361346a565b6040519080825280601f01601f191660200182016040528015612d2d576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084612d3757509392505050565b5f8080808063bbf81e0086612d7d898b6139ef565b612d8791906139ef565b612d919190613956565b335f9081526018602052604090205490915060ff168015612dc857612db7600283613956565b612dc190856139ad565b9350612dd5565b612dd282846139ad565b92505b509197909650945050505050565b5f805f5b60018851612df59190613943565b811015612ed0575f80612e488a8481518110612e1357612e136139c0565b60200260200101518b856001612e2991906139ad565b81518110612e3957612e396139c0565b60200260200101518b8b61312f565b915091508015612e9557600263bbf81e00838d8f612e6691906139ef565b612e7091906139ef565b612e7a9190613956565b612e849190613956565b612e8e90886139ad565b9650612ec6565b63bbf81e0082612ea58d8f6139ef565b612eaf91906139ef565b612eb99190613956565b612ec390876139ad565b95505b5050600101612de7565b50865115612dd5575f80612f0a8960018b51612eec9190613943565b81518110612efc57612efc6139c0565b6020026020010151886131a2565b915091508015612f5557600263bbf81e0083612f268d8f6139ef565b612f3091906139ef565b612f3a9190613956565b612f449190613956565b612f4e90876139ad565b9550612f86565b63bbf81e0082612f658c8e6139ef565b612f6f91906139ef565b612f799190613956565b612f8390866139ad565b94505b5050509197909650945050505050565b5f6001600160a01b038316158015906122ca5750826001600160a01b0316846001600160a01b03161480612fcf5750612fcf8484612580565b806122ca5750505f908152600460205260409020546001600160a01b03908116911614919050565b6001600160a01b03821661302057604051633250574960e11b81525f600482015260240161083a565b5f61302c83835f612797565b90506001600160a01b03811615610dc3576040516339e3563760e11b81525f600482015260240161083a565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106130965772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106130c2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106130e057662386f26fc10000830492506010015b6305f5e10083106130f8576305f5e100830492506008015b612710831061310c57612710830492506004015b6064831061311e576064830492506002015b600a831061086c5760010192915050565b5f80828610801561313f57508385115b15613193575f8487116131525784613154565b865b90505f8487106131645784613166565b865b90505f6131738383613943565b335f9081526018602052604090205490955060ff16935061319992505050565b505f9050805b94509492505050565b5f80828410156131d5575f6131b78585613943565b335f9081526018602052604090205490935060ff1691506131db9050565b505f9050805b9250929050565b5f602082840312156131f2575f80fd5b5035919050565b6001600160e01b03198116811461320e575f80fd5b50565b5f60208284031215613221575f80fd5b8135612b1f816131f9565b5f5b8381101561324657818101518382015260200161322e565b50505f910152565b5f815180845261326581602086016020860161322c565b601f01601f19169290920160200192915050565b602081525f612b1f602083018461324e565b80356001600160a01b03811681146132a1575f80fd5b919050565b5f80604083850312156132b7575f80fd5b6132c08361328b565b946020939093013593505050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561335557603f19898403018552815160a0815181865261331b8287018261324e565b838b0151878c0152898401518a880152606080850151908801526080938401519390960192909252505093860193908601906001016132f5565b509098975050505050505050565b5f60208284031215613373575f80fd5b612b1f8261328b565b5f6101808e83528060208401526133958184018f61324e565b6001600160a01b039d909d16604084015250506060810199909952608089019790975260a088019590955260c087019390935260e086019190915261010085015261012084015261014083015215156101609091015292915050565b5f805f60608486031215613403575f80fd5b61340c8461328b565b925061341a6020850161328b565b9150604084013590509250925092565b801515811461320e575f80fd5b5f8060408385031215613448575f80fd5b82356134538161342a565b91506134616020840161328b565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff808411156134985761349861346a565b604051601f8501601f19908116603f011681019082821181831017156134c0576134c061346a565b816040528093508581528686860111156134d8575f80fd5b858560208301375f602087830101525050509392505050565b5f82601f830112613500575f80fd5b612b1f8383356020850161347e565b5f805f805f60a08688031215613523575f80fd5b85359450602086013567ffffffffffffffff811115613540575f80fd5b61354c888289016134f1565b94505061355b6040870161328b565b92506135696060870161328b565b949793965091946080013592915050565b5f60208083018184528085518083526040925060408601915060408160051b8701018488015f5b8381101561335557603f1989840301855281516101808151855288820151818a8701526135d08287018261324e565b915050878201516135eb898701826001600160a01b03169052565b50606082810151908601526080808301519086015260a0808301519086015260c0808301519086015260e08083015190860152610100808301519086015261012080830151908601526101408083015190860152610160918201511515919094015293860193908601906001016135a1565b60a081525f61366f60a083018861324e565b90508560208301528460408301528360608301528260808301529695505050505050565b5f805f606084860312156136a5575f80fd5b833567ffffffffffffffff8111156136bb575f80fd5b6136c7868287016134f1565b9660208601359650604090950135949350505050565b5f805f805f8060c087890312156136f2575f80fd5b86359550602087013567ffffffffffffffff81111561370f575f80fd5b61371b89828a016134f1565b95505061372a6040880161328b565b9350606087013592506080870135915060a087013590509295509295509295565b5f6020828403121561375b575f80fd5b8135612b1f8161342a565b5f8060408385031215613777575f80fd5b6137808361328b565b915060208301356137908161342a565b809150509250929050565b5f805f80608085870312156137ae575f80fd5b6137b78561328b565b93506137c56020860161328b565b925060408501359150606085013567ffffffffffffffff8111156137e7575f80fd5b8501601f810187136137f7575f80fd5b6138068782356020840161347e565b91505092959194509250565b5f805f805f60a08688031215613826575f80fd5b85359450602086013567ffffffffffffffff811115613843575f80fd5b61384f888289016134f1565b94505061385e6040870161328b565b94979396509394606081013594506080013592915050565b5f8060408385031215613887575f80fd5b823591506134616020840161328b565b5f80604083850312156138a8575f80fd5b6134538361328b565b5f805f805f60a086880312156138c5575f80fd5b853567ffffffffffffffff8111156138db575f80fd5b6138e7888289016134f1565b9860208801359850604088013597606081013597506080013595509350505050565b6020808252600c908201526b2737ba1030b71027bbb732b960a11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561086c5761086c61392f565b5f8261397057634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c9082168061398957607f821691505b6020821081036139a757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561086c5761086c61392f565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156139e4575f80fd5b8151612b1f8161342a565b808202811582820484141761086c5761086c61392f565b601f821115610dc357805f5260205f20601f840160051c81016020851015613a2b5750805b601f840160051c820191505b81811015612aae575f8155600101613a37565b815167ffffffffffffffff811115613a6457613a6461346a565b613a7881613a728454613975565b84613a06565b602080601f831160018114613aab575f8415613a945750858301515b5f19600386901b1c1916600185901b178555613b02565b5f85815260208120601f198616915b82811015613ad957888601518255948401946001909101908401613aba565b5085821015613af657878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8351613b1b81846020880161322c565b835190830190613b2f81836020880161322c565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906113999083018461324e565b5f60208284031215613b7a575f80fd5b8151612b1f816131f956fea26469706673582212208ab87eebe717293f1eb3dce665721772c46c3dc04f3ba4ecb9d308b07eebfb5964736f6c63430008180033000000000000000000000000b79c0bbeb77fce9e6662b3416f01392ab66c3b140000000000000000000000000000000000000000000000000000000000007a43000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000f011615cf42d0c1ca891fcabb8aa5d8b18e05f6b00000000000000000000000080df77b2ae5828ff499a735ee823d6cd7cf95f5a0000000000000000000000003213573c46eb905ba17f0bb650e10c2352552e8a000000000000000000000000aa47b2c0f8ee89a3d35c025427895b71f246d5de