@ensuro/core
Version:
Ensuro - Decentralized insurance protocol
425 lines (424 loc) • 33.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "LPManualWhitelistV20Upgraded",
"sourceName": "contracts/migration/LPManualWhitelistV20Upgraded.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IPolicyPool",
"name": "policyPool_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "NoZeroPolicyPool",
"type": "error"
},
{
"inputs": [],
"name": "OnlyPolicyPool",
"type": "error"
},
{
"inputs": [],
"name": "UpgradeCannotChangePolicyPool",
"type": "error"
},
{
"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": "enum IAccessManager.GovernanceActions",
"name": "action",
"type": "uint8"
},
{
"indexed": false,
"internalType": "address",
"name": "value",
"type": "address"
}
],
"name": "ComponentChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "enum IAccessManager.GovernanceActions",
"name": "action",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "GovernanceAction",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "whitelisted",
"type": "bool"
}
],
"name": "LPWhitelisted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [],
"name": "LP_WHITELIST_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IEToken",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "acceptsDeposit",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IEToken",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "providerTo",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "acceptsTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IEToken",
"name": "etk",
"type": "address"
},
{
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "acceptsWithdrawal",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currency",
"outputs": [
{
"internalType": "contract IERC20Metadata",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyPool",
"outputs": [
{
"internalType": "contract IPolicyPool",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "provider",
"type": "address"
},
{
"internalType": "bool",
"name": "whitelisted",
"type": "bool"
}
],
"name": "whitelistAddress",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60c060405230608052348015610013575f5ffd5b5060405161191f38038061191f83398101604081905261003291610133565b80806001600160a01b03811661005b57604051636b23cf0160e01b815260040160405180910390fd5b610063610077565b6001600160a01b031660a052506101609050565b5f54610100900460ff16156100e25760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610131575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610143575f5ffd5b81516001600160a01b0381168114610159575f5ffd5b9392505050565b60805160a0516117586101c75f395f81816101990152818161043e0152818161080d015281816109a801528181610b2d01528181610c290152610f5b01525f818161031e015281816103670152818161054a0152818161058a015261061701526117585ff3fe6080604052600436106100e4575f3560e01c80635c975abb116100875780639051c763116100575780639051c76314610264578063aad4148c14610283578063b9a45aac146102b6578063e5a6b10f146102d5575f5ffd5b80635c975abb146102065780635fcdca371461021d5780638129fc1c1461023c5780638456cb5914610250575f5ffd5b80633f4ba83a116100c25780633f4ba83a146101775780634d15eb031461018b5780634f1ef286146101d157806352d1902d146101e4575f5ffd5b806301ffc9a7146100e85780633659cfe61461011c57806337ee20dd1461013d575b5f5ffd5b3480156100f3575f5ffd5b50610107610102366004611360565b6102e9565b60405190151581526020015b60405180910390f35b348015610127575f5ffd5b5061013b61013636600461139b565b610314565b005b348015610148575f5ffd5b506101076101573660046113b6565b506001600160a01b03165f90815260fb602052604090205460ff16919050565b348015610182575f5ffd5b5061013b6103fa565b348015610196575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610113565b61013b6101df366004611408565b610540565b3480156101ef575f5ffd5b506101f861060b565b604051908152602001610113565b348015610211575f5ffd5b5060975460ff16610107565b348015610228575f5ffd5b506101076102373660046114ce565b6106bc565b348015610247575f5ffd5b5061013b6106e0565b34801561025b575f5ffd5b5061013b6107ea565b34801561026f575f5ffd5b5061010761027e3660046113b6565b61090e565b34801561028e575f5ffd5b506101f87fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156102c1575f5ffd5b5061013b6102d0366004611529565b610985565b3480156102e0575f5ffd5b506101b9610b2a565b5f6102f382610bb0565b8061030e57506001600160e01b0319821663f8722d8960e01b145b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103655760405162461bcd60e51b815260040161035c90611560565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ad5f5160206116dc5f395f51905f52546001600160a01b031690565b6001600160a01b0316146103d35760405162461bcd60e51b815260040161035c906115ac565b6103dc81610be5565b604080515f808252602082019092526103f791839190610d28565b50565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610498573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bc91906115f8565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a4808201925f92909190829003018186803b15801561051e575f5ffd5b505afa158015610530573d5f5f3e3d5ffd5b5050505061053c610e92565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105885760405162461bcd60e51b815260040161035c90611560565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105d05f5160206116dc5f395f51905f52546001600160a01b031690565b6001600160a01b0316146105f65760405162461bcd60e51b815260040161035c906115ac565b6105ff82610be5565b61053c82826001610d28565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106aa5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161035c565b505f5160206116dc5f395f51905f5290565b6001600160a01b0382165f90815260fb602052604090205460ff165b949350505050565b5f54610100900460ff16158080156106fe57505f54600160ff909116105b806107175750303b15801561071757505f5460ff166001145b61077a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161035c565b5f805460ff19166001179055801561079b575f805461ff0019166101001790555b6107a3610ee4565b80156103f7575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610867573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b91906115f8565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b03938416600482015260248101929092529091166044820152600160648201526084015f6040518083038186803b1580156108f0575f5ffd5b505afa158015610902573d5f5f3e3d5ffd5b505050506103f7610f1c565b6040516337ee20dd60e01b81526001600160a01b03808516600483015283166024820152604481018290525f9030906337ee20dd90606401602060405180830381865afa158015610961573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d89190611613565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2691906115f8565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201525f60648201526084015f6040518083038186803b158015610a8a575f5ffd5b505afa158015610a9c573d5f5f3e3d5ffd5b5050506001600160a01b0384165f90815260fb602052604090205460ff161515831515149050610b25576001600160a01b0383165f81815260fb6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a15b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bab91906115f8565b905090565b5f6001600160e01b031982166301ffc9a760e01b148061030e57506001600160e01b03198216634d15eb0360e01b1492915050565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca791906115f8565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a4808201925f92909190829003018186803b158015610d09575f5ffd5b505afa158015610d1b573d5f5f3e3d5ffd5b50505050610b2583610f59565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d5b57610b258361100a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610db5575060408051601f3d908101601f19168201909252610db29181019061162e565b60015b610e185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161035c565b5f5160206116dc5f395f51905f528114610e865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161035c565b50610b258383836110a5565b610e9a6110cf565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f54610100900460ff16610f0a5760405162461bcd60e51b815260040161035c90611645565b610f12611118565b610f1a61113e565b565b610f2461116c565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ec73390565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe391906115f8565b6001600160a01b0316146103f75760405163d2b3d33f60e01b815260040160405180910390fd5b6001600160a01b0381163b6110775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161035c565b5f5160206116dc5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110ae836111b2565b5f825111806110ba5750805b15610b25576110c983836111f1565b50505050565b60975460ff16610f1a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161035c565b5f54610100900460ff16610f1a5760405162461bcd60e51b815260040161035c90611645565b5f54610100900460ff166111645760405162461bcd60e51b815260040161035c90611645565b610f1a61121d565b60975460ff1615610f1a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161035c565b6111bb8161100a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061121683836040518060600160405280602781526020016116fc6027913961124f565b9392505050565b5f54610100900460ff166112435760405162461bcd60e51b815260040161035c90611645565b6097805460ff19169055565b60605f5f856001600160a01b03168560405161126b9190611690565b5f60405180830381855af49150503d805f81146112a3576040519150601f19603f3d011682016040523d82523d5f602084013e6112a8565b606091505b50915091506112b9868383876112c3565b9695505050505050565b606083156113315782515f0361132a576001600160a01b0385163b61132a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035c565b50816106d8565b6106d883838151156113465781518083602001fd5b8060405162461bcd60e51b815260040161035c91906116a6565b5f60208284031215611370575f5ffd5b81356001600160e01b031981168114611216575f5ffd5b6001600160a01b03811681146103f7575f5ffd5b5f602082840312156113ab575f5ffd5b813561121681611387565b5f5f5f606084860312156113c8575f5ffd5b83356113d381611387565b925060208401356113e381611387565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611419575f5ffd5b823561142481611387565b9150602083013567ffffffffffffffff81111561143f575f5ffd5b8301601f8101851361144f575f5ffd5b803567ffffffffffffffff811115611469576114696113f4565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611498576114986113f4565b6040528181528282016020018710156114af575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f608085870312156114e1575f5ffd5b84356114ec81611387565b935060208501356114fc81611387565b9250604085013561150c81611387565b9396929550929360600135925050565b80151581146103f7575f5ffd5b5f5f6040838503121561153a575f5ffd5b823561154581611387565b915060208301356115558161151c565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215611608575f5ffd5b815161121681611387565b5f60208284031215611623575f5ffd5b81516112168161151c565b5f6020828403121561163e575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122029a9df32817177485ac459624f0e4c9f97feff2d691f424dab2ed12748cebb9164736f6c634300081c0033",
"deployedBytecode": "0x6080604052600436106100e4575f3560e01c80635c975abb116100875780639051c763116100575780639051c76314610264578063aad4148c14610283578063b9a45aac146102b6578063e5a6b10f146102d5575f5ffd5b80635c975abb146102065780635fcdca371461021d5780638129fc1c1461023c5780638456cb5914610250575f5ffd5b80633f4ba83a116100c25780633f4ba83a146101775780634d15eb031461018b5780634f1ef286146101d157806352d1902d146101e4575f5ffd5b806301ffc9a7146100e85780633659cfe61461011c57806337ee20dd1461013d575b5f5ffd5b3480156100f3575f5ffd5b50610107610102366004611360565b6102e9565b60405190151581526020015b60405180910390f35b348015610127575f5ffd5b5061013b61013636600461139b565b610314565b005b348015610148575f5ffd5b506101076101573660046113b6565b506001600160a01b03165f90815260fb602052604090205460ff16919050565b348015610182575f5ffd5b5061013b6103fa565b348015610196575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610113565b61013b6101df366004611408565b610540565b3480156101ef575f5ffd5b506101f861060b565b604051908152602001610113565b348015610211575f5ffd5b5060975460ff16610107565b348015610228575f5ffd5b506101076102373660046114ce565b6106bc565b348015610247575f5ffd5b5061013b6106e0565b34801561025b575f5ffd5b5061013b6107ea565b34801561026f575f5ffd5b5061010761027e3660046113b6565b61090e565b34801561028e575f5ffd5b506101f87fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f323581565b3480156102c1575f5ffd5b5061013b6102d0366004611529565b610985565b3480156102e0575f5ffd5b506101b9610b2a565b5f6102f382610bb0565b8061030e57506001600160e01b0319821663f8722d8960e01b145b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103655760405162461bcd60e51b815260040161035c90611560565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ad5f5160206116dc5f395f51905f52546001600160a01b031690565b6001600160a01b0316146103d35760405162461bcd60e51b815260040161035c906115ac565b6103dc81610be5565b604080515f808252602082019092526103f791839190610d28565b50565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610498573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bc91906115f8565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a4808201925f92909190829003018186803b15801561051e575f5ffd5b505afa158015610530573d5f5f3e3d5ffd5b5050505061053c610e92565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105885760405162461bcd60e51b815260040161035c90611560565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105d05f5160206116dc5f395f51905f52546001600160a01b031690565b6001600160a01b0316146105f65760405162461bcd60e51b815260040161035c906115ac565b6105ff82610be5565b61053c82826001610d28565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106aa5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161035c565b505f5160206116dc5f395f51905f5290565b6001600160a01b0382165f90815260fb602052604090205460ff165b949350505050565b5f54610100900460ff16158080156106fe57505f54600160ff909116105b806107175750303b15801561071757505f5460ff166001145b61077a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161035c565b5f805460ff19166001179055801561079b575f805461ff0019166101001790555b6107a3610ee4565b80156103f7575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610867573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088b91906115f8565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b03938416600482015260248101929092529091166044820152600160648201526084015f6040518083038186803b1580156108f0575f5ffd5b505afa158015610902573d5f5f3e3d5ffd5b505050506103f7610f1c565b6040516337ee20dd60e01b81526001600160a01b03808516600483015283166024820152604481018290525f9030906337ee20dd90606401602060405180830381865afa158015610961573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d89190611613565b7fb494869573b0a0ce9caac5394e1d0d255d146ec7e2d30d643a4e1d78980f32357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2691906115f8565b6001600160a01b0316635ff57d2030833360405160e085901b6001600160e01b03191681526001600160a01b039384166004820152602481019290925290911660448201525f60648201526084015f6040518083038186803b158015610a8a575f5ffd5b505afa158015610a9c573d5f5f3e3d5ffd5b5050506001600160a01b0384165f90815260fb602052604090205460ff161515831515149050610b25576001600160a01b0383165f81815260fb6020908152604091829020805460ff19168615159081179091558251938452908301527f8ef34cf5cfaa6ce2f80f1ba2912749c912a8b07c4fb8e9949e928e7cb592918f910160405180910390a15b505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bab91906115f8565b905090565b5f6001600160e01b031982166301ffc9a760e01b148061030e57506001600160e01b03198216634d15eb0360e01b1492915050565b7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a50417fbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb27f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371907f176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca791906115f8565b60408051632b1cff1f60e01b815230600482015260248101859052604481018490523360648201526001608482015290516001600160a01b039290921691632b1cff1f9160a4808201925f92909190829003018186803b158015610d09575f5ffd5b505afa158015610d1b573d5f5f3e3d5ffd5b50505050610b2583610f59565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d5b57610b258361100a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610db5575060408051601f3d908101601f19168201909252610db29181019061162e565b60015b610e185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161035c565b5f5160206116dc5f395f51905f528114610e865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161035c565b50610b258383836110a5565b610e9a6110cf565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f54610100900460ff16610f0a5760405162461bcd60e51b815260040161035c90611645565b610f12611118565b610f1a61113e565b565b610f2461116c565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ec73390565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe391906115f8565b6001600160a01b0316146103f75760405163d2b3d33f60e01b815260040160405180910390fd5b6001600160a01b0381163b6110775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161035c565b5f5160206116dc5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110ae836111b2565b5f825111806110ba5750805b15610b25576110c983836111f1565b50505050565b60975460ff16610f1a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161035c565b5f54610100900460ff16610f1a5760405162461bcd60e51b815260040161035c90611645565b5f54610100900460ff166111645760405162461bcd60e51b815260040161035c90611645565b610f1a61121d565b60975460ff1615610f1a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161035c565b6111bb8161100a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061121683836040518060600160405280602781526020016116fc6027913961124f565b9392505050565b5f54610100900460ff166112435760405162461bcd60e51b815260040161035c90611645565b6097805460ff19169055565b60605f5f856001600160a01b03168560405161126b9190611690565b5f60405180830381855af49150503d805f81146112a3576040519150601f19603f3d011682016040523d82523d5f602084013e6112a8565b606091505b50915091506112b9868383876112c3565b9695505050505050565b606083156113315782515f0361132a576001600160a01b0385163b61132a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035c565b50816106d8565b6106d883838151156113465781518083602001fd5b8060405162461bcd60e51b815260040161035c91906116a6565b5f60208284031215611370575f5ffd5b81356001600160e01b031981168114611216575f5ffd5b6001600160a01b03811681146103f7575f5ffd5b5f602082840312156113ab575f5ffd5b813561121681611387565b5f5f5f606084860312156113c8575f5ffd5b83356113d381611387565b925060208401356113e381611387565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611419575f5ffd5b823561142481611387565b9150602083013567ffffffffffffffff81111561143f575f5ffd5b8301601f8101851361144f575f5ffd5b803567ffffffffffffffff811115611469576114696113f4565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611498576114986113f4565b6040528181528282016020018710156114af575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f608085870312156114e1575f5ffd5b84356114ec81611387565b935060208501356114fc81611387565b9250604085013561150c81611387565b9396929550929360600135925050565b80151581146103f7575f5ffd5b5f5f6040838503121561153a575f5ffd5b823561154581611387565b915060208301356115558161151c565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215611608575f5ffd5b815161121681611387565b5f60208284031215611623575f5ffd5b81516112168161151c565b5f6020828403121561163e575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122029a9df32817177485ac459624f0e4c9f97feff2d691f424dab2ed12748cebb9164736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}