0 txs
0 calls
constructor
No constructor.
functions
ADDRESSES_PROVIDER
viewfunction ADDRESSES_PROVIDER() view returns (address)
getStrategies
viewfunction getStrategies() view returns (address[])
lastRebalanceTimestamp
viewfunction lastRebalanceTimestamp() view returns (uint256)
POOL
viewfunction POOL() view returns (address)
__Vault_init
nonpayablefunction __Vault_init(address[] _strategies, tuple[] _initOperations)
deposit
nonpayablefunction deposit(address token, uint256 amount)
executeOperation
nonpayablefunction executeOperation(address token, uint256 amount, uint256 premium, address initiator, bytes params) returns (bool)
onMorphoFlashLoan
nonpayablefunction onMorphoFlashLoan(uint256 amount, bytes data)
readState
nonpayablefunction readState() returns (tuple)
rebalance
nonpayablefunction rebalance(uint256 stateTimestamp, int256 _maxLoss, tuple[] _operations) returns (int256 loss)
setOperator
nonpayablefunction setOperator(address account, bool _operator)
setStrategies
nonpayablefunction setStrategies(address[] _strategies)
withdraw
nonpayablefunction withdraw(address token, uint256 amount)
events
Deposit
event Deposit(address token, uint256 amount)
Init
event Init()
Initialized
event Initialized(uint64 version)
Loss
event Loss(int256 loss)
Withdraw
event Withdraw(address token, uint256 amount)
errors
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
creation bytecode
0x60806040523461002057610011610025565b612bd5620000318239612bd590f35b61002b565b60405190565b600080fdfe60806040526004361015610013575b610aa4565b61001e6000356100ed565b80630542975c146100e85780631b11d0ff146100e35780632187efef146100de5780632778c334146100d957806331f57072146100d457806347e7ef24146100cf578063558a7297146100ca5780637535d246146100c55780639a4620b7146100c0578063b49a60bb146100bb578063b83d8157146100b6578063cbeb4c10146100b15763f3fef3a30361000e57610a70565b610a37565b610965565b6108d0565b6107fb565b61078f565b61072c565b6106a6565b610614565b610598565b610410565b6102f0565b610178565b60e01c90565b60405190565b600080fd5b600080fd5b600091031261010e57565b6100fe565b60018060a01b031690565b90565b61013561013061013a92610113565b61011e565b610113565b90565b61014690610121565b90565b6101529061013d565b90565b61015e90610149565b9052565b919061017690600060208501940190610155565b565b346101a857610188366004610103565b6101a4610193610d4a565b61019b6100f3565b91829182610162565b0390f35b6100f9565b600080fd5b6101bb90610113565b90565b6101c7816101b2565b036101ce57565b600080fd5b905035906101e0826101be565b565b90565b6101ee816101e2565b036101f557565b600080fd5b90503590610207826101e5565b565b600080fd5b600080fd5b600080fd5b909182601f830112156102525781359167ffffffffffffffff831161024d57602001926001830284011161024857565b610213565b61020e565b610209565b91909160a0818403126102c35761027183600083016101d3565b9261027f81602084016101fa565b9261028d82604085016101fa565b9261029b83606083016101d3565b92608082013567ffffffffffffffff81116102be576102ba9201610218565b9091565b6101ad565b6100fe565b151590565b6102d6906102c8565b9052565b91906102ee906000602085019401906102cd565b565b3461032757610323610312610306366004610257565b949390939291926111c7565b61031a6100f3565b918291826102da565b0390f35b6100f9565b909182601f830112156103665781359167ffffffffffffffff831161036157602001926020830284011161035c57565b610213565b61020e565b610209565b909182601f830112156103a55781359167ffffffffffffffff83116103a057602001926020830284011161039b57565b610213565b61020e565b610209565b909160408284031261040557600082013567ffffffffffffffff811161040057836103d691840161032c565b929093602082013567ffffffffffffffff81116103fb576103f7920161036b565b9091565b6101ad565b6101ad565b6100fe565b60000190565b346104425761042c6104233660046103aa565b92919091611619565b6104346100f3565b8061043e8161040a565b0390f35b6100f9565b610450906101e2565b9052565b5190565b60209181520190565b60200190565b5190565b60209181520190565b60005b838110610488575050906000910152565b806020918301518185015201610477565b601f801991011690565b6104c26104cb6020936104d0936104b981610467565b9384809361046b565b95869101610474565b610499565b0190565b906104de916104a3565b90565b60200190565b906104fb6104f483610454565b8092610458565b908161050c60208302840194610461565b926000915b83831061052057505050505090565b9091929394602061054261053c838560019503875289516104d4565b976104e1565b9301930191939290610511565b61057c916020604082019261056c60008201516000850190610447565b01519060208184039101526104e7565b90565b610595916020820191600081840391015261054f565b90565b346105c8576105a8366004610103565b6105c46105b3611774565b6105bb6100f3565b9182918261057f565b0390f35b6100f9565b91909160408184031261060f576105e783600083016101fa565b92602082013567ffffffffffffffff811161060a576106069201610218565b9091565b6101ad565b6100fe565b346106435761062d6106273660046105cd565b91611937565b6106356100f3565b8061063f8161040a565b0390f35b6100f9565b610651906101b2565b90565b61065d81610648565b0361066457565b600080fd5b9050359061067682610654565b565b91906040838203126106a1578061069561069e9260008601610669565b936020016101fa565b90565b6100fe565b346106d5576106bf6106b9366004610678565b90611be0565b6106c76100f3565b806106d18161040a565b0390f35b6100f9565b6106e3816102c8565b036106ea57565b600080fd5b905035906106fc826106da565b565b9190604083820312610727578061071b61072492600086016101d3565b936020016106ef565b90565b6100fe565b3461075b5761074561073f3660046106fe565b90611c92565b61074d6100f3565b806107578161040a565b0390f35b6100f9565b6107699061013d565b90565b61077590610760565b9052565b919061078d9060006020850194019061076c565b565b346107bf5761079f366004610103565b6107bb6107aa611cbb565b6107b26100f3565b91829182610779565b0390f35b6100f9565b906020828203126107f657600082013567ffffffffffffffff81116107f1576107ed920161032c565b9091565b6101ad565b6100fe565b3461082a5761081461080e3660046107c4565b90611fce565b61081c6100f3565b806108268161040a565b0390f35b6100f9565b5190565b60209181520190565b60200190565b61084b906101b2565b9052565b9061085c81602093610842565b0190565b60200190565b9061088361087d6108768461082f565b8093610833565b9261083c565b9060005b8181106108945750505090565b9091926108ad6108a7600192865161084f565b94610860565b9101919091610887565b6108cd9160208201916000818403910152610866565b90565b34610900576108e0366004610103565b6108fc6108eb6120a2565b6108f36100f3565b918291826108b7565b0390f35b6100f9565b1c90565b90565b61091c9060086109219302610905565b610909565b90565b9061092f915461090c565b90565b61093f6002600090610924565b90565b61094b906101e2565b9052565b919061096390600060208501940190610942565b565b3461099557610975366004610103565b610991610980610932565b6109886100f3565b9182918261094f565b0390f35b6100f9565b90565b6109a68161099a565b036109ad57565b600080fd5b905035906109bf8261099d565b565b91606083830312610a0f576109d982600085016101fa565b926109e783602083016109b2565b92604082013567ffffffffffffffff8111610a0a57610a06920161036b565b9091565b6101ad565b6100fe565b610a1d9061099a565b9052565b9190610a3590600060208501940190610a14565b565b34610a6b57610a67610a56610a4d3660046109c1565b929190916123bc565b610a5e6100f3565b91829182610a21565b0390f35b6100f9565b34610a9f57610a89610a83366004610678565b906124e2565b610a916100f3565b80610a9b8161040a565b0390f35b6100f9565b600080fd5b600090565b90565b61ffff1690565b610acc610ac7610ad192610aae565b61011e565b610ab1565b90565b634e487b7160e01b600052601160045260246000fd5b610af390610ab1565b61ffff8114610b025760010190565b610ad4565b5490565b610b1f610b1a610b2492610ab1565b61011e565b6101e2565b90565b634e487b7160e01b600052603260045260246000fd5b600052602060002090565b610b5181610b07565b821015610b6c57610b63600191610b3d565b91020190600090565b610b27565b60018060a01b031690565b610b8c906008610b919302610905565b610b71565b90565b90610b9f9154610b7c565b90565b634e487b7160e01b600052604160045260246000fd5b90610bc290610499565b810190811067ffffffffffffffff821117610bdc57604052565b610ba2565b90610bf4610bed6100f3565b9283610bb8565b565b67ffffffffffffffff8111610c1457610c10602091610499565b0190565b610ba2565b90610c2b610c2683610bf6565b610be1565b918252565b606090565b3d600014610c5257610c463d610c19565b903d6000602084013e5b565b610c5a610c30565b90610c50565b90565b610c77610c72610c7c92610c60565b61011e565b6101e2565b90565b610c8890610113565b90565b610c9481610c7f565b03610c9b57565b600080fd5b90505190610cad82610c8b565b565b90602082820312610cc957610cc691600001610ca0565b90565b6100fe565b610cd790610121565b90565b610ce390610cce565b90565b60209181520190565b60007f4d6f7270686f2061646472657373206e6f7420666f756e640000000000000000910152565b610d246018602092610ce6565b610d2d81610cef565b0190565b610d479060208101906000818303910152610d17565b90565b610d52610aa9565b50610d5d6000610ab8565b5b80610d7a610d74610d6f6001610b07565b6101e2565b91610b0b565b1015610e4157600080610d98610d9260018590610b48565b90610b94565b610da06100f3565b610dcc81610dbd600460208301630bd0e0e960e31b81520161040a565b60208201810382520382610bb8565b602081019051915afa90610dde610c35565b9180610e1e575b610df857610df39150610aea565b610d5e565b50610e16610e1b916020610e0b82610467565b818301019101610caf565b610cda565b90565b50610e2882610467565b610e3b610e356020610c63565b916101e2565b14610de5565b610e496100f3565b62461bcd60e51b815280610e5f60048201610d31565b0390fd5b600090565b60001c90565b60ff1690565b610e80610e8591610e68565b610e6e565b90565b610e929054610e74565b90565b60007f214e6f74526562616c616e63696e670000000000000000000000000000000000910152565b610eca600f602092610ce6565b610ed381610e95565b0190565b610eed9060208101906000818303910152610ebd565b90565b15610ef757565b610eff6100f3565b62461bcd60e51b815280610f1560048201610ed7565b0390fd5b610f229061013d565b90565b15610f2c57565b600080fd5b67ffffffffffffffff8111610f495760208091020190565b610ba2565b600080fd5b600080fd5b610f6181610ab1565b03610f6857565b600080fd5b90503590610f7a82610f58565b565b600080fd5b90826000939282370152565b90929192610fa2610f9d82610bf6565b610be1565b93818552602085019082840111610fbe57610fbc92610f81565b565b610f7c565b9080601f83011215610fe157816020610fde93359101610f8d565b90565b610209565b91909160408184031261103a57610ffd6040610be1565b9261100b8160008401610f6d565b6000850152602082013567ffffffffffffffff81116110355761102e9201610fc3565b6020830152565b610f53565b610f4e565b92919061105361104e82610f31565b610be1565b93818552602080860192028101918383116110aa5781905b838210611079575050505050565b813567ffffffffffffffff81116110a55760209161109a8784938701610fe6565b81520191019061106b565b610209565b610213565b9080601f830112156110cd578160206110ca9335910161103f565b90565b610209565b9060208282031261110357600082013567ffffffffffffffff81116110fe576110fb92016110af565b90565b6101ad565b6100fe565b61111190610121565b90565b61111d90611108565b90565b6111299061013d565b90565b61113b611141919392936101e2565b926101e2565b820180921161114c57565b610ad4565b60e01b90565b90505190611164826106da565b565b906020828203126111805761117d91600001611157565b90565b6100fe565b61118e906101b2565b9052565b9160206111b49294936111ad60408201966000830190611185565b0190610942565b565b6111be6100f3565b3d6000823e3d90fd5b611226611221611231949760209761121861122c96986111e5610e63565b506111f86111f36003610e88565b610ef0565b61121261120c61120730610f19565b6101b2565b916101b2565b14610f25565b908101906110d2565b61259f565b50611114565b611120565b61126d600061125563095ea7b39661124f61124a611cbb565b610760565b9561112c565b956112786112616100f3565b97889687958694611151565b845260048401611192565b03925af180156112b95761128d575b50600190565b6112ad9060203d81116112b2575b6112a58183610bb8565b810190611166565b611287565b503d61129b565b6111b6565b60401c90565b6112d06112d5916112be565b610e6e565b90565b6112e290546112c4565b90565b67ffffffffffffffff1690565b6112fe61130391610e68565b6112e5565b90565b61131090546112f2565b90565b67ffffffffffffffff1690565b61133461132f61133992610aae565b61011e565b611313565b90565b90565b61135361134e6113589261133c565b61011e565b611313565b90565b6113649061013d565b90565b61137b61137661138092610aae565b61011e565b6101e2565b90565b60001b90565b9061139c67ffffffffffffffff91611383565b9181191691161790565b6113ba6113b56113bf92611313565b61011e565b611313565b90565b90565b906113da6113d56113e1926113a6565b6113c2565b8254611389565b9055565b60401b90565b906113ff68ff0000000000000000916113e5565b9181191691161790565b611412906102c8565b90565b90565b9061142d61142861143492611409565b611415565b82546113eb565b9055565b6114419061133f565b9052565b919061145990600060208501940190611438565b565b90919261146661267e565b9361147c611476600087016112d8565b156102c8565b9361148960008701611306565b8061149d6114976000611320565b91611313565b14806115c2575b906114b86114b2600161133f565b91611313565b1480611599575b6114ca9091156102c8565b9081611588575b50611565576114fb936114f06114e7600161133f565b600089016113c5565b85611552575b6115c9565b611503575b50565b611511906000809101611418565b60016115497fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2916115406100f3565b91829182611445565b0390a138611500565b611560600160008901611418565b6114f6565b61156d6100f3565b63f92ee8a960e01b8152806115846004820161040a565b0390fd5b6115939150156102c8565b386114d1565b506114ca6115a63061135b565b3b6115ba6115b46000611367565b916101e2565b1490506114bf565b50856114a4565b916115e19391926115d86126ac565b929091926126b6565b7f57a86f7d14ccde89e22870afe839e3011216827daa9b24e18629f0a1e9d6cc1461160a6100f3565b806116148161040a565b0390a1565b9061162593929161145b565b565b6116316040610be1565b90565b600090565b606090565b611646611627565b9060208083611653611634565b81520161165e611639565b81525050565b61166c61163e565b90565b67ffffffffffffffff81116116875760208091020190565b610ba2565b9061169e6116998361166f565b610be1565b918252565b606090565b60005b8281106116b757505050565b6020906116c26116a3565b81840152016116ab565b906116f16116d98361168c565b926020806116e7869361166f565b92019103906116a8565b565b60016116ff91016101e2565b90565b63ffffffff60e01b1690565b90565b61171d61172291611702565b61170e565b9052565b61173281600493611711565b0190565b9061174082610454565b811015611751576020809102010190565b610b27565b6117606040610be1565b90565b9061176d906101e2565b9052565b52565b61177c611664565b506117856126dc565b61179f61179961179430610f19565b6101b2565b916101b2565b148015611886575b6117b090610f25565b6117ba6001610b07565b906117c4826116cc565b906117cf6000611367565b5b806117e36117dd866101e2565b916101e2565b101561185d576118589061185161183e61182a61180b61180560018690610b48565b90610b94565b6118396309de30cd60e21b61181e6100f3565b93849160208301611726565b60208201810382520383610bb8565b612817565b85839161184b8383611736565b52611736565b51506116f3565b6117d0565b509150611883429161187a611870611756565b9360008501611763565b60208301611771565b90565b506117b06118926126dc565b6118ab6118a56118a06126e9565b6101b2565b916101b2565b1490506117a7565b60007f43616c6c6572206d757374206265204d6f7270686f0000000000000000000000910152565b6118e86015602092610ce6565b6118f1816118b3565b0190565b61190b90602081019060008183039101526118db565b90565b1561191557565b61191d6100f3565b62461bcd60e51b815280611933600482016118f5565b0390fd5b61198661198160209394611949612892565b9561195c6119576003610e88565b610ef0565b6119783361197261196c8a6101b2565b916101b2565b1461190e565b908101906110d2565b61259f565b5061199f61199a611995612a06565b611114565b611120565b6119c3600063095ea7b39593956119ce6119b76100f3565b97889687958694611151565b845260048401611192565b03925af18015611a0c576119e0575b50565b611a009060203d8111611a05575b6119f88183610bb8565b810190611166565b6119dd565b503d6119ee565b6111b6565b60007f4e4f545f415554484f52495a4544000000000000000000000000000000000000910152565b611a46600e602092610ce6565b611a4f81611a11565b0190565b611a699060208101906000818303910152611a39565b90565b15611a7357565b611a7b6100f3565b62461bcd60e51b815280611a9160048201611a53565b0390fd5b90611ac991611ac4611aa56126dc565b611abe611ab8611ab36126e9565b6101b2565b916101b2565b14611a6c565b611afe565b565b604090611af5611afc9496959396611aeb60608401986000850190611185565b6020830190611185565b0190610942565b565b611b0781611120565b9060206323b872dd92611b186126dc565b90611b406000611b2730610f19565b96611b4b89611b346100f3565b998a9788968795611151565b855260048501611acb565b03925af1918215611bdb57611b7192611b6c91600091611bad575b50610f25565b611120565b907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c91611ba8611b9f6100f3565b92839283611192565b0390a1565b611bce915060203d8111611bd4575b611bc68183610bb8565b810190611166565b38611b66565b503d611bbc565b6111b6565b90611bea91611a95565b565b90611c2091611c1b611bfc6126dc565b611c15611c0f611c0a6126e9565b6101b2565b916101b2565b14611a6c565b611c7c565b565b611c2b9061013d565b90565b90611c3890611c22565b600052602052604060002090565b90611c5260ff91611383565b9181191691161790565b90611c71611c6c611c7892611409565b611415565b8254611c46565b9055565b611c8b611c9092916000611c2e565b611c5c565b565b90611c9c91611bec565b565b600090565b611cac90610121565b90565b611cb890611ca3565b90565b611cc3611c9e565b50611cce6000610ab8565b5b80611ceb611ce5611ce06001610b07565b6101e2565b91610b0b565b1015611db257600080611d09611d0360018590610b48565b90610b94565b611d116100f3565b611d3d81611d2e6004602083016313561b5560e01b81520161040a565b60208201810382520382610bb8565b602081019051915afa90611d4f610c35565b9180611d8f575b611d6957611d649150610aea565b611ccf565b50611d87611d8c916020611d7c82610467565b818301019101610caf565b611caf565b90565b50611d9982610467565b611dac611da66020610c63565b916101e2565b14611d56565b611dba6100f3565b62461bcd60e51b815280611dd060048201610d31565b0390fd5b90611e0891611e03611de46126dc565b611dfd611df7611df26126e9565b6101b2565b916101b2565b14611a6c565b611fc0565b565b600190818003010490565b1b90565b91906008611e35910291611e2f60001984611e15565b92611e15565b9181191691161790565b611e53611e4e611e58926101e2565b61011e565b6101e2565b90565b90565b9190611e74611e6f611e7c93611e3f565b611e5b565b908354611e19565b9055565b600090565b611e9791611e91611e80565b91611e5e565b565b5b818110611ea5575050565b80611eb36000600193611e85565b01611e9a565b9091828110611ec8575b505050565b611ee6611ee0611eda611ef195611e0a565b92611e0a565b92610b3d565b918201910190611e99565b388080611ec3565b90680100000000000000008111611f225781611f17611f2093610b07565b90828155611eb9565b565b610ba2565b5090565b35611f35816101be565b90565b90565b90565b9091611f4a9083611f27565b9167ffffffffffffffff8311611fae57611f78611f72600192611f6d8686611ef9565b611f38565b92610b3d565b92049160005b838110611f8b5750505050565b6001906020611fa1611f9c86611f2b565b611f3b565b9401938184015501611f7e565b610ba2565b90611fbe9291611f3e565b565b90611fcc916001611fb3565b565b90611fd891611dd4565b565b606090565b60209181520190565b611ff4611ff991610e68565b610b71565b90565b6120069054611fe8565b90565b60010190565b9061202c61202661201f84610b07565b8093611fdf565b92610b3d565b9060005b81811061203d5750505090565b90919261205d61205760019261205287611ffc565b61084f565b94612009565b9101919091612030565b906120719161200f565b90565b9061209461208d926120846100f3565b93848092612067565b0383610bb8565b565b61209f90612074565b90565b6120aa611fda565b506120b56001612096565b90565b600090565b60007f4e6f744f70657261746f724f724f776e65720000000000000000000000000000910152565b6120f26012602092610ce6565b6120fb816120bd565b0190565b61211590602081019060008183039101526120e5565b90565b1561211f57565b6121276100f3565b62461bcd60e51b81528061213d600482016120ff565b0390fd5b9061216694939291612151612b1f565b8015612169575b61216190612118565b612304565b90565b506121616121756126dc565b61218e6121886121836126e9565b6101b2565b916101b2565b149050612158565b6121a26121a791610e68565b610909565b90565b6121b49054612196565b90565b60007f5374616c65537461746521000000000000000000000000000000000000000000910152565b6121ec600b602092610ce6565b6121f5816121b7565b0190565b61220f90602081019060008183039101526121df565b90565b1561221957565b6122216100f3565b62461bcd60e51b815280612237600482016121f9565b0390fd5b61224691369161103f565b90565b60007f214c6f7373457863656564730000000000000000000000000000000000000000910152565b61227e600c602092610ce6565b61228781612249565b0190565b6122a19060208101906000818303910152612271565b90565b156122ab57565b6122b36100f3565b62461bcd60e51b8152806122c96004820161228b565b0390fd5b906122da60001991611383565b9181191691161790565b906122f96122f461230092611e3f565b611e5b565b82546122cd565b9055565b936123a3936123446123499361234e9598975061232360016003611c5c565b61233e61233861233360026121aa565b6101e2565b916101e2565b11612212565b61223b565b61259f565b92836123867fdfc9e5f35b8a47d7e7c4e705cdbe661e5b32470501b38cffce5de28bdeecc4939161237d6100f3565b91829182610a21565b0390a161239c612396859261099a565b9161099a565b13156122a4565b6123ae4260026122e4565b6123ba60006003611c5c565b565b906123d09392916123cb6120b8565b612141565b90565b90612407916124026123e36126dc565b6123fc6123f66123f16126e9565b6101b2565b916101b2565b14611a6c565b612409565b565b61241281611120565b90602063a9059cbb926124236126dc565b906124426000879661244d6124366100f3565b98899687958694611151565b845260048401611192565b03925af19182156124dd576124739261246e916000916124af575b50610f25565b611120565b907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364916124aa6124a16100f3565b92839283611192565b0390a1565b6124d0915060203d81116124d6575b6124c88183610bb8565b810190611166565b38612468565b503d6124be565b6111b6565b906124ec916123d3565b565b6125026124fd61250792610aae565b61011e565b61099a565b90565b5190565b906125188261250a565b811015612529576020809102010190565b610b27565b6125389051610ab1565b90565b905051906125488261099d565b565b90602082820312612564576125619160000161253b565b90565b6100fe565b61257861257e9193929361099a565b9261099a565b8083019260008285121581831216928512911215161761259a57565b610ad4565b906125a86120b8565b506125b360006124ee565b916125be6000611367565b5b806125da6125d46125cf8561250a565b6101e2565b916101e2565b101561267a5761261a6125ee83839061250e565b51602061261161260b60016126056000860161252e565b90610b48565b90610b94565b91015190612817565b61262381610467565b6126366126306000611367565b916101e2565b1161264b575b50612646906116f3565b6125bf565b612646919461266d61267392602061266282610467565b81830101910161254a565b90612569565b939061263c565b5050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6126aa612b46565b565b6126b46126a2565b565b916126ca6126d494926126cf946001611fb3565b61223b565b61259f565b50565b600090565b6126e46126d7565b503390565b6126f16126d7565b507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b67ffffffffffffffff811161273557612731602091610499565b0190565b610ba2565b9092919261274f61274a82612717565b610be1565b9381855260208501908284011161276b5761276992610474565b565b610f7c565b9080601f8301121561278e5781602061278b9351910161273a565b90565b610209565b906020828203126127c457600082015167ffffffffffffffff81116127bf576127bc9201612770565b90565b6101ad565b6100fe565b5190565b6127ec6127f56020936127fa936127e3816127c9565b93848093610ce6565b95869101610474565b610499565b0190565b61281491602082019160008184039101526127cd565b90565b6000918291612824610c30565b5090602081019051915af461284161283a610c35565b91156102c8565b6128485790565b61286561288291602061285a82610467565b818301019101612793565b61286d6100f3565b91829162461bcd60e51b8352600483016127fe565b0390fd5b61288f9061013d565b90565b61289a6126d7565b506128a56000610ab8565b5b806128c26128bc6128b76001610b07565b6101e2565b91610b0b565b1015612989576000806128e06128da60018590610b48565b90610b94565b6128e86100f3565b61291481612905600460208301631ccef8dd60e21b81520161040a565b60208201810382520382610bb8565b602081019051915afa90612926610c35565b9180612966575b6129405761293b9150610aea565b6128a6565b5061295e61296391602061295382610467565b818301019101610caf565b612886565b90565b5061297082610467565b61298361297d6020610c63565b916101e2565b1461292d565b6129916100f3565b62461bcd60e51b8152806129a760048201610d31565b0390fd5b60007f4261736520746f6b656e206e6f7420666f756e64000000000000000000000000910152565b6129e06014602092610ce6565b6129e9816129ab565b0190565b612a0390602081019060008183039101526129d3565b90565b612a0e6126d7565b50612a196000610ab8565b5b80612a36612a30612a2b6001610b07565b6101e2565b91610b0b565b1015612afd57600080612a54612a4e60018590610b48565b90610b94565b612a5c6100f3565b612a8881612a7960046020830163084198f960e21b81520161040a565b60208201810382520382610bb8565b602081019051915afa90612a9a610c35565b9180612ada575b612ab457612aaf9150610aea565b612a1a565b50612ad2612ad7916020612ac782610467565b818301019101610caf565b612886565b90565b50612ae482610467565b612af7612af16020610c63565b916101e2565b14612aa1565b612b056100f3565b62461bcd60e51b815280612b1b600482016129ed565b0390fd5b612b27610e63565b50612b43612b3e6000612b386126dc565b90611c2e565b610e88565b90565b612b57612b51612b80565b156102c8565b612b5d57565b612b656100f3565b631afcd79f60e31b815280612b7c6004820161040a565b0390fd5b612b88610e63565b50612b9c6000612b9661267e565b016112d8565b9056fea264697066735822122094c8230249339e44b74b3f8629c636e38b9e81a9f893c96780bd6f616f17c19164736f6c63430008180033