0 txs
0 calls
constructor
constructor(address _addyRegistry, uint256 _minLegoChangeDelay, uint256 _maxLegoChangeDelay)
functions
canGovern
viewfunction canGovern(address _address) view returns (bool)
getLastLegoAddr
viewfunction getLastLegoAddr() view returns (address)
getLastLegoId
viewfunction getLastLegoId() view returns (uint256)
getLegoAddr
viewfunction getLegoAddr(uint256 _legoId) view returns (address)
getLegoDescription
viewfunction getLegoDescription(uint256 _legoId) view returns (string)
getLegoId
viewfunction getLegoId(address _addr) view returns (uint256)
getLegoInfo
viewfunction getLegoInfo(uint256 _legoId) view returns (tuple)
getNumLegos
viewfunction getNumLegos() view returns (uint256)
getUnderlyingAsset
viewfunction getUnderlyingAsset(address _vaultToken) view returns (address)
getUnderlyingForUser
viewfunction getUnderlyingForUser(address _user, address _asset) view returns (uint256)
govChangeDelay
viewfunction govChangeDelay() view returns (uint256)
governance
viewfunction governance() view returns (address)
hasPendingGovChange
viewfunction hasPendingGovChange() view returns (bool)
isValidLegoAddr
viewfunction isValidLegoAddr(address _addr) view returns (bool)
isValidLegoDisable
viewfunction isValidLegoDisable(uint256 _legoId) view returns (bool)
isValidLegoHelper
viewfunction isValidLegoHelper(address _helperAddr) view returns (bool)
isValidLegoId
viewfunction isValidLegoId(uint256 _legoId) view returns (bool)
isValidLegoUpdate
viewfunction isValidLegoUpdate(uint256 _legoId, address _newAddr) view returns (bool)
isValidNewLegoAddr
viewfunction isValidNewLegoAddr(address _addr) view returns (bool)
legoChangeDelay
viewfunction legoChangeDelay() view returns (uint256)
legoHelper
viewfunction legoHelper() view returns (address)
legoIdToType
viewfunction legoIdToType(uint256 arg0) view returns (uint256)
MAX_GOV_CHANGE_DELAY
viewfunction MAX_GOV_CHANGE_DELAY() view returns (uint256)
MIN_GOV_CHANGE_DELAY
viewfunction MIN_GOV_CHANGE_DELAY() view returns (uint256)
numLegosRaw
viewfunction numLegosRaw() view returns (uint256)
pendingGov
viewfunction pendingGov() view returns (tuple)
pendingLegoType
viewfunction pendingLegoType(address arg0) view returns (uint256)
cancelGovernanceChange
nonpayablefunction cancelGovernanceChange()
cancelPendingLegoDisable
nonpayablefunction cancelPendingLegoDisable(uint256 _legoId) returns (bool)
cancelPendingLegoUpdate
nonpayablefunction cancelPendingLegoUpdate(uint256 _legoId) returns (bool)
cancelPendingNewLego
nonpayablefunction cancelPendingNewLego(address _addr) returns (bool)
changeGovernance
nonpayablefunction changeGovernance(address _newGov)
confirmGovernanceChange
nonpayablefunction confirmGovernanceChange()
confirmLegoDisable
nonpayablefunction confirmLegoDisable(uint256 _legoId) returns (bool)
confirmLegoUpdate
nonpayablefunction confirmLegoUpdate(uint256 _legoId) returns (bool)
confirmNewLegoRegistration
nonpayablefunction confirmNewLegoRegistration(address _addr) returns (uint256)
disableLegoAddr
nonpayablefunction disableLegoAddr(uint256 _legoId) returns (bool)
registerNewLego
nonpayablefunction registerNewLego(address _addr, string _description, uint256 _legoType) returns (bool)
setGovernanceChangeDelay
nonpayablefunction setGovernanceChangeDelay(uint256 _numBlocks)
setLegoChangeDelay
nonpayablefunction setLegoChangeDelay(uint256 _numBlocks) returns (bool)
setLegoHelper
nonpayablefunction setLegoHelper(address _helperAddr) returns (bool)
updateLegoAddr
nonpayablefunction updateLegoAddr(uint256 _legoId, address _newAddr) returns (bool)
events
AddyChangeDelaySet
event AddyChangeDelaySet(uint256 delayBlocks, string registry)
AddyDisableCancelled
event AddyDisableCancelled(uint256 addyId, string description, address indexed addr, uint256 initiatedBlock, uint256 confirmBlock, string registry)
AddyDisableConfirmed
event AddyDisableConfirmed(uint256 addyId, string description, address indexed addr, uint256 version, string registry)
AddyDisablePending
event AddyDisablePending(uint256 addyId, string description, address indexed addr, uint256 version, uint256 confirmBlock, string registry)
AddyUpdateCancelled
event AddyUpdateCancelled(uint256 addyId, string description, address indexed newAddr, address indexed prevAddr, uint256 initiatedBlock, uint256 confirmBlock, string registry)
AddyUpdateConfirmed
event AddyUpdateConfirmed(uint256 addyId, string description, address indexed newAddr, address indexed prevAddr, uint256 version, string registry)
AddyUpdatePending
event AddyUpdatePending(uint256 addyId, string description, address indexed newAddr, address indexed prevAddr, uint256 version, uint256 confirmBlock, string registry)
GovChangeCancelled
event GovChangeCancelled(address indexed cancelledGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeConfirmed
event GovChangeConfirmed(address indexed prevGov, address indexed newGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeDelaySet
event GovChangeDelaySet(uint256 delayBlocks)
GovChangeInitiated
event GovChangeInitiated(address indexed prevGov, address indexed newGov, uint256 confirmBlock)
LegoHelperSet
event LegoHelperSet(address indexed helperAddr)
NewAddyConfirmed
event NewAddyConfirmed(address indexed addr, uint256 addyId, string description, string registry)
NewAddyPending
event NewAddyPending(address indexed addr, string description, uint256 confirmBlock, string registry)
NewPendingAddyCancelled
event NewPendingAddyCancelled(string description, address indexed addr, uint256 initiatedBlock, uint256 confirmBlock, string registry)
errors
No errors.
creation bytecode
0x6125465150346101c15760206126a35f395f518060a01c6101c1576101405261014051156101c1575f6040526101405160605260403660803761004061009c565b60406126c3604039600f610160527f4c65676f52656769737472792e76790000000000000000000000000000000000610180526101606020815101808260805e505061008a610192565b6124a66101c561000039612566610000f35b604051156100ab5760016100b1565b60605115155b156101c157604051156100c4576040515f555b606051156100d3576060516005555b6040608060c05e60c0516100e85760016100ed565b60e051155b1561016757606051156101c15760605163ed860576610100526020610100600461011c845afa61011f573d5f5f3e3d5ffd5b60203d106101c15761010090505160c05260605163c55728b0610100526020610100600461011c845afa610155573d5f5f3e3d5ffd5b60203d106101c15761010090505160e0525b60e05160c05110156101c15760c0516124a65260e0516124c652606051156101905760c0516004555b565b60605160405110156101c1576040516124e652606051612506526080516125265260a051612546526001600855565b5f80fd5f3560e01c60026028820660011b61245601601e395f51565b6353aa4307811861005657602436103417612452576004358060a01c612452576102605260206102605161016052610051610280611275565b610280f35b63a233809781186111a1573461245257600f5460405260206040f35b633f561eff8118610090573461245257600354151560405260206040f35b63011bb53781186111a157606436103417612452576004358060a01c61245257610260526024356004018035604081116124525750602081350180826102803750506044358060021c612452576102e05233610160526100f1610300611275565b61030051156124525761026051606052602061028051018061028060805e5061011b610320611315565b61032051610300526103005115610141576102e051600d610260516020525f5260405f20555b6020610300f35b6399572d6f81186111a157602436103417612452576004358060a01c61245257610160526101776101e06111a5565b6101e0805160208160051b0180836101805e505050335f6101e0525f61018051600281116124525780156101cc57905b8060051b6101a0015183186101c15760016101e0526101cc565b6001018181186101a7575b50506101e051905015612452576101605160016101e0525f610180516002811161245257801561021c57905b8060051b6101a001518318610211575f6101e05261021c565b6001018181186101f8575b50506101e05190501561245257610160513b156124525761023e6101e06112d4565b6101e05115610251576101605115612452575b4360045480820182811061245257905090506101e05261016051600155436002556101e051600355610160515f547fa8e5a115434955f3c91f53089861da9b575399fbfbc1fc8b345ae6a18b0f193e6101e051610200526020610200a3005b636e4fd9c881186111a15734612452576001546040526002546060526003546080526040511561245257608051156102ed576080514310156102ef565b5f5b15612452576040513318612452575f5460a0526040515f555f6001555f6002555f60035560405160a0517fb5dfe18540f75a87f8c7963e7f4942e9392be572b787d486d7868ac53a5bdf5b6040606060c05e604060c0a3005b63366836cc81186111a15734612452573361016052610368610260611275565b61026051156124525760015461026052600254610280526003546102a0526102a05115612452575f6001555f6002555f600355610260517f4301277e72c59c5071608882749a82a210817721ba94066744cea89211d3838060406102806102c05e60406102c0a2005b63a908dc80811861046857602436103417612452576003546124525733610160526103fd610260611275565b61026051156124525760206124a65f395f51600435101561041e575f61042d565b60206124c65f395f5160043511155b15612452576004356004557fb8d7f2c6802e04bfd3abb436c2b7b52bd4b37872b53bd1150146816d66ac7de2600435610260526020610260a1005b63c55728b0811861048657346124525760206124c660403960206040f35b63761de4c881186111a1576024361034176124525760208060405260066004356020525f5260405f206003810190508160400160208254015f81601f0160051c600381116124525780156104ec57905b808501548160051b8501526001018181186104d6575b5050508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506040f35b635aa6e67581186105355734612452575f5460405260206040f35b636eb5c6bd811861059257604436103417612452576024358060a01c61245257610340523361016052610569610360611275565b610360511561245257602060043560e052610340516101005261058d610360611807565b610360f35b6372cb00dd81186111a1576024361034176124525760206004356040526105b9606061179e565b6060f35b632524081081186105e557346124525760015460405260025460605260035460805260606040f35b63c17962c8811861062b5760243610341761245257336101605261060a610260611275565b61026051156124525760206004356040526106266102606122ee565b610260f35b634b0313a081186111a157602436103417612452576004358060a01c61245257606052602060605160405261066060806123a9565b6080f35b63f40b1697811861068057346124525760045460405260206040f35b63e21d79cf81186111a1576024361034176124525733610160526106a5610360611275565b61036051156124525760043560e0526106bf610380611995565b610380516103605261036051156107465760066004356020525f5260405f2054610380526103805163ab96e0796103a0526004356103c05260206103a060246103bc5f855af1610711573d5f5f3e3d5ffd5b3d602081183d6020100218806103a0016103c011612452576103a0518060011c612452576103e052506103e090505115612452575b6020610360f35b63ed860576811861076b57346124525760206124a660403960206040f35b63678c147e81186111a15760243610341761245257602060043560605260066004356020525f5260405f20546080526107a460c0611d93565b60c0f35b63f53e044381186111a157602436103417612452576004358060a01c6124525760605260206060516040526107dd60806112dd565b6080f35b6321bb581081186111a157602436103417612452576004358060a01c61245257610260523361016052610815610280611275565b610280511561245257610260516060526108306102a0611455565b6102a0516102805261028051610860575f600d610260516020525f5260405f20555f6102a05260206102a0610902565b6102605163ab96e0796102a052610280516102c05260206102a060246102bc5f855af161088f573d5f5f3e3d5ffd5b3d602081183d6020100218806102a0016102c011612452576102a0518060011c612452576102e052506102e09050511561245257600d610260516020525f5260405f20546102a0526102a051600e610280516020525f5260405f20555f600d610260516020525f5260405f205560206102805bf35b634ae227b981186111a157602436103417612452576004358060a01c61245257610260523361016052610938610280611275565b61028051156124525760206102605160405261095561028061166c565b610280f35b63834d5eb481186111a157604436103417612452576024358060a01c6124525760e052602060043560605260e05160805260066004356020525f5260405f205460a0526109a86101006117b9565b610100f35b638283b7ec81186111a1576024361034176124525733610160526109d26102c0611275565b6102c051156124525760206004356040526109ee6102c0611c25565b6102c0f35b63e46989bd8118610a3957602436103417612452573361016052610a18610300611275565b610300511561245257602060043560c052610a34610300611dbe565b610300f35b63d5ab570d81186111a157602436103417612452576004358060a01c612452576060526020606051604052610a6e6080612422565b6080f35b63b307a5b681186111a157602436103417612452573361016052610a97610320611275565b610320511561245257602060043560c052610ab3610320611f3d565b610320f35b63b2cfc4158118610afe57602436103417612452573361016052610add6102a0611275565b6102a05115612452576020600435604052610af96102a0612192565b6102a0f35b632f36434581186111a15734612452576020610b1a60606123e6565b6060f35b6309af6f998118610b3a573461245257600c5460405260206040f35b638d17f99181186111a157602436103417612452576020600435604052610b6160606123bd565b6060f35b63d60f31e981186111a157346124525760085460405260206040f35b6347893ce381186111a157602436103417612452576004358060a01c612452576060526020606051604052610bb66080612393565b6080f35b63ab9f7f3a81186111a1576024361034176124525760208060405260066004356020525f5260405f208160400160808254825260018301546020830152600283015460408301528060608301526003830181830160208254015f81601f0160051c60038111612452578015610c4157905b808501548160051b850152600101818118610c2b575b5050508051806020830101601f825f03163682375050601f19601f82516020010116905090508101905090509050810190506040f35b636777ed5281186111a15734612452576020610c9360406123d1565b6040f35b63eb1cee5581186111a15734612452576020610cb3604061240d565b6040f35b63e8689daa81186111a157602436103417612452576004358060a01c61245257604052604051610cee575f60605260206060610df2565b600854606052600160605180600111612452576001810390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111612452578015610de7578101905b80608052600e6080516020525f5260405f205460a052600160a0511415610ddc5760066080516020525f5260405f205460c05260c05163e8689daa61010052604051610120526020610100602461011c845afa610d97573d5f5f3e3d5ffd5b3d602081183d602010021880610100016101201161245257610100518060a01c61245257610140525061014090505160e05260e05115610ddc575050602060e0610df2565b600101818118610d38575b50505f608052602060805bf35b635f03f86d81186111a157604436103417612452576004358060a01c612452576040526024358060a01c61245257606052604051610e33576001610e38565b606051155b15610e4a575f60a052602060a0611092565b5f60805260085460a052600160a05180600111612452576001810390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161245257801561108b578101905b8060c052600e60c0516020525f5260405f205460e052600160e051141561108057600660c0516020525f5260405f20546101005261010051636aa06de06103205260605161034052610220610320602461033c845afa610efa573d5f5f3e3d5ffd5b3d61022081183d610220100218806103200161034011612452576103206103205161032001106124525761032051610320018161032001815160051b60200182011161245257600f8151116124525780515f81600f8111612452578015610f8357905b8060051b6020850101518060a01c612452578160051b6105800152600101818118610f5d575b505080610560525050506105609050805160208160051b0180836101205e5050506101205115611080575f61012051600f811161245257801561107d57905b8060051b610140015161032052610320511561107257610320516370a0823161036052604051610380526020610360602461037c845afa611005573d5f5f3e3d5ffd5b60203d10612452576103609050516103405261034051156110725760805161010051636331f17f6103605260406103206103805e6020610360604461037c845afa611052573d5f5f3e3d5ffd5b60203d106124525761036090505180820182811061245257905090506080525b600101818118610fc2575b50505b600101818118610e98575b5050602060805bf35b63acf48c9b81186111a157602436103417612452576004358060a01c612452576102605233610160526110c8610280611275565b610280511561245257610260516040526110e3610280612422565b610280516110fa575f6102a05260206102a0611137565b61026051600f55610260517f96ea9d099c663addb66ffe66dede03bb7b96318d96dcfacd068b343b771a45795f610280a260016102805260206102805bf35b635b18214c81186111a157602436103417612452576004358060a01c61245257604052600d6040516020525f5260405f205460605260206060f35b63aa1cbd7381186111a15760243610341761245257600e6004356020525f5260405f205460405260206040f35b5f5ffd5b5f6040525f5460a05260a051156111d557604051600181116124525760a0518160051b6060015260018101604052505b60055460c05260c051156112615760c051635aa6e675610100526020610100600461011c845afa611208573d5f5f3e3d5ffd5b3d602081183d602010021880610100016101201161245257610100518060a01c61245257610140525061014090505160e05260e0511561126157604051600181116124525760e0518160051b6060015260018101604052505b60405160208160051b01806040845e505050565b610160516112846101e06111a5565b6101e05f610240525f8151600281116124525780156112c557905b8060051b60208401015184186112ba576001610240526112c5565b60010181811861129f575b50506102405190509050815250565b60055415815250565b6040516112eb5760016112f1565b6040513b155b156112ff575f815250611313565b60076040516020525f5260405f2054158152505b565b60605160405261132560e06112dd565b60e051611335575f815250611453565b43600c54808201828110612452579050905060e05260096060516020525f5260405f206020608051015f81601f0160051c6003811161245257801561138d57905b8060051b6080015181850155600101818118611376575b50505043600382015560e0516004820155506060517f2cce98f9c9904c7e1863a6535ef065dae64ce06bf933752a09438ad7fd4ce4a4606080610100528061010001602060805101806080835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101905060e0516101205280610140528061010001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610100a260018152505b565b60096060516020525f5260405f2060208154015f81601f0160051c6003811161245257801561149757905b808401548160051b60800152600101818118611480575b505050600381015460e0526004810154610100525061010051156114c157610100514310156114c3565b5f5b15612452576060516040526114d96101206112dd565b610120516115085760096060516020525f5260405f205f81555f60038201555f6004820155505f81525061166a565b600854610120526101205160076060516020525f5260405f205561012051600181018181106124525790506008556006610120516020525f5260405f20606051815560016001820155426002820155602060805101600382015f82601f0160051c6003811161245257801561159057905b8060051b6080015181840155600101818118611579575b505050505060096060516020525f5260405f205f81555f60038201555f6004820155506060517fd08720847a45acb8fbc34f751fa443fdc7b097e5359476aeb647326b43d89b276060610120516101405280610160528061014001602060805101806080835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101905080610180528061014001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610140a2610120518152505b565b60096040516020525f5260405f2060208154015f81601f0160051c600381116124525780156116ae57905b808401548160051b60600152600101818118611697575b505050600381015460c052600481015460e0525060e051156124525760096040516020525f5260405f205f81555f60038201555f6004820155506040517f71d05dac0ee786bf4c6b1d316eff79e7ff3b33384f47b02ac98d1ba995580965608080610100528061010001602060605101806060835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050604060c06101205e80610160528061010001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610100a26001815250565b604051156117b257600854604051106117b4565b5f5b815250565b6060516040526117c960c061179e565b60c0516117d9575f815250611805565b6080516040526117e960c06112dd565b60c0516117f9575f815250611805565b60a05160805114158152505b565b600660e0516020525f5260405f208054610120526001810154610140526002810154610160526003810160208154015f81601f0160051c6003811161245257801561186657905b808401548160051b610180015260010181811861184e575b5050505050606060e060605e61187d6101e06117b9565b6101e05161188e575f815250611993565b43600c5480820182811061245257905090506101e052600a60e0516020525f5260405f206101005181554360018201556101e05160028201555061012051610100517f01687d75e9102d37dfe9ffcccf95cdc57a49c67846f81c92d8b0b74061b06fc060a060e05161020052806102205280610200016020610180510180610180835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101905061014051610240526101e0516102605280610280528061020001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610200a360018152505b565b600a60e0516020525f5260405f208054610100526001810154610120526002810154610140525061014051156119d157610140514310156119d3565b5f5b1561245257600660e0516020525f5260405f2080546101605260018101546101805260028101546101a0526003810160208154015f81601f0160051c60038111612452578015611a3757905b808401548160051b6101c00152600101818118611a1f575b50505050506101605161022052604060e060605e6102205160a052611a5d6102406117b9565b61024051611a8c57600a60e0516020525f5260405f205f81555f60018201555f6002820155505f815250611c23565b6101005161016052426101a052610180516001810181811061245257905061018052600660e0516020525f5260405f206101605181556101805160018201556101a051600282015560206101c05101600382015f82601f0160051c60038111612452578015611b0f57905b8060051b6101c0015181840155600101818118611af7575b505050505060e0516007610100516020525f5260405f20556102205115611b42575f6007610220516020525f5260405f20555b600a60e0516020525f5260405f205f81555f60018201555f60028201555061022051610100517f3b06050dfa824eea1510109363ea3d85ac2aa57cf69efe155938f36f568031a3608060e051610240528061026052806102400160206101c05101806101c0835e508051806020830101601f825f03163682375050601f19601f825160200101169050810190506101805161028052806102a0528061024001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610240a360018152505b565b600a6040516020525f5260405f2080546060526001810154608052600281015460a0525060a0511561245257600a6040516020525f5260405f205f81555f60018201555f60028201555060066040516020525f5260405f20805460c052600181015460e0526002810154610100526003810160208154015f81601f0160051c60038111612452578015611ccc57905b808401548160051b6101200152600101818118611cb4575b505050505060c0516060517f9e493b9eb1d5c566844859068a1f063d64bccdc3dbc607cae2e175e7d6f03fed60a060405161018052806101a05280610180016020610120510180610120835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050604060806101c05e80610200528061018001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610180a36001815250565b606051604052611da360a061179e565b60a051611db3575f815250611dbc565b60805115158152505b565b600660c0516020525f5260405f20805460e0526001810154610100526002810154610120526003810160208154015f81601f0160051c60038111612452578015611e1c57905b808401548160051b6101400152600101818118611e04575b5050505050604060c060605e611e336101a0611d93565b6101a051611e44575f815250611f3b565b43600c5480820182811061245257905090506101a052600b60c0516020525f5260405f204381556101a05160018201555060e0517ff03f36efd9a6745b1f2a7418f713b5aa4fc17724373629c416a4a9ee39646c9c60a060c0516101c052806101e052806101c0016020610140510180610140835e508051806020830101601f825f03163682375050601f19601f8251602001011690508101905061010051610200526101a051610220528061024052806101c001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506101c0a260018152505b565b600b60c0516020525f5260405f20805460e052600181015461010052506101005115611f6f5761010051431015611f71565b5f5b1561245257600660c0516020525f5260405f208054610120526001810154610140526002810154610160526003810160208154015f81601f0160051c60038111612452578015611fd557905b808401548160051b6101800152600101818118611fbd575b5050505050610120516101e05260c0516060526101e051608052611ffa610200611d93565b6102005161202357600b60c0516020525f5260405f205f81555f6001820155505f815250612190565b5f610120524261016052610140516001810181811061245257905061014052600660c0516020525f5260405f2061012051815561014051600182015561016051600282015560206101805101600382015f82601f0160051c600381116124525780156120a357905b8060051b61018001518184015560010181811861208b575b50505050505f60076101e0516020525f5260405f2055600b60c0516020525f5260405f205f81555f6001820155506101e0517fc1e035d73fc8ccfe4a812e6f8953a5913518853f233017fe0adfa30e7aabe9fe608060c05161020052806102205280610200016020610180510180610180835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610140516102405280610260528061020001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610200a260018152505b565b600b6040516020525f5260405f2080546060526001810154608052506080511561245257600b6040516020525f5260405f205f81555f60018201555060066040516020525f5260405f20805460a052600181015460c052600281015460e0526003810160208154015f81601f0160051c6003811161245257801561222a57905b808401548160051b6101000152600101818118612212575b505050505060a0517fea449691307f19701c426c5b541c78f5ede5249371868167c096b1ac033cef2560a060405161016052806101805280610160016020610100510180610100835e508051806020830101601f825f03163682375050601f19601f82516020010116905081019050604060606101a05e806101e0528061016001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f82516020010116905081019050610160a26001815250565b60206124e65f395f516040511015612306575f612315565b60206125065f395f5160405111155b1561245257604051600c557f034a5a1ad3f8d4bd6ef82e48bf4b6b7fe8ece7216d39c9f258c13b5fe2e4ecfb60406040516060528060805280606001602060206125265f395f5101806125268339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506060a16001815250565b60076040516020525f5260405f20541515815250565b60076040516020525f5260405f2054815250565b60066040516020525f5260405f2054815250565b60085460018103818111612452579050815250565b6008546001810381811161245257905060405260066040516020525f5260405f2054815250565b60085460018103818111612452579050815250565b6040513b612431576001612436565b604051155b15612444575f815250612450565b600f5460405114158152505b565b5f80fd03d10b6511a107a811390df411a1001811a109040bba1094095a051a074d11a102b011a10cb711a109ad0c9711a1066407e111a10c77117411a109f311a1014805bd0b1e11a10b8103480ab80a7200728558209b257833578ae44e55c34ae25a0f92f77a545178b17526b11e160652e955d2ad1924a681185018c0a1657679706572830004010038000000000000000000000000dccab9855d7ee558409ebdf358a3a44a8b2415b300000000000000000000000000000000000000000000000000000000000054600000000000000000000000000000000000000000000000000000000000049d40