804 lines
44 KiB
JSON
804 lines
44 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "BridgeModuleRegistry",
|
|
"sourceName": "contracts/bridge/modules/BridgeModuleRegistry.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "target",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "AddressEmptyCode",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ERC1967InvalidImplementation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ERC1967NonPayable",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "FailedInnerCall",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InvalidInitialization",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotInitializing",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UUPSUnauthorizedCallContext",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "slot",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "UUPSUnsupportedProxiableUUID",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "version",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "Initialized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "success",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "ModuleExecuted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "priority",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ModuleRegistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "ModuleUnregistered",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "Upgraded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "MODULE_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UPGRADER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "UPGRADE_INTERFACE_VERSION",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "executeModule",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "result",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "executeModules",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes[]",
|
|
"name": "results",
|
|
"type": "bytes[]"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "getActiveModules",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "getModuleCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getModuleInfo",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "priority",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "registeredAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"internalType": "struct BridgeModuleRegistry.Module",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "getModules",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address[]",
|
|
"name": "",
|
|
"type": "address[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "admin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isModuleActive",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "moduleCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "moduleInfo",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "implementation",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "active",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "priority",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "registeredAt",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "modules",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "proxiableUUID",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "priority",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "registerModule",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "priority",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setModulePriority",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "enum BridgeModuleRegistry.ModuleType",
|
|
"name": "moduleType",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "module",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "unregisterModule",
|
|
"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"
|
|
}
|
|
],
|
|
"bytecode": "0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b604051611aca90816100d282396080518181816109b00152610a900152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610059565b63f92ee8a960e01b8152600490fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146112cd575081630c13192c146109135781631ad00182146110465781631f08998a14610fbe578163248a9ca314610f8657816328f8197814610eb25781632f2ff15d14610e8857816336568abe14610e425781634312bf6814610cee578163498d5a5d14610cae5781634f1ef28614610a1457816352d1902d1461099b578163729d20e214610945578163838b4f9c146109135781638b7e3d061461086f57816391d148541461081b578163a217fddf14610800578163ad3cb1cc14610795578163af6c5ce214610612578163c4d66de8146104c6578163c592b5dd1461046a578163d547741f1461041d578163d916c8be1461021457508063f4ec2056146101ba578063f72c0d8b146101805763fb24973c1461014357600080fd5b3461017c578160031936011261017c57602090517ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab58152f35b5080fd5b503461017c578160031936011261017c57602090517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b503461017c57806101d8916080936101d136611465565b9490611368565b60018060a01b0380951682526020522080549160ff60026001840154930154938251958116865260a01c16151560208501528301526060820152f35b919050346104195761022536611532565b91929093610231611623565b6001600160a01b038581169586156103e7573b156103b35761025285611368565b86885260205280838820541661037b5761026b8561134f565b80549068010000000000000000821015610368579061028f91600182018155611504565b81549060031b908389831b921b191617905560028351916102af83611494565b87835260208301600181528584019087825260608501924284526102d28a611368565b8b8d52602052878c209551865492516001600160a81b031990931691161790151560a01b60ff60a01b161784555160018401555191015561031284611320565b61031c8154611579565b9055600584101561035557507fc2cc35ad613426b9d6b820ab0247e5ff39893e4ed4949deb961bc65e7d85348f9160209151908152a380f35b634e487b7160e01b865260219052602485fd5b634e487b7160e01b895260418452602489fd5b506020606492519162461bcd60e51b83528201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152fd5b506020606492519162461bcd60e51b8352820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152fd5b835162461bcd60e51b8152602081850152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b8280fd5b9190503461041957806003193601126104195761046691356104616001610442611439565b93838752600080516020611a758339815191526020528620015461169d565b61192d565b5080f35b50503461017c5760016104b99161048036611532565b94909161048b611623565b6104b461049782611368565b93868060a01b0380911694858a52602052858920541615156115e6565b611368565b9085526020528320015580f35b905034610419576020366003190112610419576104e161144f565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0091825460ff81861c16159267ffffffffffffffff82168015908161060a575b6001149081610600575b1590816105f7575b506105e9575067ffffffffffffffff19811660011784556105809190836105ca575b5061055f6119b0565b6105676119b0565b610570816116d0565b5061057a8161175e565b5061180e565b50610589578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff19166801000000000000000117845538610556565b855163f92ee8a960e01b8152fd5b90501538610534565b303b15915061052c565b859150610522565b8391503461017c576020908160031936011261041957359160058310156107925761063c8361134f565b8451808285829454938481520190855285852092855b8782821061077357505050610669925003826114c6565b8192825b82518110156106c25761067f86611368565b6001600160a01b036106918386611565565b51168552825260ff8785205460a01c166106ae575b60010161066d565b936106ba600191611579565b9490506106a6565b5092906106ce8261159e565b916106db875193846114c6565b8083526106ea601f199161159e565b01368584013782805b82518110156107625761070587611368565b6001600160a01b0390816107198487611565565b51168452875260ff8984205460a01c16610737575b506001016106f3565b819561075b9161074960019487611565565b51166107558288611565565b52611579565b949061072e565b87518061076f86826113f4565b0390f35b85546001600160a01b0316845260019586019587955093019201610652565b80fd5b83833461017c578160031936011261017c578051918183019083821067ffffffffffffffff8311176107ed575061076f9350815260058252640352e302e360dc1b6020830152519182916020835260208301906113b4565b634e487b7160e01b815260418552602490fd5b50503461017c578160031936011261017c5751908152602090f35b9050346104195781600319360112610419578160209360ff9261083c611439565b90358252600080516020611a7583398151915286528282206001600160a01b039091168252855220549151911615158152f35b50503461017c57806108ac9160809361088736611465565b9490826060855161089781611494565b82815282602082015282878201520152611368565b6001600160a01b03948516825260205220815191906108ca83611494565b80549384169384845260ff602085019160a01c16151581526060600260018401549385870194855201549401938452825194855251151560208501525190830152516060820152f35b9050346104195760203660031901126104195735916005831015610792575061093d602092611320565b549051908152f35b905034610419578160031936011261041957359160058310156107925761096e6024359361134f565b908154841015610792575060209261098591611504565b905491519160018060a01b039160031b1c168152f35b828434610792578060031936011261079257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610a0757602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9180915060031936011261041957610a2a61144f565b90602493843567ffffffffffffffff811161017c573660238201121561017c578085013593610a58856114e8565b610a64855191826114c6565b85815260209586820193368a8383010111610c48578186928b8a93018737830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115610c80575b50610c70577f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3808652600080516020611a758339815191528852868620338752885260ff878720541615610c53575085516352d1902d60e01b81529083169680828a818b5afa9182918793610c1f575b5050610b485750505050505191634c9c8ce360e01b8352820152fd5b86899689927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610c0a5750853b15610bf55780546001600160a01b0319168317905551869392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610bd95750506104669382915190845af4610bd36115b6565b916119f1565b93509350505034610be957505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b815291820152859150fd5b848a91845191632a87526960e21b8352820152fd5b9080929350813d8311610c4c575b610c3781836114c6565b81010312610c485751903880610b2c565b8580fd5b503d610c2d565b865163e2517d3f60e01b815233818b0152808b0191909152604490fd5b855163703e46dd60e11b81528890fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141538610abc565b50503461017c5760ff81602093610cce610cc736611465565b9190611368565b6001600160a01b03909116825285522054915160a09290921c1615158152f35b83833461017c57606036600319011261017c57823592600584101561041957610d15611439565b60443567ffffffffffffffff8111610e3e57610d349036908401611381565b949091610d4087611368565b9560018060a01b03821693848452602097885260ff8785205460a01c1615610e075790838093928289519384928337810182815203925af190610d816115b6565b957f33b8150307f4d5cee6ab4ce14d56e8d01e33c0bcebe808136077d6600d7bc88486865194159485158152a3610dc6575061076f90519282849384528301906113b4565b82606492519162461bcd60e51b8352820152601760248201527f4d6f64756c6520657865637574696f6e206661696c65640000000000000000006044820152fd5b865162461bcd60e51b815280870189905260116024820152704d6f64756c65206e6f742061637469766560781b6044820152606490fd5b8480fd5b83833461017c578060031936011261017c57610e5c611439565b90336001600160a01b03831603610e79575061046691923561192d565b5163334bd91960e11b81528390fd5b919050346104195780600319360112610419576104669135610ead6001610442611439565b6118b8565b9190503461041957610ec336611465565b929091610ece611623565b610efc610eda84611368565b6001600160a01b039586168088526020919091528287205490951615156115e6565b610f0583611368565b8486526020528420805460ff60a01b19169055610f2182611320565b80548015610f73576000190190556005821015610f6057507fb64c797fe5c124f90bfd322d886d057d479319cbc8d998b490ff39db2c269c2a8380a380f35b634e487b7160e01b845260219052602483fd5b634e487b7160e01b865260118352602486fd5b9050346104195760203660031901126104195781602093600192358152600080516020611a7583398151915285522001549051908152f35b919050346104195760209160206003193601126110425735600581101561104257610fe89061134f565b92815180936020865492838152019583526020832092905b8282106110225761076f8686611018828b03836114c6565b51918291826113f4565b83546001600160a01b031687529586019560019384019390910190611000565b8380fd5b828434610792578160031936011261079257823591600583101591826107925760249360243567ffffffffffffffff8111610419576110889036908801611381565b9190946110948261134f565b92855198899485815491828d526020809d019089528c8920928d8a905b8282106112ad575050506110c7925003866114c6565b8597865b8651811015611120576110dd86611368565b6001600160a01b036110ef838a611565565b511689528c5260ff8989205460a01c1661110c575b6001016110cb565b98611118600191611579565b999050611104565b5088929394888b8d9961114a6111358861159e565b976111428551998a6114c6565b80895261159e565b601f19018b825b82811061129e575050508097815b8b51811015611241578a8d8d61117c8460018060a01b0392611565565b51169061118889611368565b908287525260ff8786205460a01c16156112375784808851868c823780878101838152039082855af1906111ba6115b6565b92611225578f7f33b8150307f4d5cee6ab4ce14d56e8d01e33c0bcebe808136077d6600d7bc8848a918a518515158152a36111fb575b506001905b0161115f565b8a61121e9161120d6001949d8d611565565b52611218818c611565565b50611579565b99906111f0565b634e487b7160e01b865260218b528686fd5b50506001906111f5565b848d8a8583519280840190808552835180925280868601968360051b870101940192955b8287106112725785850386f35b90919293828061128e600193603f198a820301865288516113b4565b9601920196019592919092611265565b60608a82018301528101611151565b85546001600160a01b031684526001958601958b9550930192018e6110b1565b849134610419576020366003190112610419573563ffffffff60e01b81168091036104195760209250637965db0b60e01b811490811561130f575b5015158152f35b6301ffc9a760e01b14905083611308565b6005811015611339576000526002602052604060002090565b634e487b7160e01b600052602160045260246000fd5b6005811015611339576000526000602052604060002090565b6005811015611339576000526001602052604060002090565b9181601f840112156113af5782359167ffffffffffffffff83116113af57602083818601950101116113af57565b600080fd5b919082519283825260005b8481106113e0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016113bf565b602090602060408183019282815285518094520193019160005b82811061141c575050505090565b83516001600160a01b03168552938101939281019260010161140e565b602435906001600160a01b03821682036113af57565b600435906001600160a01b03821682036113af57565b60409060031901126113af5760043560058110156113af57906024356001600160a01b03811681036113af5790565b6080810190811067ffffffffffffffff8211176114b057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176114b057604052565b67ffffffffffffffff81116114b057601f01601f191660200190565b805482101561151c5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60609060031901126113af5760043560058110156113af57906024356001600160a01b03811681036113af579060443590565b805182101561151c5760209160051b010190565b60001981146115885760010190565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff81116114b05760051b60200190565b3d156115e1573d906115c7826114e8565b916115d560405193846114c6565b82523d6000602084013e565b606090565b156115ed57565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd081c9959da5cdd195c995960921b6044820152606490fd5b3360009081527fef785bfc9a8be2b266e21b42e751736c9be2c326426b63b0345e81e22b3d5c1a60205260409020547ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab59060ff161561167f5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600080516020611a7583398151915260205260406000203360005260205260ff604060002054161561167f5750565b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d6020526040812054909190600080516020611a758339815191529060ff16611759578280526020526040822081835260205260408220600160ff198254161790553391600080516020611a558339815191528180a4600190565b505090565b6001600160a01b031660008181527fef785bfc9a8be2b266e21b42e751736c9be2c326426b63b0345e81e22b3d5c1a60205260408120549091907ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab590600080516020611a758339815191529060ff16611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860205260408120549091907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e390600080516020611a758339815191529060ff16611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b90600091808352600080516020611a7583398151915280602052604084209260018060a01b03169283855260205260ff60408520541615600014611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b90600091808352600080516020611a7583398151915280602052604084209260018060a01b03169283855260205260ff60408520541660001461180857818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156119df57565b604051631afcd79f60e31b8152600490fd5b90611a185750805115611a0657805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611a4b575b611a29575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611a2156fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212202958c8ed48d8118c221aa2ff6dfd9cb56cfe3d7c9e1d7b7c7be4144bdf86d16664736f6c63430008160033",
|
|
"deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146112cd575081630c13192c146109135781631ad00182146110465781631f08998a14610fbe578163248a9ca314610f8657816328f8197814610eb25781632f2ff15d14610e8857816336568abe14610e425781634312bf6814610cee578163498d5a5d14610cae5781634f1ef28614610a1457816352d1902d1461099b578163729d20e214610945578163838b4f9c146109135781638b7e3d061461086f57816391d148541461081b578163a217fddf14610800578163ad3cb1cc14610795578163af6c5ce214610612578163c4d66de8146104c6578163c592b5dd1461046a578163d547741f1461041d578163d916c8be1461021457508063f4ec2056146101ba578063f72c0d8b146101805763fb24973c1461014357600080fd5b3461017c578160031936011261017c57602090517ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab58152f35b5080fd5b503461017c578160031936011261017c57602090517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b503461017c57806101d8916080936101d136611465565b9490611368565b60018060a01b0380951682526020522080549160ff60026001840154930154938251958116865260a01c16151560208501528301526060820152f35b919050346104195761022536611532565b91929093610231611623565b6001600160a01b038581169586156103e7573b156103b35761025285611368565b86885260205280838820541661037b5761026b8561134f565b80549068010000000000000000821015610368579061028f91600182018155611504565b81549060031b908389831b921b191617905560028351916102af83611494565b87835260208301600181528584019087825260608501924284526102d28a611368565b8b8d52602052878c209551865492516001600160a81b031990931691161790151560a01b60ff60a01b161784555160018401555191015561031284611320565b61031c8154611579565b9055600584101561035557507fc2cc35ad613426b9d6b820ab0247e5ff39893e4ed4949deb961bc65e7d85348f9160209151908152a380f35b634e487b7160e01b865260219052602485fd5b634e487b7160e01b895260418452602489fd5b506020606492519162461bcd60e51b83528201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b6044820152fd5b506020606492519162461bcd60e51b8352820152600e60248201526d139bdd08184818dbdb9d1c9858dd60921b6044820152fd5b835162461bcd60e51b8152602081850152600c60248201526b5a65726f206164647265737360a01b6044820152606490fd5b8280fd5b9190503461041957806003193601126104195761046691356104616001610442611439565b93838752600080516020611a758339815191526020528620015461169d565b61192d565b5080f35b50503461017c5760016104b99161048036611532565b94909161048b611623565b6104b461049782611368565b93868060a01b0380911694858a52602052858920541615156115e6565b611368565b9085526020528320015580f35b905034610419576020366003190112610419576104e161144f565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0091825460ff81861c16159267ffffffffffffffff82168015908161060a575b6001149081610600575b1590816105f7575b506105e9575067ffffffffffffffff19811660011784556105809190836105ca575b5061055f6119b0565b6105676119b0565b610570816116d0565b5061057a8161175e565b5061180e565b50610589578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b68ffffffffffffffffff19166801000000000000000117845538610556565b855163f92ee8a960e01b8152fd5b90501538610534565b303b15915061052c565b859150610522565b8391503461017c576020908160031936011261041957359160058310156107925761063c8361134f565b8451808285829454938481520190855285852092855b8782821061077357505050610669925003826114c6565b8192825b82518110156106c25761067f86611368565b6001600160a01b036106918386611565565b51168552825260ff8785205460a01c166106ae575b60010161066d565b936106ba600191611579565b9490506106a6565b5092906106ce8261159e565b916106db875193846114c6565b8083526106ea601f199161159e565b01368584013782805b82518110156107625761070587611368565b6001600160a01b0390816107198487611565565b51168452875260ff8984205460a01c16610737575b506001016106f3565b819561075b9161074960019487611565565b51166107558288611565565b52611579565b949061072e565b87518061076f86826113f4565b0390f35b85546001600160a01b0316845260019586019587955093019201610652565b80fd5b83833461017c578160031936011261017c578051918183019083821067ffffffffffffffff8311176107ed575061076f9350815260058252640352e302e360dc1b6020830152519182916020835260208301906113b4565b634e487b7160e01b815260418552602490fd5b50503461017c578160031936011261017c5751908152602090f35b9050346104195781600319360112610419578160209360ff9261083c611439565b90358252600080516020611a7583398151915286528282206001600160a01b039091168252855220549151911615158152f35b50503461017c57806108ac9160809361088736611465565b9490826060855161089781611494565b82815282602082015282878201520152611368565b6001600160a01b03948516825260205220815191906108ca83611494565b80549384169384845260ff602085019160a01c16151581526060600260018401549385870194855201549401938452825194855251151560208501525190830152516060820152f35b9050346104195760203660031901126104195735916005831015610792575061093d602092611320565b549051908152f35b905034610419578160031936011261041957359160058310156107925761096e6024359361134f565b908154841015610792575060209261098591611504565b905491519160018060a01b039160031b1c168152f35b828434610792578060031936011261079257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610a0757602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9180915060031936011261041957610a2a61144f565b90602493843567ffffffffffffffff811161017c573660238201121561017c578085013593610a58856114e8565b610a64855191826114c6565b85815260209586820193368a8383010111610c48578186928b8a93018737830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115610c80575b50610c70577f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3808652600080516020611a758339815191528852868620338752885260ff878720541615610c53575085516352d1902d60e01b81529083169680828a818b5afa9182918793610c1f575b5050610b485750505050505191634c9c8ce360e01b8352820152fd5b86899689927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90818103610c0a5750853b15610bf55780546001600160a01b0319168317905551869392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610bd95750506104669382915190845af4610bd36115b6565b916119f1565b93509350505034610be957505080f35b63b398979f60e01b8152fd5b5051634c9c8ce360e01b815291820152859150fd5b848a91845191632a87526960e21b8352820152fd5b9080929350813d8311610c4c575b610c3781836114c6565b81010312610c485751903880610b2c565b8580fd5b503d610c2d565b865163e2517d3f60e01b815233818b0152808b0191909152604490fd5b855163703e46dd60e11b81528890fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141538610abc565b50503461017c5760ff81602093610cce610cc736611465565b9190611368565b6001600160a01b03909116825285522054915160a09290921c1615158152f35b83833461017c57606036600319011261017c57823592600584101561041957610d15611439565b60443567ffffffffffffffff8111610e3e57610d349036908401611381565b949091610d4087611368565b9560018060a01b03821693848452602097885260ff8785205460a01c1615610e075790838093928289519384928337810182815203925af190610d816115b6565b957f33b8150307f4d5cee6ab4ce14d56e8d01e33c0bcebe808136077d6600d7bc88486865194159485158152a3610dc6575061076f90519282849384528301906113b4565b82606492519162461bcd60e51b8352820152601760248201527f4d6f64756c6520657865637574696f6e206661696c65640000000000000000006044820152fd5b865162461bcd60e51b815280870189905260116024820152704d6f64756c65206e6f742061637469766560781b6044820152606490fd5b8480fd5b83833461017c578060031936011261017c57610e5c611439565b90336001600160a01b03831603610e79575061046691923561192d565b5163334bd91960e11b81528390fd5b919050346104195780600319360112610419576104669135610ead6001610442611439565b6118b8565b9190503461041957610ec336611465565b929091610ece611623565b610efc610eda84611368565b6001600160a01b039586168088526020919091528287205490951615156115e6565b610f0583611368565b8486526020528420805460ff60a01b19169055610f2182611320565b80548015610f73576000190190556005821015610f6057507fb64c797fe5c124f90bfd322d886d057d479319cbc8d998b490ff39db2c269c2a8380a380f35b634e487b7160e01b845260219052602483fd5b634e487b7160e01b865260118352602486fd5b9050346104195760203660031901126104195781602093600192358152600080516020611a7583398151915285522001549051908152f35b919050346104195760209160206003193601126110425735600581101561104257610fe89061134f565b92815180936020865492838152019583526020832092905b8282106110225761076f8686611018828b03836114c6565b51918291826113f4565b83546001600160a01b031687529586019560019384019390910190611000565b8380fd5b828434610792578160031936011261079257823591600583101591826107925760249360243567ffffffffffffffff8111610419576110889036908801611381565b9190946110948261134f565b92855198899485815491828d526020809d019089528c8920928d8a905b8282106112ad575050506110c7925003866114c6565b8597865b8651811015611120576110dd86611368565b6001600160a01b036110ef838a611565565b511689528c5260ff8989205460a01c1661110c575b6001016110cb565b98611118600191611579565b999050611104565b5088929394888b8d9961114a6111358861159e565b976111428551998a6114c6565b80895261159e565b601f19018b825b82811061129e575050508097815b8b51811015611241578a8d8d61117c8460018060a01b0392611565565b51169061118889611368565b908287525260ff8786205460a01c16156112375784808851868c823780878101838152039082855af1906111ba6115b6565b92611225578f7f33b8150307f4d5cee6ab4ce14d56e8d01e33c0bcebe808136077d6600d7bc8848a918a518515158152a36111fb575b506001905b0161115f565b8a61121e9161120d6001949d8d611565565b52611218818c611565565b50611579565b99906111f0565b634e487b7160e01b865260218b528686fd5b50506001906111f5565b848d8a8583519280840190808552835180925280868601968360051b870101940192955b8287106112725785850386f35b90919293828061128e600193603f198a820301865288516113b4565b9601920196019592919092611265565b60608a82018301528101611151565b85546001600160a01b031684526001958601958b9550930192018e6110b1565b849134610419576020366003190112610419573563ffffffff60e01b81168091036104195760209250637965db0b60e01b811490811561130f575b5015158152f35b6301ffc9a760e01b14905083611308565b6005811015611339576000526002602052604060002090565b634e487b7160e01b600052602160045260246000fd5b6005811015611339576000526000602052604060002090565b6005811015611339576000526001602052604060002090565b9181601f840112156113af5782359167ffffffffffffffff83116113af57602083818601950101116113af57565b600080fd5b919082519283825260005b8481106113e0575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016113bf565b602090602060408183019282815285518094520193019160005b82811061141c575050505090565b83516001600160a01b03168552938101939281019260010161140e565b602435906001600160a01b03821682036113af57565b600435906001600160a01b03821682036113af57565b60409060031901126113af5760043560058110156113af57906024356001600160a01b03811681036113af5790565b6080810190811067ffffffffffffffff8211176114b057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176114b057604052565b67ffffffffffffffff81116114b057601f01601f191660200190565b805482101561151c5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b60609060031901126113af5760043560058110156113af57906024356001600160a01b03811681036113af579060443590565b805182101561151c5760209160051b010190565b60001981146115885760010190565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff81116114b05760051b60200190565b3d156115e1573d906115c7826114e8565b916115d560405193846114c6565b82523d6000602084013e565b606090565b156115ed57565b60405162461bcd60e51b815260206004820152600e60248201526d139bdd081c9959da5cdd195c995960921b6044820152606490fd5b3360009081527fef785bfc9a8be2b266e21b42e751736c9be2c326426b63b0345e81e22b3d5c1a60205260409020547ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab59060ff161561167f5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600080516020611a7583398151915260205260406000203360005260205260ff604060002054161561167f5750565b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d6020526040812054909190600080516020611a758339815191529060ff16611759578280526020526040822081835260205260408220600160ff198254161790553391600080516020611a558339815191528180a4600190565b505090565b6001600160a01b031660008181527fef785bfc9a8be2b266e21b42e751736c9be2c326426b63b0345e81e22b3d5c1a60205260408120549091907ff83fbdecd7018694593b521db8f6c864cd19f8450388b844650c68334dac9ab590600080516020611a758339815191529060ff16611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a860205260408120549091907f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e390600080516020611a758339815191529060ff16611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b90600091808352600080516020611a7583398151915280602052604084209260018060a01b03169283855260205260ff60408520541615600014611808578184526020526040832082845260205260408320600160ff19825416179055600080516020611a55833981519152339380a4600190565b90600091808352600080516020611a7583398151915280602052604084209260018060a01b03169283855260205260ff60408520541660001461180857818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156119df57565b604051631afcd79f60e31b8152600490fd5b90611a185750805115611a0657805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611a4b575b611a29575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611a2156fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212202958c8ed48d8118c221aa2ff6dfd9cb56cfe3d7c9e1d7b7c7be4144bdf86d16664736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|