4 txs
5 calls
constructor
constructor(uint256 _mintPrice, address _burnerContract, address _artist)
functions
artist
viewfunction artist() view returns (address)
artistPercentage
viewfunction artistPercentage() view returns (uint16)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
burnerContract
viewfunction burnerContract() view returns (address)
burnPercentage
viewfunction burnPercentage() view returns (uint256)
circulatingSupply
viewfunction circulatingSupply() view returns (uint256)
contractMetadataURI
viewfunction contractMetadataURI() view returns (string)
deploymentTimestamp
viewfunction deploymentTimestamp() view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
LOTTERY_TICKET_PRICE_USD
viewfunction LOTTERY_TICKET_PRICE_USD() view returns (uint256)
lotteryContract
viewfunction lotteryContract() view returns (address)
lotteryParticipationDays
viewfunction lotteryParticipationDays() view returns (uint256)
lotteryPurchasedForDay
viewfunction lotteryPurchasedForDay(uint256) view returns (uint256)
lotteryReferrer
viewfunction lotteryReferrer() view returns (address)
MAX_MINT_PER_CALL
viewfunction MAX_MINT_PER_CALL() view returns (uint256)
mintPrice
viewfunction mintPrice() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uniswapQuoter
viewfunction uniswapQuoter() view returns (address)
uniswapRouter
viewfunction uniswapRouter() view returns (address)
USDC_DECIMALS
viewfunction USDC_DECIMALS() view returns (uint256)
usdcContract
viewfunction usdcContract() view returns (address)
wethAddress
viewfunction wethAddress() view returns (address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
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)
setLotteryContract
nonpayablefunction setLotteryContract(address _lotteryContract)
setLotteryReferrer
nonpayablefunction setLotteryReferrer(address _lotteryReferrer)
setPercentages
nonpayablefunction setPercentages(uint256 _burnPercentage, uint256 _artistPercentage)
setUniswapQuoter
nonpayablefunction setUniswapQuoter(address _uniswapQuoter)
setUniswapRouter
nonpayablefunction setUniswapRouter(address _uniswapRouter)
setUSDCContract
nonpayablefunction setUSDCContract(address _usdcContract)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
LotteryContractUpdated
event LotteryContractUpdated(address indexed newContract)
LotteryReferrerUpdated
event LotteryReferrerUpdated(address indexed newReferrer)
LotteryTicketPurchased
event LotteryTicketPurchased(uint256 indexed day, uint256 amount)
NFTExchanged
event NFTExchanged(uint256 indexed tokenId, address indexed owner, uint256 ethAmount, uint256 usdcAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PercentagesUpdated
event PercentagesUpdated(uint256 burnPercentage, uint256 artistPercentage)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
UniswapQuoterUpdated
event UniswapQuoterUpdated(address indexed newQuoter)
Unpaused
event Unpaused(address account)
USDCContractUpdated
event USDCContractUpdated(address indexed newContract)
errors
ArtistTransferFailed
error ArtistTransferFailed()
BurnTransferFailed
error BurnTransferFailed()
EnforcedPause
error EnforcedPause()
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)
ExchangeTransferFailed
error ExchangeTransferFailed()
ExpectedPause
error ExpectedPause()
InsufficientPayment
error InsufficientPayment()
InsufficientTreasury
error InsufficientTreasury()
InsufficientUSDCBalance
error InsufficientUSDCBalance()
InsufficientUSDCForTicket
error InsufficientUSDCForTicket()
InvalidPercentage
error InvalidPercentage()
LotteryAlreadyPurchased
error LotteryAlreadyPurchased()
LotteryNotConfigured
error LotteryNotConfigured()
LotteryPeriodEnded
error LotteryPeriodEnded()
MaxMintPerCallExceeded
error MaxMintPerCallExceeded()
NoNFTsInCirculation
error NoNFTsInCirculation()
NotOwner
error NotOwner()
NoTreasuryAvailable
error NoTreasuryAvailable()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
QuantityZero
error QuantityZero()
QuoterCallFailed
error QuoterCallFailed()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
TransferFailed
error TransferFailed()
UniswapQuoterNotConfigured
error UniswapQuoterNotConfigured()
UniswapRouterNotConfigured
error UniswapRouterNotConfigured()
USDCNotConfigured
error USDCNotConfigured()
WETHNotConfigured
error WETHNotConfigured()
creation bytecode
0x60c0346103ce576001600160401b0390601f90601f199061257038819003848101841683019190868311848410176102fc578084926060946040528339810103126103ce57805193602092610061604061005a8686016103f1565b94016103f1565b9461006a6103d2565b94600f86526e141bdd0814985a59195c8815195cdd608a1b8187015261008e6103d2565b90600d82526c1413d5149052511154951154d5609a1b8183015286518581116102fc575f546001988982811c921680156103c4575b848310146102de578186849311610376575b50839086831160011461031b575f92610310575b50505f19600383901b1c191690881b175f555b81519485116102fc578654938785811c951680156102f2575b828610146102de57848487961161028a575b508193851160011461022b5750505f92610220575b50505f19600383901b1c191690831b1782555b331561020857600654604051946001600160a01b03939091338582167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36001600160a81b0319163360ff60a01b19161760065560075561016d601055600a55600c80546001600160a01b03191692909116919091179055608052600e805461ffff60a01b1916607d60a31b1790556103e8600b554260a05261216a90816104068239608051816112f5015260a051816105370152f35b604051631e4fbdf760e01b81525f6004820152602490fd5b015190505f8061013c565b87959392919316855f52835f20935f905b8282106102715750508411610259575b505050811b01825561014f565b01515f1960f88460031b161c191690555f808061024c565b848401518655899790950194938401939081019061023c565b909192939450875f52825f208580880160051c8201928589106102d5575b9188978b9297969594930160051c01915b8281106102c7575050610127565b5f81558897508a91016102b9565b925081926102a8565b634e487b7160e01b5f52602260045260245ffd5b94607f1694610115565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e9565b90878b9416915f8052855f20925f5b878282106103605750508411610348575b505050811b015f556100fc565b01515f1960f88460031b161c191690555f808061033b565b8385015186558e9790950194938401930161032a565b9091505f8052835f208680850160051c8201928686106103bb575b918c91869594930160051c01915b8281106103ad5750506100d5565b5f81558594508c910161039f565b92508192610391565b91607f16916100c3565b5f80fd5b60408051919082016001600160401b038111838210176102fc57604052565b51906001600160a01b03821682036103ce5756fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816301ffc9a7146119c75750806306fdde03146118e2578063081812fc1461187d578063095ea7b31461172c5780631323e88b146116da5780631590a04f1461163557806318160ddd146115f957806323b872dd146115e2578063261581361461153d57806342842e0e1461151557806342966c681461131957806343bc1612146112ab5780634d70385f146112595780634db4a352146112075780634f0e0ef3146111b55780635575ad3a14611110578063570e5412146110d75780635c975abb146110935780636352211e146110395780636817c76c14610ffd57806370a0823114610f64578063715018a614610ec8578063735de9f714610e7657806373e9278414610d8e57806377342bdf14610d3c578063868477ff14610c975780638da5cb5b14610c455780639358928b14610c0957806395d89b4114610aa457806396d481e714610a5e578063a22cb46514610960578063b29c662a1461090e578063b88d4fde14610869578063bd2ec8c5146105dc578063bea9849e1461055a578063bfc12c0514610502578063c1419def146104c9578063c87b56dd14610458578063d7179f4c14610415578063e985e9c51461039b578063ed49564214610362578063f01f20df14610326578063f16034cd146102ea5763f2fde38b14610204575f80fd5b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65761023b611af6565b906102446120e3565b73ffffffffffffffffffffffffffffffffffffffff8092169283156102b7575050600654827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600655167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020906010549051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657602090600b549051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020905160328152f35b82346102e657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020906103d5611af6565b6103dd611b19565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260058452825f2091165f52825260ff815f20541690519015158152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209061ffff600e5460a01c169051908152f35b5090346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576104966104c59235612084565b505f81516104a381611b9c565b528051906104b082611b9c565b5f825251918291602083526020830190611ab3565b0390f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020905160068152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff6105a6611af6565b6105ae6120e3565b167fffffffffffffffffffffffff000000000000000000000000000000000000000060135416176013555f80f35b5090346102e657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6578135602480359061061b6120e3565b6127108084116107e7578083116107665782840180851161073b57116106ba57507fd3df56766ddb000ec4baeedc57e730d6fdda10f47ceec2e2c8a3a711b0e81edf935061ffff8216600b55600e547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff00000000000000000000000000000000000000008360a01b16911617600e5582519182526020820152a1005b8460849160208651927f08c379a0000000000000000000000000000000000000000000000000000000008452830152808201527f546f74616c2070657263656e74616765732063616e6e6f74206578636565642060448201527f31303025000000000000000000000000000000000000000000000000000000006064820152fd5b826011887f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b6084868360208851927f08c379a0000000000000000000000000000000000000000000000000000000008452830152808201527f4172746973742070657263656e746167652063616e6e6f74206578636565642060448201527f31303025000000000000000000000000000000000000000000000000000000006064820152fd5b60848660228460208951937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f4275726e2070657263656e746167652063616e6e6f742065786365656420313060448201527f30250000000000000000000000000000000000000000000000000000000000006064820152fd5b5090346102e65760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576108a2611af6565b6108aa611b19565b6064359367ffffffffffffffff85116102e657366023860112156102e6578401356108e06108d782611c26565b94519485611be5565b80845236602482870101116102e6576020815f92602461090c9801838801378501015260443591611eb7565b005b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff601154169051908152f35b5090346102e657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657610998611af6565b90602435918215158093036102e65773ffffffffffffffffffffffffffffffffffffffff16928315610a305750335f526005602052805f20835f52602052805f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b8360249251917f5b08ba18000000000000000000000000000000000000000000000000000000008352820152fd5b5090346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657602091355f5260158252805f20549051908152f35b5090346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6578051905f90600191600154928360011c9060018516948515610bff575b6020958684108114610bd357838852879493929187908215610b93575050600114610b38575b50506104c59291610b29910385611be5565b51928284938452830190611ab3565b9085925060015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f925b828410610b7b5750505082010181610b29610b17565b8054848a018601528895508794909301928101610b65565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b85019092019250839150610b299050610b17565b6022897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b91607f1691610af1565b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020906009549051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff600654169051908152f35b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff610ce3611af6565b610ceb6120e3565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060165416176016557f1871ec97065866e7cb99d722c6ea0a335a61721c008ccfb9c03a67f6436ae6f35f80a2005b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff600c54169051908152f35b5090346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6578051905f90600f549160018360011c9060018516948515610e6c575b6020958684108114610bd357838852879493929187908215610b93575050600114610e115750506104c59291610b29910385611be5565b90859250600f5f527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802915f925b828410610e545750505082010181610b29610b17565b8054848a018601528895508794909301928101610e3e565b91607f1691610dda565b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff601354169051908152f35b346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657610efe6120e3565b5f73ffffffffffffffffffffffffffffffffffffffff6006547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600655167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b5090346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff610fb2611af6565b168015610fce57602092505f5260038252805f20549051908152f35b6024835f8451917f89c62b64000000000000000000000000000000000000000000000000000000008352820152fd5b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657602090600a549051908152f35b5090346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff61108b60209335612084565b915191168152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209060ff60065460a01c1690519015158152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020905160018152f35b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff61115c611af6565b6111646120e3565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060125416176012557fdab30f4f09fe9a569ccb42f91924b4f1a21b244a95a4e0c88c3f69949078b9b85f80a2005b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff600e54169051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff601454169051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff601654169051908152f35b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346102e657602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657803591825f526002815273ffffffffffffffffffffffffffffffffffffffff9182855f205416923315159081611449575b5050509260025f9394836113dd575b8585525282207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4005b611414865f52600460205260405f207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b838552600381528285207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815401905561138b565b816114c7575b501561145c57808061137c565b9291151590506114935760249251917f7e273289000000000000000000000000000000000000000000000000000000008352820152fd5b60449251917f177e802f00000000000000000000000000000000000000000000000000000000835233908301526024820152fd5b338514915081156114f7575b81156114e1575b505f61144f565b9050845f528183523390865f205416145f6114da565b9050835f5260058352855f20335f52835260ff865f205416906114d3565b82346102e65761090c9061152836611b3c565b9192519261153584611b9c565b5f8452611eb7565b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff611589611af6565b6115916120e3565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060145416176014557ffdb2fa873639218d346c9508a703af9516034af8ff4c38e9959dee539d41febb5f80a2005b346102e65761090c6115f336611b3c565b91611c60565b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6576020906008549051908152f35b346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65773ffffffffffffffffffffffffffffffffffffffff611681611af6565b6116896120e3565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060115416176011557f296d05c97447b6398d148c62eec657669c5a461e7648f9f5e79f349049ea99c85f80a2005b82346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65760209073ffffffffffffffffffffffffffffffffffffffff601254169051908152f35b5090346102e657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e657611764611af6565b9160243561177181612084565b3315158061185d575b80611828575b6117f957819073ffffffffffffffffffffffffffffffffffffffff809616958691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f526020525f20907fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790555f80f35b83517fa9fbf51f0000000000000000000000000000000000000000000000000000000081523381850152602490fd5b5073ffffffffffffffffffffffffffffffffffffffff81165f526005602052835f20335f5260205260ff845f20541615611780565b503373ffffffffffffffffffffffffffffffffffffffff8216141561177a565b5090346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65781602092356118bc81612084565b505f52825273ffffffffffffffffffffffffffffffffffffffff815f2054169051908152f35b5090346102e6575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e6578051905f905f549160018360011c90600185169485156119bd575b6020958684108114610bd357838852879493929187908215610b935750506001146119645750506104c59291610b29910385611be5565b5f80805286935091907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8284106119a55750505082010181610b29610b17565b8054848a01860152889550879490930192810161198f565b91607f169161192d565b82346102e65760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e65735907fffffffff0000000000000000000000000000000000000000000000000000000082168092036102e657817f80ac58cd0000000000000000000000000000000000000000000000000000000060209314908115611a89575b8115611a5f575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483611a58565b7f5b5e139f0000000000000000000000000000000000000000000000000000000081149150611a51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102e657565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102e657565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126102e65773ffffffffffffffffffffffffffffffffffffffff9060043582811681036102e6579160243590811681036102e6579060443590565b6020810190811067ffffffffffffffff821117611bb857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611bb857604052565b67ffffffffffffffff8111611bb857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b909173ffffffffffffffffffffffffffffffffffffffff809316928315611e8757815f52602092600284528260409583875f2054169533151580611dc3575b5060029087611d57575b825f5260038152885f2060018154019055835f5252865f20817fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a41692838303611d1d5750505050565b6064945051927f64283d7b000000000000000000000000000000000000000000000000000000008452600484015260248301526044820152fd5b611d8e845f52600460205260405f207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b875f5260038152885f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055611ca9565b9192509080611e46575b15611ddb579084915f611c9f565b868587611e115760249151907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b60449151907f177e802f0000000000000000000000000000000000000000000000000000000082523360048301526024820152fd5b503386148015611e6b575b80611dcd5750845f52600481523384885f20541614611dcd565b50855f5260058152865f20335f52815260ff875f205416611e51565b60246040517f64a0ae920000000000000000000000000000000000000000000000000000000081525f6004820152fd5b9192611ec4848385611c60565b813b611ed1575b50505050565b90611f4394929173ffffffffffffffffffffffffffffffffffffffff80921694604051927f150b7a020000000000000000000000000000000000000000000000000000000094858552336004860152166024840152604483015260806064830152818060209788936084830190611ab3565b03815f885af15f918161202c575b50611fc6575050503d5f14611fbf573d611f6a81611c26565b90611f786040519283611be5565b81523d5f8483013e5b80519283611fba57602483604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b019050fd5b6060611f81565b7fffffffff00000000000000000000000000000000000000000000000000000000919294501603611ffb57505f808080611ecb565b602490604051907f64a0ae920000000000000000000000000000000000000000000000000000000082526004820152fd5b9091508581813d831161207d575b6120448183611be5565b810103126102e657517fffffffff00000000000000000000000000000000000000000000000000000000811681036102e657905f611f51565b503d61203a565b805f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2054169081156120b2575090565b602490604051907f7e2732890000000000000000000000000000000000000000000000000000000082526004820152fd5b73ffffffffffffffffffffffffffffffffffffffff60065416330361210457565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220b774377265a950a5be4b0cc260c9ef0d4879c42571fe56281db526984a0136cd64736f6c6343000819003300000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000001595409cbaef3dd2485107fb1e328fa0fa505c100000000000000000000000001d671d1b191323a38490972d58354971e5c1cd2a