@sx-bet/sportx-js
Version:
Provides an easy to use API to interact with the SportX relayer.
971 lines • 79.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "WETH",
"sourceName": "contracts/child/ChildToken/WETH/WETH.sol",
"abi": [
{
"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": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "userAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address payable",
"name": "relayerAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "functionSignature",
"type": "bytes"
}
],
"name": "MetaTransactionExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"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": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"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": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ERC712_VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PAUSER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burnFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "userAddress",
"type": "address"
},
{
"internalType": "bytes",
"name": "functionSignature",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "sigR",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "sigS",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "sigV",
"type": "uint8"
}
],
"name": "executeMetaTransaction",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getChainId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDomainSeparator",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getNonce",
"outputs": [
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
}
],
"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": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getRoleMember",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleMemberCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVersion",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"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": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"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": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"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": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"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"
}
],
"bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61332a61005260003960008181610bc801528181610c0801528181610ec301528181610f030152610f92015261332a6000f3fe60806040526004361061025c5760003560e01c806352d1902d116101445780639dc29fac116100b6578063d53913931161007a578063d539139314610703578063d547741f14610737578063dd62ed3e14610757578063e63ab1e91461079e578063ed24911d146107c0578063f2fde38b146107d65761025c565b80639dc29fac1461066e578063a217fddf1461068e578063a457c2d7146106a3578063a9059cbb146106c3578063ca15c873146106e35761025c565b80638129fc1c116101085780638129fc1c146105bd5780638456cb59146105d25780638da5cb5b146105e75780639010d07c1461061957806391d148541461063957806395d89b41146106595761025c565b806352d1902d146105235780635c975abb1461053857806370a0823114610551578063715018a61461058857806379cc67901461059d5761025c565b80632f2ff15d116101dd57806339509351116101a1578063395093511461047b5780633f4ba83a1461049b57806340c10f19146104b057806342966c68146104d05780634cd88b76146104f05780634f1ef286146105105761025c565b80632f2ff15d146103ea578063313ce5671461040c5780633408e4701461042857806336568abe1461043b5780633659cfe61461045b5761025c565b80630f7e5970116102245780630f7e59701461031657806318160ddd1461034357806323b872dd14610363578063248a9ca3146103835780632d0335ab146103b35761025c565b806301ffc9a71461026157806306fdde0314610296578063095ea7b3146102b85780630c53c51c146102d85780630d8e6e2c146102eb575b600080fd5b34801561026d57600080fd5b5061028161027c366004612deb565b6107f6565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610823565b60405161028d9190612f8a565b3480156102c457600080fd5b506102816102d3366004612d4f565b6108b7565b6102ab6102e6366004612cd6565b6108db565b3480156102f757600080fd5b50604080518082019091526002815261563160f01b60208201526102ab565b34801561032257600080fd5b506102ab604051806040016040528060018152602001603160f81b81525081565b34801561034f57600080fd5b50610161545b60405190815260200161028d565b34801561036f57600080fd5b5061028161037e366004612c4f565b610acd565b34801561038f57600080fd5b5061035561039e366004612d78565b600090815260fb602052604090206001015490565b3480156103bf57600080fd5b506103556103ce366004612c03565b6001600160a01b0316600090815261025a602052604090205490565b3480156103f657600080fd5b5061040a610405366004612da8565b610afd565b005b34801561041857600080fd5b506040516012815260200161028d565b34801561043457600080fd5b5046610355565b34801561044757600080fd5b5061040a610456366004612da8565b610b2f565b34801561046757600080fd5b5061040a610476366004612c03565b610bbd565b34801561048757600080fd5b50610281610496366004612d4f565b610c9d565b3480156104a757600080fd5b5061040a610cea565b3480156104bc57600080fd5b5061040a6104cb366004612d4f565b610d80565b3480156104dc57600080fd5b5061040a6104eb366004612d78565b610e21565b3480156104fc57600080fd5b5061040a61050b366004612e13565b610e32565b61040a61051e366004612c8a565b610eb8565b34801561052f57600080fd5b50610355610f85565b34801561054457600080fd5b506101c35460ff16610281565b34801561055d57600080fd5b5061035561056c366004612c03565b6001600160a01b0316600090815261015f602052604090205490565b34801561059457600080fd5b5061040a611038565b3480156105a957600080fd5b5061040a6105b8366004612d4f565b61108b565b3480156105c957600080fd5b5061040a6110a7565b3480156105de57600080fd5b5061040a6111a6565b3480156105f357600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200161028d565b34801561062557600080fd5b50610601610634366004612dca565b61123a565b34801561064557600080fd5b50610281610654366004612da8565b611253565b34801561066557600080fd5b506102ab61127e565b34801561067a57600080fd5b5061040a610689366004612d4f565b61128e565b34801561069a57600080fd5b50610355600081565b3480156106af57600080fd5b506102816106be366004612d4f565b611298565b3480156106cf57600080fd5b506102816106de366004612d4f565b611343565b3480156106ef57600080fd5b506103556106fe366004612d78565b61135b565b34801561070f57600080fd5b506103557f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b34801561074357600080fd5b5061040a610752366004612da8565b611373565b34801561076357600080fd5b50610355610772366004612c1d565b6001600160a01b0391821660009081526101606020908152604080832093909416825291909152205490565b3480156107aa57600080fd5b506103556000805160206132ae83398151915281565b3480156107cc57600080fd5b5061025954610355565b3480156107e257600080fd5b5061040a6107f1366004612c03565b61139b565b60006001600160e01b03198216635a05180f60e01b148061081b575061081b82611452565b90505b919050565b6060610162805461083390613194565b80601f016020809104026020016040519081016040528092919081815260200182805461085f90613194565b80156108ac5780601f10610881576101008083540402835291602001916108ac565b820191906000526020600020905b81548152906001019060200180831161088f57829003601f168201915b505050505090505b90565b6000806108c2611487565b90506108cf818585611496565b60019150505b92915050565b60408051606081810183526001600160a01b038816600081815261025a60209081529085902054845283015291810186905261091a87828787876115bb565b6109755760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b038716600090815261025a602052604090205461099a9060016116ab565b6001600160a01b038816600090815261025a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b906109eb90899033908a90612f5e565b60405180910390a1600080306001600160a01b0316888a604051602001610a13929190612eb2565b60408051601f1981840301815290829052610a2d91612e96565b6000604051808303816000865af19150503d8060008114610a6a576040519150601f19603f3d011682016040523d82523d6000602084013e610a6f565b606091505b509150915081610ac15760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000604482015260640161096c565b98975050505050505050565b600080610ad8611487565b9050610ae58582856116b7565b610af085858561174a565b60019150505b9392505050565b600082815260fb6020526040902060010154610b2081610b1b611487565b611925565b610b2a8383611989565b505050565b610b37611487565b6001600160a01b0316816001600160a01b031614610baf5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161096c565b610bb982826119ac565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610c065760405162461bcd60e51b815260040161096c90612f9d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c4f60008051602061328e833981519152546001600160a01b031690565b6001600160a01b031614610c755760405162461bcd60e51b815260040161096c90612fe9565b610c7e816119cf565b60408051600080825260208201909252610c9a91839190611a18565b50565b600080610ca8611487565b6001600160a01b03808216600090815261016060209081526040808320938916835292905220549091506108cf9082908690610ce5908790613103565b611496565b610d046000805160206132ae833981519152610654611487565b610d765760405162461bcd60e51b815260206004820152603960248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20756e706175736500000000000000606482015260840161096c565b610d7e611b97565b565b610dac7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610654611487565b610e175760405162461bcd60e51b815260206004820152603660248201527f45524332305072657365744d696e7465725061757365723a206d7573742068616044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b606482015260840161096c565b610bb98282611c32565b610c9a610e2c611487565b82611d20565b600054610100900460ff16610e4d5760005460ff1615610e51565b303b155b610e6d5760405162461bcd60e51b815260040161096c90613035565b600054610100900460ff16158015610e98576000805460ff1961ff0019909116610100171660011790555b610ea28383611e7d565b8015610b2a576000805461ff0019169055505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f015760405162461bcd60e51b815260040161096c90612f9d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f4a60008051602061328e833981519152546001600160a01b031690565b6001600160a01b031614610f705760405162461bcd60e51b815260040161096c90612fe9565b610f79826119cf565b610bb982826001611a18565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110255760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161096c565b5060008051602061328e83398151915290565b611040611487565b6001600160a01b031661105b6097546001600160a01b031690565b6001600160a01b0316146110815760405162461bcd60e51b815260040161096c90613083565b610d7e6000611ec0565b61109d82611097611487565b836116b7565b610bb98282611d20565b600054610100900460ff166110c25760005460ff16156110c6565b303b155b6110e25760405162461bcd60e51b815260040161096c90613035565b600054610100900460ff1615801561110d576000805460ff1961ff0019909116610100171660011790555b6111566040518060400160405280600b81526020016a0aee4c2e0e0cac8408aa8960ab1b815250604051806040016040528060048152602001630ae8aa8960e31b815250610e32565b61115e611f12565b61118a6040518060400160405280600b81526020016a0aee4c2e0e0cac8408aa8960ab1b815250611f41565b611192611fc5565b8015610c9a576000805461ff001916905550565b6111c06000805160206132ae833981519152610654611487565b6112325760405162461bcd60e51b815260206004820152603760248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f207061757365000000000000000000606482015260840161096c565b610d7e611fec565b600082815261012d60205260408120610af6908361206a565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060610163805461083390613194565b610bb9828261108b565b6000806112a3611487565b6001600160a01b03808216600090815261016060209081526040808320938916835292905220549091508381101561132b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161096c565b6113388286868403611496565b506001949350505050565b60008061134e611487565b90506108cf81858561174a565b600081815261012d6020526040812061081b90612076565b600082815260fb602052604090206001015461139181610b1b611487565b610b2a83836119ac565b6113a3611487565b6001600160a01b03166113be6097546001600160a01b031690565b6001600160a01b0316146113e45760405162461bcd60e51b815260040161096c90613083565b6001600160a01b0381166114495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161096c565b610c9a81611ec0565b60006001600160e01b03198216637965db0b60e01b148061081b57506301ffc9a760e01b6001600160e01b031983161461081b565b6000611491612080565b905090565b6001600160a01b0383166114f85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161096c565b6001600160a01b0382166115595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161096c565b6001600160a01b038381166000818152610160602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0386166116215760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b606482015260840161096c565b600161163461162f876120dc565b612159565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611682573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000610af68284613103565b6001600160a01b0383811660009081526101606020908152604080832093861683529290522054600019811461174457818110156117375760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161096c565b6117448484848403611496565b50505050565b6001600160a01b0383166117ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161096c565b6001600160a01b0382166118105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161096c565b61181b83838361218a565b6001600160a01b038316600090815261015f6020526040902054818110156118945760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161096c565b6001600160a01b03808516600090815261015f60205260408082208585039055918516815290812080548492906118cc908490613103565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161191891815260200190565b60405180910390a3611744565b61192f8282611253565b610bb957611947816001600160a01b03166014612195565b611952836020612195565b604051602001611963929190612ee9565b60408051601f198184030181529082905262461bcd60e51b825261096c91600401612f8a565b6119938282612377565b600082815261012d60205260409020610b2a90826123fe565b6119b68282612413565b600082815261012d60205260409020610b2a9082612498565b6119d7611487565b6001600160a01b03166119f26097546001600160a01b031690565b6001600160a01b031614610c9a5760405162461bcd60e51b815260040161096c90613083565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a5057611a4b836124ad565b610b2a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a8957600080fd5b505afa925050508015611ab9575060408051601f3d908101601f19168201909252611ab691810190612d90565b60015b611b1c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161096c565b60008051602061328e8339815191528114611b8b5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161096c565b50610b2a838383612549565b6101c35460ff16611be15760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161096c565b6101c3805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611c15611487565b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216611c885760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161096c565b611c946000838361218a565b806101616000828254611ca79190613103565b90915550506001600160a01b038216600090815261015f602052604081208054839290611cd5908490613103565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610bb9565b6001600160a01b038216611d805760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161096c565b611d8c8260008361218a565b6001600160a01b038216600090815261015f602052604090205481811015611e015760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161096c565b6001600160a01b038316600090815261015f6020526040812083830390556101618054849290611e3290849061313a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610b2a565b600054610100900460ff16611ea45760405162461bcd60e51b815260040161096c906130b8565b611eae828261256e565b611eb66125be565b610bb982826125f2565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611f395760405162461bcd60e51b815260040161096c906130b8565b610d7e612671565b600054610100900460ff16611f5c5760005460ff1615611f60565b303b155b611f7c5760405162461bcd60e51b815260040161096c90613035565b600054610100900460ff16158015611fa7576000805460ff1961ff0019909116610100171660011790555b611fb0826126a8565b8015610bb9576000805461ff00191690555050565b600054610100900460ff16610d7e5760405162461bcd60e51b815260040161096c906130b8565b6101c35460ff16156120335760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161096c565b6101c3805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c15611487565b6000610af6838361274a565b600061081b825490565b6000333014156120d757600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031691506108b49050565b503390565b60006040518060800160405280604381526020016131fc604391398051602091820120835184830151604080870151805190860120905161213c950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006121656102595490565b60405161190160f01b602082015260228101919091526042810183905260620161213c565b610b2a838383612782565b606060006121a483600261311b565b6121af906002613103565b67ffffffffffffffff8111156121d557634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156121ff576020820181803683370190505b509050600360fc1b8160008151811061222857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061226557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061228984600261311b565b612294906001613103565b90505b6001811115612328576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106122d657634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106122fa57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936123218161317d565b9050612297565b508315610af65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161096c565b6123818282611253565b610bb957600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556123ba611487565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610af6836001600160a01b0384166127e9565b61241d8282611253565b15610bb957600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19169055612454611487565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610af6836001600160a01b038416612838565b6001600160a01b0381163b61251a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161096c565b60008051602061328e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61255283612955565b60008251118061255f5750805b15610b2a576117448383612995565b600054610100900460ff166125955760405162461bcd60e51b815260040161096c906130b8565b81516125a990610162906020850190612acc565b508051610b2a90610163906020840190612acc565b600054610100900460ff166125e55760405162461bcd60e51b815260040161096c906130b8565b6101c3805460ff19169055565b600054610100900460ff166126195760405162461bcd60e51b815260040161096c906130b8565b61262b6000612626611487565b612a89565b6126577f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6612626611487565b610bb96000805160206132ae833981519152612626611487565b600054610100900460ff166126985760405162461bcd60e51b815260040161096c906130b8565b610d7e6126a3611487565b611ec0565b6040518060800160405280604f815260200161323f604f9139805160209182012082519282019290922060408051808201825260018152603160f81b90840152805180840194909452838101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401523060808401524660a0808501919091528151808503909101815260c09093019052815191012061025955565b600082600001828154811061276f57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6101c35460ff1615610b2a5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b606482015260840161096c565b6000818152600183016020526040812054612830575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108d5565b5060006108d5565b6000818152600183016020526040812054801561294b57600061285c60018361313a565b85549091506000906128709060019061313a565b90508181146128f157600086600001828154811061289e57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050808760000184815481106128cf57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061291057634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506108d5565b60009150506108d5565b61295e816124ad565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6129fd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161096c565b600080846001600160a01b031684604051612a189190612e96565b600060405180830381855af49150503d8060008114612a53576040519150601f19603f3d011682016040523d82523d6000602084013e612a58565b606091505b5091509150612a8082826040518060600160405280602781526020016132ce60279139612a93565b95945050505050565b610bb98282611989565b60608315612aa2575081610af6565b825115612ab25782518084602001fd5b8160405162461bcd60e51b815260040161096c9190612f8a565b828054612ad890613194565b90600052602060002090601f016020900481019282612afa5760008555612b40565b82601f10612b1357805160ff1916838001178555612b40565b82800160010185558215612b40579182015b82811115612b40578251825591602001919060010190612b25565b50612b4c929150612b50565b5090565b5b80821115612b4c5760008155600101612b51565b80356001600160a01b038116811461081e57600080fd5b600082601f830112612b8c578081fd5b813567ffffffffffffffff80821115612ba757612ba76131e5565b604051601f8301601f19908116603f01168101908282118183101715612bcf57612bcf6131e5565b81604052838152866020858801011115612be7578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312