103 txs
1.1k calls
constructor
constructor()
functions
allowance
viewfunction allowance(address provider, address spender) view returns (uint256)
autoBurnTriggerTime
viewfunction autoBurnTriggerTime() view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
circulatingSupply
viewfunction circulatingSupply() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
isLimitExempt
viewfunction isLimitExempt(address account) view returns (bool)
isMaxLimitEnabled
viewfunction isMaxLimitEnabled() view returns (bool)
isPairLP
viewfunction isPairLP(address pair) view returns (bool)
lastAutoBurnTime
viewfunction lastAutoBurnTime() view returns (uint256)
lastTriggerZeusTimestamp
viewfunction lastTriggerZeusTimestamp() view returns (uint256)
maxTransactionLimit
viewfunction maxTransactionLimit() view returns (uint256)
MINLIMIT
viewfunction MINLIMIT() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
pair
viewfunction pair() view returns (address)
projectOwner
viewfunction projectOwner() view returns (address)
router
viewfunction router() view returns (address)
SAFU_OWNER
viewfunction SAFU_OWNER() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalTriggerZeusBuyback
viewfunction totalTriggerZeusBuyback() view returns (uint256)
tradeEnabled
viewfunction tradeEnabled() view returns (bool)
tradeStartTime
viewfunction tradeStartTime() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 value) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 value) returns (bool)
enableTrading
nonpayablefunction enableTrading()
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 value) returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
setPairLP
nonpayablefunction setPairLP(address lpPair, bool newStatus)
transfer
nonpayablefunction transfer(address to, uint256 value) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 value) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
triggerZeusBuyback
nonpayablefunction triggerZeusBuyback(uint256 amount)
updateLimitExempt
nonpayablefunction updateLimitExempt(address user, bool newState)
updateMaxTransactionLimit
nonpayablefunction updateMaxTransactionLimit(uint256 newLimit)
updateRouter
nonpayablefunction updateRouter(address newRouter)
updateUseMaxLimit
nonpayablefunction updateUseMaxLimit(bool newState)
wTokens
nonpayablefunction wTokens(address tokenAddress, uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetAddressState
event SetAddressState(string addressType, address account, bool oldStatus, bool newStatus, address caller, uint256 timestamp)
TradeEnabled
event TradeEnabled(address caller, uint256 timestamp)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
UpdateRouter
event UpdateRouter(address oldRouter, address newRouter, address caller, uint256 timestamp)
UpdateState
event UpdateState(string stateType, bool oldState, bool newState, address caller, uint256 timestamp)
UpdateValue
event UpdateValue(string valueType, uint256 oldValue, uint256 newValue, address caller, uint256 timestamp)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CannotUseCurrentAddress
error CannotUseCurrentAddress(address current)
CannotUseCurrentState
error CannotUseCurrentState(bool current)
CannotUseCurrentValue
error CannotUseCurrentValue(uint256 current)
CannotWithdrawNativeToken
error CannotWithdrawNativeToken()
ERC20InsufficientAllowance
error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed)
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidApprover
error ERC20InvalidApprover(address approver)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
ERC20InvalidSpender
error ERC20InvalidSpender(address spender)
ExceedLimit
error ExceedLimit()
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress(address invalid)
InvalidValue
error InvalidValue(uint256 invalid)
OnlySAFUOwnerAllowed
error OnlySAFUOwnerAllowed()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReceiverCannotInitiateTransferEther
error ReceiverCannotInitiateTransferEther()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TradeAlreadyEnabled
error TradeAlreadyEnabled(bool currentState, uint256 timestamp)
TradeNotYetEnabled
error TradeNotYetEnabled()
creation bytecode
0x6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556101f46003556000600481905560058190556307861f8060065560078190556008556009805490911673d2cb8ad52b28d85dd8b2a5e2167fd53be779b589179055600a805461ffff60a01b191690553480156200008957600080fd5b503380620000b257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000bd81620002f7565b50336000818152600e60205260408082208054600160ff1991821681179092556009546001600160a01b03168452919092208054909116909117905562000123906200010c6012600a620005cd565b6200011d906404e3b29200620005e5565b62000347565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000177573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019d9190620005ff565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620005ff565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620005ff565b600a80546001600160a01b0319166001600160a01b0392831690811782556000908152600d60209081526040808320805460ff19908116600190811790925594549095168352600e90915290208054909116909117905562000640565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216620003735760405163ec442f0560e01b815260006004820152602401620000a9565b620003816000838362000385565b5050565b6001600160a01b038316620003b4578060026000828254620003a891906200062a565b90915550620004289050565b6001600160a01b0383166000908152600b602052604090205481811015620004095760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000a9565b6001600160a01b0384166000908152600b602052604090209082900390555b6001600160a01b038216620004465760028054829003905562000465565b6001600160a01b0382166000908152600b602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004ab91815260200190565b60405180910390a3505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200050f578160001904821115620004f357620004f3620004b8565b808516156200050157918102915b93841c9390800290620004d3565b509250929050565b6000826200052857506001620005c7565b816200053757506000620005c7565b81600181146200055057600281146200055b576200057b565b6001915050620005c7565b60ff8411156200056f576200056f620004b8565b50506001821b620005c7565b5060208310610133831016604e8410600b8410161715620005a0575081810a620005c7565b620005ac8383620004ce565b8060001904821115620005c357620005c3620004b8565b0290505b92915050565b6000620005de60ff84168362000517565b9392505050565b8082028115828204841417620005c757620005c7620004b8565b6000602082840312156200061257600080fd5b81516001600160a01b0381168114620005de57600080fd5b80820180821115620005c757620005c7620004b8565b6126dd80620006506000396000f3fe6080604052600436106102a45760003560e01c80638a8c523c1161016e578063a9059cbb116100cb578063d64c13bb1161007f578063dd62ed3e11610064578063dd62ed3e146107a4578063f2fde38b146107ea578063f887ea401461080a57600080fd5b8063d64c13bb1461076e578063da4daf711461078e57600080fd5b8063b0c150af116100b0578063b0c150af146106ec578063c851cc321461071c578063d621e8131461073c57600080fd5b8063a9059cbb146106a4578063a9eb77a4146106c457600080fd5b806397e1b9d311610122578063a457c2d711610107578063a457c2d714610631578063a4c6d73c14610651578063a8aa1b311461068457600080fd5b806397e1b9d3146105fb578063a4475ce41461061157600080fd5b8063918f867411610153578063918f8674146105895780639358928b146105a057806395d89b41146105b557600080fd5b80638a8c523c146105425780638da5cb5b1461055757600080fd5b80632c735ef81161021c57806363a95492116101d057806370a08231116101b557806370a08231146104d7578063715018a61461050d578063858a98671461052257600080fd5b806363a95492146104a1578063676c8458146104c157600080fd5b8063313ce56711610201578063313ce567146104455780633950935114610461578063625dd6051461048157600080fd5b80632c735ef8146104195780632ceeafb01461042f57600080fd5b806318160ddd116102735780631f685bac116102585780631f685bac146103c35780632216cc4d146103e357806323b872dd146103f957600080fd5b806318160ddd1461038c57806318783f6c146103a157600080fd5b806306fdde03146102b057806308c4365014610308578063095ea7b3146103485780630cf02e7b1461036857600080fd5b366102ab57005b600080fd5b3480156102bc57600080fd5b5060408051808201909152601081527f426967204261636b20426974636f696e0000000000000000000000000000000060208201525b6040516102ff919061235d565b60405180910390f35b34801561031457600080fd5b506103386103233660046123c3565b600d6020526000908152604090205460ff1681565b60405190151581526020016102ff565b34801561035457600080fd5b506103386103633660046123e0565b61082a565b34801561037457600080fd5b5061037e60065481565b6040519081526020016102ff565b34801561039857600080fd5b5060025461037e565b3480156103ad57600080fd5b506103c16103bc36600461241a565b610844565b005b3480156103cf57600080fd5b506103c16103de3660046123e0565b610972565b3480156103ef57600080fd5b5061037e60055481565b34801561040557600080fd5b50610338610414366004612437565b610b08565b34801561042557600080fd5b5061037e60045481565b34801561043b57600080fd5b5061037e6101f481565b34801561045157600080fd5b50604051601281526020016102ff565b34801561046d57600080fd5b5061033861047c3660046123e0565b610b2e565b34801561048d57600080fd5b506103c161049c366004612478565b610b76565b3480156104ad57600080fd5b506103c16104bc3660046124b1565b610def565b3480156104cd57600080fd5b5061037e60035481565b3480156104e357600080fd5b5061037e6104f23660046123c3565b6001600160a01b03166000908152600b602052604090205490565b34801561051957600080fd5b506103c1610e6d565b34801561052e57600080fd5b506103c161053d366004612478565b610e81565b34801561054e57600080fd5b506103c1610fb9565b34801561056357600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ff565b34801561059557600080fd5b5061037e620186a081565b3480156105ac57600080fd5b5061037e6110c5565b3480156105c157600080fd5b5060408051808201909152600581527f424242544300000000000000000000000000000000000000000000000000000060208201526102f2565b34801561060757600080fd5b5061037e60085481565b34801561061d57600080fd5b50600954610571906001600160a01b031681565b34801561063d57600080fd5b5061033861064c3660046123e0565b611135565b34801561065d57600080fd5b50600a54610338907501000000000000000000000000000000000000000000900460ff1681565b34801561069057600080fd5b50600a54610571906001600160a01b031681565b3480156106b057600080fd5b506103386106bf3660046123e0565b6111be565b3480156106d057600080fd5b5061057173516a55fa43339b8e85c1f32c4709e06e93755afe81565b3480156106f857600080fd5b506103386107073660046123c3565b600e6020526000908152604090205460ff1681565b34801561072857600080fd5b506103c16107373660046123c3565b6111cc565b34801561074857600080fd5b50600a546103389074010000000000000000000000000000000000000000900460ff1681565b34801561077a57600080fd5b506103c16107893660046124b1565b6116ae565b34801561079a57600080fd5b5061037e60075481565b3480156107b057600080fd5b5061037e6107bf3660046124ca565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b3480156107f657600080fd5b506103c16108053660046123c3565b611781565b34801561081657600080fd5b50600154610571906001600160a01b031681565b600033610838818585611893565b60019150505b92915050565b61084c6118a5565b801515600a60159054906101000a900460ff161515036108a1576040517f0a7e72d000000000000000000000000000000000000000000000000000000000815281151560048201526024015b60405180910390fd5b600a805482151575010000000000000000000000000000000000000000008181027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff8416179093556040805160a08082526011908201527f69734d61784c696d6974456e61626c656400000000000000000000000000000060c082015260ff94909304939093168015156020840152928201523360608201524260808201527fda986e332f97963bfa4bb220bda255b40296aa680cff592b805c2deb80b1dbf39060e0015b60405180910390a15050565b8073516a55fa43339b8e85c1f32c4709e06e93755afe306001600160a01b038516036109ca576040517faf531b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038416610a6257826000036109e4574791505b6001600160a01b0381163303610a26576040517fa5eb0da900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610a5c573d6000803e3d6000fd5b50610b02565b82600003610aee576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb91906124f8565b91505b610b026001600160a01b03851682846118fa565b50505050565b600033610b1685828561197a565b610b21858585611a2a565b60019150505b9392505050565b336000818152600c602090815260408083206001600160a01b0387168452909152812054909190610b6b8286610b648785612540565b6001611c9d565b506001949350505050565b610b7e6118a5565b6001600160a01b0382166000908152600d602052604090205481151560ff909116151503610bdc576040517f0a7e72d00000000000000000000000000000000000000000000000000000000081528115156004820152602401610898565b306001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c489190612553565b6001600160a01b031614158015610cd25750306001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc69190612553565b6001600160a01b031614155b15610d14576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610898565b6001600160a01b0382166000818152600d602090815260409182902080548515157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117909255835160c08082526008908201527f6973506169724c5000000000000000000000000000000000000000000000000060e08201529283019490945260ff9093168015159282019290925260608101929092523360808301524260a0830152907f59efce2bd92f91881f8f3ffb8c70709a05ae83006301d26f9fe6170f3e690aea90610100015b60405180910390a1505050565b610df76118a5565b674563918244f40000811115610e43576040517f6072742c000000000000000000000000000000000000000000000000000000008152674563918244f400006004820152602401610898565b8060076000828254610e559190612540565b909155505042600855610e6a8161dead611da4565b50565b610e756118a5565b610e7f6000611f85565b565b610e896118a5565b6001600160a01b0382166000908152600e602052604090205481151560ff909116151503610ee7576040517f0a7e72d00000000000000000000000000000000000000000000000000000000081528115156004820152602401610898565b6001600160a01b0382166000818152600e602090815260409182902080548515157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117909255835160c0808252600d908201527f69734c696d69744578656d70740000000000000000000000000000000000000060e08201529283019490945260ff9093168015159282019290925260608101929092523360808301524260a0830152907f59efce2bd92f91881f8f3ffb8c70709a05ae83006301d26f9fe6170f3e690aea9061010001610de2565b610fc16118a5565b600a5474010000000000000000000000000000000000000000900460ff161561104357600a54600480546040517fe39c1e870000000000000000000000000000000000000000000000000000000081526108989360ff740100000000000000000000000000000000000000009091041692019115158252602082015260400190565b600a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff1675010100000000000000000000000000000000000000001790554260048190556040805133815260208101929092527f8b70aa279b24da71d8a874fa0b0ee8f1a587c4fb32b80d87e95cdbdae01b7b4f910160405180910390a1565b600b6020527fdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f765461dead60009081527f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac3415546002549192916111269190612570565b6111309190612570565b905090565b336000818152600c602090815260408083206001600160a01b0387168452909152812054909190838110156111af576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810182905260448101859052606401610898565b610b6b82868684036001611c9d565b600033610838818585611a2a565b3373516a55fa43339b8e85c1f32c4709e06e93755afe14611219576040517feec413b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546001600160a01b039081169082160361126c576040517fa93663690000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610898565b600180546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040805191909216808252602082019390935233918101919091524260608201527fe1cb783288eddc7b22c25642a832d886a558be0dd900747310a34156b9fdcbbb9060800160405180910390a1600154604080517fc45a015500000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015611354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113789190612553565b6001600160a01b031663e6a4390530600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fe9190612553565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114859190612553565b6001600160a01b0316036116aa57600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612553565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115909190612553565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190612553565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039290921691821790556000908152600d602052604090205460ff166116aa57600a546001600160a01b03166000908152600d6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b5050565b6116b66118a5565b8060035414806116c757506101f481105b15611701576040517f6072742c00000000000000000000000000000000000000000000000000000000815260048101829052602401610898565b60038054908290556040805160a08082526013908201527f6d61785472616e73616374696f6e4c696d69740000000000000000000000000060c0820152602081018390529081018390523360608201524260808201527f2dc908b86b38cfca773aadc8861ff9f24d2b644be4f8a6c2024cd71e120e5ef59060e001610966565b6117896118a5565b6000546001600160a01b03166001600160a01b0316816001600160a01b0316036117ea576040517fa93663690000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610898565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21536001600160a01b03821601611857576040517f8e4c8aa60000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610898565b600980547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316179055610e6a81611fed565b6118a08383836001611c9d565b505050565b336118b86000546001600160a01b031690565b6001600160a01b031614610e7f576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610898565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526118a0908490612041565b6001600160a01b038381166000908152600c60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610b025781811015611a1b576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610898565b610b0284848484036000611c9d565b6001600160a01b038316611a6d576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610898565b6001600160a01b038216611ab0576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610898565b600a5474010000000000000000000000000000000000000000900460ff16158015611b1857506001600160a01b0383166000908152600e602052604090205460ff16158015611b1857506001600160a01b0382166000908152600e602052604090205460ff16155b15611b4f576040517fab9827ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a547501000000000000000000000000000000000000000000900460ff168015611b9357506001600160a01b0383166000908152600e602052604090205460ff16155b8015611bc15750620186a0600354611baa60025490565b611bb49190612583565b611bbe919061259a565b81115b15611bf8576040517fff5e701c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600654600554611c089042612570565b10158015611c235750306000908152600b6020526040812054115b15611c9257306000908152600b6020526040902054600254620186a090611c4c90610834612583565b611c56919061259a565b811115611c8357620186a0611c6a60025490565b611c7690610834612583565b611c80919061259a565b90505b611c903061dead836120bd565b505b6118a08383836120bd565b6001600160a01b038416611ce0576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610898565b6001600160a01b038316611d23576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610898565b6001600160a01b038085166000908152600c602090815260408083209387168352929052208290558015610b0257826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611d9691815260200190565b60405180910390a350505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21533301611e01576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815261dead6004820152602401610898565b6040805160028082526060820183526000926020830190803683375050600154604080517fad5c464800000000000000000000000000000000000000000000000000000000815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea89190612553565b81600081518110611ebb57611ebb6125d5565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611eef57611eef6125d5565b6001600160a01b0392831660209182029290920101526001546040517fb6f9de9500000000000000000000000000000000000000000000000000000000815291169063b6f9de95908590611f4e90600090869088904290600401612604565b6000604051808303818588803b158015611f6757600080fd5b505af1158015611f7b573d6000803e3d6000fd5b5050505050505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ff56118a5565b6001600160a01b038116612038576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610898565b610e6a81611f85565b60006120566001600160a01b03841683612200565b9050805160001415801561207b575080806020019051810190612079919061266e565b155b156118a0576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610898565b6001600160a01b0383166120e85780600260008282546120dd9190612540565b909155506121739050565b6001600160a01b0383166000908152600b602052604090205481811015612154576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024810182905260448101839052606401610898565b6001600160a01b0384166000908152600b602052604090209082900390555b6001600160a01b03821661218f576002805482900390556121ae565b6001600160a01b0382166000908152600b602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121f391815260200190565b60405180910390a3505050565b6060610b278383600084600080856001600160a01b03168486604051612226919061268b565b60006040518083038185875af1925050503d8060008114612263576040519150601f19603f3d011682016040523d82523d6000602084013e612268565b606091505b5091509150612278868383612282565b9695505050505050565b60608261229757612292826122f7565b610b27565b81511580156122ae57506001600160a01b0384163b155b156122f0576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610898565b5080610b27565b8051156123075780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561235457818101518382015260200161233c565b50506000910152565b602081526000825180602084015261237c816040850160208701612339565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6001600160a01b0381168114610e6a57600080fd5b6000602082840312156123d557600080fd5b8135610b27816123ae565b600080604083850312156123f357600080fd5b82356123fe816123ae565b946020939093013593505050565b8015158114610e6a57600080fd5b60006020828403121561242c57600080fd5b8135610b278161240c565b60008060006060848603121561244c57600080fd5b8335612457816123ae565b92506020840135612467816123ae565b929592945050506040919091013590565b6000806040838503121561248b57600080fd5b8235612496816123ae565b915060208301356124a68161240c565b809150509250929050565b6000602082840312156124c357600080fd5b5035919050565b600080604083850312156124dd57600080fd5b82356124e8816123ae565b915060208301356124a6816123ae565b60006020828403121561250a57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561083e5761083e612511565b60006020828403121561256557600080fd5b8151610b27816123ae565b8181038181111561083e5761083e612511565b808202811582820484141761083e5761083e612511565b6000826125d0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060808201868352602060808185015281875180845260a086019150828901935060005b8181101561264e5784516001600160a01b031683529383019391830191600101612629565b50506001600160a01b039690961660408501525050506060015292915050565b60006020828403121561268057600080fd5b8151610b278161240c565b6000825161269d818460208701612339565b919091019291505056fea2646970667358221220be5cef1523552a4437e910fad72beb0ab92f3c76437f6a90550226b4f0673cce64736f6c63430008120033