[ { "inputs": [ { "internalType": "address", "name": "tokenReceiver_", "type": "address" } ], "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": "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": "DOMAIN_SEPARATOR", "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": "burnFrom", "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": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "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": [], "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": "from_", "type": "address" }, { "internalType": "address", "name": "to_", "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": "transferFromWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101406040523480156200001257600080fd5b50604051620029c0380380620029c08339810160408190526200003591620008ab565b6040518060400160405280600981526020016820b53730aa37b5b2b760b91b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600981526020016820b53730aa37b5b2b760b91b81525060405180604001604052806004815260200163414a4e4160e01b8152508160039080519060200190620000c99291906200080f565b508051620000df9060049060208401906200080f565b5050825160208085019190912083518483012060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81880181905281830187905260608201869052608082019490945230818401528151808203909301835260c0019052805194019390932091935091906080523060601b60c0526101205250620001ab935084925062000188915050601290565b6200019590600a62000941565b620001a590637735940062000a00565b620001b2565b5062000aa5565b620001c98282620001cd60201b62000ab81760201c565b5050565b620001e482826200028460201b62000b481760201c565b6001600160e01b03620001f86200035f8216565b1115620002655760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b60648201526084015b60405180910390fd5b6200027e600962000c1b6200036560201b17836200037c565b50505050565b6001600160a01b038216620002dc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200025c565b620002ea600083836200052e565b8060026000828254620002fe9190620008dd565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001c960008383620005a4565b60025490565b6000620003738284620008dd565b90505b92915050565b825460009081908015620003ce57856200039860018362000a22565b81548110620003ab57620003ab62000a8f565b60009182526020909120015464010000000090046001600160e01b0316620003d1565b60005b6001600160e01b03169250620003e883858760201c565b91506000811180156200042c575043866200040560018462000a22565b8154811062000418576200041862000a8f565b60009182526020909120015463ffffffff16145b15620004a0576200044882620005bc60201b62000c271760201c565b866200045660018462000a22565b8154811062000469576200046962000a8f565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b0316021790555062000525565b856040518060400160405280620004c2436200062b60201b62000c941760201c565b63ffffffff168152602001620004e385620005bc60201b62000c271760201c565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b6001600160a01b0382163014156200059f5760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f74207472616e7366657220746f6b656e7320746f2074686520636f60448201526c373a3930b1ba1034ba39b2b63360991b60648201526084016200025c565b505050565b6200059f8383836200069260201b62000cf91760201c565b60006001600160e01b03821115620006275760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016200025c565b5090565b600063ffffffff821115620006275760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016200025c565b620006aa8383836200059f60201b62000d2b1760201c565b6001600160a01b038381166000908152600760205260408082205485841683529120546200059f92918216911683818314801590620006e95750600081115b156200059f576001600160a01b0383161562000776576001600160a01b03831660009081526008602090815260408220829162000733919062000801901b62000d3017856200037c565b91509150846001600160a01b0316600080516020620029a083398151915283836040516200076b929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156200059f576001600160a01b038216600090815260086020908152604082208291620007ba919062000365901b62000c1b17856200037c565b91509150836001600160a01b0316600080516020620029a08339815191528383604051620007f2929190918252602082015260400190565b60405180910390a25050505050565b600062000373828462000a22565b8280546200081d9062000a3c565b90600052602060002090601f0160209004810192826200084157600085556200088c565b82601f106200085c57805160ff19168380011785556200088c565b828001600101855582156200088c579182015b828111156200088c5782518255916020019190600101906200086f565b50620006279291505b8082111562000627576000815560010162000895565b600060208284031215620008be57600080fd5b81516001600160a01b0381168114620008d657600080fd5b9392505050565b60008219821115620008f357620008f362000a79565b500190565b600181815b80851115620009395781600019048211156200091d576200091d62000a79565b808516156200092b57918102915b93841c9390800290620008fd565b509250929050565b60006200037360ff8416836000826200095d5750600162000376565b816200096c5750600062000376565b81600181146200098557600281146200099057620009b0565b600191505062000376565b60ff841115620009a457620009a462000a79565b50506001821b62000376565b5060208310610133831016604e8410600b8410161715620009d5575081810a62000376565b620009e18383620008f8565b8060001904821115620009f857620009f862000a79565b029392505050565b600081600019048311821515161562000a1d5762000a1d62000a79565b500290565b60008282101562000a375762000a3762000a79565b500390565b600181811c9082168062000a5157607f821691505b6020821081141562000a7357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160601c60e0516101005161012051611ea862000af86000396000611113015260006111620152600061113d01526000611096015260006110c0015260006110ea0152611ea86000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636fcfff45116100de5780639ab24eb011610097578063c3cda52011610071578063c3cda52014610365578063d505accf14610378578063dd62ed3e1461038b578063f1127ed81461039e57600080fd5b80639ab24eb01461032c578063a457c2d71461033f578063a9059cbb1461035257600080fd5b80636fcfff451461029a57806370a08231146102c257806379cc6790146102eb5780637ecebe00146102fe5780638e539e8c1461031157806395d89b411461032457600080fd5b8063395093511161013057806339509351146101f55780633a46b1a81461020857806342966c681461021b578063587cde1e146102305780635c19a95c1461027457806366c0f2e01461028757600080fd5b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b957806323b872dd146101cb578063313ce567146101de5780633644e515146101ed575b600080fd5b6101806103db565b60405161018d9190611d55565b60405180910390f35b6101a96101a4366004611c7a565b61046d565b604051901515815260200161018d565b6002545b60405190815260200161018d565b6101a96101d9366004611bd4565b610485565b6040516012815260200161018d565b6101bd6104a9565b6101a9610203366004611c7a565b6104b8565b6101bd610216366004611c7a565b6104da565b61022e610229366004611d3c565b610559565b005b61025c61023e366004611b0b565b6001600160a01b039081166000908152600760205260409020541690565b6040516001600160a01b03909116815260200161018d565b61022e610282366004611b0b565b610566565b61022e610295366004611b59565b610570565b6102ad6102a8366004611b0b565b610595565b60405163ffffffff909116815260200161018d565b6101bd6102d0366004611b0b565b6001600160a01b031660009081526020819052604090205490565b61022e6102f9366004611c7a565b6105bd565b6101bd61030c366004611b0b565b6105d6565b6101bd61031f366004611d3c565b6105f4565b610180610650565b6101bd61033a366004611b0b565b61065f565b6101a961034d366004611c7a565b6106e6565b6101a9610360366004611c7a565b610761565b61022e610373366004611ca4565b61076f565b61022e610386366004611c10565b6108a5565b6101bd610399366004611b26565b610a09565b6103b16103ac366004611cfc565b610a34565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161018d565b6060600380546103ea90611dfb565b80601f016020809104026020016040519081016040528092919081815260200182805461041690611dfb565b80156104635780601f1061043857610100808354040283529160200191610463565b820191906000526020600020905b81548152906001019060200180831161044657829003601f168201915b5050505050905090565b60003361047b818585610d3c565b5060019392505050565b600033610493858285610e60565b61049e858585610ed4565b506001949350505050565b60006104b3611089565b905090565b60003361047b8185856104cb8383610a09565b6104d59190611daa565b610d3c565b60004382106105305760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064015b60405180910390fd5b6001600160a01b038316600090815260086020526040902061055290836111b0565b9392505050565b610563338261126d565b50565b6105633382611277565b61057f888787878787876108a5565b61058a888887610485565b505050505050505050565b6001600160a01b0381166000908152600860205260408120546105b790610c94565b92915050565b6105c8823383610e60565b6105d2828261126d565b5050565b6001600160a01b0381166000908152600560205260408120546105b7565b60004382106106455760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564006044820152606401610527565b6105b76009836111b0565b6060600480546103ea90611dfb565b6001600160a01b03811660009081526008602052604081205480156106d3576001600160a01b03831660009081526008602052604090206106a1600183611de4565b815481106106b1576106b1611e5c565b60009182526020909120015464010000000090046001600160e01b03166106d6565b60005b6001600160e01b03169392505050565b600033816106f48286610a09565b9050838110156107545760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610527565b61049e8286868403610d3c565b60003361047b818585610ed4565b834211156107bf5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610527565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610839906108319060a001604051602081830303815290604052805190602001206112f0565b85858561133e565b905061084481611366565b86146108925760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610527565b61089c8188611277565b50505050505050565b834211156108f55760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610527565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109248c611366565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061097f826112f0565b9050600061098f8287878761133e565b9050896001600160a01b0316816001600160a01b0316146109f25760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610527565b6109fd8a8a8a610d3c565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600860205260409020805463ffffffff8416908110610a7857610a78611e5c565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610ac28282610b48565b6002546001600160e01b031015610b345760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608401610527565b610b426009610c1b8361138e565b50505050565b6001600160a01b038216610b9e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610527565b610baa60008383611507565b8060026000828254610bbc9190611daa565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105d260008383611576565b60006105528284611daa565b60006001600160e01b03821115610c905760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610527565b5090565b600063ffffffff821115610c905760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610527565b6001600160a01b03838116600090815260076020526040808220548584168352912054610d2b92918216911683611581565b505050565b60006105528284611de4565b6001600160a01b038316610d9e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610527565b6001600160a01b038216610dff5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610527565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610e6c8484610a09565b90506000198114610b425781811015610ec75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610527565b610b428484848403610d3c565b6001600160a01b038316610f385760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610527565b6001600160a01b038216610f9a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610527565b610fa5838383611507565b6001600160a01b0383166000908152602081905260409020548181101561101d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610527565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b42848484611576565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156110e257507f000000000000000000000000000000000000000000000000000000000000000046145b1561110c57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b8154600090815b818110156112145760006111cb82846116be565b9050848682815481106111e0576111e0611e5c565b60009182526020909120015463ffffffff1611156112005780925061120e565b61120b816001611daa565b91505b506111b7565b81156112585784611226600184611de4565b8154811061123657611236611e5c565b60009182526020909120015464010000000090046001600160e01b031661125b565b60005b6001600160e01b031695945050505050565b6105d282826116d9565b6001600160a01b038281166000818152600760208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610b42828483611581565b60006105b76112fd611089565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061134f878787876116f1565b9150915061135c816117de565b5095945050505050565b6001600160a01b03811660009081526005602052604090208054600181018255905b50919050565b8254600090819080156113d957856113a7600183611de4565b815481106113b7576113b7611e5c565b60009182526020909120015464010000000090046001600160e01b03166113dc565b60005b6001600160e01b031692506113f583858763ffffffff16565b91506000811180156114335750438661140f600184611de4565b8154811061141f5761141f611e5c565b60009182526020909120015463ffffffff16145b156114935761144182610c27565b8661144d600184611de4565b8154811061145d5761145d611e5c565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b031602179055506114fe565b8560405180604001604052806114a843610c94565b63ffffffff1681526020016114bc85610c27565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b6001600160a01b038216301415610d2b5760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f74207472616e7366657220746f6b656e7320746f2074686520636f60448201526c373a3930b1ba1034ba39b2b63360991b6064820152608401610527565b610d2b838383610cf9565b816001600160a01b0316836001600160a01b0316141580156115a35750600081115b15610d2b576001600160a01b03831615611631576001600160a01b038316600090815260086020526040812081906115de90610d308561138e565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611626929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610d2b576001600160a01b0382166000908152600860205260408120819061166790610c1b8561138e565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516116af929190918252602082015260400190565b60405180910390a25050505050565b60006116cd6002848418611dc2565b61055290848416611daa565b6116e38282611999565b610b426009610d308361138e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561172857506000905060036117d5565b8460ff16601b1415801561174057508460ff16601c14155b1561175157506000905060046117d5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156117a5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166117ce576000600192509250506117d5565b9150600090505b94509492505050565b60008160048111156117f2576117f2611e46565b14156117fb5750565b600181600481111561180f5761180f611e46565b141561185d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610527565b600281600481111561187157611871611e46565b14156118bf5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610527565b60038160048111156118d3576118d3611e46565b141561192c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610527565b600481600481111561194057611940611e46565b14156105635760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610527565b6001600160a01b0382166119f95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610527565b611a0582600083611507565b6001600160a01b03821660009081526020819052604090205481811015611a795760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610527565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610d2b83600084611576565b80356001600160a01b0381168114611af557600080fd5b919050565b803560ff81168114611af557600080fd5b600060208284031215611b1d57600080fd5b61055282611ade565b60008060408385031215611b3957600080fd5b611b4283611ade565b9150611b5060208401611ade565b90509250929050565b600080600080600080600080610100898b031215611b7657600080fd5b611b7f89611ade565b9750611b8d60208a01611ade565b9650611b9b60408a01611ade565b95506060890135945060808901359350611bb760a08a01611afa565b925060c0890135915060e089013590509295985092959890939650565b600080600060608486031215611be957600080fd5b611bf284611ade565b9250611c0060208501611ade565b9150604084013590509250925092565b600080600080600080600060e0888a031215611c2b57600080fd5b611c3488611ade565b9650611c4260208901611ade565b95506040880135945060608801359350611c5e60808901611afa565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611c8d57600080fd5b611c9683611ade565b946020939093013593505050565b60008060008060008060c08789031215611cbd57600080fd5b611cc687611ade565b95506020870135945060408701359350611ce260608801611afa565b92506080870135915060a087013590509295509295509295565b60008060408385031215611d0f57600080fd5b611d1883611ade565b9150602083013563ffffffff81168114611d3157600080fd5b809150509250929050565b600060208284031215611d4e57600080fd5b5035919050565b600060208083528351808285015260005b81811015611d8257858101830151858201604001528201611d66565b81811115611d94576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115611dbd57611dbd611e30565b500190565b600082611ddf57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611df657611df6611e30565b500390565b600181811c90821680611e0f57607f821691505b6020821081141561138857634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea264697066735822122078d64ada1c6e2ec8dd9f7d443314a4fa5cbc2c20a8e06d788101505a5a51872364736f6c63430008070033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724000000000000000000000000666cf594fb18622e1ddb91468309a7e194ccb799
0x000000000000000000000000666cf594fb18622e1ddb91468309a7e194ccb799
----Decoded View------------Arg [0] : tokenReceiver_ (address): 0x666cf594fB18622e1ddB91468309a7E194ccb799
----Encoded View------------Arg [0] : 0x000000000000000000000000666cf594fb18622e1ddb91468309a7e194ccb799