[
{
"inputs": [
{
"internalType": "address",
"name": "_implementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
608060405234801561001057600080fd5b506040516104f23803806104f283398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104cb60279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60b18061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220e4729a9151ae035d045957efd7b00de729dcfc8e70be2ed0f1599f5e5c3a2fa264736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000007a6281961dd25a77eed884d215ac52cd3fd7852c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000