0 txs
1 call
constructor
No constructor.
functions
activateInstantActionMode
nonpayablefunction activateInstantActionMode()
bindToPartyB
nonpayablefunction bindToPartyB(address partyB)
cancelUnbindingFromPartyB
nonpayablefunction cancelUnbindingFromPartyB()
cancelWithdraw
nonpayablefunction cancelWithdraw(uint256 id)
completeUnbindingFromPartyB
nonpayablefunction completeUnbindingFromPartyB()
completeWithdraw
nonpayablefunction completeWithdraw(uint256 id)
deactivateInstantActionMode
nonpayablefunction deactivateInstantActionMode()
deposit
nonpayablefunction deposit(address collateral, uint256 amount)
depositFor
nonpayablefunction depositFor(address collateral, address user, uint256 amount)
initiateUnbindingFromPartyB
nonpayablefunction initiateUnbindingFromPartyB()
initiateWithdraw
nonpayablefunction initiateWithdraw(address collateral, uint256 amount, address to)
internalTransfer
nonpayablefunction internalTransfer(address collateral, address user, uint256 amount)
proposeToDeactivateInstantActionMode
nonpayablefunction proposeToDeactivateInstantActionMode()
securedDepositFor
nonpayablefunction securedDepositFor(address collateral, address user, uint256 amount)
syncBalances
nonpayablefunction syncBalances(address collateral, address partyA, address[] partyBs)
events
ActivateInstantActionMode
event ActivateInstantActionMode(address user, uint256 timestamp)
BindToPartyB
event BindToPartyB(address indexed partyA, address indexed partyB)
CancelUnbindingFromPartyB
event CancelUnbindingFromPartyB(address indexed partyA, address indexed partyB)
CancelWithdraw
event CancelWithdraw(uint256 id, address user, uint256 newBalance)
CompleteUnbindingFromPartyB
event CompleteUnbindingFromPartyB(address indexed partyA, address indexed partyB)
CompleteWithdraw
event CompleteWithdraw(uint256 id)
DeactivateInstantActionMode
event DeactivateInstantActionMode(address user, uint256 timestamp)
Deposit
event Deposit(address sender, address user, address collateral, uint256 amount, uint256 newBalance)
InitiateUnbindingFromPartyB
event InitiateUnbindingFromPartyB(address indexed partyA, address indexed partyB, uint256 initiationTime)
InitiateWithdraw
event InitiateWithdraw(uint256 id, address user, address to, address collateral, uint256 amount, uint256 newBalance)
InternalTransfer
event InternalTransfer(address sender, address user, address collateral, uint256 amount, uint256 newBalance)
ProposeToDeactivateInstantActionMode
event ProposeToDeactivateInstantActionMode(address user, uint256 timestamp)
SyncBalances
event SyncBalances(address collateral, address partyA, address[] partyBs)
errors
AlreadyBoundToPartyB
error AlreadyBoundToPartyB(address user, address partyB)
BalanceSetupRequired
error BalanceSetupRequired()
BridgePaused
error BridgePaused()
BridgeWithdrawPaused
error BridgeWithdrawPaused()
CollateralNotWhitelisted
error CollateralNotWhitelisted(address collateral)
CooldownNotOver
error CooldownNotOver(string cooldown, uint256 currentTime, uint256 requiredTime)
DepositingPaused
error DepositingPaused()
GlobalPaused
error GlobalPaused()
InstantActionModeActive
error InstantActionModeActive(address sender)
InstantActionModeActive
error InstantActionModeActive(address user)
InstantActionModeAlreadyActivated
error InstantActionModeAlreadyActivated(address user)
InstantActionModeDeactivationNotProposed
error InstantActionModeDeactivationNotProposed(address user)
InstantActionModeNotActivated
error InstantActionModeNotActivated(address user)
InsufficientBalance
error InsufficientBalance(address token, uint256 requested, uint256 available)
InsufficientBalance
error InsufficientBalance(address user, address token, uint256 requested, uint256 available)
InternalTransferPaused
error InternalTransferPaused()
InvalidState
error InvalidState(string property, uint8 currentStatus, uint8[] requiredStatus)
InvalidSyncTimestamp
error InvalidSyncTimestamp(uint256 currentTime, uint256 lastTransitionTimestamp)
InvalidWithdrawId
error InvalidWithdrawId(uint256 id, uint256 lastWithdrawId)
IsPartyB
error IsPartyB(address sender)
LiquidatingPaused
error LiquidatingPaused()
MissingRole
error MissingRole(address sender, bytes32 role)
NonZeroBalancePartyB
error NonZeroBalancePartyB(address partyB, uint256 balance)
NotBoundToAnyPartyB
error NotBoundToAnyPartyB(address user)
NotPartyAOfTrade
error NotPartyAOfTrade(address sender, uint256 tradeId, address partyA)
NotPartyB
error NotPartyB(address sender)
NotPartyBOfTrade
error NotPartyBOfTrade(address sender, uint256 tradeId, address partyB)
PartyAActionsPaused
error PartyAActionsPaused()
PartyBActionsPaused
error PartyBActionsPaused()
PartyBNotActive
error PartyBNotActive(address partyB)
PartyBNotSolvent
error PartyBNotSolvent(address partyB, address collateral)
ReceiverSuspended
error ReceiverSuspended(address receiver)
SuspendedWithdrawal
error SuspendedWithdrawal(uint256 withdrawId)
ThirdPartyActionsPaused
error ThirdPartyActionsPaused()
UnbindingAlreadyInitiated
error UnbindingAlreadyInitiated(address user, uint256 requestTime)
UnbindingNotInitiated
error UnbindingNotInitiated(address user)
UserIsPartyB
error UserIsPartyB(address user)
UserSuspended
error UserSuspended(address user)
WithdrawingPaused
error WithdrawingPaused()
ZeroAddress
error ZeroAddress(string property)
creation bytecode
0x6080806040523461001657612758908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c9081632087ed5c146116415750806324e3185b1461147157806335ff8e7e146113dd57806347e7ef24146112f957806359e026f7146110105780637b2696cb14610ec65780637be3eed314610e3b5780637e60fee314610d105780639c6bfb4b14610c725780639f01f7ba146109f5578063b3db428b146108df578063be2ccaef146104be578063c1e17f761461034e578063cf462cb2146101ff5763e6088c08146100c857600080fd5b346101fb57826003193601126101fb5760ff6100e333611a4d565b54166101e55760008051602061272c8339815191525460ff8160a01c166101d65760c01c60ff166101c8576001600160a01b03908161012133611ba3565b5416156101b15761013133611b6a565b5461017b57504261014133611b6a565b5561014b33611ba3565b541690514281527f10845d4ba361a5a7f0cc5639ff26bb38262f99c6dc833c3af46cdc9da5a9d73a60203392a380f35b90506101ad61018933611b6a565b54925163cb47185560e01b8152339281019283526020830193909352829160400190565b0390fd5b602490835190634dd4579f60e01b82523390820152fd5b9051631db5524760e11b8152fd5b509051638bee704f60e01b8152fd5b6024915190637529b8c960e11b82523390820152fd5b8280fd5b50346101fb5760203660031901126101fb576102196119c4565b9160ff61022533611a4d565b54166103375760008051602061272c8339815191525460ff8160a01c166103295760c01c60ff1661031c5760ff61025b84611a4d565b5416156102fc576001600160a01b03918261027533611ba3565b54166102c357505061028633611ba3565b911690816001600160601b0360a01b825416179055337fa352ea282c42b230c1fdd33f21883da386f0cd0dd6ce9e3f61b4c36a0f090e908380a380f35b6101ad836102d033611ba3565b5493516381d30f2160e01b81523393810193845293166001600160a01b03166020830152829160400190565b516309d5e00f60e21b81526001600160a01b039092169082015260249150fd5b51631db5524760e11b8152fd5b5051638bee704f60e01b8152fd5b602492505190637529b8c960e11b82523390820152fd5b50346101fb57826003193601126101fb5760ff61036a33611a4d565b54166101e55760008051602061272c8339815191525460ff8160a01c166101d65760c01c60ff166101c8576001600160a01b0391826103a833611ba3565b5416926103b433611ba3565b5416156104a7576103c433611b6a565b5415610490576103ff6103d633611b6a565b547fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1d54906120eb565b908142106104545750505061041333611ba3565b80546001600160a01b03191690558161042b33611b6a565b55337fe90dcf93827430d808d626d992f33c7c60d0b9f3a2a483398a94ba67ac29110e8380a380f35b60a49350606090519263507cc63960e11b84528301526009606483015268756e62696e64696e6760b81b60848301524260248301526044820152fd5b602492505190630725037760e51b82523390820152fd5b602492505190634dd4579f60e01b82523390820152fd5b5090346101fb5760603660031901126101fb576104d96119c4565b6024936001600160a01b039285356044358581168082036108db5760008051602061272c833981519152549160ff92838160a01c166108cb5760b01c83166108bb578261052533611a14565b54166108a6576105358391611a14565b5416610891578161054587611a86565b54161561087a5780156108525761055e97959733611abf565b938789169283875260209586528187209a879860058d01995b8a548110156105ad57806105a28f8e6105948f956105a89661225d565b90549060031b1c1690612275565b50612028565b610577565b508a9899508b6105bc33611abf565b878c528952848b20548881106108165750836105d733611af8565b5416610801576105e79033612155565b6105f033611abf565b868b528852838a2080548881106107da577f5b4709a444ca1757f6d29baa2f98e3238bf021804cb4685fb17c9b50d9f533dd9161062f8a60a093612250565b81558b6001816002840154169201541687519182528d8c830152878201528960608201528c6080820152a17fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb21986106868a54612028565b809a5584519260e084019084821067ffffffffffffffff8311176107c957508b9493928b92889288528385528b8501918b83528c898701938c85528a8a60608a019333855260808b0198895260a08b0199428b5260c08c019d8e5282527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb20905220975188555160018801558260028801945116936001600160601b0360a01b948582541617905582600388019151168482541617905585019251169082541617905551600582015560060191519061075d82612037565b61076682612037565b60ff1983541691161790553361077b90611abf565b83885285528087205494815196875233908701528501526060840152608083015260a082015260c07fbd583f9fde5959e8dd44eccdc33f27ecaeb7ac958d7e494d553120f29c40309991a180f35b634e487b7160e01b8d52604184528cfd5b90606493868c60018c9401541690519463db42144d60e01b86528501528301526044820152fd5b50835190630941116d60e21b82523390820152fd5b855163861da4bd60e01b8152338185019081526001600160a01b039093166020840152604083018a905260608301919091529081906080010390fd5b835163eac0d38960e01b81526020818a01526002818b015261746f60f01b6044820152606490fd5b835163f617104960e01b8152878716818a01528990fd5b87899185519163904d198560e01b8352820152fd5b845163904d198560e01b815233818b01528a90fd5b8451631055e86d60e11b81528990fd5b8551638bee704f60e01b81528a90fd5b8480fd5b508290346109f1576108f0366119df565b90919260008051602061272c8339815191525460ff8160a01c166109e25760a81c60ff166109d45760ff61092333611a14565b54166109bd5760ff61093484611a14565b541661099b57507f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5993948161096d610995938587611c0f565b61097684611abf565b6001600160a01b03861688526020528187205491519485943386611bdc565b0390a180f35b855163904d198560e01b81526001600160a01b03841691810191909152602490fd5b60249086519063904d198560e01b82523390820152fd5b8551634bed832b60e01b8152fd5b508551638bee704f60e01b8152fd5b5080fd5b509190346109f1576020806003193601126101fb5783359160008051602061272c8339815191525460ff90818160a01c16610c625760b01c8116610c52578385527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb2080845282862060038101546001600160a01b03989293929190891683610a7c82611a14565b5416610c3c5750810154881682610a9282611a14565b5416610c2657508587527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1f8552818488205416610c0f57858752828552838720927fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb2154808811610bf357508688528552838720916006830191825491821690610b1a82612037565b81610bb057505092610b807f50e061fc98dca7c8454802a4c5f4132d4b4e6d4b5a7b0688fb64415d7e4835919795938a9360016060999760ff1916179055610b6784600383015416611abf565b846002830154168b5286526001858b20910154906121e7565b5081600382015416916002610b9484611abf565b920154168852835281872054928251948552840152820152a180f35b6101ad88888c815192610bc284611dcf565b600184523681850137610bd483612057565b52610bde85612037565b51632eb59bcb60e01b8152938493840161207a565b826044918988519263c392c38160e01b84528301526024820152fd5b835163a9e0924760e01b8152908101869052602490fd5b8451634d10205960e11b81529182015260249150fd5b8260249187519163904d198560e01b8352820152fd5b8151631055e86d60e11b81528690fd5b8251638bee704f60e01b81528790fd5b5090346101fb57826003193601126101fb5760ff610c8f33611a4d565b54166103375760008051602061272c8339815191525460ff8160a01c166103295760c01c60ff1661031c57610cc333611b6a565b5415610490578280610cd433611b6a565b556001600160a01b03610ce633611ba3565b5416337f9610a0e5a58f1e6a391de0a37aa69f3d38dd446e760bb612cd8adbc9cb89e4e08380a380f35b50346101fb57826003193601126101fb5760ff610d2c33611a4d565b54166101e55760ff610d3d33611af8565b541615610e2557610d4d33611b31565b5415610e0f57610d5c33611b31565b544210610db657507f8c26366a48941a3daffc715626b2188eb735424f0f7237cc064d8abc4bb8375790610d8f33611af8565b805460ff1916905582610da133611b31565b55513381524260208201528060408101610995565b60a4916060610dc433611b31565b54915163507cc63960e11b815292830152601960648301527f6465616374697665496e7374616e74416374696f6e4d6f64650000000000000060848301524260248301526044820152fd5b6024915190635e9cfbd760e11b82523390820152fd5b602491519063443180d760e11b82523390820152fd5b50346101fb57826003193601126101fb5760ff610e5733611a4d565b54166101e55760ff610e6833611af8565b541615610e2557507f71663dd4cb50cf6e543688d140d4cddfb7ba5331c2c8b0f37d427b714f08af9390610ebd7fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb2454426120eb565b610da133611b31565b509190346109f15760603660031901126109f157610ee26119c4565b926001600160a01b036024803582811692919083810361100c576044359767ffffffffffffffff95868a11611008573660238b01121561100857890135958611610fc1576005368488831b8c01011161100857848997969597939216925b868110610fc55750505083906060875197818901928952602095868a0152880152526080850196019285905b838210610f9d57867fb5baba39ade60b539000492ed019c156da2daacd9fb9fa8af2c0ea4f53742dff878a0388a180f35b90919293968735828116809103610fc1578152830196830193929160010190610f6c565b8780fd5b610fd28398969798611abf565b848b52602052888a208582841b8d01013590878216820361100457610ffb92916105a291612275565b96959496610f40565b8b80fd5b8880fd5b8680fd5b508290346109f157611021366119df565b9490919260008051602061272c8339815191525460ff8160a01c166101d65760d81c60ff166112eb5760ff61105533611a14565b54166112d55760ff61106684611a14565b54166112b55760ff61107785611a86565b5416156112935761108733611abf565b6001600160a01b0385811680885260209283528488205489811061125857506110af33611abf565b81895283528488209081548a811061122f578a6110cb91612250565b82557f5b4709a444ca1757f6d29baa2f98e3238bf021804cb4685fb17c9b50d9f533dd60a084600285015416856001809601541689519182528c88830152898201528c6060820152846080820152a161112387611abf565b818a528452858920828101805496858816158015611221575b6112135750938a9b95937fd4974b44b658adeef776a20843334aef974b1a70c9b3b75e38fbf287ab4765789b84600260a0956109959c9b997f01d50ceb5c24ecd3677c023e7ee4cabc483d72aa142a834c9921bbeae02f46e1986001600160601b03891b809c1617905501848d1680998254161790556111bb8c611abf565b91528552878d20916111ce8884546120eb565b835581816002850154169301541688519283528583015286888301528060608301526080820152a16111ff87611abf565b918952528187205491519485943386611bdc565b88516348bdbaad60e01b8152fd5b50856002840154161561113c565b856064918c898760018801541690519363db42144d60e01b855284015260248301526044820152fd5b855163861da4bd60e01b8152338187019081526001600160a01b038a166020820152604081018c905260608101929092529081906080010390fd5b905163f617104960e01b81526001600160a01b03841691810191909152602490fd5b905163904d198560e01b81526001600160a01b0390921690820152602490fd5b602491519063904d198560e01b82523390820152fd5b905163611fc79360e01b8152fd5b508290346109f157826003193601126109f1576113146119c4565b6024359160008051602061272c8339815191525460ff8160a01c166113ce5760a81c60ff166113c05760ff61134833611a14565b54166113a957506109957f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d599394611380843385611c0f565b61138933611abf565b6001600160a01b0384168752602052808620549051938493338086611bdc565b60249085519063904d198560e01b82523390820152fd5b8451634bed832b60e01b8152fd5b508451638bee704f60e01b8152fd5b50346101fb57826003193601126101fb5760ff6113f933611a4d565b54166101e55760ff61140a33611af8565b541661145b57507f13045b4d5b21fce7e1a9422f8e5136acecfb0c3363395f37134da2f8f58d78609061143c33611af8565b805460ff19166001179055513381524260208201528060408101610995565b602491519063e608d42560e01b82523390820152fd5b508290346109f157611482366119df565b90919260008051602061272c8339815191525460ff8160a01c166109e25760a81c60ff166109d45760ff6114b584611a14565b541661099b573385527ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548b46020528585207fc60127f9a820fa630f1898914b9cadd288fe48480c9915625cc13cb1c2cfaae39081875260205260ff878720541615611625575060ff61152585611a86565b5416156116035761153583611abf565b9060018060a01b039081861692838852602052878720600181018054928484161580156115f5575b6115e757506001600160a01b031992831685179055600201805490911691851691909117905593947f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d599461099592906115b585611abf565b8189526020526115c782848a206121e7565b506115d185611abf565b9088526020528187205491519485943386611bdc565b8a516348bdbaad60e01b8152fd5b50846002840154161561155d565b855163f617104960e01b81526001600160a01b03851691810191909152602490fd5b6044925086519162b0d32560e11b835233908301526024820152fd5b9050346119c057602091826003193601126108db5780359160008051602061272c8339815191525460ff91828260a01c166119b2575060b01c81166119a3578286527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb2080855285872060038101546001600160a01b039291908316846116c682611a14565b541661198d57508401548216836116dc82611a14565b541661197757508488527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1f8652828789205416611960577fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb21548086116119445750848852855285872092816003850154169282600286015416936117608582612155565b600686019182549181831661177481612037565b80611930575061178390611a4d565b541615611909577ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548ad545b6005870154906117bd82826120eb565b42106118c457505060ff191660021790556001840154875163313ce56760e01b815287818481885afa908a82156118b95761184161187f9461183b7f31a866b95a48a067cbcfca05a34abd64adfeae4002140b2e2b13185c69126dc29d9a98956118849a98958e670de0b6b3a7640000969261188c575b5050612124565b90612111565b9590910154875163a9059cbb60e01b8b82015292166001600160a01b031660248301529093046044840152826064810103601f198101845283611deb565b611e0d565b51908152a180f35b6118ab9250803d106118b2575b6118a38183611deb565b8101906120f8565b388e611834565b503d611899565b8a51903d90823e3d90fd5b8a60606118d460a49488946120eb565b915163507cc63960e11b8152928301526008606483015267776974686472617760c01b60848301524260248301526044820152fd5b7ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548ac546117ad565b856101ad8c8f8f90815192610bc284611dcf565b84604491878a519263c392c38160e01b84528301526024820152fd5b865163a9e0924760e01b8152808501869052602490fd5b84602491895191634d10205960e11b8352820152fd5b856024918a519163904d198560e01b8352820152fd5b508351631055e86d60e11b8152fd5b638bee704f60e01b81528390fd5b8380fd5b600435906001600160a01b03821682036119da57565b600080fd5b60609060031901126119da576001600160a01b039060043582811681036119da579160243590811681036119da579060443590565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1e6020526040902090565b6001600160a01b031660009081527ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548b66020526040902090565b6001600160a01b031660009081527ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548a66020526040902090565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb186020526040902090565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb226020526040902090565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb236020526040902090565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1c6020526040902090565b6001600160a01b031660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1b6020526040902090565b6001600160a01b039182168152918116602083015290911660408201526060810191909152608081019190915260a00190565b90929160ff611c1d83611a86565b541615611dae5760018060a01b038092166040918251906020916323b872dd60e01b838201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff831117611d9857611c7d91865284611e0d565b835163313ce56760e01b8152908282600481875afa918215611d8d57600092611d6e575b50670de0b6b3a764000090818102918183041490151715611d5857611cc8611cce92612124565b90612135565b93611cd887611abf565b836000528252836000206001810190815491838316158015611d4a575b611d3957916002611d299492611d369a9b94886001600160601b0360a01b8095161790550191831690825416179055611abf565b91600052526000206121e7565b50565b86516348bdbaad60e01b8152600490fd5b508360028301541615611cf5565b634e487b7160e01b600052601160045260246000fd5b611d86919250833d85116118b2576118a38183611deb565b9038611ca1565b85513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b60405163f617104960e01b81526001600160a01b0383166004820152602490fd5b6040810190811067ffffffffffffffff821117611d9857604052565b90601f8019910116810190811067ffffffffffffffff821117611d9857604052565b60018060a01b031690604051611e2281611dcf565b6020928382527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564848301526000808486829651910182855af13d15611f4a573d9167ffffffffffffffff8311611f365790611e9d93929160405192611e9088601f19601f8401160185611deb565b83523d868885013e611f54565b805191821591848315611f0f575b505050905015611eb85750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126109f157820151908115158203611f33575080388084611eab565b80fd5b634e487b7160e01b85526041600452602485fd5b90611e9d92916060915b91929015611fb65750815115611f68575090565b3b15611f715790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015611fc95750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851061200f575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350611fec565b6000198114611d585760010190565b6003111561204157565b634e487b7160e01b600052602160045260246000fd5b8051156120645760200190565b634e487b7160e01b600052603260045260246000fd5b60c09160608252600e60608301526d576974686472617753746174757360901b608083015260a082019060ff9384936020948593168382015260a0604082015286518094520194019160005b8281106120d557505050505090565b83518516865294810194928101926001016120c6565b91908201809211611d5857565b908160209103126119da575160ff811681036119da5790565b81810292918115918404141715611d5857565b60ff16604d8111611d5857600a0a90565b811561213f570490565b634e487b7160e01b600052601260045260246000fd5b61215f8282612190565b15612168575050565b60405162e09bf360e11b81526001600160a01b03918216600482015291166024820152604490fd5b60018060a01b038091166000527ffce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548bc6020526040600020911660005260205260ff600160406000200154166121e381612037565b1590565b9060a07f01d50ceb5c24ecd3677c023e7ee4cabc483d72aa142a834c9921bbeae02f46e1916122178185546120eb565b8455600180831b03908160028601541691600186015416604051928352602083015260408201526000606082015260016080820152a190565b91908203918211611d5857565b80548210156120645760005260206000200190600090565b60018082015491929091612292906001600160a01b031682612190565b156126e45760058301541580156126e9575b6126e4576001600160a01b0381166000908152600384016020908152604080832080547fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb198452919093209194929154036126195780548015612611576003820154908142106125f25761231781836120eb565b918180861b04600203611d585761233091851b906120eb565b904210156125c1575b4210156125a7575b61235581546123508142612135565b612111565b60038201558181015415908161259a575b506123c3575b600284015490840154604080516001600160a01b03938416815293831660208501529116908201527fa4cbd04abd4338dda0251107d9540e567d73a399eee8294003add55d10b1ff7e915080606081015b0390a190565b6001600160a01b0382161561256b5760018060a01b038216600052600384018352612406604060002060026123fd875485840154906120eb565b910154906120eb565b8061254257506001600160a01b038216600090815260048501808552604090912054600586015460001995929190868101908111611d58578082036124ea575b505060058601549485156124d4577fa4cbd04abd4338dda0251107d9540e567d73a399eee8294003add55d10b1ff7e9501612484816005890161225d565b81549060018060a01b039060031b1b19169055600587015560018060a01b03841660005281526000604081205560038501905260006003604082208281558284820155826002820155015561236c565b634e487b7160e01b600052603160045260246000fd5b6124f7906005890161225d565b905460039190911b1c6001600160a01b03166125168260058a0161225d565b81549060031b9083821b9160018060a01b03901b19161790556000528183526040600020553880612446565b60405163c546fe0760e01b81526001600160a01b03841660048201526024810191909152604490fd5b60405163eac0d38960e01b81526004810184905260066024820152653830b93a3ca160d11b6044820152606490fd5b6002915001541538612366565b6000600282016125b9815488546120eb565b875555612341565b60008383016125d2815489546120eb565b885582421082146125ec5760028401908154905555612339565b55612339565b604051630a057dbf60e21b815242600482015260248101839052604490fd5b505050505090565b6001600160a01b03831660009081527fdd1d6d04e1f24037b02215b0852708bab55d9f1305ee6cb777ad46ae2573bb1960205260408120548083557fa4cbd04abd4338dda0251107d9540e567d73a399eee8294003add55d10b1ff7e9550909190806126d15750425b60038201558281019061269c6002835492019182546120eb565b905555600284015490840154604080516001600160a01b039384168152938316602085015291169082015280606081016123bd565b806123506126df9242612135565b612682565b505090565b506001600160a01b0381166000818152600485016020526040902054612712906005860161225d565b905460039190911b1c6001600160a01b031614156122a456fefce96d8b9b34f73081d511b432ae5a90a254efc831e060fda6888a0e03c548aaa164736f6c6343000813000a