0 txs
22 calls
constructor
constructor() payable
functions
allocations
viewfunction allocations(address) view returns (uint256)
amountToLpAmount
viewfunction amountToLpAmount(uint256 amount, address mellowVault) view returns (uint256 lpAmount)
claimableAmount
viewfunction claimableAmount() view returns (uint256)
depositSlippage
viewfunction depositSlippage() view returns (uint256)
getDeposited
viewfunction getDeposited(address _mellowVault) view returns (uint256)
getTotalDeposited
viewfunction getTotalDeposited() view returns (uint256)
getVersion
purefunction getVersion() pure returns (uint256)
lpAmountToAmount
viewfunction lpAmountToAmount(uint256 lpAmount, address mellowVault) view returns (uint256)
mellowDepositWrappers
viewfunction mellowDepositWrappers(address) view returns (address)
mellowVaults
viewfunction mellowVaults(uint256) view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingMellowRequest
viewfunction pendingMellowRequest(address mellowVault) view returns (tuple)
pendingWithdrawalAmount
viewfunction pendingWithdrawalAmount() view returns (uint256)
requestDeadline
viewfunction requestDeadline() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalAllocations
viewfunction totalAllocations() view returns (uint256)
withdrawSlippage
viewfunction withdrawSlippage() view returns (uint256)
addMellowVault
nonpayablefunction addMellowVault(address mellowVault, address depositWrapper)
changeAllocation
nonpayablefunction changeAllocation(address mellowVault, uint256 newAllocation)
claimMellowWithdrawalCallback
nonpayablefunction claimMellowWithdrawalCallback() returns (uint256)
delegate
nonpayablefunction delegate(uint256 deadline) returns (uint256 amount, uint256 lpAmount)
delegateMellow
nonpayablefunction delegateMellow(uint256 amount, uint256 deadline, address mellowVault) returns (uint256 lpAmount)
initialize
nonpayablefunction initialize(address[] _mellowDepositWrapper, address[] _mellowVault, address asset, address trusteeManager)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setRequestDeadline
nonpayablefunction setRequestDeadline(uint256 _days)
setSlippages
nonpayablefunction setSlippages(uint256 _depositSlippage, uint256 _withdrawSlippage)
setTrusteeManager
nonpayablefunction setTrusteeManager(address _newTrusteeManager)
setVault
nonpayablefunction setVault(address vault)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdrawEmergencyMellow
nonpayablefunction withdrawEmergencyMellow(address _mellowVault, uint256 amount) returns (uint256)
withdrawMellow
nonpayablefunction withdrawMellow(address _mellowVault, uint256 amount, bool closePrevious) returns (uint256)
events
AllocationChanged
event AllocationChanged(address mellowVault, uint256 oldAllocation, uint256 newAllocation)
Initialized
event Initialized(uint8 version)
NewSlippages
event NewSlippages(uint256 _deposit, uint256 _withdraw)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RequestDealineSet
event RequestDealineSet(uint256 indexed oldDeadline, uint256 indexed newDealine)
TrusteeManagerSet
event TrusteeManagerSet(address indexed _trusteeManager, address indexed _newTrusteeManager)
Unpaused
event Unpaused(address account)
VaultAdded
event VaultAdded(address indexed _mellowVault, address indexed _depositWrapper)
VaultSet
event VaultSet(address indexed oldVault, address indexed newVault)
WrappedSet
event WrappedSet(address indexed _wrapped, address indexed _newWrapped)
errors
AlreadyAdded
error AlreadyAdded()
BadMellowWithdrawRequest
error BadMellowWithdrawRequest()
InactiveWrapper
error InactiveWrapper()
InconsistentData
error InconsistentData()
InvalidAllocation
error InvalidAllocation()
InvalidVault
error InvalidVault()
LengthMismatch
error LengthMismatch()
NotVaultOrTrusteeManager
error NotVaultOrTrusteeManager()
NullParams
error NullParams()
TooMuchSlippage
error TooMuchSlippage()
TransferAssetFailed
error TransferAssetFailed(address assetAddress)
ValueZero
error ValueZero()
WrongClaimWithdrawalParams
error WrongClaimWithdrawalParams()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6134af80620000e56000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80636493cd6f1161011a578063a556f846116100ad578063cea415101161007c578063cea4151014610437578063d0f738a21461044a578063d588435d1461045d578063deb2c3c61461047d578063f2fde38b1461048757600080fd5b8063a556f8461461040a578063aacaa71a14610412578063b68ef5591461041c578063bee059ee1461042457600080fd5b80638456cb59116100e95780638456cb59146103b65780638da5cb5b146103be578063915ad7bc146103cf5780639fa6dd35146103e257600080fd5b80636493cd6f146103755780636817031b146103885780636b42c5761461039b578063715018a6146103ae57600080fd5b80633c8bf9b31161019d578063466bb3121161016c578063466bb3121461031957806352a9039c1461032c5780635b5bedbc1461034d5780635c975abb1461036057806363b51ac01461036b57600080fd5b80633c8bf9b3146102e35780633eef674e146102f65780633f4ba83a146102fe5780634018011b1461030657600080fd5b80631e5a5620116101d95780631e5a5620146102745780632c5b1066146102b557806337a2d833146102bd57806339c429ba146102d057600080fd5b806301ffc9a71461020b578063054b456a146102445780630d8e6e2c146102595780630ef2ef231461026a575b600080fd5b61022f610219366004612892565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6102576102523660046128bc565b61049a565b005b60015b60405190815260200161023b565b61025c6101045481565b61029d6102823660046128fa565b60fe602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161023b565b61025c6104ea565b6102576102cb366004612917565b6105da565b6102576102de3660046128fa565b610696565b6102576102f1366004612a73565b6106fa565b61025c610978565b610257610a71565b61025c610314366004612b56565b610a83565b61025c6103273660046128fa565b610c06565b61025c61033a3660046128fa565b6101006020526000908152604090205481565b61025c61035b366004612b8f565b610c9b565b60335460ff1661022f565b61025c6101015481565b610257610383366004612bbf565b610d5b565b6102576103963660046128fa565b610ea1565b6102576103a9366004612bed565b610f05565b610257610f85565b610257610f97565b60c9546001600160a01b031661029d565b61025c6103dd366004612b8f565b610fa7565b6103f56103f03660046128bc565b611680565b6040805192835260208301919091520161023b565b61025c611a07565b61025c6101035481565b61025c611a74565b61025c610432366004612c1d565b611b43565b61025c610445366004612917565b611e5b565b61029d6104583660046128bc565b61200a565b61047061046b3660046128fa565b612034565b60405161023b9190612ceb565b61025c6101025481565b6102576104953660046128fa565b6120cd565b6104a2612146565b60006104b18262015180612d14565b6101025460405191925082917f66d7260714208efdb3b88a68e5933bc59ae77824a690eafe81264b753ac60f0390600090a36101025550565b60008060005b60ff548110156105d457600060ff828154811061050f5761050f612d2b565b6000918252602090912001546040516303de89cd60e31b81523060048201526001600160a01b0390911690631ef44e6890602401600060405180830381865afa158015610560573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105889190810190612da0565b90506105bf816020015160ff84815481106105a5576105a5612d2b565b6000918252602090912001546001600160a01b0316610c9b565b6105c99084612e4d565b9250506001016104f0565b50919050565b6105e2612146565b6001600160a01b0382166106095760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216600090815261010060205260409020805490829055610101548190610639908490612e4d565b6106439190612e60565b61010155604080516001600160a01b0385168152602081018390529081018390527f5aac85deb0e6191e2dd0a652e1ca58eaa6b2751c95695d0f3ac5d2b6cbbc17799060600160405180910390a1505050565b61069e612146565b60fc546040516001600160a01b038084169216907f9af64c1c5f11c079a8173aa6dfb1a350ad6403b286a8901588263d1551f3ba0a90600090a360fc80546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff161580801561071a5750600054600160ff909116105b806107345750303b158015610734575060005460ff166001145b61079c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156107bf576000805461ff0019166101001790555b6107c76121a0565b6107cf6121cf565b6107d76121fe565b6107df61222d565b8351855114610804576040516001621398b960e31b0319815260040160405180910390fd5b60005b85518110156108e55785818151811061082257610822612d2b565b602002602001015160fe600087848151811061084057610840612d2b565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060ff8582815181106108a0576108a0612d2b565b60209081029190910181015182546001808201855560009485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610807565b5060fb80546001600160a01b038086166001600160a01b03199283161790925560fc8054928516929091169190911790556213c680610102556105dc61010355600a610104558015610971576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60fd546000906001600160a01b031633148015906109a1575060fc546001600160a01b03163314155b156109bf57604051634749db2d60e01b815260040160405180910390fd5b60fb546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2c9190612e73565b905080600003610a4f57604051630b13e60d60e31b815260040160405180910390fd5b60fd5460fb54610a6c916001600160a01b03918216911683612254565b905090565b610a79612146565b610a816122bc565b565b60fd546000906001600160a01b03163314801590610aac575060fc546001600160a01b03163314155b15610aca57604051634749db2d60e01b815260040160405180910390fd5b610ad261230e565b6001600160a01b03808316600090815260fe60205260409020541680610b0e57604051600162e4f8cf60e01b0319815260040160405180910390fd5b60fd5460fb54610b2c916001600160a01b0391821691163088612354565b60fb54610b43906001600160a01b03168287612392565b600061271061010354612710610b599190612e60565b610b639088612d14565b610b6d9190612ea2565b60fb5460405163933999fb60e01b81523060048201526001600160a01b03918216602482015260448101899052606481018390526084810188905291925083169063933999fb9060a4016020604051808303816000875af1158015610bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfa9190612e73565b925050505b9392505050565b6040516370a0823160e01b8152306004820152600090829082906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190612e73565b905080600003610c89575060009392505050565b610c938183610c9b565b949350505050565b600080826001600160a01b03166336cbf6bc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610cdc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d049190810190612fa1565b90506000610d50610d1e868460800151856060015161243f565b8360200151600081518110610d3557610d35612d2b565b60200260200101516001600160801b03168460a0015161243f565b925050505b92915050565b610d63612146565b6001600160a01b0382161580610d8057506001600160a01b038116155b15610d9e5760405163d92e233d60e01b815260040160405180910390fd5b60005b60ff80549082161015610e0e5760ff8160ff1681548110610dc457610dc4612d2b565b6000918252602090912001546001600160a01b0390811690841603610dfc5760405163f411c32760e01b815260040160405180910390fd5b80610e0681613099565b915050610da1565b506001600160a01b03808316600081815260fe602052604080822080549486166001600160a01b0319958616811790915560ff80546001810182559084527fe08ec2af2cfc251225e1968fd6ca21e4044f129bffa95bac3503be8bdb30a3670180549095168417909455517f2f0697414292d16e25e419060ebbb3a3318648280380829ca42af307b155393b9190a35050565b610ea9612146565b60fd546040516001600160a01b038084169216907f8800deb8c31293b539eaf5391fcc88280dc58f015c043d65dd5b72a0979a1dd190600090a360fd80546001600160a01b0319166001600160a01b0392909216919091179055565b610f0d612146565b610bb8821180610f1e5750610bb881115b15610f3c5760405163fa6ad35560e01b815260040160405180910390fd5b61010382905561010481905560408051838152602081018390527f06a2a78e44d1e2f045fe800576a60ff5923b8e46899a7c93454cd618017b5e17910160405180910390a15050565b610f8d612146565b610a8160006124f1565b610f9f612146565b610a81612543565b604080516001808252818301909252600091829190602080830190803683370190505090508381600081518110610fe057610fe0612d2b565b602002602001018181525050600080846001600160a01b031663079c3b886040518163ffffffff1660e01b8152600401600060405180830381865afa15801561102d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261105591908101906130b8565b915091506000856001600160a01b0316632b507df86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bd919061311c565b6001600160a01b031663f3abe0ec6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111e919061311c565b604051636c03a28160e01b81526001600160a01b038881166004830152600160248301529190911690636c03a28190604401600060405180830381865afa15801561116d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111959190810190613139565b905060001960005b8451811015611292578281815181106111b8576111b8612d2b565b60200260200101516001600160801b03166000031561128a57600061127a8783815181106111e8576111e8612d2b565b60200260200101518a6001600160a01b031663407924656040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112529190612e73565b86858151811061126457611264612d2b565b60200260200101516001600160801b031661243f565b905082811015611288578092505b505b60010161119d565b50806000036112b457604051630b13e60d60e31b815260040160405180910390fd5b6000806000896001600160a01b0316632b507df86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b919061311c565b6001600160a01b0316632630c12f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c919061311c565b905060005b87518110156115fe576000826001600160a01b031663e6f03d1d8d8b85815181106113ae576113ae612d2b565b60200260200101516040518363ffffffff1660e01b81526004016113e89291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa158015611405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114299190612e73565b905087828151811061143d5761143d612d2b565b60200260200101516000146114d6576114d188838151811061146157611461612d2b565b6020026020010151828e6001600160a01b031663407924656040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612e73565b612580565b6114d9565b60005b6114e39085612e4d565b93508682815181106114f7576114f7612d2b565b60200260200101516001600160801b031660000361151557506115f6565b6115a38688848151811061152b5761152b612d2b565b60200260200101516001600160801b03168e6001600160a01b031663407924656040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159e9190612e73565b61243f565b9c506115e88d828e6001600160a01b031663407924656040518163ffffffff1660e01b8152600401602060405180830381865afa15801561157a573d6000803e3d6000fd5b6115f29086612e4d565b9450505b600101611381565b50506000896001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611640573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116649190612e73565b905061167183828461243f565b9b9a5050505050505050505050565b60fd5460009081906001600160a01b031633148015906116ab575060fc546001600160a01b03163314155b156116c957604051634749db2d60e01b815260040160405180910390fd5b6116d161230e565b60fd546040805163e93c4f1560e01b815290516000926001600160a01b03169163e93c4f159160048083019260209291908290030181865afa15801561171b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173f9190612e73565b6101015490915060005b60ff805490821610156119ff576000610100600060ff8460ff168154811061177357611773612d2b565b60009182526020808320909101546001600160a01b03168352820192909252604001902054905080156119ec5760006117d560ff8460ff16815481106117bb576117bb612d2b565b6000918252602090912001546001600160a01b0316610c06565b905081856117e38684612d14565b6117ed9190612ea2565b10156119ea5780846117ff8488612d14565b6118099190612ea2565b6118139190612e60565b90508060fd60009054906101000a90046001600160a01b03166001600160a01b031663e93c4f156040518163ffffffff1660e01b8152600401602060405180830381865afa158015611869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188d9190612e73565b1015801561189b5750600081115b156119ea5760fd5460fb546118be916001600160a01b0391821691163084612354565b600060fe600060ff8660ff16815481106118da576118da612d2b565b60009182526020808320909101546001600160a01b03908116845290830193909352604090910190205460fb54908216925061191891168284612392565b60006127106101035461271061192e9190612e60565b6119389085612d14565b6119429190612ea2565b60fb5460405163933999fb60e01b81523060048201526001600160a01b0391821660248201526044810186905260648101839052608481018d905291925083169063933999fb9060a4016020604051808303816000875af11580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf9190612e73565b6119d99089612e4d565b97506119e5838a612e4d565b985050505b505b50806119f781613099565b915050611749565b505050915091565b60fb546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190612e73565b60008060005b60ff548110156105d457600060ff8281548110611a9957611a99612d2b565b6000918252602090912001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e9190612e73565b90508015611b3a57611b2d8160ff84815481106105a5576105a5612d2b565b611b379084612e4d565b92505b50600101611a7a565b60fd546000906001600160a01b03163314801590611b6c575060fc546001600160a01b03163314155b15611b8a57604051634749db2d60e01b815260040160405180910390fd5b611b9261230e565b836000611b9f8583610fa7565b604080516001808252818301909252919250600091906020808301908036833701905050905061271061010454612710611bd99190612e60565b611be39088612d14565b611bed9190612ea2565b81600081518110611c0057611c00612d2b565b6020908102919091018101919091526001600160a01b03888116600090815260fe90925260409091205416611c4857604051630681d31960e51b815260040160405180910390fd5b6001600160a01b038316632e3d46dc308484611c67426213c680612e4d565b61010254611c759042612e4d565b8b6040518763ffffffff1660e01b8152600401611c979695949392919061316e565b600060405180830381600087803b158015611cb157600080fd5b505af1158015611cc5573d6000803e3d6000fd5b50505050600080846001600160a01b031663b5f828a2866001600160a01b03166336cbf6bc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611d19573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d419190810190612fa1565b6040516303de89cd60e31b81523060048201526001600160a01b03891690631ef44e6890602401600060405180830381865afa158015611d85573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dad9190810190612da0565b6040518363ffffffff1660e01b8152600401611dca929190613229565b600060405180830381865afa158015611de7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e0f91908101906132e3565b925050915081611e3257604051631fa3519560e31b815260040160405180910390fd5b80600081518110611e4557611e45612d2b565b6020026020010151955050505050509392505050565b60fd546000906001600160a01b03163314801590611e84575060fc546001600160a01b03163314155b15611ea257604051634749db2d60e01b815260040160405180910390fd5b611eaa61230e565b6040805160028082526060820183528592600092919060208301908036833701905050905061271061010454612710611ee39190612e60565b611eed9086612d14565b611ef79190612ea2565b81600081518110611f0a57611f0a612d2b565b6020908102919091018101919091526001600160a01b03868116600090815260fe90925260409091205416611f5257604051630681d31960e51b815260040160405180910390fd5b60006001600160a01b0383166366e04b8583611f71426213c680612e4d565b6040518363ffffffff1660e01b8152600401611f8e929190613347565b6000604051808303816000875af1158015611fad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fd59190810190613369565b9050600080825111156120005781600081518110611ff557611ff5612d2b565b602002602001015190505b9695505050505050565b60ff818154811061201a57600080fd5b6000918252602090912001546001600160a01b0316905081565b6040805160c0810182526000808252602082018190528183018190526060808301526080820181905260a082015290516303de89cd60e31b81523060048201526001600160a01b03831690631ef44e6890602401600060405180830381865afa1580156120a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d559190810190612da0565b6120d5612146565b6001600160a01b03811661213a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610793565b612143816124f1565b50565b60c9546001600160a01b03163314610a815760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610793565b600054610100900460ff166121c75760405162461bcd60e51b81526004016107939061339e565b610a816125c0565b600054610100900460ff166121f65760405162461bcd60e51b81526004016107939061339e565b610a816125f3565b600054610100900460ff166122255760405162461bcd60e51b81526004016107939061339e565b610a81612621565b600054610100900460ff16610a815760405162461bcd60e51b81526004016107939061339e565b6040516001600160a01b0383166024820152604481018290526122b790849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612651565b505050565b6122c4612726565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff1615610a815760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610793565b6040516001600160a01b038085166024830152831660448201526064810182905261238c9085906323b872dd60e01b90608401612280565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa1580156123e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124069190612e73565b905061238c8463095ea7b360e01b8561241f8686612e4d565b6040516001600160a01b0390921660248301526044820152606401612280565b6000808060001985870985870292508281108382030391505080600003612478576000841161246d57600080fd5b508290049050610bff565b80841161248457600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61254b61230e565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122f13390565b600061258d84848461243f565b90506000828061259f5761259f612e8c565b8486091115610bff5760001981106125b657600080fd5b6001019392505050565b600054610100900460ff166125e75760405162461bcd60e51b81526004016107939061339e565b6033805460ff19169055565b600054610100900460ff1661261a5760405162461bcd60e51b81526004016107939061339e565b6001606555565b600054610100900460ff166126485760405162461bcd60e51b81526004016107939061339e565b610a81336124f1565b60006126a6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661276f9092919063ffffffff16565b90508051600014806126c75750808060200190518101906126c791906133e9565b6122b75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610793565b60335460ff16610a815760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610793565b6060610c93848460008585600080866001600160a01b03168587604051612796919061342a565b60006040518083038185875af1925050503d80600081146127d3576040519150601f19603f3d011682016040523d82523d6000602084013e6127d8565b606091505b50915091506127e9878383876127f4565b979650505050505050565b6060831561286357825160000361285c576001600160a01b0385163b61285c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610793565b5081610c93565b610c9383838151156128785781518083602001fd5b8060405162461bcd60e51b81526004016107939190613446565b6000602082840312156128a457600080fd5b81356001600160e01b031981168114610bff57600080fd5b6000602082840312156128ce57600080fd5b5035919050565b6001600160a01b038116811461214357600080fd5b80356128f5816128d5565b919050565b60006020828403121561290c57600080fd5b8135610bff816128d5565b6000806040838503121561292a57600080fd5b8235612935816128d5565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561297c5761297c612943565b60405290565b604051610120810167ffffffffffffffff8111828210171561297c5761297c612943565b604051601f8201601f1916810167ffffffffffffffff811182821017156129cf576129cf612943565b604052919050565b600067ffffffffffffffff8211156129f1576129f1612943565b5060051b60200190565b600082601f830112612a0c57600080fd5b81356020612a21612a1c836129d7565b6129a6565b8083825260208201915060208460051b870101935086841115612a4357600080fd5b602086015b84811015612a68578035612a5b816128d5565b8352918301918301612a48565b509695505050505050565b60008060008060808587031215612a8957600080fd5b843567ffffffffffffffff80821115612aa157600080fd5b818701915087601f830112612ab557600080fd5b81356020612ac5612a1c836129d7565b82815260059290921b8401810191818101908b841115612ae457600080fd5b948201945b83861015612b0b578535612afc816128d5565b82529482019490820190612ae9565b98505088013592505080821115612b2157600080fd5b50612b2e878288016129fb565b935050612b3d604086016128ea565b9150612b4b606086016128ea565b905092959194509250565b600080600060608486031215612b6b57600080fd5b83359250602084013591506040840135612b84816128d5565b809150509250925092565b60008060408385031215612ba257600080fd5b823591506020830135612bb4816128d5565b809150509250929050565b60008060408385031215612bd257600080fd5b8235612bdd816128d5565b91506020830135612bb4816128d5565b60008060408385031215612c0057600080fd5b50508035926020909101359150565b801515811461214357600080fd5b600080600060608486031215612c3257600080fd5b8335612c3d816128d5565b9250602084013591506040840135612b8481612c0f565b60008151808452602080850194506020840160005b83811015612c8557815187529582019590820190600101612c69565b509495945050505050565b60018060a01b03815116825260208101516020830152604081015160408301526000606082015160c06060850152612ccb60c0850182612c54565b90506080830151608085015260a083015160a08501528091505092915050565b602081526000610bff6020830184612c90565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610d5557610d55612cfe565b634e487b7160e01b600052603260045260246000fd5b600082601f830112612d5257600080fd5b81516020612d62612a1c836129d7565b8083825260208201915060208460051b870101935086841115612d8457600080fd5b602086015b84811015612a685780518352918301918301612d89565b600060208284031215612db257600080fd5b815167ffffffffffffffff80821115612dca57600080fd5b9083019060c08286031215612dde57600080fd5b612de6612959565b8251612df1816128d5565b808252506020830151602082015260408301516040820152606083015182811115612e1b57600080fd5b612e2787828601612d41565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b80820180821115610d5557610d55612cfe565b81810381811115610d5557610d55612cfe565b600060208284031215612e8557600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600082612ebf57634e487b7160e01b600052601260045260246000fd5b500490565b600082601f830112612ed557600080fd5b81516020612ee5612a1c836129d7565b8083825260208201915060208460051b870101935086841115612f0757600080fd5b602086015b84811015612a68578051612f1f816128d5565b8352918301918301612f0c565b600082601f830112612f3d57600080fd5b81516020612f4d612a1c836129d7565b8083825260208201915060208460051b870101935086841115612f6f57600080fd5b602086015b84811015612a685780516001600160801b0381168114612f945760008081fd5b8352918301918301612f74565b600060208284031215612fb357600080fd5b815167ffffffffffffffff80821115612fcb57600080fd5b908301906101208286031215612fe057600080fd5b612fe8612982565b825182811115612ff757600080fd5b61300387828601612ec4565b82525060208301518281111561301857600080fd5b61302487828601612f2c565b60208301525060408301518281111561303c57600080fd5b61304887828601612d41565b604083015250606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101009150818301518282015280935050505092915050565b600060ff821660ff81036130af576130af612cfe565b60010192915050565b600080604083850312156130cb57600080fd5b825167ffffffffffffffff808211156130e357600080fd5b6130ef86838701612ec4565b9350602085015191508082111561310557600080fd5b5061311285828601612d41565b9150509250929050565b60006020828403121561312e57600080fd5b8151610bff816128d5565b60006020828403121561314b57600080fd5b815167ffffffffffffffff81111561316257600080fd5b610c9384828501612f2c565b60018060a01b038716815285602082015260c06040820152600061319560c0830187612c54565b6060830195909552506080810192909252151560a0909101529392505050565b60008151808452602080850194506020840160005b83811015612c855781516001600160a01b0316875295820195908201906001016131ca565b60008151808452602080850194506020840160005b83811015612c855781516001600160801b031687529582019590820190600101613204565b60408152600083516101208060408501526132486101608501836131b5565b91506020860151603f198086850301606087015261326684836131ef565b93506040880151915080868503016080870152506132848382612c54565b925050606086015160a0850152608086015160c085015260a086015160e085015260c0860151610100818187015260e0880151838701528088015161014087015250505082810360208401526132da8185612c90565b95945050505050565b6000806000606084860312156132f857600080fd5b835161330381612c0f565b602085015190935061331481612c0f565b604085015190925067ffffffffffffffff81111561333157600080fd5b61333d86828701612d41565b9150509250925092565b60408152600061335a6040830185612c54565b90508260208301529392505050565b60006020828403121561337b57600080fd5b815167ffffffffffffffff81111561339257600080fd5b610c9384828501612d41565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156133fb57600080fd5b8151610bff81612c0f565b60005b83811015613421578181015183820152602001613409565b50506000910152565b6000825161343c818460208701613406565b9190910192915050565b6020815260008251806020840152613465816040850160208701613406565b601f01601f1916919091016040019291505056fea2646970667358221220d8e498d0cc3593527065c08311d7e98db8eddb425e09541e40766a7177ab9ee464736f6c63430008180033