[ { "inputs": [ { "internalType": "address", "name": "_creator_address", "type": "address" }, { "internalType": "address", "name": "_timelock_address", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_initial_mint_amt", "type": "uint256" } ], "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": false, "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "MinterAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "MinterRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerNominated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "timelock_address", "type": "address" } ], "name": "TimelockChanged", "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": "amount", "type": "uint256" } ], "name": "TokenMinterBurned", "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": "amount", "type": "uint256" } ], "name": "TokenMinterMinted", "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": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "minter_address", "type": "address" } ], "name": "addMinter", "outputs": [], "stateMutability": "nonpayable", "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": [], "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": "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": "b_address", "type": "address" }, { "internalType": "uint256", "name": "b_amount", "type": "uint256" } ], "name": "minter_burn_from", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "m_address", "type": "address" }, { "internalType": "uint256", "name": "m_amount", "type": "uint256" } ], "name": "minter_mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "minters", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "minters_array", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "nominateNewOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "nominatedOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "address", "name": "minter_address", "type": "address" } ], "name": "removeMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_timelock_address", "type": "address" } ], "name": "setTimelock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timelock_address", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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" } ]
6101406040523480156200001257600080fd5b50604051620029d5380380620029d58339810160408190526200003591620003b8565b84848484838280604051806040016040528060018152602001603160f81b81525085858160039081620000699190620004e0565b506004620000788282620004e0565b5050825160209384012082519284019290922060e08390526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818901819052818301979097526060810194909452608080850193909352308483018190528151808603909301835260c0948501909152815191909601209052929092526101205250506001600160a01b038116620001675760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b600780546001600160a01b0319166001600160a01b038316908117909155604080516000815260208101929092527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a15082600960006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050506200020385826200020e60201b620014351760201c565b5050505050620005d4565b6001600160a01b038216620002665760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200015e565b80600260008282546200027a9190620005ac565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b80516001600160a01b0381168114620002ee57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200031b57600080fd5b81516001600160401b0380821115620003385762000338620002f3565b604051601f8301601f19908116603f01168101908282118183101715620003635762000363620002f3565b816040528381526020925086838588010111156200038057600080fd5b600091505b83821015620003a4578582018301518183018401529082019062000385565b600093810190920192909252949350505050565b600080600080600060a08688031215620003d157600080fd5b620003dc86620002d6565b9450620003ec60208701620002d6565b60408701519094506001600160401b03808211156200040a57600080fd5b6200041889838a0162000309565b945060608801519150808211156200042f57600080fd5b506200043e8882890162000309565b925050608086015190509295509295909350565b600181811c908216806200046757607f821691505b6020821081036200048857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d157600081815260208120601f850160051c81016020861015620004b75750805b601f850160051c820191505b81811015620004d857828155600101620004c3565b505050505050565b81516001600160401b03811115620004fc57620004fc620002f3565b62000514816200050d845462000452565b846200048e565b602080601f8311600181146200054c5760008415620005335750858301515b600019600386901b1c1916600185901b178555620004d8565b600085815260208120601f198616915b828110156200057d578886015182559484019460019091019084016200055c565b50858210156200059c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620005ce57634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05160e05161010051610120516123b1620006246000396000611ab901526000611b0801526000611ae301526000611a3c01526000611a6601526000611a9001526123b16000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806379ba5097116100f9578063a9059cbb11610097578063d73ced0411610071578063d73ced04146103ea578063dc6663c7146103fd578063dd62ed3e1461041d578063f46eccc41461046357600080fd5b8063a9059cbb146103b1578063bdacb303146103c4578063d505accf146103d757600080fd5b80638da5cb5b116100d35780638da5cb5b1461036357806395d89b4114610383578063983b2d561461038b578063a457c2d71461039e57600080fd5b806379ba50971461033557806379cc67901461033d5780637ecebe001461035057600080fd5b80633644e5151161016657806353a47bb71161014057806353a47bb7146102945780636a257ebc146102d957806370a08231146102ec5780637941bc891461032257600080fd5b80633644e51514610266578063395093511461026e57806342966c681461028157600080fd5b806318160ddd116101a257806318160ddd1461021f57806323b872dd146102315780633092afd514610244578063313ce5671461025757600080fd5b806306fdde03146101c9578063095ea7b3146101e75780631627540c1461020a575b600080fd5b6101d1610486565b6040516101de919061207a565b60405180910390f35b6101fa6101f536600461210f565b610518565b60405190151581526020016101de565b61021d610218366004612139565b610532565b005b6002545b6040519081526020016101de565b6101fa61023f36600461215b565b610658565b61021d610252366004612139565b61067c565b604051601281526020016101de565b610223610992565b6101fa61027c36600461210f565b6109a1565b61021d61028f366004612197565b6109ed565b6008546102b49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101de565b61021d6102e736600461210f565b6109fa565b6102236102fa366004612139565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61021d61033036600461210f565b610ad4565b61021d610ba6565b61021d61034b36600461210f565b610cf1565b61022361035e366004612139565b610d0a565b6007546102b49073ffffffffffffffffffffffffffffffffffffffff1681565b6101d1610d35565b61021d610399366004612139565b610d44565b6101fa6103ac36600461210f565b610fcd565b6101fa6103bf36600461210f565b61109e565b61021d6103d2366004612139565b6110ac565b61021d6103e53660046121b0565b61123f565b6102b46103f8366004612197565b6113fe565b6009546102b49073ffffffffffffffffffffffffffffffffffffffff1681565b61022361042b366004612223565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101fa610471366004612139565b600b6020526000908152604090205460ff1681565b60606003805461049590612256565b80601f01602080910402602001604051908101604052809291908181526020018280546104c190612256565b801561050e5780601f106104e35761010080835404028352916020019161050e565b820191906000526020600020905b8154815290600101906020018083116104f157829003601f168201915b5050505050905090565b600033610526818585611528565b60019150505b92915050565b60075473ffffffffffffffffffffffffffffffffffffffff1633146105de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084015b60405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b6000336106668582856116dc565b6106718585856117b3565b506001949350505050565b60095473ffffffffffffffffffffffffffffffffffffffff163314806106b9575060075473ffffffffffffffffffffffffffffffffffffffff1633145b61071f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff811661079c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5a65726f2061646472657373206465746563746564000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600b602052604090205460ff161515600114610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f41646472657373206e6f6e6578697374616e740000000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600b6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b600a5481101561094b578173ffffffffffffffffffffffffffffffffffffffff16600a82815481106108b0576108b06122a3565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603610939576000600a82815481106108ec576108ec6122a3565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061094b565b8061094381612301565b91505061087c565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929060200161064d565b600061099c611a22565b905090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061052690829086906109e8908790612339565b611528565b6109f73382611b56565b50565b336000908152600b602052604090205460ff161515600114610a78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4f6e6c79206d696e74657273000000000000000000000000000000000000000060448201526064016105d5565b610a828282611435565b60405181815273ffffffffffffffffffffffffffffffffffffffff83169033907fe0dcb47e0eb67e20e87f3e34aab31c669ecec7466e8b7fb329d586dadebac6b6906020015b60405180910390a35050565b336000908152600b602052604090205460ff161515600114610b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4f6e6c79206d696e74657273000000000000000000000000000000000000000060448201526064016105d5565b610b5c8282610cf1565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fdc7fd22bc401e7c6b9be2c2736286a2a42ea0c6307bc97ff0fb12bd0abd2c74790602001610ac8565b60085473ffffffffffffffffffffffffffffffffffffffff163314610c4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e657273686970000000000000000000000060648201526084016105d5565b6007546008546040805173ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160088054600780547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b610cfc8233836116dc565b610d068282611b56565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604081205461052c565b60606004805461049590612256565b60095473ffffffffffffffffffffffffffffffffffffffff16331480610d81575060075473ffffffffffffffffffffffffffffffffffffffff1633145b610de7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff8116610e64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5a65726f2061646472657373206465746563746564000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600b602052604090205460ff1615610ef4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4164647265737320616c7265616479206578697374730000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff81166000818152600b6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155600a805491820181559093527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182527f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6910161064d565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015611091576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016105d5565b6106718286868403611528565b6000336105268185856117b3565b60095473ffffffffffffffffffffffffffffffffffffffff163314806110e9575060075473ffffffffffffffffffffffffffffffffffffffff1633145b61114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b000000000000000000000060448201526064016105d5565b73ffffffffffffffffffffffffffffffffffffffff81166111cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5a65726f2061646472657373206465746563746564000000000000000000000060448201526064016105d5565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff02fdf7b40fb25784d39342249bbb15cee2bc0288f75ded1cf8ad2e63d4d91aa9060200161064d565b834211156112a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105d5565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886112d88c611d12565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061134082611d47565b9050600061135082878787611db0565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105d5565b6113f28a8a8a611528565b50505050505050505050565b600a818154811061140e57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b73ffffffffffffffffffffffffffffffffffffffff82166114b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105d5565b80600260008282546114c49190612339565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff83166115ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff821661166d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117ad57818110156117a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105d5565b6117ad8484848403611528565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316611856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff82166118f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156119af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36117ad565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016148015611a8857507f000000000000000000000000000000000000000000000000000000000000000046145b15611ab257507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b73ffffffffffffffffffffffffffffffffffffffff8216611bf9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611caf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016116cf565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604090208054600181018255905b50919050565b600061052c611d54611a22565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611dc187878787611dd8565b91509150611dce81611ec7565b5095945050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611e0f5750600090506003611ebe565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611e63573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611eb757600060019250925050611ebe565b9150600090505b94509492505050565b6000816004811115611edb57611edb61234c565b03611ee35750565b6001816004811115611ef757611ef761234c565b03611f5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105d5565b6002816004811115611f7257611f7261234c565b03611fd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105d5565b6003816004811115611fed57611fed61234c565b036109f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b600060208083528351808285015260005b818110156120a75785810183015185820160400152820161208b565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461210a57600080fd5b919050565b6000806040838503121561212257600080fd5b61212b836120e6565b946020939093013593505050565b60006020828403121561214b57600080fd5b612154826120e6565b9392505050565b60008060006060848603121561217057600080fd5b612179846120e6565b9250612187602085016120e6565b9150604084013590509250925092565b6000602082840312156121a957600080fd5b5035919050565b600080600080600080600060e0888a0312156121cb57600080fd5b6121d4886120e6565b96506121e2602089016120e6565b95506040880135945060608801359350608088013560ff8116811461220657600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561223657600080fd5b61223f836120e6565b915061224d602084016120e6565b90509250929050565b600181811c9082168061226a57607f821691505b602082108103611d41577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612332576123326122d2565b5060010190565b8082018082111561052c5761052c6122d2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204da41e96b43fdb98bb279a26850d46459be242dbf8339c5b4f17fbda58c6399064736f6c63430008110033000000000000000000000000b3e03c9c1820c6216953fb1bbc6ffd232ac12a19000000000000000000000000b3e03c9c1820c6216953fb1bbc6ffd232ac12a1900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104672617820507269636520496e6465780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034650490000000000000000000000000000000000000000000000000000000000