[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "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" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_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": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint224", "name": "votes", "type": "uint224" } ], "internalType": "struct ERC20Votes.Checkpoint", "name": "", "type": "tuple" } ], "stateMutability": "view", "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": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "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": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "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": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "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" } ]
6101606040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610140526a115eec47f6cf7e35000000600a556a0422ca8b0a00a425000000600b553480156200005557600080fd5b506040516200303038038062003030833981016040819052620000789162000998565b8180604051806040016040528060018152602001603160f81b81525084848160039080519060200190620000ae92919062000845565b508051620000c490600490602084019062000845565b5050825160208085019190912083518483012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c0019052805194019390932091935091906080523060601b60c052610120525050600b546200016d93503392509050620001ae565b6200017a60003362000265565b620001a67f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63362000265565b505062000ab6565b620001c582826200027560201b62000db01760201c565b6001600160e01b03620001d9620003648216565b1115620002465760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b60648201526084015b60405180910390fd5b6200025f600862000e976200036a60201b17836200037f565b50505050565b62000271828262000531565b5050565b6001600160a01b038216620002cd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200023d565b8060026000828254620002e1919062000a02565b90915550506001600160a01b038216600090815260208190526040812080548392906200031090849062000a02565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200027160008383620005da565b60025490565b600062000378828462000a02565b9392505050565b825460009081908015620003d157856200039b60018362000a1d565b81548110620003ae57620003ae62000a8a565b60009182526020909120015464010000000090046001600160e01b0316620003d4565b60005b6001600160e01b03169250620003eb83858760201c565b91506000811180156200042f575043866200040860018462000a1d565b815481106200041b576200041b62000a8a565b60009182526020909120015463ffffffff16145b15620004a3576200044b826200062660201b62000ea31760201c565b866200045960018462000a1d565b815481106200046c576200046c62000a8a565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b0316021790555062000528565b856040518060400160405280620004c5436200069560201b62000f101760201c565b63ffffffff168152602001620004e6856200062660201b62000ea31760201c565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b60008281526009602090815260408083206001600160a01b038516845290915290205460ff16620002715760008281526009602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620005913390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b505050565b620005f2838383620005d560201b620006431760201c565b6001600160a01b03838116600090815260066020526040808220548584168352912054620005d592918216911683620006fc565b60006001600160e01b03821115620006915760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016200023d565b5090565b600063ffffffff821115620006915760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016200023d565b816001600160a01b0316836001600160a01b0316141580156200071f5750600081115b15620005d5576001600160a01b03831615620007ac576001600160a01b03831660009081526007602090815260408220829162000769919062000837901b62000f7517856200037f565b91509150846001600160a01b0316600080516020620030108339815191528383604051620007a1929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615620005d5576001600160a01b038216600090815260076020908152604082208291620007f091906200036a901b62000e9717856200037f565b91509150836001600160a01b031660008051602062003010833981519152838360405162000828929190918252602082015260400190565b60405180910390a25050505050565b600062000378828462000a1d565b828054620008539062000a37565b90600052602060002090601f016020900481019282620008775760008555620008c2565b82601f106200089257805160ff1916838001178555620008c2565b82800160010185558215620008c2579182015b82811115620008c2578251825591602001919060010190620008a5565b50620006919291505b80821115620006915760008155600101620008cb565b600082601f830112620008f357600080fd5b81516001600160401b038082111562000910576200091062000aa0565b604051601f8301601f19908116603f011681019082821181831017156200093b576200093b62000aa0565b816040528381526020925086838588010111156200095857600080fd5b600091505b838210156200097c57858201830151818301840152908201906200095d565b838211156200098e5760008385830101525b9695505050505050565b60008060408385031215620009ac57600080fd5b82516001600160401b0380821115620009c457600080fd5b620009d286838701620008e1565b93506020850151915080821115620009e957600080fd5b50620009f885828601620008e1565b9150509250929050565b6000821982111562000a185762000a1862000a74565b500190565b60008282101562000a325762000a3262000a74565b500390565b600181811c9082168062000a4c57607f821691505b6020821081141562000a6e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60805160a05160c05160601c60e0516101005161012051610140516124fc62000b146000396000610bf60152600061147f015260006114ce015260006114a9015260006114020152600061142c0152600061145601526124fc6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80636fcfff451161010f578063a457c2d7116100a2578063d539139311610071578063d539139314610468578063d547741f1461048f578063dd62ed3e146104a2578063f1127ed8146104db57600080fd5b8063a457c2d71461041c578063a9059cbb1461042f578063c3cda52014610442578063d505accf1461045557600080fd5b806391d14854116100de57806391d14854146103e657806395d89b41146103f95780639ab24eb014610401578063a217fddf1461041457600080fd5b80636fcfff451461036f57806370a08231146103975780637ecebe00146103c05780638e539e8c146103d357600080fd5b80633644e5151161018757806340c10f191161015657806340c10f19146102f257806342966c6814610305578063587cde1e146103185780635c19a95c1461035c57600080fd5b80633644e515146102b157806336568abe146102b957806339509351146102cc5780633a46b1a8146102df57600080fd5b806323b872dd116101c357806323b872dd14610257578063248a9ca31461026a5780632f2ff15d1461028d578063313ce567146102a257600080fd5b806301ffc9a7146101f557806306fdde031461021d578063095ea7b31461023257806318160ddd14610245575b600080fd5b6102086102033660046122b4565b610518565b60405190151581526020015b60405180910390f35b61022561054f565b6040516102149190612353565b6102086102403660046121b6565b6105e1565b6002545b604051908152602001610214565b610208610265366004612110565b6105f9565b610249610278366004612278565b60009081526009602052604090206001015490565b6102a061029b366004612291565b61061d565b005b60405160128152602001610214565b610249610648565b6102a06102c7366004612291565b610657565b6102086102da3660046121b6565b6106da565b6102496102ed3660046121b6565b610719565b6102a06103003660046121b6565b610793565b6102a0610313366004612278565b61081a565b6103446103263660046120c2565b6001600160a01b039081166000908152600660205260409020541690565b6040516001600160a01b039091168152602001610214565b6102a061036a3660046120c2565b610865565b61038261037d3660046120c2565b61086f565b60405163ffffffff9091168152602001610214565b6102496103a53660046120c2565b6001600160a01b031660009081526020819052604090205490565b6102496103ce3660046120c2565b610891565b6102496103e1366004612278565b6108af565b6102086103f4366004612291565b61090b565b610225610936565b61024961040f3660046120c2565b610945565b610249600081565b61020861042a3660046121b6565b6109cc565b61020861043d3660046121b6565b610a5e565b6102a06104503660046121e0565b610a6c565b6102a061046336600461214c565b610ba2565b6102497f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102a061049d366004612291565b610d06565b6102496104b03660046120dd565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6104ee6104e9366004612238565b610d2c565b60408051825163ffffffff1681526020928301516001600160e01b03169281019290925201610214565b60006001600160e01b03198216637965db0b60e01b148061054957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461055e90612439565b80601f016020809104026020016040519081016040528092919081815260200182805461058a90612439565b80156105d75780601f106105ac576101008083540402835291602001916105d7565b820191906000526020600020905b8154815290600101906020018083116105ba57829003601f168201915b5050505050905090565b6000336105ef818585610f81565b5060019392505050565b6000336106078582856110a5565b610612858585611137565b506001949350505050565b600082815260096020526040902060010154610639813361130b565b610643838361136f565b505050565b60006106526113f5565b905090565b6001600160a01b03811633146106cc5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106d6828261151c565b5050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105ef9082908690610714908790612386565b610f81565b600043821061076a5760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064016106c3565b6001600160a01b038316600090815260076020526040902061078c9083611583565b9392505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66107be813361130b565b600a546002546107ce9084612386565b11156108105760405162461bcd60e51b815260206004820152601160248201527013585e081b1a5b5a5d081c995858da1959607a1b60448201526064016106c3565b6106438383611640565b600081116108585760405162461bcd60e51b815260206004820152600b60248201526a1e995c9bc8185b5bdd5b9d60aa1b60448201526064016106c3565b61086233826116ca565b50565b61086233826116e2565b6001600160a01b03811660009081526007602052604081205461054990610f10565b6001600160a01b038116600090815260056020526040812054610549565b60004382106109005760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064016106c3565b610549600883611583565b60009182526009602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461055e90612439565b6001600160a01b03811660009081526007602052604081205480156109b9576001600160a01b03831660009081526007602052604090206109876001836123df565b815481106109975761099761249a565b60009182526020909120015464010000000090046001600160e01b03166109bc565b60005b6001600160e01b03169392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919083811015610a515760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106c3565b6106128286868403610f81565b6000336105ef818585611137565b83421115610abc5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e6174757265206578706972656400000060448201526064016106c3565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610b3690610b2e9060a0016040516020818303038152906040528051906020012061175b565b8585856117a9565b9050610b41816117d1565b8614610b8f5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e63650000000000000060448201526064016106c3565b610b9981886116e2565b50505050505050565b83421115610bf25760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106c3565b60007f0000000000000000000000000000000000000000000000000000000000000000888888610c218c6117d1565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610c7c8261175b565b90506000610c8c828787876117a9565b9050896001600160a01b0316816001600160a01b031614610cef5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106c3565b610cfa8a8a8a610f81565b50505050505050505050565b600082815260096020526040902060010154610d22813361130b565b610643838361151c565b60408051808201909152600080825260208201526001600160a01b0383166000908152600760205260409020805463ffffffff8416908110610d7057610d7061249a565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b6001600160a01b038216610e065760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106c3565b8060026000828254610e189190612386565b90915550506001600160a01b03821660009081526020819052604081208054839290610e45908490612386565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36106d6600083836117f9565b600061078c8284612386565b60006001600160e01b03821115610f0c5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016106c3565b5090565b600063ffffffff821115610f0c5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016106c3565b600061078c82846123df565b6001600160a01b038316610fe35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106c3565b6001600160a01b0382166110445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106c3565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461113157818110156111245760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106c3565b6111318484848403610f81565b50505050565b6001600160a01b03831661119b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106c3565b6001600160a01b0382166111fd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106c3565b6001600160a01b038316600090815260208190526040902054818110156112755760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106c3565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906112ac908490612386565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112f891815260200190565b60405180910390a36111318484846117f9565b611315828261090b565b6106d65761132d816001600160a01b0316601461182b565b61133883602061182b565b6040516020016113499291906122de565b60408051601f198184030181529082905262461bcd60e51b82526106c391600401612353565b611379828261090b565b6106d65760008281526009602090815260408083206001600160a01b03851684529091529020805460ff191660011790556113b13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561144e57507f000000000000000000000000000000000000000000000000000000000000000046145b1561147857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b611526828261090b565b156106d65760008281526009602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b8154600090815b818110156115e757600061159e82846119c7565b9050848682815481106115b3576115b361249a565b60009182526020909120015463ffffffff1611156115d3578092506115e1565b6115de816001612386565b91505b5061158a565b811561162b57846115f96001846123df565b815481106116095761160961249a565b60009182526020909120015464010000000090046001600160e01b031661162e565b60005b6001600160e01b031695945050505050565b61164a8282610db0565b6002546001600160e01b0310156116bc5760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b60648201526084016106c3565b6111316008610e97836119e2565b6116d48282611b5b565b6111316008610f75836119e2565b6001600160a01b038281166000818152600660208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611131828483611cb0565b60006105496117686113f5565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006117ba87878787611ded565b915091506117c781611eda565b5095945050505050565b6001600160a01b03811660009081526005602052604090208054600181018255905b50919050565b6001600160a01b0383811660009081526006602052604080822054858416835291205461064392918216911683611cb0565b6060600061183a8360026123c0565b611845906002612386565b67ffffffffffffffff81111561185d5761185d6124b0565b6040519080825280601f01601f191660200182016040528015611887576020820181803683370190505b509050600360fc1b816000815181106118a2576118a261249a565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106118d1576118d161249a565b60200101906001600160f81b031916908160001a90535060006118f58460026123c0565b611900906001612386565b90505b6001811115611978576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119345761193461249a565b1a60f81b82828151811061194a5761194a61249a565b60200101906001600160f81b031916908160001a90535060049490941c9361197181612422565b9050611903565b50831561078c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106c3565b60006119d6600284841861239e565b61078c90848416612386565b825460009081908015611a2d57856119fb6001836123df565b81548110611a0b57611a0b61249a565b60009182526020909120015464010000000090046001600160e01b0316611a30565b60005b6001600160e01b03169250611a4983858763ffffffff16565b9150600081118015611a8757504386611a636001846123df565b81548110611a7357611a7361249a565b60009182526020909120015463ffffffff16145b15611ae757611a9582610ea3565b86611aa16001846123df565b81548110611ab157611ab161249a565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b03160217905550611b52565b856040518060400160405280611afc43610f10565b63ffffffff168152602001611b1085610ea3565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b6001600160a01b038216611bbb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106c3565b6001600160a01b03821660009081526020819052604090205481811015611c2f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106c3565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611c5e9084906123df565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610643836000846117f9565b816001600160a01b0316836001600160a01b031614158015611cd25750600081115b15610643576001600160a01b03831615611d60576001600160a01b03831660009081526007602052604081208190611d0d90610f75856119e2565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611d55929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610643576001600160a01b03821660009081526007602052604081208190611d9690610e97856119e2565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611dde929190918252602082015260400190565b60405180910390a25050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611e245750600090506003611ed1565b8460ff16601b14158015611e3c57508460ff16601c14155b15611e4d5750600090506004611ed1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611ea1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611eca57600060019250925050611ed1565b9150600090505b94509492505050565b6000816004811115611eee57611eee612484565b1415611ef75750565b6001816004811115611f0b57611f0b612484565b1415611f595760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106c3565b6002816004811115611f6d57611f6d612484565b1415611fbb5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106c3565b6003816004811115611fcf57611fcf612484565b14156120285760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016106c3565b600481600481111561203c5761203c612484565b14156108625760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016106c3565b80356001600160a01b03811681146120ac57600080fd5b919050565b803560ff811681146120ac57600080fd5b6000602082840312156120d457600080fd5b61078c82612095565b600080604083850312156120f057600080fd5b6120f983612095565b915061210760208401612095565b90509250929050565b60008060006060848603121561212557600080fd5b61212e84612095565b925061213c60208501612095565b9150604084013590509250925092565b600080600080600080600060e0888a03121561216757600080fd5b61217088612095565b965061217e60208901612095565b9550604088013594506060880135935061219a608089016120b1565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156121c957600080fd5b6121d283612095565b946020939093013593505050565b60008060008060008060c087890312156121f957600080fd5b61220287612095565b9550602087013594506040870135935061221e606088016120b1565b92506080870135915060a087013590509295509295509295565b6000806040838503121561224b57600080fd5b61225483612095565b9150602083013563ffffffff8116811461226d57600080fd5b809150509250929050565b60006020828403121561228a57600080fd5b5035919050565b600080604083850312156122a457600080fd5b8235915061210760208401612095565b6000602082840312156122c657600080fd5b81356001600160e01b03198116811461078c57600080fd5b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123168160178501602088016123f6565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516123478160288401602088016123f6565b01602801949350505050565b60208152600082518060208401526123728160408501602087016123f6565b601f01601f19169190910160400192915050565b600082198211156123995761239961246e565b500190565b6000826123bb57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156123da576123da61246e565b500290565b6000828210156123f1576123f161246e565b500390565b60005b838110156124115781810151838201526020016123f9565b838111156111315750506000910152565b6000816124315761243161246e565b506000190190565b600181811c9082168061244d57607f821691505b602082108114156117f357634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220e94ed6a0524ceeb666cae41427f8253874075f7d5a951de0d0a14e1818de181a64736f6c63430008060033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004486f6f74000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004484f4f5400000000000000000000000000000000000000000000000000000000
Loading