639 txs
659 calls
constructor
No constructor.
functions
deposit
viewfunction deposit(bytes32, address) view returns (uint256)
gasReceiverAddress
viewfunction gasReceiverAddress() view returns (address)
gatewayAddress
viewfunction gatewayAddress() view returns (address)
internalCaller
viewfunction internalCaller(address) view returns (bool)
messageTransmitterAddress
viewfunction messageTransmitterAddress() view returns (address)
networkIdAndRouterAddress
viewfunction networkIdAndRouterAddress() view returns (bytes32)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
swapFeeAddress
viewfunction swapFeeAddress() view returns (address)
swapSequence
viewfunction swapSequence() view returns (uint64)
tokenMessengerAddress
viewfunction tokenMessengerAddress() view returns (address)
weth
viewfunction weth() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
execute
nonpayablefunction execute(bytes32 commandId, string sourceChain, string sourceAddress, bytes payload)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
swapInWithMagpieSignature
payablefunction swapInWithMagpieSignature(bytes) payable returns (uint256 amountOut)
swapInWithUserSignature
payablefunction swapInWithUserSignature(bytes) payable returns (uint256 amountOut)
swapOut
nonpayablefunction swapOut(bytes) returns (uint256 amountOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateGasReceiverAddress
nonpayablefunction updateGasReceiverAddress(address value)
updateGatewayAddress
nonpayablefunction updateGatewayAddress(address value)
updateInternalCaller
nonpayablefunction updateInternalCaller(address caller, bool value)
updateMessageTransmitterAddress
nonpayablefunction updateMessageTransmitterAddress(address value)
updateNetworkIdAndRouterAddress
nonpayablefunction updateNetworkIdAndRouterAddress(bytes32 value)
updateSwapFeeAddress
nonpayablefunction updateSwapFeeAddress(address value)
updateTokenMessengerAddress
nonpayablefunction updateTokenMessengerAddress(address value)
updateWeth
nonpayablefunction updateWeth(address value)
events
Deposit
event Deposit(bytes32 depositDataHash, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SwapIn
event SwapIn(address indexed fromAddress, address indexed toAddress, address fromAssetAddress, address toAssetAddress, uint256 amountIn, uint256 amountOut, bytes encodedDepositData)
SwapOut
event SwapOut(address indexed fromAddress, address indexed toAddress, address fromAssetAddress, address toAssetAddress, uint256 amountIn, uint256 amountOut, bytes32 depositDataHash)
Unpaused
event Unpaused(address account)
UpdateInternalCaller
event UpdateInternalCaller(address indexed sender, address caller, bool value)
errors
ApprovalFailed
error ApprovalFailed()
BurnFailed
error BurnFailed()
DepositIsNotFound
error DepositIsNotFound()
FailedUnwrap
error FailedUnwrap()
FailedWrap
error FailedWrap()
InvalidAddress
error InvalidAddress()
InvalidAmountIn
error InvalidAmountIn()
InvalidCaller
error InvalidCaller()
InvalidDepositAmount
error InvalidDepositAmount()
InvalidSignature
error InvalidSignature()
InvalidToAddress
error InvalidToAddress()
MintFailed
error MintFailed()
NotApprovedByGateway
error NotApprovedByGateway()
ReentrancyError
error ReentrancyError()
TransferFailed
error TransferFailed()
TransferFromFailed
error TransferFromFailed()
creation bytecode
0x60806040523480156200001157600080fd5b506200001d3362000030565b6001805460ff60a01b191690556200009e565b600180546001600160a01b03191690556200004b816200004e565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612ba780620000ae6000396000f3fe6080604052600436106101dc5760003560e01c806379ba509711610102578063b8f38c7411610095578063dc0b3d2111610064578063dc0b3d211461058e578063e30c3978146105ae578063e5160080146105cc578063f2fde38b146105df57600080fd5b8063b8f38c7414610500578063ccc7759914610520578063ce4a46a414610540578063cec4c8551461055657600080fd5b80638da5cb5b116100d15780638da5cb5b146104755780638f5c27e2146104935780639d41b9fd146104b3578063ac9650d8146104d357600080fd5b806379ba50971461040b57806383356b38146104205780638456cb59146104405780638b851b951461045557600080fd5b8063491606581161017a5780635c975abb116101495780635c975abb146103975780636a0c4ba6146103b6578063715018a6146103d657806374f040f5146103eb57600080fd5b806349160658146102f7578063519a98e01461031757806357f46a1a146103375780635c344ec91461037757600080fd5b80632fdf172b116101b65780632fdf172b1461026757806336876abb146102885780633f4ba83a146102c25780633fc8cef3146102d757600080fd5b80630c5e0546146101e85780631b5ad801146102255780631ec4aec81461024757600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50600b54610208906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561023157600080fd5b506102456102403660046125b2565b6105ff565b005b34801561025357600080fd5b50600754610208906001600160a01b031681565b61027a610275366004612616565b610629565b60405190815260200161021c565b34801561029457600080fd5b506005546102a99067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161021c565b3480156102ce57600080fd5b506102456106a4565b3480156102e357600080fd5b50600354610208906001600160a01b031681565b34801561030357600080fd5b50610245610312366004612658565b6106be565b34801561032357600080fd5b5061024561033236600461270a565b6107ca565b34801561034357600080fd5b506103676103523660046125b2565b60026020526000908152604090205460ff1681565b604051901515815260200161021c565b34801561038357600080fd5b50610245610392366004612741565b610837565b3480156103a357600080fd5b50600154600160a01b900460ff16610367565b3480156103c257600080fd5b5061027a6103d1366004612616565b610844565b3480156103e257600080fd5b50610245610a31565b3480156103f757600080fd5b506102456104063660046125b2565b610a43565b34801561041757600080fd5b50610245610a6d565b34801561042c57600080fd5b5061024561043b3660046125b2565b610aec565b34801561044c57600080fd5b50610245610b16565b34801561046157600080fd5b50600a54610208906001600160a01b031681565b34801561048157600080fd5b506000546001600160a01b0316610208565b34801561049f57600080fd5b50600854610208906001600160a01b031681565b3480156104bf57600080fd5b506102456104ce3660046125b2565b610b2e565b3480156104df57600080fd5b506104f36104ee36600461275a565b610b58565b60405161021c919061281f565b34801561050c57600080fd5b5061024561051b3660046125b2565b610c4b565b34801561052c57600080fd5b5061024561053b3660046125b2565b610c75565b34801561054c57600080fd5b5061027a60045481565b34801561056257600080fd5b5061027a610571366004612883565b600660209081526000928352604080842090915290825290205481565b34801561059a57600080fd5b50600954610208906001600160a01b031681565b3480156105ba57600080fd5b506001546001600160a01b0316610208565b61027a6105da366004612616565b610c9f565b3480156105eb57600080fd5b506102456105fa3660046125b2565b610cc0565b610607610d31565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526002602052604081205460ff16610659576040516348f5c3ed60e01b815260040160405180910390fd5b6000610663610d8b565b60208101519091506001600160a01b03166106915760405163e6c4247b60e01b815260040160405180910390fd5b61069c816000610efc565b949350505050565b6106ac610d31565b6106b4611047565b6106bc611097565b565b600a60009054906101000a90046001600160a01b03166001600160a01b0316635f6970c3888888888888886040516106f79291906128af565b6040519081900381206001600160e01b031960e089901b1682526107229695949392916004016128e8565b6020604051808303816000875af1158015610741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107659190612929565b61078257604051631403112d60e21b815260040160405180910390fd5b6107c182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110ec92505050565b50505050505050565b6107d2610d31565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015233917fa71618a9ed4e81ce27edc2700d38db549c32abb5e4f32ec57f791151030fbc45910160405180910390a25050565b61083f610d31565b600455565b3360009081526002602052604081205460ff16610874576040516348f5c3ed60e01b815260040160405180910390fd5b6004546001600160f01b0381169060f01c600061088f610d8b565b90506060806000602a6024356042013560f01c01803560f01c6040519450808552806002830160208701378060028301013560f01c8160208701019450808552808260048501016020870137840160208101604081905260d8870151600954630afd9fa560e31b90925294506001600160a01b031692506357ecfd28915061091d9086908690602401612946565b6020604051808303816000875af115801561093c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109609190612929565b61097c5760405162ec6f7b60e31b815260040160405180910390fd5b6000610989858730611173565b6000818152600660209081526040808320898301516001600160a01b031684529091529020549091508015806109bf5750808314155b156109dd57604051631196c86360e21b815260040160405180910390fd5b6000828152600660209081526040808320898301516001600160a01b0390811685529252822091909155600354600754610a22928992859287928e92811691166111d7565b9b9a5050505050505050505050565b610a39610d31565b6106bc60006114d6565b610a4b610d31565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b60015433906001600160a01b03168114610ae05760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b610ae9816114d6565b50565b610af4610d31565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b610b1e610d31565b610b266114ef565b6106bc61153c565b610b36610d31565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6060610b62610d31565b8167ffffffffffffffff811115610b7b57610b7b612974565b604051908082528060200260200182016040528015610bae57816020015b6060815260200190600190039081610b995790505b50905060005b82811015610c4357610c1e30858584818110610bd257610bd261298a565b9050602002810190610be491906129a0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061157f92505050565b828281518110610c3057610c3061298a565b6020908102919091010152600101610bb4565b505b92915050565b610c53610d31565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b610c7d610d31565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ca96114ef565b6000610cb3610d8b565b905061069c816001610efc565b610cc8610d31565b600180546001600160a01b0383166001600160a01b03199091168117909155610cf96000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000546001600160a01b031633146106bc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ad7565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915260853560f01c3560843560f81c1c42811015610e0b5763931997cf60e01b60005260046000fd5b60483560601c8252605c3560601c602083015260703560601c60408301528060608301525060883560f01c3560873560f81c1c6080820152608b3560f01c35608a3560f81c1c60a0820152608e3560f01c35608d3560f81c1c60c0820152600060d13560f81c118060e08301528060018114610ebd5760d23560f81c8061010085015260018103610eb75760d33560601c61012085015260e83560f01c3560e73560f81c1c6101408501525b50505090565b6101153560f81c8061010085015260018103610eb7576101163560601c61012085015261012b3560f01c3561012a3560f81c1c61014085015250505090565b6005805460009167ffffffffffffffff9091169082610f1a836129fd565b82546101009290920a67ffffffffffffffff8181021990931691831602179091556005546004549116915060f081901c906001600160f01b03166000610f6087876115ab565b90508660e0015115610f7657610f768782611746565b610f9f87828960a00151600014610f98576007546001600160a01b03166117bb565b60006117bb565b6040805160ec8082526101208201909252600091602082018180368337019050509050610fcd8185876118a6565b80516020820120600354610ff1908a908490869088906001600160a01b03166118d4565b965061100c610fff8a611b8b565b848b604001518a85611bd5565b60055467ffffffffffffffff87811691161461103b576040516329f745a760e01b815260040160405180910390fd5b50505050505092915050565b600154600160a01b900460ff166106bc5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610ad7565b61109f611047565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60208181015160408084015160608501516000848152600686528381206001600160a01b038316825290955291842080549394919384929061112f908490612a24565b909155505060408051848152602081018490527f98e783c3864bbf744a057ef605a2a61701c3b62b5ed68b3745b99094497daf1f910160405180910390a150505050565b600060405160ec81016040528451815260208501516020820152604085015160408201526080850151606082015260a085015160808201528360f01b60a08201528260a2820152602a6024356042013560f01c60c283013760ec9020949350505050565b60008660a001518760c001516111ed9190612a24565b861461120c5760405163fe9ba5cd60e01b815260040160405180910390fd5b60a08701511561123c5761123c828860a0015189602001516001600160a01b0316611c949092919063ffffffff16565b60c08701511561143e57826001600160a01b031687602001516001600160a01b0316148015611276575060408701516001600160a01b0316155b156112ba5760c0870151611294906001600160a01b03851690611d6e565b865160c088015160208901516112b5926001600160a01b0390911691611c94565b61143e565b60208701516001600160a01b03161580156112ea5750826001600160a01b031687604001516001600160a01b0316145b156113345760c0870151611308906001600160a01b03851690611dba565b865160c08801516020890151611329926001600160a01b0390911691611c94565b5060c086015161143e565b86604001516001600160a01b031687602001516001600160a01b03160361137657865160c08801516020890151611329926001600160a01b0390911691611c94565b60208701516000906001600160a01b0316611396575060c08701516113bc565b6113bc858960c001518a602001516001600160a01b0316611dff9092919063ffffffff16565b60006113c88683611ea1565b90935090508061143b5760208901516001600160a01b0316156113ff5760208901516113ff906001600160a01b0316876000611dff565b885160c08a015160208b0151611420926001600160a01b0390911691611c94565b60208901516001600160a01b031660408a015260c089015192505b50505b86600001516001600160a01b0316336001600160a01b03167f13d672f2c19bbdf5ce8c9c4894d9586248592fd27d555c2c03ac5e49d219f45d89602001518a604001518b60a001518c60c001516114959190612a24565b604080516001600160a01b03948516815293909216602084015290820152606081018590526080810189905260a00160405180910390a39695505050505050565b600180546001600160a01b0319169055610ae981611f06565b600154600160a01b900460ff16156106bc5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610ad7565b6115446114ef565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110cf3390565b60606115a48383604051806060016040528060278152602001612b4b60279139611f56565b9392505050565b610100820151600090819081816115c4576101406115c8565b6101805b61ffff16905060006115dc82610140612a24565b90506040519350808401604052826001811461161a577f6d270d8b96a17d623996c9fcafb1b091927d68dcaab797c0f5dd271e918c2eeb855261163e565b7f112d7d894fe0b136fbc52b80f6940fb79db28e03d78dd281e952df731f3e5ff185525b506042602435013560f090811c80358685019081526020808301359082015260408083013581830152606080840135908301526080808401359083015260a080840135851c9083015260a283013560c083015260c283013560e090811c9201918252519192909160c684013590911c908160c885018237818120602093909301928352810183820160c881013560f01c90819060ca0183378181016040529020602092909201919091525061173b90507f31da2c74f8c27ef76897147f0ad12d949a674ee71cd159480d92be28583408717fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc68987858b6002611fce565b979650505050505050565b60008060008060d13560f81c935060d235925060f23591506101133560f01c356101123560f81c1c90506117b385308861014001518960a001518a60c0015161178f9190612a24565b6117999190612a24565b60208a01516001600160a01b031692919085898989612178565b505050505050565b60a08301511561182a5760208301516001600160a01b0316611802576117fd818460a0015185602001516001600160a01b0316611c949092919063ffffffff16565b61182a565b61182a82828560a0015186602001516001600160a01b03166121cd909392919063ffffffff16565b610140830151156118735760208301516001600160a01b03166118785761187383610120015184610140015185602001516001600160a01b0316611c949092919063ffffffff16565b505050565b6118738284610120015185610140015186602001516001600160a01b03166121cd909392919063ffffffff16565b60c26024356042013560f01c602085013760f09190911b60e28301523060e483015260c01b61010490910152565b84516000906001600160a01b0316301461190157604051638aa3a72f60e01b815260040160405180910390fd5b60208601516001600160a01b0316611957578561014001518660a001518760c0015161192d9190612a24565b6119379190612a24565b341015611957576040516365719fe160e11b815260040160405180910390fd5b60208601516001600160a01b03161580156119875750816001600160a01b031686604001516001600160a01b0316145b156119b05760c08601516119a5906001600160a01b03841690611dba565b5060c0850151611b00565b816001600160a01b031686602001516001600160a01b03161480156119e0575060408601516001600160a01b0316155b15611a2657611a0d84308860c0015189602001516001600160a01b03166121cd909392919063ffffffff16565b60c08601516119a5906001600160a01b03841690611d6e565b85604001516001600160a01b031686602001516001600160a01b031603611a6f576119a584308860c0015189602001516001600160a01b03166121cd909392919063ffffffff16565b60208601516000906001600160a01b0316611a8f575060c0860151611add565b611ab785308960c001518a602001516001600160a01b03166121cd909392919063ffffffff16565b611add848860c0015189602001516001600160a01b0316611dff9092919063ffffffff16565b6000611ae98583611ea1565b909350905080611afd573d6000803e3d6000fd5b50505b85600001516001600160a01b0316846001600160a01b03167f37600fc06910ae05ad532c02a9de91251b21674999c33c6e6da90271029bfa23886020015189604001518a61014001518b60a001518c60c00151611b5d9190612a24565b611b679190612a24565b868b604051611b7a959493929190612a37565b60405180910390a395945050505050565b60208101516000906001600160a01b031615611ba75734610c45565b8161014001518260a001518360c00151611bc19190612a24565b611bcb9190612a24565b610c459034612a71565b600854611bef906001600160a01b03858116911684611dff565b60006024356042013560f01c604051915060c48201604052637c2b6edb60e11b825283600483015260c281013560e01c602483015260a2810135604483015284606483015260a2810135608483015250611c6b60008260a48460a4611c549190612a24565b6008546001600160a01b031693929190602061222c565b611c8857604051631bc5aabf60e21b815260040160405180910390fd5b6117b38683858861228e565b6001600160a01b038316611d1c576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611cef576040519150601f19603f3d011682016040523d82523d6000602084013e611cf4565b606091505b5050905080611d16576040516312171d8360e31b815260040160405180910390fd5b50505050565b600060405190506044810160405263a9059cbb60e01b8152826004820152816024820152611d5184600083604460008061222c565b611d16576040516312171d8360e31b815260040160405180910390fd5b6000604051905060248101604052632e1a7d4d60e01b8152816004820152611d9d83600083602460008061222c565b6118735760405163c617296b60e01b815260040160405180910390fd5b6000604051905060048101604052630d0e30db60e41b8152611de2838383600460008061222c565b6118735760405163bdc844ed60e01b815260040160405180910390fd5b600060405190506044810160405263095ea7b360e01b8152826004820152816024820152611e3484600083604460008061222c565b611d165760006024820152611e5084600083604460008061222c565b611e6d576040516340b27c2160e11b815260040160405180910390fd5b816024820152611e8484600083604460008061222c565b611d16576040516340b27c2160e11b815260040160405180910390fd5b6000806040516024356042013560f01c60448103818301604052630563da2560e21b835260206004840152806024840152604051602081016040528160448086013760208184868a8c5af1945060018503611efb57805195505b505050509250929050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060600080856001600160a01b031685604051611f739190612a84565b600060405180830381855af49150503d8060008114611fae576040519150601f19603f3d011682016040523d82523d6000602084013e611fb3565b606091505b5091509150611fc4868383876123f3565b9695505050505050565b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091528183018a9052606082018990524660808301523060a0808401919091528351808403909101815260c090920190925280519101206000906000806000803060208b01523360408b01528a5160608b015260208b015160808b015260408b015160a08b015260608b015160c08b015260808b015160e08b015260a08b01516101008b015260c08b01516101208b015260016101008c0151036120b0576101208b01516101408b01526101408b01516101608b01525b888a206040519a5060428b0160405261190160f01b8b528560028c01528060228c01525060428a209350609035925060b035915060d03560f81c905087156121315760006121008585858561246c565b9050339650806000528760205260016040600020541461212b57638baa579f60e01b60005260046000fd5b50612168565b61213d8484848461246c565b9550306001600160a01b0387160361216857604051638baa579f60e01b815260040160405180910390fd5b5050505050979650505050505050565b60405160e4810160405263d505accf60e01b81528760048201528660248201528560448201528460648201528360848201528260a48201528160c482015260008060e48360008d5af150505050505050505050565b60006040519050606481016040526323b872dd60e01b815283600482015282602482015281604482015261220885600083606460008061222c565b61222557604051631e4e7d0960e21b815260040160405180910390fd5b5050505050565b600061226f565b60003d156001811461224a57801561225b57612269565b823b1561225657600191505b612269565b60206000803e600080511191505b50919050565b81838587898b5af1612285573d6000803e3d6000fd5b61173b87612233565b604080516060808252608082019092526000916020820181803683370190505090506060806024356042013560f01c60c681013560f01c60405193508084528060c8830160208601378060c88301013560f01c8160208601019350808452808260ca85010160208601378301602090810160409081528682018a9052868101899052920135606086015250600b549051630c93e3bb60e01b81526001600160a01b0390911690630c93e3bb908990612352903090869088908a908c90600401612aa0565b6000604051808303818588803b15801561236b57600080fd5b505af115801561237f573d6000803e3d6000fd5b5050600a54604051631c92115f60e01b81526001600160a01b039091169350631c92115f92506123b89150849086908890600401612afe565b600060405180830381600087803b1580156123d257600080fd5b505af11580156123e6573d6000803e3d6000fd5b5050505050505050505050565b6060831561246257825160000361245b576001600160a01b0385163b61245b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad7565b508161069c565b61069c838361256c565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156124af57604051638baa579f60e01b815260040160405180910390fd5b8160ff16601b141580156124c757508160ff16601c14155b156124e557604051638baa579f60e01b815260040160405180910390fd5b60408051600081526020810180835287905260ff841691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa158015612538573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661069c57604051638baa579f60e01b815260040160405180910390fd5b81511561257c5781518083602001fd5b8060405162461bcd60e51b8152600401610ad79190612b37565b80356001600160a01b03811681146125ad57600080fd5b919050565b6000602082840312156125c457600080fd5b6115a482612596565b60008083601f8401126125df57600080fd5b50813567ffffffffffffffff8111156125f757600080fd5b60208301915083602082850101111561260f57600080fd5b9250929050565b6000806020838503121561262957600080fd5b823567ffffffffffffffff81111561264057600080fd5b61264c858286016125cd565b90969095509350505050565b60008060008060008060006080888a03121561267357600080fd5b87359650602088013567ffffffffffffffff8082111561269257600080fd5b61269e8b838c016125cd565b909850965060408a01359150808211156126b757600080fd5b6126c38b838c016125cd565b909650945060608a01359150808211156126dc57600080fd5b506126e98a828b016125cd565b989b979a50959850939692959293505050565b8015158114610ae957600080fd5b6000806040838503121561271d57600080fd5b61272683612596565b91506020830135612736816126fc565b809150509250929050565b60006020828403121561275357600080fd5b5035919050565b6000806020838503121561276d57600080fd5b823567ffffffffffffffff8082111561278557600080fd5b818501915085601f83011261279957600080fd5b8135818111156127a857600080fd5b8660208260051b85010111156127bd57600080fd5b60209290920196919550909350505050565b60005b838110156127ea5781810151838201526020016127d2565b50506000910152565b6000815180845261280b8160208601602086016127cf565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561287657603f198886030184526128648583516127f3565b94509285019290850190600101612848565b5092979650505050505050565b6000806040838503121561289657600080fd5b823591506128a660208401612596565b90509250929050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8681526080602082015260006129026080830187896128bf565b82810360408401526129158186886128bf565b915050826060830152979650505050505050565b60006020828403121561293b57600080fd5b81516115a4816126fc565b60408152600061295960408301856127f3565b828103602084015261296b81856127f3565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126129b757600080fd5b83018035915067ffffffffffffffff8211156129d257600080fd5b60200191503681900382131561260f57600080fd5b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff808316818103612a1a57612a1a6129e7565b6001019392505050565b80820180821115610c4557610c456129e7565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061173b908301846127f3565b81810381811115610c4557610c456129e7565b60008251612a968184602087016127cf565b9190910192915050565b600060018060a01b03808816835260a06020840152612ac260a08401886127f3565b8381036040850152612ad481886127f3565b90508381036060850152612ae881876127f3565b9250508084166080840152509695505050505050565b606081526000612b1160608301866127f3565b8281036020840152612b2381866127f3565b90508281036040840152611fc481856127f3565b6020815260006115a460208301846127f356fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220582f8099bd84358a095763e8c54945d05827162ff7a6b596a1ac2f0e2ea7d5c564736f6c63430008180033