0 txs
13 calls
constructor
No constructor.
functions
getConversionAmount
viewfunction getConversionAmount(uint256 _amountIn) view returns (uint256 amountOut)
getRate
viewfunction getRate() view returns (uint256)
getService
viewfunction getService() view returns (address)
messenger
viewfunction messenger() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pool
viewfunction pool() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
token
viewfunction token() view returns (address)
addLiquidity
payablefunction addLiquidity() payable
depositETH
payablefunction depositETH(uint32 _chainId, uint256 _fee, address _referral) payable returns (uint256 amountOut)
initialize
nonpayablefunction initialize(address _owner, address _service)
onMessageReceived
nonpayablefunction onMessageReceived(uint32, bytes)
pause
nonpayablefunction pause()
processLiquidity
nonpayablefunction processLiquidity()
renounceOwnership
nonpayablefunction renounceOwnership()
setLiquidityPool
nonpayablefunction setLiquidityPool(address _pool)
setMessenger
nonpayablefunction setMessenger(address _messenger)
setService
nonpayablefunction setService(address _newService)
setToken
nonpayablefunction setToken(address _token)
syncRate
payablefunction syncRate(uint32[] _chainId, uint256[] _chainFee) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Deposit
event Deposit(address indexed user, uint256 amountIn, uint256 amountOut, address referral)
DepositFeeSet
event DepositFeeSet(uint256 fee)
Initialized
event Initialized(uint8 version)
MaxRateStalenessUpdated
event MaxRateStalenessUpdated(uint256 newMaxStaleness)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RateUpdated
event RateUpdated(uint256 newRate, uint256 blockNumber, uint256 timeStamp)
ServiceChanged
event ServiceChanged(address indexed oldService, address indexed newService)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
ApprovalFailed
error ApprovalFailed()
DepositFailed
error DepositFailed(address sender, uint256 amount)
ImplementationIsNotContract
error ImplementationIsNotContract(address newImplementation)
InstanceNotSet
error InstanceNotSet()
InsufficientETHSent
error InsufficientETHSent()
InsufficientFee
error InsufficientFee()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidChainId
error InvalidChainId()
InvalidFee
error InvalidFee()
InvalidMessageCode
error InvalidMessageCode()
InvalidOptionType
error InvalidOptionType(uint16 optionType)
InvalidParametersLength
error InvalidParametersLength()
InvalidSyncAmount
error InvalidSyncAmount()
NativeTokenNotSupported
error NativeTokenNotSupported()
NotImplemented
error NotImplemented()
RateInvalid
error RateInvalid(uint256)
RateStale
error RateStale()
SendFailed
error SendFailed(address sender, uint256 amount)
TokenMintFailed
error TokenMintFailed(address tokenReceiver, uint256 amount)
Unauthorized
error Unauthorized()
UnauthorizedService
error UnauthorizedService(address caller)
creation bytecode
0x60a060405230608052348015601357600080fd5b506080516128bd6100596000396000818161055001528181610599015281816107e701528181610827015281816109160152818161095601526109d201526128bd6000f3fe60806040526004361061016a5760003560e01c80635c975abb116100d15780638da5cb5b1161008a578063e8078d9411610064578063e8078d94146103ef578063f2fde38b146103f7578063f87a7c2e14610417578063fc0c546a1461042a57600080fd5b80638da5cb5b1461039e578063bf8bdac1146103bc578063c51fbfb8146103dc57600080fd5b80635c975abb146102f75780636628596714610321578063679aefce146103415780636cdafa5814610356578063715018a6146103745780638456cb591461038957600080fd5b80633923411c116101235780633923411c146102645780633cb747bf146102795780633f4ba83a1461029a578063485cc955146102af5780634f1ef286146102cf57806352d1902d146102e257600080fd5b8063018770201461017657806304a9eb5a14610198578063144fa6d7146101b857806316f0115b146101d85780631cf4a556146102165780633659cfe61461024457600080fd5b3661017157005b600080fd5b34801561018257600080fd5b50610196610191366004611f23565b61044b565b005b3480156101a457600080fd5b506101966101b3366004611f52565b61049d565b3480156101c457600080fd5b506101966101d3366004611f23565b6104c3565b3480156101e457600080fd5b5061012e546101f9906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022257600080fd5b50610236610231366004611fd7565b610515565b60405190815260200161020d565b34801561025057600080fd5b5061019661025f366004611f23565b610546565b34801561027057600080fd5b50610196610617565b34801561028557600080fd5b5061012f546101f9906001600160a01b031681565b3480156102a657600080fd5b506101966106c7565b3480156102bb57600080fd5b506101966102ca366004611ff0565b61071d565b6101966102dd3660046120bf565b61090c565b3480156102ee57600080fd5b506102366109c5565b34801561030357600080fd5b50606554600160a01b900460ff16604051901515815260200161020d565b34801561032d57600080fd5b5061019661033c366004611f23565b610a78565b34801561034d57600080fd5b50610236610aca565b34801561036257600080fd5b506065546001600160a01b03166101f9565b34801561038057600080fd5b50610196610b74565b34801561039557600080fd5b50610196610b86565b3480156103aa57600080fd5b506033546001600160a01b03166101f9565b3480156103c857600080fd5b506101966103d7366004611f23565b610bdc565b6101966103ea36600461219c565b610c67565b610196610e10565b34801561040357600080fd5b50610196610412366004611f23565b610e9b565b61023661042536600461220b565b610f11565b34801561043657600080fd5b5061012d546101f9906001600160a01b031681565b6104536114b6565b6001600160a01b03811661047a5760405163e6c4247b60e01b815260040160405180910390fd5b61012e80546001600160a01b0319166001600160a01b0392909216919091179055565b6104a5611510565b60405163d623472560e01b815260040160405180910390fd5b505050565b6104cb6114b6565b6001600160a01b0381166104f25760405163e6c4247b60e01b815260040160405180910390fd5b61012d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080610520610aca565b905080610535670de0b6b3a764000085612263565b61053f919061227a565b9392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105975760405162461bcd60e51b815260040161058e9061229c565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105c9611570565b6001600160a01b0316146105ef5760405162461bcd60e51b815260040161058e906122e8565b6105f88161158c565b60408051600080825260208201909252610614918391906115ca565b50565b61061f611735565b610627611510565b61012e546001600160a01b03166106515760405163f38ceda160e01b815260040160405180910390fd5b61012e60009054906101000a90046001600160a01b03166001600160a01b0316633923411c476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106a257600080fd5b505af11580156106b6573d6000803e3d6000fd5b50505050506106c56001609755565b565b6065546001600160a01b031633148015906106ed57506033546001600160a01b03163314155b1561070d5760405163dc0b34cd60e01b815233600482015260240161058e565b610715611782565b6106c56117d2565b600054610100900460ff161580801561073d5750600054600160ff909116105b806107575750303b158015610757575060005460ff166001145b6107ba5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161058e565b6000805460ff1916600117905580156107dd576000805461ff0019166101001790555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108255760405162461bcd60e51b815260040161058e9061229c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610857611570565b6001600160a01b03161461087d5760405162461bcd60e51b815260040161058e906122e8565b6001600160a01b038316158061089a57506001600160a01b038216155b156108b85760405163e6c4247b60e01b815260040160405180910390fd5b6108c28383611827565b80156104be576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109545760405162461bcd60e51b815260040161058e9061229c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610986611570565b6001600160a01b0316146109ac5760405162461bcd60e51b815260040161058e906122e8565b6109b58261158c565b6109c1828260016115ca565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a655760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161058e565b5060008051602061284183398151915290565b610a806114b6565b6001600160a01b038116610aa75760405163e6c4247b60e01b815260040160405180910390fd5b61012f80546001600160a01b0319166001600160a01b0392909216919091179055565b61012e546000906001600160a01b0316610af75760405163f38ceda160e01b815260040160405180910390fd5b61012e60009054906101000a90046001600160a01b03166001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6f9190612334565b905090565b610b7c6114b6565b6106c56000611870565b6065546001600160a01b03163314801590610bac57506033546001600160a01b03163314155b15610bcc5760405163dc0b34cd60e01b815233600482015260240161058e565b610bd4611735565b6106c56118c2565b610be46114b6565b6001600160a01b038116610c0b5760405163e6c4247b60e01b815260040160405180910390fd5b6065546040516001600160a01b038084169216907f3ecf09be2ffc4c8ae0173a655e2794342ef3e8fbc5655e04653f28d836d2328a90600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b610c6f611735565b610c77611510565b828114610c9757604051630fe4a1df60e01b815260040160405180910390fd5b61012f546001600160a01b0316610cc15760405163f38ceda160e01b815260040160405180910390fd5b600060014342610ccf610aca565b6040805160208101959095528401929092526060830152608082015260a00160405160208183030381529060405290506000805b85811015610ddd5761012f546001600160a01b031663b16a5200868684818110610d2f57610d2f61234d565b90506020020135898985818110610d4857610d4861234d565b9050602002016020810190610d5d9190612363565b86336040518563ffffffff1660e01b8152600401610d7d939291906123d0565b6000604051808303818588803b158015610d9657600080fd5b505af1158015610daa573d6000803e3d6000fd5b5050505050848482818110610dc157610dc161234d565b9050602002013582610dd39190612407565b9150600101610d03565b5080341015610dfe5760405162976f7560e21b815260040160405180910390fd5b5050610e0a6001609755565b50505050565b610e18611735565b610e20611510565b61012e546001600160a01b0316610e4a5760405163f38ceda160e01b815260040160405180910390fd5b61012e60009054906101000a90046001600160a01b03166001600160a01b031663e8078d94346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106a257600080fd5b610ea36114b6565b6001600160a01b038116610f085760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161058e565b61061481611870565b6000610f1b611735565b610f23611510565b341580610f305750823411155b15610f4e5760405163162908e360e11b815260040160405180910390fd5b61012e546001600160a01b0316610f785760405163f38ceda160e01b815260040160405180910390fd5b61012d546001600160a01b0316610fa25760405163e6c4247b60e01b815260040160405180910390fd5b6000610fae843461241a565b90508463ffffffff166000036110f5578315610fdd576040516358d620b360e01b815260040160405180910390fd5b610fe681610515565b9150816000036110095760405163162908e360e11b815260040160405180910390fd5b60408051828152602081018490526001600160a01b03851681830152905133917f02d7e648dd130fc184d383e55bb126ac4c9c60e8f94bf05acdf557ba2d540b47919081900360600190a261012d546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f19906044016020604051808303816000875af11580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca9190612442565b6110f05760405163eae82e5760e01b81523360048201526024810183905260440161058e565b611441565b61012f546001600160a01b031661111f5760405163f38ceda160e01b815260040160405180910390fd5b61012f54604051630eee9c0160e31b815263ffffffff871660048201526000916001600160a01b031690637774e00890602401600060405180830381865afa15801561116f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261119791908101906124d1565b9050806040015163ffffffff166000036111c457604051633d23e4d160e11b815260040160405180910390fd5b6111cd82610515565b9250826000036111f05760405163162908e360e11b815260040160405180910390fd5b60408051838152602081018590526001600160a01b03861681830152905133917f02d7e648dd130fc184d383e55bb126ac4c9c60e8f94bf05acdf557ba2d540b47919081900360600190a261012d546040516340c10f1960e01b8152306004820152602481018590526001600160a01b03909116906340c10f19906044016020604051808303816000875af115801561128d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b19190612442565b6112d75760405163eae82e5760e01b81523360048201526024810184905260440161058e565b600061130f620186a0600061130860408051600360f01b602082015281516002818303018152602290910190915290565b9190611905565b905060006040518060e00160405280846040015163ffffffff16815260200161133e336001600160a01b031690565b8152602080820188905260408083018990526060830186905280518083018252600080825260808501919091528151808401835281815260a090940193909352805180820182528b815291820183905261012d54905163c7c7f5b360e01b815293945090926001600160a01b039091169063c7c7f5b3908b906113c9908790879033906004016125aa565b60c06040518083038185885af11580156113e7573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061140c91906126b0565b50805190915060000361143b576040516353a0add160e01b81523360048201526024810188905260440161058e565b50505050505b61012e60009054906101000a90046001600160a01b03166001600160a01b031663e8078d94476040518263ffffffff1660e01b81526004016000604051808303818588803b15801561149257600080fd5b505af11580156114a6573d6000803e3d6000fd5b50505050505061053f6001609755565b6033546001600160a01b031633146106c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161058e565b6002609754036115625760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161058e565b6002609755565b6001609755565b600080516020612841833981519152546001600160a01b031690565b6115946114b6565b806001600160a01b03163b6000036106145760405163dd01999560e01b81526001600160a01b038216600482015260240161058e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156115fd576104be8361196d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611657575060408051601f3d908101601f1916820190925261165491810190612334565b60015b6116ba5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161058e565b60008051602061284183398151915281146117295760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161058e565b506104be838383611a09565b606554600160a01b900460ff16156106c55760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161058e565b606554600160a01b900460ff166106c55760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161058e565b6117da611782565b6065805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff1661184e5760405162461bcd60e51b815260040161058e90612745565b6118588282611a2e565b611860611a67565b611868611a96565b6109c1611ac5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6118ca611735565b6065805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861180a3390565b6060836003611915826000611aec565b61ffff161461194957611929816000611aec565b604051633a51740d60e01b815261ffff909116600482015260240161058e565b60006119558585611b4f565b905061196386600183611bd0565b9695505050505050565b6001600160a01b0381163b6119da5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161058e565b60008051602061284183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611a1283611c3b565b600082511180611a1f5750805b156104be57610e0a8383611c7b565b600054610100900460ff16611a555760405162461bcd60e51b815260040161058e90612745565b611a5d611d6f565b6109c18282611d9e565b600054610100900460ff16611a8e5760405162461bcd60e51b815260040161058e90612745565b6106c5611dd7565b600054610100900460ff16611abd5760405162461bcd60e51b815260040161058e90612745565b6106c5611e0d565b600054610100900460ff166106c55760405162461bcd60e51b815260040161058e90612745565b6000611af9826002612407565b83511015611b405760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b604482015260640161058e565b50818101600201515b92915050565b60606fffffffffffffffffffffffffffffffff821615611ba057604080516001600160801b0319608086811b8216602084015285901b1660308201520160405160208183030381529060405261053f565b6040516001600160801b0319608085901b1660208201526030016040516020818303038152906040529392505050565b6060836003611be0826000611aec565b61ffff1614611bf457611929816000611aec565b846001611c018551611e34565b611c0c906001612790565b8686604051602001611c229594939291906127aa565b6040516020818303038152906040529150509392505050565b611c448161196d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b611ce35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161058e565b600080846001600160a01b031684604051611cfe9190612811565b600060405180830381855af49150503d8060008114611d39576040519150601f19603f3d011682016040523d82523d6000602084013e611d3e565b606091505b5091509150611d66828260405180606001604052806027815260200161286160279139611e9b565b95945050505050565b600054610100900460ff16611d965760405162461bcd60e51b815260040161058e90612745565b6106c5611eb4565b600054610100900460ff16611dc55760405162461bcd60e51b815260040161058e90612745565b611dce81610bdc565b6109c182610e9b565b600054610100900460ff16611dfe5760405162461bcd60e51b815260040161058e90612745565b6065805460ff60a01b19169055565b600054610100900460ff166115695760405162461bcd60e51b815260040161058e90612745565b600061ffff821115611e975760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201526536206269747360d01b606482015260840161058e565b5090565b60608315611eaa57508161053f565b61053f8383611ee4565b600054610100900460ff16611edb5760405162461bcd60e51b815260040161058e90612745565b6106c533611870565b815115611ef45781518083602001fd5b8060405162461bcd60e51b815260040161058e919061282d565b6001600160a01b038116811461061457600080fd5b600060208284031215611f3557600080fd5b813561053f81611f0e565b63ffffffff8116811461061457600080fd5b600080600060408486031215611f6757600080fd5b8335611f7281611f40565b925060208401356001600160401b03811115611f8d57600080fd5b8401601f81018613611f9e57600080fd5b80356001600160401b03811115611fb457600080fd5b866020828401011115611fc657600080fd5b939660209190910195509293505050565b600060208284031215611fe957600080fd5b5035919050565b6000806040838503121561200357600080fd5b823561200e81611f0e565b9150602083013561201e81611f0e565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b038111828210171561206257612062612029565b60405290565b604051601f8201601f191681016001600160401b038111828210171561209057612090612029565b604052919050565b60006001600160401b038211156120b1576120b1612029565b50601f01601f191660200190565b600080604083850312156120d257600080fd5b82356120dd81611f0e565b915060208301356001600160401b038111156120f857600080fd5b8301601f8101851361210957600080fd5b803561211c61211782612098565b612068565b81815286602083850101111561213157600080fd5b816020840160208301376000602083830101528093505050509250929050565b60008083601f84011261216357600080fd5b5081356001600160401b0381111561217a57600080fd5b6020830191508360208260051b850101111561219557600080fd5b9250929050565b600080600080604085870312156121b257600080fd5b84356001600160401b038111156121c857600080fd5b6121d487828801612151565b90955093505060208501356001600160401b038111156121f357600080fd5b6121ff87828801612151565b95989497509550505050565b60008060006060848603121561222057600080fd5b833561222b81611f40565b925060208401359150604084013561224281611f0e565b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611b4957611b4961224d565b60008261229757634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561234657600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561237557600080fd5b813561053f81611f40565b60005b8381101561239b578181015183820152602001612383565b50506000910152565b600081518084526123bc816020860160208601612380565b601f01601f19169290920160200192915050565b63ffffffff841681526060602082015260006123ef60608301856123a4565b905060018060a01b0383166040830152949350505050565b80820180821115611b4957611b4961224d565b81810381811115611b4957611b4961224d565b8051801515811461243d57600080fd5b919050565b60006020828403121561245457600080fd5b61053f8261242d565b805160ff8116811461243d57600080fd5b805161243d81611f40565b805161243d81611f0e565b600082601f83011261249557600080fd5b81516124a361211782612098565b8181528460208386010111156124b857600080fd5b6124c9826020830160208701612380565b949350505050565b6000602082840312156124e357600080fd5b81516001600160401b038111156124f957600080fd5b8201610100818503121561250c57600080fd5b61251461203f565b61251d8261245d565b815261252b6020830161246e565b602082015261253c6040830161246e565b604082015261254d60608301612479565b60608201526080828101519082015260a0808301519082015260c08201516001600160401b0381111561257f57600080fd5b61258b86828501612484565b60c08301525061259d60e0830161242d565b60e0820152949350505050565b6080815263ffffffff8451166080820152602084015160a0820152604084015160c0820152606084015160e08201526000608085015160e06101008401526125f66101608401826123a4565b905060a0860151607f198483030161012085015261261482826123a4565b91505060c0860151607f198483030161014085015261263382826123a4565b9250505061264e602083018580518252602090810151910152565b6001600160a01b03831660608301526124c9565b60006040828403121561267457600080fd5b604080519081016001600160401b038111828210171561269657612696612029565b604052825181526020928301519281019290925250919050565b60008082840360c08112156126c457600080fd5b60808112156126d257600080fd5b50604051606081016001600160401b03811182821017156126f5576126f5612029565b6040528351815260208401516001600160401b038116811461271657600080fd5b60208201526127288560408601612662565b6040820152915061273c8460808501612662565b90509250929050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b61ffff8181168382160190811115611b4957611b4961224d565b600086516127bc818460208b01612380565b6001600160f81b031960f888811b82169285019283526001600160f01b031960f089901b16600184015286901b1660038201528351612802816004840160208801612380565b01600401979650505050505050565b60008251612823818460208701612380565b9190910192915050565b60208152600061053f60208301846123a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122073fbe3a730bf1b3458a2d50c71dec1a37160c7a2a88c160831975298c11d602564736f6c634300081a0033