0 txs
19.9k calls
constructor
constructor(bytes[] recentOperators)
functions
currentEpoch
viewfunction currentEpoch() view returns (uint256)
epochForHash
viewfunction epochForHash(bytes32) view returns (uint256)
hashForEpoch
viewfunction hashForEpoch(uint256) view returns (bytes32)
owner
viewfunction owner() view returns (address owner_)
pendingOwner
viewfunction pendingOwner() view returns (address owner_)
validateProof
viewfunction validateProof(bytes32 messageHash, bytes proof) view returns (bool)
acceptOwnership
nonpayablefunction acceptOwnership()
proposeOwnership
nonpayablefunction proposeOwnership(address newOwner)
transferOperatorship
nonpayablefunction transferOperatorship(bytes params)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OperatorshipTransferred
event OperatorshipTransferred(address[] newOperators, uint256[] newWeights, uint256 newThreshold)
OwnershipTransferred
event OwnershipTransferred(address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed newOwner)
errors
DuplicateOperators
error DuplicateOperators()
InvalidOperators
error InvalidOperators()
InvalidOwner
error InvalidOwner()
InvalidOwnerAddress
error InvalidOwnerAddress()
InvalidS
error InvalidS()
InvalidSignature
error InvalidSignature()
InvalidSignatureLength
error InvalidSignatureLength()
InvalidThreshold
error InvalidThreshold()
InvalidV
error InvalidV()
InvalidWeights
error InvalidWeights()
LowSignaturesWeight
error LowSignaturesWeight()
MalformedSigners
error MalformedSigners()
NotOwner
error NotOwner()
creation bytecode
0x60806040523480156200001157600080fd5b50604051620018d1380380620018d1833981016040819052620000349162000418565b33620000408162000098565b50805160005b818110156200008f576200007c83828151811062000068576200006862000556565b60200260200101516200013c60201b60201c565b620000878162000582565b905062000046565b505050620007a0565b6001600160a01b038116620000c057604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000806000838060200190518101906200015791906200060d565b825182519396509194509250908115806200017a57506200017885620002ee565b155b156200019957604051630849699d60e11b815260040160405180910390fd5b818114620001ba5760405163108cef9d60e31b815260040160405180910390fd5b6000805b828110156200020657858181518110620001dc57620001dc62000556565b602002602001015182620001f19190620006f4565b9150620001fe8162000582565b9050620001be565b508315806200021457508381105b15620002335760405163aabd5a0960e01b815260040160405180910390fd5b865160208089019190912060008181526002909252604090912054156200026d5760405163adda47f760e01b815260040160405180910390fd5b600080546200027e906001620006f4565b6000818155818152600160209081526040808320869055858352600290915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90620002db908a908a908a906200070f565b60405180910390a1505050505050505050565b80516000908183818362000306576200030662000556565b6020026020010151905060006001600160a01b0316816001600160a01b0316141562000336575060009392505050565b60015b828110156200039e57600085828151811062000359576200035962000556565b60200260200101519050806001600160a01b0316836001600160a01b031610620003895750600095945050505050565b9150620003968162000582565b905062000339565b506001949350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620003ea57620003ea620003a9565b604052919050565b60006001600160401b038211156200040e576200040e620003a9565b5060051b60200190565b600060208083850312156200042c57600080fd5b82516001600160401b03808211156200044457600080fd5b8185019150601f86818401126200045a57600080fd5b8251620004716200046b82620003f2565b620003bf565b81815260059190911b840185019085810190898311156200049157600080fd5b8686015b838110156200054857805186811115620004af5760008081fd5b8701603f81018c13620004c25760008081fd5b8881015187811115620004d957620004d9620003a9565b620004ec818801601f19168b01620003bf565b81815260408e81848601011115620005045760008081fd5b60005b8381101562000524578481018201518382018e01528c0162000507565b83811115620005365760008d85850101525b50508552505091870191870162000495565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200059957620005996200056c565b5060010190565b600082601f830112620005b257600080fd5b81516020620005c56200046b83620003f2565b82815260059290921b84018101918181019086841115620005e557600080fd5b8286015b84811015620006025780518352918301918301620005e9565b509695505050505050565b6000806000606084860312156200062357600080fd5b83516001600160401b03808211156200063b57600080fd5b818601915086601f8301126200065057600080fd5b81516020620006636200046b83620003f2565b82815260059290921b8401810191818101908a8411156200068357600080fd5b948201945b83861015620006ba5785516001600160a01b0381168114620006aa5760008081fd5b8252948201949082019062000688565b91890151919750909350505080821115620006d457600080fd5b50620006e386828701620005a0565b925050604084015190509250925092565b600082198211156200070a576200070a6200056c565b500190565b606080825284519082018190526000906020906080840190828801845b82811015620007535781516001600160a01b0316845292840192908401906001016200072c565b5050508381038285015285518082528683019183019060005b818110156200078a578351835292840192918401916001016200076c565b5050809350505050826040830152949350505050565b61112180620007b06000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063ba6742e511610076578063e30c39781161005b578063e30c39781461018d578063f1501c89146101b4578063f2fde38b146101d457600080fd5b8063ba6742e51461015a578063d289d1cb1461017a57600080fd5b806376671808116100a7578063766718081461010057806379ba5097146101175780638da5cb5b1461011f57600080fd5b8063710bf322146100c357806373e3d66a146100d8575b600080fd5b6100d66100d1366004610b01565b6101e7565b005b6100eb6100e6366004610b6e565b6102b6565b60405190151581526020015b60405180910390f35b61010960005481565b6040519081526020016100f7565b6100d6610362565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0545b6040516001600160a01b0390911681526020016100f7565b610109610168366004610bba565b60016020526000908152604090205481565b6100d6610188366004610bd3565b6103dc565b7f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d154610142565b6101096101c2366004610bba565b60026020526000908152604090205481565b6100d66101e2366004610b01565b61046f565b336102107f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610237576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b03811661025e57604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907fd9be0e8e07417e00f2521db636cb53e316fd288f5051f16d2aa2bf0c3938a87690600090a27f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000808080806102c886880188610dcf565b935093509350935060008484846040516020016102e793929190610ebf565b60408051601f19818403018152918152815160209283012060008181526002909352908220549154909250811580610329575060106103268383610f62565b10155b1561034757604051630849699d60e11b815260040160405180910390fd5b6103548b888888886104bf565b149998505050505050505050565b600061038c7f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d15490565b90506001600160a01b03811633146103d0576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103d981610611565b50565b336104057f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b03161461042c576040516330cd747160e01b815260040160405180910390fd5b61046b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106b492505050565b5050565b336104987f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103d0576040516330cd747160e01b815260040160405180910390fd5b83518151600080805b838110156105d75760006104f58b8884815181106104e8576104e8610f79565b602002602001015161089a565b90505b8584108015610532575089848151811061051457610514610f79565b60200260200101516001600160a01b0316816001600160a01b031614155b156105475761054084610f8f565b93506104f8565b85841415610581576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88848151811061059357610593610f79565b6020026020010151836105a69190610faa565b92508783106105ba5750505050505061060a565b6105c384610f8f565b935050806105d090610f8f565b90506104c8565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6001600160a01b03811661063857604051633649397d60e21b815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05560007f9855384122b55936fbfb8ca5120e63c6537a1ac40caf6ae33502b3c5da8c87d155565b6000806000838060200190518101906106cd919061101d565b825182519396509194509250908115806106ed57506106eb85610a3d565b155b1561070b57604051630849699d60e11b815260040160405180910390fd5b818114610744576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156107875785818151811061076257610762610f79565b6020026020010151826107759190610faa565b915061078081610f8f565b9050610748565b5083158061079457508381105b156107cb576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8651602080890191909120600081815260029092526040909120541561081d576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805461082c906001610faa565b6000818155818152600160209081526040808320869055858352600290915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610887908a908a908a90610ebf565b60405180910390a1505050505050505050565b600081516041146108d7576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610943576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561095b57508060ff16601c14155b15610992576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156109e6573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610a34576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b805160009081838183610a5257610a52610f79565b6020026020010151905060006001600160a01b0316816001600160a01b03161415610a81575060009392505050565b60015b82811015610ae1576000858281518110610aa057610aa0610f79565b60200260200101519050806001600160a01b0316836001600160a01b031610610acf5750600095945050505050565b9150610ada81610f8f565b9050610a84565b506001949350505050565b6001600160a01b03811681146103d957600080fd5b600060208284031215610b1357600080fd5b8135610b1e81610aec565b9392505050565b60008083601f840112610b3757600080fd5b50813567ffffffffffffffff811115610b4f57600080fd5b602083019150836020828501011115610b6757600080fd5b9250929050565b600080600060408486031215610b8357600080fd5b83359250602084013567ffffffffffffffff811115610ba157600080fd5b610bad86828701610b25565b9497909650939450505050565b600060208284031215610bcc57600080fd5b5035919050565b60008060208385031215610be657600080fd5b823567ffffffffffffffff811115610bfd57600080fd5b610c0985828601610b25565b90969095509350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610c5457610c54610c15565b604052919050565b600067ffffffffffffffff821115610c7657610c76610c15565b5060051b60200190565b600082601f830112610c9157600080fd5b81356020610ca6610ca183610c5c565b610c2b565b82815260059290921b84018101918181019086841115610cc557600080fd5b8286015b84811015610ce05780358352918301918301610cc9565b509695505050505050565b6000601f8381840112610cfd57600080fd5b82356020610d0d610ca183610c5c565b82815260059290921b85018101918181019087841115610d2c57600080fd5b8287015b84811015610dc357803567ffffffffffffffff80821115610d515760008081fd5b818a0191508a603f830112610d665760008081fd5b85820135604082821115610d7c57610d7c610c15565b610d8d828b01601f19168901610c2b565b92508183528c81838601011115610da45760008081fd5b8181850189850137506000908201870152845250918301918301610d30565b50979650505050505050565b60008060008060808587031215610de557600080fd5b843567ffffffffffffffff80821115610dfd57600080fd5b818701915087601f830112610e1157600080fd5b81356020610e21610ca183610c5c565b82815260059290921b8401810191818101908b841115610e4057600080fd5b948201945b83861015610e67578535610e5881610aec565b82529482019490820190610e45565b98505088013592505080821115610e7d57600080fd5b610e8988838901610c80565b9450604087013593506060870135915080821115610ea657600080fd5b50610eb387828801610ceb565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610f015781516001600160a01b031684529284019290840190600101610edc565b5050508381038285015285518082528683019183019060005b81811015610f3657835183529284019291840191600101610f1a565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610f7457610f74610f4c565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610fa357610fa3610f4c565b5060010190565b60008219821115610fbd57610fbd610f4c565b500190565b600082601f830112610fd357600080fd5b81516020610fe3610ca183610c5c565b82815260059290921b8401810191818101908684111561100257600080fd5b8286015b84811015610ce05780518352918301918301611006565b60008060006060848603121561103257600080fd5b835167ffffffffffffffff8082111561104a57600080fd5b818601915086601f83011261105e57600080fd5b8151602061106e610ca183610c5c565b82815260059290921b8401810191818101908a84111561108d57600080fd5b948201945b838610156110b45785516110a581610aec565b82529482019490820190611092565b918901519197509093505050808211156110cd57600080fd5b506110da86828701610fc2565b92505060408401519050925092509256fea264697066735822122000a64ea6e2ecc2ff26e827bebf43ad7ab6edee4322613dea4aa8b6e387c85ab464736f6c634300080900330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001320000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000009c0000000000000000000000000000000000000000000000000000000000001f4f7000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000022a949727e7a7abab6db92d94d6cfdc7a5acfdb00000000000000000000000002aa77a60939d635a7a672582d8a36a7653b1246000000000000000000000000068afd2290aad574b2c1220005455a25977d01a6000000000000000000000000117b5c38b55de70df7d85709686ffe49eebe538300000000000000000000000014d1e3e75a77c4d0876072f5e9eae5fe32e893100000000000000000000000001949b0e2d7fde80bf993b980f7cf509eee2250680000000000000000000000001a09cfe4fdd69efccb79a3e29b23919b740f89a70000000000000000000000001da21696e6f9d49cafb6355ea83ae0d117865fc0000000000000000000000000248746066939a28553c126e4ddb619e247de5886000000000000000000000000274e8689b3984756a3f18ba11b1dfb00d2b56452000000000000000000000000376288e3ada508e619e90faf5bf3a4ca74f0f7c5000000000000000000000000390486387cc70210d8c2495c7077b2230df1b3330000000000000000000000003d28c4fbe1716f7d728fe501779f2bdd659be39600000000000000000000000044a53566d9e7d263d6f77b3a75dcc823ce1a5a1c00000000000000000000000046cf97c5fb9277ec159e7fa12fdf8e4addfc82b60000000000000000000000004bfc88eea734f59d2f72c85bb30f12b20582ff980000000000000000000000004cda32151a95c5701c0df13b71693dce8d47a7e60000000000000000000000004e590f94f4843813b025dde4d69e9fc1fe6e76d1000000000000000000000000563ec5dea9cc977bd813ee568847a7c2afcbe71700000000000000000000000056d4701d19f8c3ba184d305a9c650c4b34eaac2f0000000000000000000000005778cd2e505a5c01647cfcf063a2f7ac90270d65000000000000000000000000593e5fda1e2bc0dd6478f5e2098e2a32745a22110000000000000000000000005c2b800bef0b5c78e2b45be51b3fb28349f8f67600000000000000000000000061a39f3aa8840b771669ba3cf9e63cfb503b01ba000000000000000000000000622d23974824d0056812b308d33dcae87c65a34500000000000000000000000062beb7b68f8874adeff87add0d6888a169676a2600000000000000000000000064eac784b20d0ba52804eee91a904c0eed8130e90000000000000000000000006ab45050497f1bd4d4cb7458c64df3079154bda60000000000000000000000006ccc5f2c9fcd2639fdd24ce34e2f1c5da522bba30000000000000000000000006cec4d37b9da37a06e2f4b7feb1996b5eb2896a30000000000000000000000006f1cad77d6c8fd3addc5833f50a0fcbc827213220000000000000000000000007026fed342879160b99fbf5d7e708de8455ac81c000000000000000000000000733c1445fc85951bbdfb7b791a00a324d5d8909100000000000000000000000078a64233824f1f9f5ca33c51fc4284aae5d01f290000000000000000000000007b6d4462c07fe61715139f78f42a6f85af81577a0000000000000000000000007d21714eba370ba389089664f1db9346c6ef4b0c0000000000000000000000007fbda7f83da8cd50b3a0b18513a499ca424034b70000000000000000000000008425bf5092b36c29310ffc3344b04b28ec4890180000000000000000000000008703e0cea5c0b70e7958442ed776b520b32b31320000000000000000000000008796496b99cc0e21dcfce3bc3535bb7e0997146c0000000000000000000000008e06ed6b133b030128142f8f16dd27ca30dc5cb80000000000000000000000008e64b1c35220a9c6ddebb446e82584eb1f443c9f00000000000000000000000091f8f7d26b66a0a0e9adcf7ae5cdd92bcdfb0cb4000000000000000000000000920538a3a4ea8b53c0be9653b92145420a34057400000000000000000000000092e7dbf1c290f96c3524090d5f396026bec2641c0000000000000000000000009f5703a15322b618d0580ba3a6556de4df11e7b9000000000000000000000000a8864a8a87b007a7078948a57aba807bd25b4d2e000000000000000000000000ade99134e03440d7db167f2d83eba4f10e1ed774000000000000000000000000b09867bf5d8b51b7f71d0df46cdb6f04a7493127000000000000000000000000b20f4e2cde419d0803339608865573f76e25e850000000000000000000000000b3a9434bb328311e047ed8bc5b3c1d8786ffee2f000000000000000000000000b7a86d248ba64d83c79ee9859db51d1520897392000000000000000000000000c0f792d8d2d4fa44c97262a60336be7fbd936fd9000000000000000000000000c61a04e4f37b4b707957ef92dd346e92ec5b354d000000000000000000000000c6789ae24125faa207979a5894531127a7ba7d6f000000000000000000000000c6e185b7d240b8d6e82883be8fab3d4490641035000000000000000000000000c6fe100e19afa18ce846f4535ac5e785256f09d4000000000000000000000000d097f06d1b3396e1d2cd37517ea52bc8024977c8000000000000000000000000d1d9cc5db791c564da284e9c6e300fab83be31a9000000000000000000000000d6dc12a63283467b0e031ee29c4df288c8f82dfd000000000000000000000000db0a6008b7df669b4226802bbdc907a38ae3db40000000000000000000000000dcc741be5cab35d76be48e166bb65885c9cdc610000000000000000000000000dcf9d2cd77129e4df6dd51abe1442d666d069504000000000000000000000000e6ab05f7e16e5ddd3c8ff19e90caa246346645b7000000000000000000000000e85f9defd973e7ef45840d10eb2c6fbf11b6185f000000000000000000000000ec0c7c3e754b68ad77a7e2b7cb0e57e7b3df0a9e000000000000000000000000efdee78348586ae3dad90d48ec8c94e290803c8d000000000000000000000000f0de55210a60322f455d89ecdf70ad6f71ac14e6000000000000000000000000f56c3ef2daa728e3e3bc1aa87be6a36206d5c446000000000000000000000000f60e024860509f0cd78d7e6c71a06beee6ccdc64000000000000000000000000f6592eca783ec9cf6095df56a6c441b521a38497000000000000000000000000f83285964abce68f9fada89c5c61ce9e7be78e51000000000000000000000000fbfe2cbf43abe42b7e234a789f863a2649521e94000000000000000000000000ffea458cdcb3377fa6b3d44e2b6f7de6d3141f2d000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000af000000000000000000000000000000000000000000000000000000000000087600000000000000000000000000000000000000000000000000000000000018960000000000000000000000000000000000000000000000000000000000000f0800000000000000000000000000000000000000000000000000000000000000df0000000000000000000000000000000000000000000000000000000000000a7f000000000000000000000000000000000000000000000000000000000000090d0000000000000000000000000000000000000000000000000000000000000ebc0000000000000000000000000000000000000000000000000000000000000ef100000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000a490000000000000000000000000000000000000000000000000000000000000f1e00000000000000000000000000000000000000000000000000000000000007630000000000000000000000000000000000000000000000000000000000000f8b0000000000000000000000000000000000000000000000000000000000000119000000000000000000000000000000000000000000000000000000000000099a0000000000000000000000000000000000000000000000000000000000000f480000000000000000000000000000000000000000000000000000000000000e49000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000008aa0000000000000000000000000000000000000000000000000000000000000e630000000000000000000000000000000000000000000000000000000000000c1e0000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000086f0000000000000000000000000000000000000000000000000000000000000de40000000000000000000000000000000000000000000000000000000000000fb40000000000000000000000000000000000000000000000000000000000000d790000000000000000000000000000000000000000000000000000000000000da20000000000000000000000000000000000000000000000000000000000000bab00000000000000000000000000000000000000000000000000000000000005dd00000000000000000000000000000000000000000000000000000000000009fa0000000000000000000000000000000000000000000000000000000000000d9f0000000000000000000000000000000000000000000000000000000000000e0b00000000000000000000000000000000000000000000000000000000000008b400000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000000000000000000000000000000000000000e450000000000000000000000000000000000000000000000000000000000000ec60000000000000000000000000000000000000000000000000000000000000a1400000000000000000000000000000000000000000000000000000000000008240000000000000000000000000000000000000000000000000000000000000de000000000000000000000000000000000000000000000000000000000000005b80000000000000000000000000000000000000000000000000000000000000fc20000000000000000000000000000000000000000000000000000000000000ac000000000000000000000000000000000000000000000000000000000000006710000000000000000000000000000000000000000000000000000000000000b700000000000000000000000000000000000000000000000000000000000000f860000000000000000000000000000000000000000000000000000000000000ed10000000000000000000000000000000000000000000000000000000000000f8d0000000000000000000000000000000000000000000000000000000000000164000000000000000000000000000000000000000000000000000000000000157400000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000bd000000000000000000000000000000000000000000000000000000000000006430000000000000000000000000000000000000000000000000000000000000b4e0000000000000000000000000000000000000000000000000000000000000d930000000000000000000000000000000000000000000000000000000000000db10000000000000000000000000000000000000000000000000000000000000b040000000000000000000000000000000000000000000000000000000000000b8300000000000000000000000000000000000000000000000000000000000001690000000000000000000000000000000000000000000000000000000000000dbb0000000000000000000000000000000000000000000000000000000000000c41000000000000000000000000000000000000000000000000000000000000012100000000000000000000000000000000000000000000000000000000000007b60000000000000000000000000000000000000000000000000000000000001cac00000000000000000000000000000000000000000000000000000000000010e20000000000000000000000000000000000000000000000000000000000001047000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000dbc0000000000000000000000000000000000000000000000000000000000000af000000000000000000000000000000000000000000000000000000000000007780000000000000000000000000000000000000000000000000000000000000e2600000000000000000000000000000000000000000000000000000000000008bc000000000000000000000000000000000000000000000000000000000000139800000000000000000000000000000000000000000000000000000000000011f4