0 txs
0 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
decreaseRBView
viewfunction decreaseRBView(uint256[] tokensId, uint256 decreasePercent, uint256 minDecreaseLevel) view returns (uint256 decreaseAmount)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getInfoForStaking
viewfunction getInfoForStaking(uint256 tokenId) view returns (address tokenOwner, bool stakeFreeze, uint256 robiBoost)
getLevel
viewfunction getLevel(uint256 tokenId) view returns (uint256)
getRB
viewfunction getRB(uint256 tokenId) view returns (uint256)
getRbBalance
viewfunction getRbBalance(address user) view returns (uint256)
getRbBalanceByDays
viewfunction getRbBalanceByDays(address user, uint256 dayCount) view returns (uint256[])
getRbTotalAmount
viewfunction getRbTotalAmount(uint256 period) view returns (uint256 amount)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getToken
viewfunction getToken(uint256 _tokenId) view returns (uint256 tokenId, address tokenOwner, uint256 level, uint256 rb, bool stakeFreeze, uint256 createTimestamp, uint256 remainToNextLevel, string uri)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
LAUNCHPAD_TOKEN_MINTER
viewfunction LAUNCHPAD_TOKEN_MINTER() view returns (bytes32)
MAX_ARRAY_LENGTH_PER_REQUEST
viewfunction MAX_ARRAY_LENGTH_PER_REQUEST() view returns (uint256)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
RB_SETTER_ROLE
viewfunction RB_SETTER_ROLE() view returns (bytes32)
remainRBToNextLevel
viewfunction remainRBToNextLevel(uint256[] tokenId) view returns (uint256[])
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
TOKEN_FREEZER
viewfunction TOKEN_FREEZER() view returns (bytes32)
TOKEN_MINTER_ROLE
viewfunction TOKEN_MINTER_ROLE() view returns (bytes32)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
accrueRB
nonpayablefunction accrueRB(address user, uint256 amount)
approve
nonpayablefunction approve(address to, uint256 tokenId)
decreaseRB
nonpayablefunction decreaseRB(uint256[] tokensId, uint256 decreasePercent, uint256 minDecreaseLevel, address user) returns (uint256 decreaseAmount)
exchangeRB
nonpayablefunction exchangeRB(uint256 amount, address userAddress) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(string baseURI, uint256 initialRobiBoost, uint256 burnRBPeriod)
launchpadMint
nonpayablefunction launchpadMint(address to, uint256 level, uint256 robiBoost)
levelUp
nonpayablefunction levelUp(uint256[] tokenId)
mint
nonpayablefunction mint(address to)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
sendRBToMaxInTokenLevel
nonpayablefunction sendRBToMaxInTokenLevel(uint256[] tokenId)
sendRBToToken
nonpayablefunction sendRBToToken(uint256[] tokenId, uint256[] amount)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string newBaseUri)
setBurnRBPeriod
nonpayablefunction setBurnRBPeriod(uint256 newPeriod)
setLevelTable
nonpayablefunction setLevelTable(uint256[7] levelTable)
setLevelUpPercent
nonpayablefunction setLevelUpPercent(uint8 percent)
setRBTable
nonpayablefunction setRBTable(uint256[7] rbTable)
tokenFreeze
nonpayablefunction tokenFreeze(uint256 tokenId)
tokenUnfreeze
nonpayablefunction tokenUnfreeze(uint256 tokenId)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
GainRB
event GainRB(uint256 indexed tokenId, uint256 newRB)
Initialize
event Initialize(string baseURI, uint256 initialRobiBoost, uint256 burnRBPeriod)
LevelUp
event LevelUp(address indexed user, uint256 indexed newLevel, uint256[] parentsTokensId)
RBAccrued
event RBAccrued(address user, uint256 amount)
RbDecrease
event RbDecrease(uint256[] tokensId, uint256[] finalRB)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TokenMint
event TokenMint(address indexed to, uint256 indexed tokenId, uint256 level, uint256 robiBoost)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50614b8e806100206000396000f3fe608060405234801561001057600080fd5b506004361061030c5760003560e01c80637a0558bb1161019d578063b2461301116100e9578063d547741f116100a2578063ea08bc7b1161007c578063ea08bc7b1461076b578063eba59f2e1461077e578063fb35440714610791578063ffbbabbc146107a457600080fd5b8063d547741f146106f5578063e4b50cb814610708578063e985e9c51461072f57600080fd5b8063b246130114610683578063b584399a14610696578063b88d4fde146106a9578063c3a80ebd146106bc578063c87b56dd146106cf578063ccec5cfe146106e257600080fd5b806395d89b4111610156578063a217fddf11610130578063a217fddf14610642578063a22cb4651461064a578063a7e690671461065d578063b1b047331461067057600080fd5b806395d89b4114610614578063977d08c01461061c57806398f08e721461062f57600080fd5b80637a0558bb1461056f578063813f047c14610582578063855d682b1461059557806386481d40146105b657806391d14854146105da57806393900f93146105ed57600080fd5b80632f2ff15d1161025c57806355f804b31161021557806361aeef22116101ef57806361aeef22146105235780636352211e146105365780636a6278421461054957806370a082311461055c57600080fd5b806355f804b3146104ea57806357769f62146104fd5780635d4e5b2d1461051057600080fd5b80632f2ff15d146104645780632f745c591461047757806336568abe1461048a57806342842e0e1461049d5780634f6ccce7146104b0578063512b336d146104c357600080fd5b806313b887cf116102c957806323b872dd116102a357806323b872dd14610406578063248a9ca31461041957806326d6976d1461043c578063276b9a561461044457600080fd5b806313b887cf146103d6578063166430f4146103eb57806318160ddd146103fe57600080fd5b806301ffc9a71461031157806306fdde0314610339578063081812fc1461034e578063095ea7b3146103795780630c8ec7881461038e57806312c57d26146103c3575b600080fd5b61032461031f366004614508565b6107dc565b60405190151581526020015b60405180910390f35b610341610807565b60405161033091906147f3565b61036161035c3660046144ce565b610899565b6040516001600160a01b039091168152602001610330565b61038c6103873660046142fa565b610926565b005b6103b57f7121fcd3dfef207e0ed6b70c778430da2398609b60411b6b644752159691c15481565b604051908152602001610330565b61038c6103d1366004614355565b610993565b6103b5600080516020614b3983398151915281565b61038c6103f9366004614375565b6109b2565b6099546103b5565b61038c61041436600461420d565b610b9e565b6103b56104273660046144ce565b600090815260c9602052604090206001015490565b6103b5601e81565b6104576104523660046142fa565b610bcf565b60405161033091906147e0565b61038c6104723660046144e6565b610cc0565b6103b56104853660046142fa565b610ce6565b61038c6104983660046144e6565b610d7c565b61038c6104ab36600461420d565b610df6565b6103b56104be3660046144ce565b610e11565b6103b57f262c70cb68844873654dc54487b634cb00850c1e13c785cd0d96a2b89b82947281565b61038c6104f8366004614540565b610eb2565b61038c61050b3660046144ce565b610ed1565b61032461051e3660046144e6565b610f19565b61038c6105313660046144ce565b6110bf565b6103616105443660046144ce565b611111565b61038c6105573660046141c1565b611188565b6103b561056a3660046141c1565b61127e565b61038c61057d366004614355565b611305565b61038c610590366004614323565b61131f565b6103b56105a33660046144ce565b6000908152610140602052604090205490565b6103b56105c43660046144ce565b6000908152610140602052604090206001015490565b6103246105e83660046144e6565b611472565b6103b57fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e4881565b61034161149d565b61038c61062a3660046145ac565b6114ac565b6103b561063d36600461441c565b61167c565b6103b5600081565b61038c6106583660046142c0565b6117eb565b6103b561066b3660046144ce565b6118b1565b6103b561067e3660046141c1565b611917565b61038c6106913660046143b4565b611922565b6104576106a4366004614375565b6119bf565b61038c6106b7366004614248565b611b1c565b61038c6106ca3660046144ce565b611b4e565b6103416106dd3660046144ce565b611ba4565b6103b56106f036600461446a565b611c6f565b61038c6107033660046144e6565b611f8c565b61071b6107163660046144ce565b611fb2565b604051610330989796959493929190614980565b61032461073d3660046141db565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b61038c61077936600461460a565b6120a7565b61038c61078c366004614375565b612114565b61038c61079f3660046142fa565b6124a3565b6107b76107b23660046144ce565b612538565b604080516001600160a01b039094168452911515602084015290820152606001610330565b60006001600160e01b0319821663780e9d6360e01b148061080157506108018261256e565b92915050565b60606065805461081690614a7c565b80601f016020809104026020016040519081016040528092919081815260200182805461084290614a7c565b801561088f5780601f106108645761010080835404028352916020019161088f565b820191906000526020600020905b81548152906001019060200180831161087257829003601f168201915b5050505050905090565b60006108a482612593565b61090a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152606960205260409020546001600160a01b031690565b6000818152610140602052604090206002015460ff161515600114156109855760405162461bcd60e51b815260206004820152601460248201527322a9219b99189d102a37b5b2b710333937bd32b760611b6044820152606401610901565b61098f82826125b0565b5050565b600061099f81336126c1565b6109ad610131836007613fad565b505050565b600260fb5414156109d55760405162461bcd60e51b815260040161090190614949565b600260fb55601e811115610a1e5760405162461bcd60e51b815260206004820152601060248201526f082e4e4c2f240d8cadccee8d040dac2f60831b6044820152606401610901565b600080826001600160401b03811115610a4757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a70578160200160208202803683370190505b50905060005b83811015610afd576000610aaf868684818110610aa357634e487b7160e01b600052603260045260246000fd5b90506020020135612725565b905080838381518110610ad257634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610ae781856149d7565b9350508080610af590614ab1565b915050610a76565b506000610b093361276a565b9050828110610b5557610b508585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692506127e2915050565b610b92565b60405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610901565b5050600160fb55505050565b610ba83382612a74565b610bc45760405162461bcd60e51b8152600401610901906148f8565b6109ad838383612b5e565b60606000826001600160401b03811115610bf957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610c22578160200160208202803683370190505b50905060005b83811015610cb8576001600160a01b0385166000908152610141602052604081209062015180610c588482614a03565b610c629042614a22565b610c6c91906149ef565b815260200190815260200160002054828281518110610c9b57634e487b7160e01b600052603260045260246000fd5b602090810291909101015280610cb081614ab1565b915050610c28565b509392505050565b600082815260c96020526040902060010154610cdc81336126c1565b6109ad8383612d09565b6000610cf18361127e565b8210610d535760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610901565b506001600160a01b03919091166000908152609760209081526040808320938352929052205490565b6001600160a01b0381163314610dec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610901565b61098f8282612d8f565b6109ad83838360405180602001604052806000815250611b1c565b6000610e1c60995490565b8210610e7f5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610901565b60998281548110610ea057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b6000610ebe81336126c1565b610ecb61012d8484613feb565b50505050565b7fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e48610efc81336126c1565b50600090815261014060205260409020600201805460ff19169055565b6000600260fb541415610f3e5760405162461bcd60e51b815260040161090190614949565b600260fb55600080516020614b39833981519152610f5c81336126c1565b61012f5484906000805b6000841180610f755750600083115b156110615762015180610f888482614a03565b610f929042614a22565b610f9c91906149ef565b6001600160a01b0388166000908152610141602090815260408083208484529091529020549250905081610fdc5782610fd481614a65565b935050610f66565b8184111561104357610fee8285614a22565b935081610142600083815260200190815260200160002060008282546110149190614a22565b90915550506001600160a01b038716600090815261014160209081526040808320848452909152812055611057565b61104e878286612df6565b60009350611061565b82610fd481614a65565b836110735760019550505050506110b3565b60405162461bcd60e51b81526020600482015260156024820152744e6f7420656e6f7567682052422062616c616e636560581b6044820152606401610901565b50600160fb5592915050565b60006110cb81336126c1565b6000821161110a5760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c81c195c9a5bd960a21b6044820152606401610901565b5061012f55565b6000818152606760205260408120546001600160a01b0316806108015760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610901565b7f262c70cb68844873654dc54487b634cb00850c1e13c785cd0d96a2b89b8294726111b381336126c1565b600260fb5414156111d65760405162461bcd60e51b815260040161090190614949565b600260fb556001600160a01b03821661122b5760405162461bcd60e51b8152602060048201526017602482015276416464726573732063616e206e6f74206265207a65726f60481b6044820152606401610901565b600161013f600082825461123f91906149d7565b909155505061013f5461012e546000828152610140602052604090209081554260038201556001908101556112748382612ed6565b5050600160fb5550565b60006001600160a01b0382166112e95760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610901565b506001600160a01b031660009081526068602052604090205490565b600061131181336126c1565b6109ad610138836007613fad565b7f7121fcd3dfef207e0ed6b70c778430da2398609b60411b6b644752159691c15461134a81336126c1565b600260fb54141561136d5760405162461bcd60e51b815260040161090190614949565b600260fb556001600160a01b0384166113c25760405162461bcd60e51b8152602060048201526017602482015276416464726573732063616e206e6f74206265207a65726f60481b6044820152606401610901565b8161013184600781106113e557634e487b7160e01b600052603260045260246000fd5b0154101561142d5760405162461bcd60e51b815260206004820152601560248201527414908815985b1d59481bdd5d081bd9881b1a5b5a5d605a1b6044820152606401610901565b600161013f600082825461144191906149d7565b909155505061013f54600081815261014060205260409020838155426003820155600101849055610b928582612ed6565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606066805461081690614a7c565b600054610100900460ff16806114c5575060005460ff16155b6114e15760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff16158015611503576000805461ffff19166101011790555b611551604051806040016040528060118152602001702134b9bbb0b82937b13134b2b9a2b0b93760791b8152506040518060400160405280600381526020016242524560e81b815250612f3c565b611559612fc3565b611561613047565b6115696130b1565b611574600033613110565b83516115889061012d90602087019061405e565b5061012e839055610130805460ff1916600a17905561012f82905568056bc75e2d63100000610131819055678ac7230489e800006101325561013355683635c9adc5dea000006101345569021e19e0c9bab240000061013555690a968163f0a57b40000061013655691fc3842bd1f071c00000610137556000610138819055600661013955600561013a55600461013b55600361013c55600261013d5561013e556040517fff12c78e880828640a866fd3e0578e160bc3834b8f5c54cebd96ddb6a9c13e029061165d90869086908690614806565b60405180910390a18015610ecb576000805461ff001916905550505050565b600064e8d4a510008311156116cc5760405162461bcd60e51b815260206004820152601660248201527515dc9bdb99c8191958dc99585cd9481c195c98d95b9d60521b6044820152606401610901565b506000805b848110156117e2578261014060008888858181106116ff57634e487b7160e01b600052603260045260246000fd5b9050602002013581526020019081526020016000206001015411611722576117d0565b64e8d4a5100084610140600089898681811061174e57634e487b7160e01b600052603260045260246000fd5b905060200201358152602001908152602001600020600001546117719190614a03565b61177b91906149ef565b61014060008888858181106117a057634e487b7160e01b600052603260045260246000fd5b905060200201358152602001908152602001600020600001546117c39190614a22565b6117cd90836149d7565b91505b806117da81614ab1565b9150506116d1565b50949350505050565b6001600160a01b0382163314156118445760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610901565b336000818152606a602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191015b60405180910390a35050565b6000805b828111611911576101426000620151806118cf8482614a03565b6118d99042614a22565b6118e391906149ef565b815260200190815260200160002054826118fd91906149d7565b91508061190981614ab1565b9150506118b5565b50919050565b60006108018261276a565b600260fb5414156119455760405162461bcd60e51b815260040161090190614949565b600260fb5560408051602080860282810182019093528582526119b492879187918291850190849080828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920191909152506127e292505050565b5050600160fb555050565b6060601e8211156119e25760405162461bcd60e51b81526004016109019061487d565b6000826001600160401b03811115611a0a57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611a33578160200160208202803683370190505b50905060005b83811015610cb857611a70858583818110611a6457634e487b7160e01b600052603260045260246000fd5b90506020020135612593565b611abc5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20646f6573206e6f74206578697374000000006044820152606401610901565b611adf858583818110610aa357634e487b7160e01b600052603260045260246000fd5b828281518110611aff57634e487b7160e01b600052603260045260246000fd5b602090810291909101015280611b1481614ab1565b915050611a39565b611b263383612a74565b611b425760405162461bcd60e51b8152600401610901906148f8565b610ecb8484848461311a565b7fbb972c0d9526cc83727cc466668f8c7e5e96e1b9d3cc4ec22af4882c11180e48611b7981336126c1565b611b8460008361314d565b50600090815261014060205260409020600201805460ff19166001179055565b6060611baf82612593565b611c135760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610901565b6000611c1d6131bb565b90506000815111611c3d5760405180602001604052806000815250611c68565b80611c47846131cb565b604051602001611c589291906146c5565b6040516020818303038152906040525b9392505050565b6000600080516020614b39833981519152611c8a81336126c1565b64e8d4a51000851115611cd85760405162461bcd60e51b815260206004820152601660248201527515dc9bdb99c8191958dc99585cd9481c195c98d95b9d60521b6044820152606401610901565b6000866001600160401b03811115611d0057634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b5090506000925060005b87811015611f45578561014060008b8b85818110611d6157634e487b7160e01b600052603260045260246000fd5b9050602002013581526020019081526020016000206001015411611d8457611f33565b846001600160a01b0316611dbd8a8a84818110611db157634e487b7160e01b600052603260045260246000fd5b90506020020135611111565b6001600160a01b031614611dff5760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610901565b600061014060008b8b85818110611e2657634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060000154905064e8d4a510008882611e539190614a03565b611e5d91906149ef565b838381518110611e7d57634e487b7160e01b600052603260045260246000fd5b602002602001018181525050828281518110611ea957634e487b7160e01b600052603260045260246000fd5b602002602001015161014060008c8c86818110611ed657634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060000181905550828281518110611f1257634e487b7160e01b600052603260045260246000fd5b602002602001015181611f259190614a22565b611f2f90866149d7565b9450505b80611f3d81614ab1565b915050611d33565b507f311b8dbec260f34b354de35a45d8e13760adbc2e67c4c8f9d406f81d791f6fb7888883604051611f79939291906147ba565b60405180910390a1505095945050505050565b600082815260c96020526040902060010154611fa881336126c1565b6109ad8383612d8f565b60008060008060008060006060611fc889612593565b6120145760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20646f6573206e6f74206578697374000000006044820152606401610901565b60008981526101406020908152604091829020825160808101845281548152600182015492810192909252600281015460ff16151592820192909252600390910154606082015289985061206789611111565b97508060200151965080600001519550806040015194508060600151935061208e8a612725565b92506120998a611ba4565b915050919395975091939597565b60006120b381336126c1565b60008260ff16116120fc5760405162461bcd60e51b815260206004820152601360248201527257726f6e672070657263656e742076616c756560681b6044820152606401610901565b50610130805460ff191660ff92909216919091179055565b600260fb5414156121375760405162461bcd60e51b815260040161090190614949565b600260fb55601e81111561215d5760405162461bcd60e51b81526004016109019061487d565b600061014060008484600081811061218557634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060010154905061013881600781106121c257634e487b7160e01b600052603260045260246000fd5b01546122105760405162461bcd60e51b815260206004820152601960248201527f54686973206c6576656c206e6f742075706772616461626c65000000000000006044820152606401610901565b6000610138826007811061223457634e487b7160e01b600052603260045260246000fd5b015490508281146122875760405162461bcd60e51b815260206004820181905260248201527f57726f6e67206e756d62657273206f6620746f6b656e732072656365697665646044820152606401610901565b600061013183600781106122ab57634e487b7160e01b600052603260045260246000fd5b01546122b79083614a03565b90506000805b838110156123ab57600061014060008989858181106122ec57634e487b7160e01b600052603260045260246000fd5b602090810292909201358352508181019290925260409081016000208151608081018352815481526001820154938101849052600282015460ff16151592810192909252600301546060820152915086146123895760405162461bcd60e51b815260206004820152601960248201527f546f6b656e206e6f742066726f6d2074686973206c6576656c000000000000006044820152606401610901565b805161239590846149d7565b92505080806123a390614ab1565b9150506122bd565b5080821415612400576123fb6123c28560016149d7565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132e492505050565b612448565b60405162461bcd60e51b815260206004820152601760248201527f57726f6e6720726f626920626f6f737420616d6f756e740000000000000000006044820152606401610901565b6124538460016149d7565b336001600160a01b03167f43b484542c8208a11b909da2d0d06ac5706fb8bd16b899f735488e93c8629c1c888860405161248e9291906147a6565b60405180910390a35050600160fb5550505050565b600080516020614b398339815191526124bc81336126c1565b60006124cb62015180426149ef565b90506124d8848285613467565b6001600160a01b038416600081815261014160209081526040808320858452825291829020548251938452908301527f633b0a284e39f9e50ff759a78fdc86406f70b075c2b2a4e5a1e1ec5a29a0d6b4910160405180910390a150505050565b600080600061254684611111565b600094855261014060205260409094208054600290910154949560ff90951694909350915050565b60006001600160e01b03198216637965db0b60e01b14806108015750610801826134bf565b6000908152606760205260409020546001600160a01b0316151590565b60006125bb82611111565b9050806001600160a01b0316836001600160a01b031614156126295760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610901565b336001600160a01b03821614806126455750612645813361073d565b6126b75760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610901565b6109ad838361314d565b6126cb8282611472565b61098f576126e3816001600160a01b031660146134e4565b6126ee8360206134e4565b6040516020016126ff9291906146f4565b60408051601f198184030181529082905262461bcd60e51b8252610901916004016147f3565b6000818152610140602052604081208054600190910154610131906007811061275e57634e487b7160e01b600052603260045260246000fd5b01546108019190614a22565b6000805b61012f548111611911576001600160a01b03831660009081526101416020526040812090620151806127a08482614a03565b6127aa9042614a22565b6127b491906149ef565b815260200190815260200160002054826127ce91906149d7565b9150806127da81614ab1565b91505061276e565b601e825111156128045760405162461bcd60e51b81526004016109019061487d565b805182511461284e5760405162461bcd60e51b815260206004820152601660248201527557726f6e67206c656e677468206f662061727261797360501b6044820152606401610901565b60005b82518110156109ad57336001600160a01b031661289484838151811061288757634e487b7160e01b600052603260045260246000fd5b6020026020010151611111565b6001600160a01b0316146128df5760405162461bcd60e51b81526020600482015260126024820152712737ba1037bbb732b91037b3103a37b5b2b760711b6044820152606401610901565b600082828151811061290157634e487b7160e01b600052603260045260246000fd5b60200260200101519050600061012f5490506000805b60008411806129265750600083115b15612a0057620151806129398482614a03565b6129439042614a22565b61294d91906149ef565b336000908152610141602090815260408083208484529091529020549250905081612984578261297c81614a65565b935050612917565b818411156129e2576129968285614a22565b935081610142600083815260200190815260200160002060008282546129bc9190614a22565b9091555050336000908152610141602090815260408083208484529091528120556129f6565b6129ed338286612df6565b60009350612a00565b8261297c81614a65565b8361107357612a5d878681518110612a2857634e487b7160e01b600052603260045260246000fd5b6020026020010151878781518110612a5057634e487b7160e01b600052603260045260246000fd5b60200260200101516136c5565b505050508080612a6c90614ab1565b915050612851565b6000612a7f82612593565b612ae05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610901565b6000612aeb83611111565b9050806001600160a01b0316846001600160a01b03161480612b265750836001600160a01b0316612b1b84610899565b6001600160a01b0316145b80612b5657506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316612b7182611111565b6001600160a01b031614612bd95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610901565b6001600160a01b038216612c3b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610901565b612c4683838361383c565b612c5160008261314d565b6001600160a01b0383166000908152606860205260408120805460019290612c7a908490614a22565b90915550506001600160a01b0382166000908152606860205260408120805460019290612ca89084906149d7565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b612d138282611472565b61098f57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055612d4b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b612d998282611472565b1561098f57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b0383166000908152610141602090815260408083208584529091529020548111801590612e395750600082815261014260205260409020548111155b612e745760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b6044820152606401610901565b6001600160a01b03831660009081526101416020908152604080832085845290915281208054839290612ea8908490614a22565b90915550506000828152610142602052604081208054839290612ecc908490614a22565b9091555050505050565b612ee082826138a6565b600081815261014060205260409081902060018101549054915183926001600160a01b038616927f4334057bd6390df3cbfe69124187b6bb430edf36a62af58672f43670056e9ebd926118a59290918252602082015260400190565b600054610100900460ff1680612f55575060005460ff16155b612f715760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff16158015612f93576000805461ffff19166101011790555b612f9b613047565b612fa3613047565b612fad83836138c0565b80156109ad576000805461ff0019169055505050565b600054610100900460ff1680612fdc575060005460ff16155b612ff85760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff1615801561301a576000805461ffff19166101011790555b613022613047565b61302a613047565b613032613047565b8015613044576000805461ff00191690555b50565b600054610100900460ff1680613060575060005460ff16155b61307c5760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff16158015613032576000805461ffff19166101011790558015613044576000805461ff001916905550565b600054610100900460ff16806130ca575060005460ff16155b6130e65760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff16158015613108576000805461ffff19166101011790555b613032613955565b61098f8282612d09565b613125848484612b5e565b613131848484846139c5565b610ecb5760405162461bcd60e51b81526004016109019061482b565b600081815260696020526040902080546001600160a01b0319166001600160a01b038416908117909155819061318282611111565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b606061012d805461081690614a7c565b6060816131ef5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115613219578061320381614ab1565b91506132129050600a836149ef565b91506131f3565b6000816001600160401b0381111561324157634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561326b576020820181803683370190505b5090505b8415612b5657613280600183614a22565b915061328d600a86614acc565b6132989060306149d7565b60f81b8183815181106132bb57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506132dd600a866149ef565b945061326f565b6000805b82518110156133f757336001600160a01b031661331e84838151811061288757634e487b7160e01b600052603260045260246000fd5b6001600160a01b0316146133695760405162461bcd60e51b81526020600482015260126024820152712737ba1037bbb732b91037b3103a37b5b2b760711b6044820152606401610901565b610140600084838151811061338e57634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060000154826133b391906149d7565b91506133e58382815181106133d857634e487b7160e01b600052603260045260246000fd5b6020026020010151613ad2565b806133ef81614ab1565b9150506132e8565b506101305460649061340c9060ff1683614a03565b61341691906149ef565b61342090826149d7565b9050600161013f600082825461343691906149d7565b909155505061013f54600081815261014060205260409020828155426003820155600101849055610ecb3382612ed6565b6001600160a01b0383166000908152610141602090815260408083208584529091528120805483929061349b9084906149d7565b90915550506000828152610142602052604081208054839290612ecc9084906149d7565b60006001600160e01b0319821663780e9d6360e01b1480610801575061080182613b79565b606060006134f3836002614a03565b6134fe9060026149d7565b6001600160401b0381111561352357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561354d576020820181803683370190505b509050600360fc1b8160008151811061357657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106135b357634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006135d7846002614a03565b6135e29060016149d7565b90505b6001811115613676576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061362457634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061364857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361366f81614a65565b90506135e5565b508315611c685760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610901565b6136ce82612593565b6137115760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610901565b6000828152610140602052604090206002015460ff16156137665760405162461bcd60e51b815260206004820152600f60248201526e151bdad95b881a5cc81cdd185ad959608a1b6044820152606401610901565b60008281526101406020526040812080549091906137859084906149d7565b90506101318260010154600781106137ad57634e487b7160e01b600052603260045260246000fd5b01548111156137fe5760405162461bcd60e51b815260206004820152601c60248201527f52422076616c7565206f766572206c696d6974206279206c6576656c000000006044820152606401610901565b80825560405181815284907fb5de564c8a6f2fcde3bb434fbdf523867597a5a97cc09c22f1b7b90b301f20299060200160405180910390a250505050565b6000818152610140602052604090206002015460ff1615156001141561389b5760405162461bcd60e51b815260206004820152601460248201527322a9219b99189d102a37b5b2b710333937bd32b760611b6044820152606401610901565b6109ad838383613bc9565b61098f828260405180602001604052806000815250613c81565b600054610100900460ff16806138d9575060005460ff16155b6138f55760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff16158015613917576000805461ffff19166101011790555b825161392a90606590602086019061405e565b50815161393e90606690602085019061405e565b5080156109ad576000805461ff0019169055505050565b600054610100900460ff168061396e575060005460ff16155b61398a5760405162461bcd60e51b8152600401610901906148aa565b600054610100900460ff161580156139ac576000805461ffff19166101011790555b600160fb558015613044576000805461ff001916905550565b60006001600160a01b0384163b15613ac757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613a09903390899088908890600401614769565b602060405180830381600087803b158015613a2357600080fd5b505af1925050508015613a53575060408051601f3d908101601f19168201909252613a5091810190614524565b60015b613aad573d808015613a81576040519150601f19603f3d011682016040523d82523d6000602084013e613a86565b606091505b508051613aa55760405162461bcd60e51b81526004016109019061482b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612b56565b506001949350505050565b6000613add82611111565b9050613aeb8160008461383c565b613af660008361314d565b6001600160a01b0381166000908152606860205260408120805460019290613b1f908490614a22565b909155505060008281526067602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60006001600160e01b031982166380ac58cd60e01b1480613baa57506001600160e01b03198216635b5e139f60e01b145b8061080157506301ffc9a760e01b6001600160e01b0319831614610801565b6001600160a01b038316613c2457613c1f81609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b613c47565b816001600160a01b0316836001600160a01b031614613c4757613c478382613cb4565b6001600160a01b038216613c5e576109ad81613d51565b826001600160a01b0316826001600160a01b0316146109ad576109ad8282613e2a565b613c8b8383613e6e565b613c9860008484846139c5565b6109ad5760405162461bcd60e51b81526004016109019061482b565b60006001613cc18461127e565b613ccb9190614a22565b600083815260986020526040902054909150808214613d1e576001600160a01b03841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b5060009182526098602090815260408084208490556001600160a01b039094168352609781528383209183525290812055565b609954600090613d6390600190614a22565b6000838152609a602052604081205460998054939450909284908110613d9957634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060998381548110613dc857634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480613e0e57634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000613e358361127e565b6001600160a01b039093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6001600160a01b038216613ec45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610901565b613ecd81612593565b15613f1a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610901565b613f266000838361383c565b6001600160a01b0382166000908152606860205260408120805460019290613f4f9084906149d7565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8260078101928215613fdb579160200282015b82811115613fdb578235825591602001919060010190613fc0565b50613fe79291506140d2565b5090565b828054613ff790614a7c565b90600052602060002090601f0160209004810192826140195760008555613fdb565b82601f106140325782800160ff19823516178555613fdb565b82800160010185558215613fdb5791820182811115613fdb578235825591602001919060010190613fc0565b82805461406a90614a7c565b90600052602060002090601f01602090048101928261408c5760008555613fdb565b82601f106140a557805160ff1916838001178555613fdb565b82800160010185558215613fdb579182015b82811115613fdb5782518255916020019190600101906140b7565b5b80821115613fe757600081556001016140d3565b60006001600160401b038084111561410157614101614b0c565b604051601f8501601f19908116603f0116810190828211818310171561412957614129614b0c565b8160405280935085815286868601111561414257600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461417357600080fd5b919050565b60008083601f840112614189578182fd5b5081356001600160401b0381111561419f578182fd5b6020830191508360208260051b85010111156141ba57600080fd5b9250929050565b6000602082840312156141d2578081fd5b611c688261415c565b600080604083850312156141ed578081fd5b6141f68361415c565b91506142046020840161415c565b90509250929050565b600080600060608486031215614221578081fd5b61422a8461415c565b92506142386020850161415c565b9150604084013590509250925092565b6000806000806080858703121561425d578081fd5b6142668561415c565b93506142746020860161415c565b92506040850135915060608501356001600160401b03811115614295578182fd5b8501601f810187136142a5578182fd5b6142b4878235602084016140e7565b91505092959194509250565b600080604083850312156142d2578182fd5b6142db8361415c565b9150602083013580151581146142ef578182fd5b809150509250929050565b6000806040838503121561430c578182fd5b6143158361415c565b946020939093013593505050565b600080600060608486031215614337578283fd5b6143408461415c565b95602085013595506040909401359392505050565b600060e08284031215614366578081fd5b8260e083011115611911578081fd5b60008060208385031215614387578182fd5b82356001600160401b0381111561439c578283fd5b6143a885828601614178565b90969095509350505050565b600080600080604085870312156143c9578384fd5b84356001600160401b03808211156143df578586fd5b6143eb88838901614178565b90965094506020870135915080821115614403578384fd5b5061441087828801614178565b95989497509550505050565b60008060008060608587031215614431578182fd5b84356001600160401b03811115614446578283fd5b61445287828801614178565b90989097506020870135966040013595509350505050565b600080600080600060808688031215614481578283fd5b85356001600160401b03811115614496578384fd5b6144a288828901614178565b90965094505060208601359250604086013591506144c26060870161415c565b90509295509295909350565b6000602082840312156144df578081fd5b5035919050565b600080604083850312156144f8578182fd5b823591506142046020840161415c565b600060208284031215614519578081fd5b8135611c6881614b22565b600060208284031215614535578081fd5b8151611c6881614b22565b60008060208385031215614552578182fd5b82356001600160401b0380821115614568578384fd5b818501915085601f83011261457b578384fd5b813581811115614589578485fd5b86602082850101111561459a578485fd5b60209290920196919550909350505050565b6000806000606084860312156145c0578081fd5b83356001600160401b038111156145d5578182fd5b8401601f810186136145e5578182fd5b6145f4868235602084016140e7565b9660208601359650604090950135949350505050565b60006020828403121561461b578081fd5b813560ff81168114611c68578182fd5b81835260006001600160fb1b03831115614643578081fd5b8260051b80836020870137939093016020019283525090919050565b6000815180845260208085019450808401835b8381101561468e57815187529582019590820190600101614672565b509495945050505050565b600081518084526146b1816020860160208601614a39565b601f01601f19169290920160200192915050565b600083516146d7818460208801614a39565b8351908301906146eb818360208801614a39565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161472c816017850160208801614a39565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161475d816028840160208801614a39565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061479c90830184614699565b9695505050505050565b602081526000612b5660208301848661462b565b6040815260006147ce60408301858761462b565b828103602084015261479c818561465f565b602081526000611c68602083018461465f565b602081526000611c686020830184614699565b6060815260006148196060830186614699565b60208301949094525060400152919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b602080825260139082015272082e4e4c2f240d8cadccee8d040cee840dac2f606b1b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006101008a835260018060a01b038a16602084015288604084015287606084015286151560808401528560a08401528460c08401528060e08401526149c881840185614699565b9b9a5050505050505050505050565b600082198211156149ea576149ea614ae0565b500190565b6000826149fe576149fe614af6565b500490565b6000816000190483118215151615614a1d57614a1d614ae0565b500290565b600082821015614a3457614a34614ae0565b500390565b60005b83811015614a54578181015183820152602001614a3c565b83811115610ecb5750506000910152565b600081614a7457614a74614ae0565b506000190190565b600181811c90821680614a9057607f821691505b6020821081141561191157634e487b7160e01b600052602260045260246000fd5b6000600019821415614ac557614ac5614ae0565b5060010190565b600082614adb57614adb614af6565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461304457600080fdfec7c9819f33f023fb575ae9b63a0181942ca5956a309f3641e15d6dc199033e46a26469706673582212207dcd7834b780ee48df012c937dfa9883c57aa63ba3cb0472ba050571470d775464736f6c63430008040033