[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ], "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": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "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": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "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": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b506040516200355c3803806200355c833981810160405281019062000037919062000521565b8282816005908051906020019062000051929190620003e8565b5080600690805190602001906200006a929190620003e8565b5050506000600760006101000a81548160ff02191690831515021790555080600760016101000a81548160ff021916908360ff160217905550620000c76000801b620000bb6200015260201b60201c565b6200015a60201b60201c565b620001087f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6620000fc6200015260201b60201c565b6200015a60201b60201c565b620001497f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6200013d6200015260201b60201c565b6200015a60201b60201c565b50505062000740565b600033905090565b6200016c82826200017060201b60201c565b5050565b620001878282620001b860201b62000c721760201c565b620001b38160016000858152602001908152602001600020620002a960201b62000d521790919060201c565b505050565b620001ca8282620002e160201b60201c565b620002a557600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200024a6200015260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620002d9836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200034b60201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006200035f8383620003c560201b60201c565b620003ba578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620003bf565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b828054620003f6906200064b565b90600052602060002090601f0160209004810192826200041a576000855562000466565b82601f106200043557805160ff191683800117855562000466565b8280016001018555821562000466579182015b828111156200046557825182559160200191906001019062000448565b5b50905062000475919062000479565b5090565b5b80821115620004945760008160009055506001016200047a565b5090565b6000620004af620004a984620005d2565b620005a9565b905082815260208101848484011115620004c857600080fd5b620004d584828562000615565b509392505050565b600082601f830112620004ef57600080fd5b81516200050184826020860162000498565b91505092915050565b6000815190506200051b8162000726565b92915050565b6000806000606084860312156200053757600080fd5b600084015167ffffffffffffffff8111156200055257600080fd5b6200056086828701620004dd565b935050602084015167ffffffffffffffff8111156200057e57600080fd5b6200058c86828701620004dd565b92505060406200059f868287016200050a565b9150509250925092565b6000620005b5620005c8565b9050620005c3828262000681565b919050565b6000604051905090565b600067ffffffffffffffff821115620005f057620005ef620006e6565b5b620005fb8262000715565b9050602081019050919050565b600060ff82169050919050565b60005b838110156200063557808201518184015260208101905062000618565b8381111562000645576000848401525b50505050565b600060028204905060018216806200066457607f821691505b602082108114156200067b576200067a620006b7565b5b50919050565b6200068c8262000715565b810181811067ffffffffffffffff82111715620006ae57620006ad620006e6565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b620007318162000608565b81146200073d57600080fd5b50565b612e0c80620007506000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a457c2d711610097578063d539139311610071578063d5391393146104bf578063d547741f146104dd578063dd62ed3e146104f9578063e63ab1e9146105295761018e565b8063a457c2d71461042f578063a9059cbb1461045f578063ca15c8731461048f5761018e565b806370a08231146103595780638456cb59146103895780639010d07c1461039357806391d14854146103c357806395d89b41146103f3578063a217fddf146104115761018e565b80632f2ff15d1161014b578063395093511161012557806339509351146102e55780633f4ba83a1461031557806340c10f191461031f5780635c975abb1461033b5761018e565b80632f2ff15d1461028f578063313ce567146102ab57806336568abe146102c95761018e565b806301ffc9a71461019357806306fdde03146101c3578063095ea7b3146101e157806318160ddd1461021157806323b872dd1461022f578063248a9ca31461025f575b600080fd5b6101ad60048036038101906101a8919061202b565b610547565b6040516101ba91906123d4565b60405180910390f35b6101cb6105c1565b6040516101d8919061240a565b60405180910390f35b6101fb60048036038101906101f69190611f4e565b610653565b60405161020891906123d4565b60405180910390f35b610219610676565b604051610226919061262c565b60405180910390f35b61024960048036038101906102449190611eff565b610680565b60405161025691906123d4565b60405180910390f35b61027960048036038101906102749190611f8a565b6106af565b60405161028691906123ef565b60405180910390f35b6102a960048036038101906102a49190611fb3565b6106ce565b005b6102b36106ef565b6040516102c09190612647565b60405180910390f35b6102e360048036038101906102de9190611fb3565b610706565b005b6102ff60048036038101906102fa9190611f4e565b610789565b60405161030c91906123d4565b60405180910390f35b61031d6107c0565b005b61033960048036038101906103349190611f4e565b61083a565b005b6103436108b8565b60405161035091906123d4565b60405180910390f35b610373600480360381019061036e9190611e9a565b6108cf565b604051610380919061262c565b60405180910390f35b610391610918565b005b6103ad60048036038101906103a89190611fef565b610992565b6040516103ba91906123b9565b60405180910390f35b6103dd60048036038101906103d89190611fb3565b6109c1565b6040516103ea91906123d4565b60405180910390f35b6103fb610a2b565b604051610408919061240a565b60405180910390f35b610419610abd565b60405161042691906123ef565b60405180910390f35b61044960048036038101906104449190611f4e565b610ac4565b60405161045691906123d4565b60405180910390f35b61047960048036038101906104749190611f4e565b610b3b565b60405161048691906123d4565b60405180910390f35b6104a960048036038101906104a49190611f8a565b610b5e565b6040516104b6919061262c565b60405180910390f35b6104c7610b82565b6040516104d491906123ef565b60405180910390f35b6104f760048036038101906104f29190611fb3565b610ba6565b005b610513600480360381019061050e9190611ec3565b610bc7565b604051610520919061262c565b60405180910390f35b610531610c4e565b60405161053e91906123ef565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105ba57506105b982610d82565b5b9050919050565b6060600580546105d090612855565b80601f01602080910402602001604051908101604052809291908181526020018280546105fc90612855565b80156106495780601f1061061e57610100808354040283529160200191610649565b820191906000526020600020905b81548152906001019060200180831161062c57829003601f168201915b5050505050905090565b60008061065e610dfc565b905061066b818585610e04565b600191505092915050565b6000600454905090565b60008061068b610dfc565b9050610698858285610fcf565b6106a385858561105b565b60019150509392505050565b6000806000838152602001908152602001600020600101549050919050565b6106d7826106af565b6106e0816112d6565b6106ea83836112ea565b505050565b6000600760019054906101000a900460ff16905090565b61070e610dfc565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461077b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610772906125cc565b60405180910390fd5b610785828261131e565b5050565b600080610794610dfc565b90506107b58185856107a68589610bc7565b6107b09190612689565b610e04565b600191505092915050565b6107f17f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6107ec610dfc565b6109c1565b610830576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108279061252c565b60405180910390fd5b610838611352565b565b61086b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610866610dfc565b6109c1565b6108aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a1906124ec565b60405180910390fd5b6108b482826113b5565b5050565b6000600760009054906101000a900460ff16905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109497f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610944610dfc565b6109c1565b610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f9061254c565b60405180910390fd5b61099061150d565b565b60006109b9826001600086815260200190815260200160002061157090919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060068054610a3a90612855565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6690612855565b8015610ab35780601f10610a8857610100808354040283529160200191610ab3565b820191906000526020600020905b815481529060010190602001808311610a9657829003601f168201915b5050505050905090565b6000801b81565b600080610acf610dfc565b90506000610add8286610bc7565b905083811015610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906125ac565b60405180910390fd5b610b2f8286868403610e04565b60019250505092915050565b600080610b46610dfc565b9050610b5381858561105b565b600191505092915050565b6000610b7b6001600084815260200190815260200160002061158a565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610baf826106af565b610bb8816112d6565b610bc2838361131e565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b610c7c82826109c1565b610d4e57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610cf3610dfc565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610d7a836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61159f565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610df55750610df48261160f565b5b9050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b9061258c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edb9061248c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fc2919061262c565b60405180910390a3505050565b6000610fdb8484610bc7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110555781811015611047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103e906124ac565b60405180910390fd5b6110548484848403610e04565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c29061256c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561113b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111329061244c565b60405180910390fd5b611146838383611679565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c4906124cc565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112bd919061262c565b60405180910390a36112d0848484611689565b50505050565b6112e7816112e2610dfc565b61168e565b50565b6112f48282610c72565b6113198160016000858152602001908152602001600020610d5290919063ffffffff16565b505050565b6113288282611713565b61134d81600160008581526020019081526020016000206117f490919063ffffffff16565b505050565b61135a611824565b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61139e610dfc565b6040516113ab91906123b9565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141c906125ec565b60405180910390fd5b61143160008383611679565b80600460008282546114439190612689565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114f5919061262c565b60405180910390a361150960008383611689565b5050565b61151561186d565b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611559610dfc565b60405161156691906123b9565b60405180910390a1565b600061157f83600001836118b7565b60001c905092915050565b600061159882600001611908565b9050919050565b60006115ab8383611919565b611604578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611609565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61168483838361193c565b505050565b505050565b61169882826109c1565b61170f576116a581611994565b6116b38360001c60206119c1565b6040516020016116c492919061237f565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611706919061240a565b60405180910390fd5b5050565b61171d82826109c1565b156117f057600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611795610dfc565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061181c836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611cbb565b905092915050565b61182c6108b8565b61186b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118629061246c565b60405180910390fd5b565b6118756108b8565b156118b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ac9061250c565b60405180910390fd5b565b60008260000182815481106118f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b611947838383611e41565b61194f6108b8565b1561198f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119869061260c565b60405180910390fd5b505050565b60606119ba8273ffffffffffffffffffffffffffffffffffffffff16601460ff166119c1565b9050919050565b6060600060028360026119d491906126df565b6119de9190612689565b67ffffffffffffffff811115611a1d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611a4f5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611aad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611b37577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611b7791906126df565b611b819190612689565b90505b6001811115611c6d577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611be9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110611c26577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611c669061282b565b9050611b84565b5060008414611cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca89061242c565b60405180910390fd5b8091505092915050565b60008083600101600084815260200190815260200160002054905060008114611e35576000600182611ced9190612739565b9050600060018660000180549050611d059190612739565b9050818114611dc0576000866000018281548110611d4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110611d96577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b85600001805480611dfa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611e3b565b60009150505b92915050565b505050565b600081359050611e5581612d7a565b92915050565b600081359050611e6a81612d91565b92915050565b600081359050611e7f81612da8565b92915050565b600081359050611e9481612dbf565b92915050565b600060208284031215611eac57600080fd5b6000611eba84828501611e46565b91505092915050565b60008060408385031215611ed657600080fd5b6000611ee485828601611e46565b9250506020611ef585828601611e46565b9150509250929050565b600080600060608486031215611f1457600080fd5b6000611f2286828701611e46565b9350506020611f3386828701611e46565b9250506040611f4486828701611e85565b9150509250925092565b60008060408385031215611f6157600080fd5b6000611f6f85828601611e46565b9250506020611f8085828601611e85565b9150509250929050565b600060208284031215611f9c57600080fd5b6000611faa84828501611e5b565b91505092915050565b60008060408385031215611fc657600080fd5b6000611fd485828601611e5b565b9250506020611fe585828601611e46565b9150509250929050565b6000806040838503121561200257600080fd5b600061201085828601611e5b565b925050602061202185828601611e85565b9150509250929050565b60006020828403121561203d57600080fd5b600061204b84828501611e70565b91505092915050565b61205d8161276d565b82525050565b61206c8161277f565b82525050565b61207b8161278b565b82525050565b600061208c82612662565b612096818561266d565b93506120a68185602086016127f8565b6120af816128e5565b840191505092915050565b60006120c582612662565b6120cf818561267e565b93506120df8185602086016127f8565b80840191505092915050565b60006120f860208361266d565b9150612103826128f6565b602082019050919050565b600061211b60238361266d565b91506121268261291f565b604082019050919050565b600061213e60148361266d565b91506121498261296e565b602082019050919050565b600061216160228361266d565b915061216c82612997565b604082019050919050565b6000612184601d8361266d565b915061218f826129e6565b602082019050919050565b60006121a760268361266d565b91506121b282612a0f565b604082019050919050565b60006121ca60288361266d565b91506121d582612a5e565b604082019050919050565b60006121ed60108361266d565b91506121f882612aad565b602082019050919050565b6000612210602b8361266d565b915061221b82612ad6565b604082019050919050565b600061223360298361266d565b915061223e82612b25565b604082019050919050565b600061225660258361266d565b915061226182612b74565b604082019050919050565b600061227960248361266d565b915061228482612bc3565b604082019050919050565b600061229c60178361267e565b91506122a782612c12565b601782019050919050565b60006122bf60258361266d565b91506122ca82612c3b565b604082019050919050565b60006122e260118361267e565b91506122ed82612c8a565b601182019050919050565b6000612305602f8361266d565b915061231082612cb3565b604082019050919050565b6000612328601f8361266d565b915061233382612d02565b602082019050919050565b600061234b602a8361266d565b915061235682612d2b565b604082019050919050565b61236a816127e1565b82525050565b612379816127eb565b82525050565b600061238a8261228f565b915061239682856120ba565b91506123a1826122d5565b91506123ad82846120ba565b91508190509392505050565b60006020820190506123ce6000830184612054565b92915050565b60006020820190506123e96000830184612063565b92915050565b60006020820190506124046000830184612072565b92915050565b600060208201905081810360008301526124248184612081565b905092915050565b60006020820190508181036000830152612445816120eb565b9050919050565b600060208201905081810360008301526124658161210e565b9050919050565b6000602082019050818103600083015261248581612131565b9050919050565b600060208201905081810360008301526124a581612154565b9050919050565b600060208201905081810360008301526124c581612177565b9050919050565b600060208201905081810360008301526124e58161219a565b9050919050565b60006020820190508181036000830152612505816121bd565b9050919050565b60006020820190508181036000830152612525816121e0565b9050919050565b6000602082019050818103600083015261254581612203565b9050919050565b6000602082019050818103600083015261256581612226565b9050919050565b6000602082019050818103600083015261258581612249565b9050919050565b600060208201905081810360008301526125a58161226c565b9050919050565b600060208201905081810360008301526125c5816122b2565b9050919050565b600060208201905081810360008301526125e5816122f8565b9050919050565b600060208201905081810360008301526126058161231b565b9050919050565b600060208201905081810360008301526126258161233e565b9050919050565b60006020820190506126416000830184612361565b92915050565b600060208201905061265c6000830184612370565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000612694826127e1565b915061269f836127e1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126d4576126d3612887565b5b828201905092915050565b60006126ea826127e1565b91506126f5836127e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561272e5761272d612887565b5b828202905092915050565b6000612744826127e1565b915061274f836127e1565b92508282101561276257612761612887565b5b828203905092915050565b6000612778826127c1565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156128165780820151818401526020810190506127fb565b83811115612825576000848401525b50505050565b6000612836826127e1565b9150600082141561284a57612849612887565b5b600182039050919050565b6000600282049050600182168061286d57607f821691505b60208210811415612881576128806128b6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4d6f636b45524332303a206d7573742068617665206d696e74657220726f6c6560008201527f20746f206d696e74000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4d6f636b45524332303a206d75737420686176652070617573657220726f6c6560008201527f20746f20756e7061757365000000000000000000000000000000000000000000602082015250565b7f4d6f636b45524332303a206d75737420686176652070617573657220726f6c6560008201527f20746f2070617573650000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b612d838161276d565b8114612d8e57600080fd5b50565b612d9a8161278b565b8114612da557600080fd5b50565b612db181612795565b8114612dbc57600080fd5b50565b612dc8816127e1565b8114612dd357600080fd5b5056fea26469706673582212209cfc4ba5e7a41f29d3d1ca84f5cdf48b39fd150347a78430bd87fb8ddd439cbf64736f6c63430008040033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c577261707065642041564158000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055741564158000000000000000000000000000000000000000000000000000000