[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "string", "name": "description", "type": "string" }, { "internalType": "address", "name": "issuer", "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": "account", "type": "address" } ], "name": "Freeze", "type": "event" }, { "anonymous": false, "inputs": [], "name": "NotFreezable", "type": "event" }, { "anonymous": false, "inputs": [], "name": "NotPausable", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "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": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unfreeze", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "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": "canFreeze", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "canPause", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "freeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "frozen", "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "notFreezable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "notPausable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "unfreeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "unfreezeAndTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526000600560156101000a81548160ff0219169083151502179055506001600560166101000a81548160ff0219169083151502179055506001600760006101000a81548160ff0219169083151502179055503480156200006257600080fd5b5060405162002efb38038062002efb833981810160405281019062000088919062000847565b858581600390816200009b919062000b81565b508060049081620000ad919062000b81565b506012600560006101000a81548160ff021916908360ff160217905550505033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200011e826200018760201b60201c565b6200012f846200019c60201b60201c565b62000142816000620001ba60201b60201c565b62000155600080620001ba60201b60201c565b6200016781846200021660201b60201c565b6200017b60006001620001ba60201b60201c565b50505050505062000e67565b806008908162000198919062000b81565b5050565b80600560006101000a81548160ff021916908360ff16021790555050565b8015600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200027f9062000cc9565b60405180910390fd5b6200029c60008383620003c460201b60201c565b620002b881600254620003df60201b6200123d1790919060201c565b60028190555062000316816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620003df60201b6200123d1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b8919062000cfc565b60405180910390a35050565b8282620003d882826200044260201b60201c565b5050505050565b6000808284620003f0919062000d48565b90508381101562000438576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042f9062000dd3565b60405180910390fd5b8091505092915050565b600560159054906101000a900460ff161580620004ac5750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b620004b657600080fd5b81620004c8816200056660201b60201c565b156200050b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005029062000e45565b60405180910390fd5b816200051d816200056660201b60201c565b1562000560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005579062000e45565b60405180910390fd5b50505050565b6000600760009054906101000a900460ff168015620005cf5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050919050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200063f82620005f4565b810181811067ffffffffffffffff8211171562000661576200066062000605565b5b80604052505050565b600062000676620005d6565b905062000684828262000634565b919050565b600067ffffffffffffffff821115620006a757620006a662000605565b5b620006b282620005f4565b9050602081019050919050565b60005b83811015620006df578082015181840152602081019050620006c2565b60008484015250505050565b600062000702620006fc8462000689565b6200066a565b905082815260208101848484011115620007215762000720620005ef565b5b6200072e848285620006bf565b509392505050565b600082601f8301126200074e576200074d620005ea565b5b815162000760848260208601620006eb565b91505092915050565b600060ff82169050919050565b620007818162000769565b81146200078d57600080fd5b50565b600081519050620007a18162000776565b92915050565b6000819050919050565b620007bc81620007a7565b8114620007c857600080fd5b50565b600081519050620007dc81620007b1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080f82620007e2565b9050919050565b620008218162000802565b81146200082d57600080fd5b50565b600081519050620008418162000816565b92915050565b60008060008060008060c08789031215620008675762000866620005e0565b5b600087015167ffffffffffffffff811115620008885762000887620005e5565b5b6200089689828a0162000736565b965050602087015167ffffffffffffffff811115620008ba57620008b9620005e5565b5b620008c889828a0162000736565b9550506040620008db89828a0162000790565b9450506060620008ee89828a01620007cb565b935050608087015167ffffffffffffffff811115620009125762000911620005e5565b5b6200092089828a0162000736565b92505060a06200093389828a0162000830565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200099357607f821691505b602082108103620009a957620009a86200094b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009d4565b62000a1f8683620009d4565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a6262000a5c62000a5684620007a7565b62000a37565b620007a7565b9050919050565b6000819050919050565b62000a7e8362000a41565b62000a9662000a8d8262000a69565b848454620009e1565b825550505050565b600090565b62000aad62000a9e565b62000aba81848462000a73565b505050565b5b8181101562000ae25762000ad660008262000aa3565b60018101905062000ac0565b5050565b601f82111562000b315762000afb81620009af565b62000b0684620009c4565b8101602085101562000b16578190505b62000b2e62000b2585620009c4565b83018262000abf565b50505b505050565b600082821c905092915050565b600062000b566000198460080262000b36565b1980831691505092915050565b600062000b71838362000b43565b9150826002028217905092915050565b62000b8c8262000940565b67ffffffffffffffff81111562000ba85762000ba762000605565b5b62000bb482546200097a565b62000bc182828562000ae6565b600060209050601f83116001811462000bf9576000841562000be4578287015190505b62000bf0858262000b63565b86555062000c60565b601f19841662000c0986620009af565b60005b8281101562000c335784890151825560018201915060208501945060208101905062000c0c565b8683101562000c53578489015162000c4f601f89168262000b43565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000cb1601f8362000c68565b915062000cbe8262000c79565b602082019050919050565b6000602082019050818103600083015262000ce48162000ca2565b9050919050565b62000cf681620007a7565b82525050565b600060208201905062000d13600083018462000ceb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d5582620007a7565b915062000d6283620007a7565b925082820190508082111562000d7d5762000d7c62000d19565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062000dbb601b8362000c68565b915062000dc88262000d83565b602082019050919050565b6000602082019050818103600083015262000dee8162000dac565b9050919050565b7f6163636f756e742069732066726f7a656e000000000000000000000000000000600082015250565b600062000e2d60118362000c68565b915062000e3a8262000df5565b602082019050919050565b6000602082019050818103600083015262000e608162000e1e565b9050919050565b6120848062000e776000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de57806395d89b4111610097578063d051665011610071578063d051665014610429578063dd62ed3e14610459578063f2fde38b14610489578063fbc6e84e146104a55761018e565b806395d89b41146103ab578063a457c2d7146103c9578063a9059cbb146103f95761018e565b806370a082311461030f578063715018a61461033f5780637284e416146103495780638456cb59146103675780638d1fdf2f146103715780638da5cb5b1461038d5761018e565b8063323be1c51161014b5780633f4ba83a116101255780633f4ba83a146102c157806345c8b1a6146102cb5780634be8b05e146102e75780635c975abb146102f15761018e565b8063323be1c514610257578063345585801461027557806339509351146102915761018e565b806306fdde0314610193578063095ea7b3146101b15780631104bc77146101e157806318160ddd146101eb57806323b872dd14610209578063313ce56714610239575b600080fd5b61019b6104c3565b6040516101a8919061196e565b60405180910390f35b6101cb60048036038101906101c69190611a29565b610555565b6040516101d89190611a84565b60405180910390f35b6101e9610573565b005b6101f3610616565b6040516102009190611aae565b60405180910390f35b610223600480360381019061021e9190611ac9565b610620565b6040516102309190611a84565b60405180910390f35b6102416106f9565b60405161024e9190611b38565b60405180910390f35b61025f610710565b60405161026c9190611a84565b60405180910390f35b61028f600480360381019061028a9190611a29565b610723565b005b6102ab60048036038101906102a69190611a29565b6107d3565b6040516102b89190611a84565b60405180910390f35b6102c9610886565b005b6102e560048036038101906102e09190611b53565b610962565b005b6102ef610a0d565b005b6102f9610acb565b6040516103069190611a84565b60405180910390f35b61032960048036038101906103249190611b53565b610ade565b6040516103369190611aae565b60405180910390f35b610347610b26565b005b610351610c29565b60405161035e919061196e565b60405180910390f35b61036f610cbb565b005b61038b60048036038101906103869190611b53565b610df0565b005b610395610e9b565b6040516103a29190611b8f565b60405180910390f35b6103b3610ec1565b6040516103c0919061196e565b60405180910390f35b6103e360048036038101906103de9190611a29565b610f53565b6040516103f09190611a84565b60405180910390f35b610413600480360381019061040e9190611a29565b611020565b6040516104209190611a84565b60405180910390f35b610443600480360381019061043e9190611b53565b61103e565b6040516104509190611a84565b60405180910390f35b610473600480360381019061046e9190611baa565b611050565b6040516104809190611aae565b60405180910390f35b6104a3600480360381019061049e9190611b53565b6110d7565b005b6104ad61122a565b6040516104ba9190611a84565b60405180910390f35b6060600380546104d290611c19565b80601f01602080910402602001604051908101604052809291908181526020018280546104fe90611c19565b801561054b5780601f106105205761010080835404028352916020019161054b565b820191906000526020600020905b81548152906001019060200180831161052e57829003601f168201915b5050505050905090565b600061056961056261129b565b84846112a3565b6001905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105cd57600080fd5b6000600760006101000a81548160ff0219169083151502179055507fa41ce0eb55e300a1ce656ef6b0c94d7f1f13fab1042ff519cf6bfbf0ed280b1d60405160405180910390a1565b6000600254905090565b600061062d84848461146c565b6106ee8461063961129b565b6106e98560405180606001604052806028815260200161200260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061069f61129b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116909092919063ffffffff16565b6112a3565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600560169054906101000a900460ff1681565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461077d57600080fd5b61078682610962565b6107908282611020565b6107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c690611c96565b60405180910390fd5b5050565b600061087c6107e061129b565b8461087785600160006107f161129b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123d90919063ffffffff16565b6112a3565b6001905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e057600080fd5b600560159054906101000a900460ff166108f957600080fd5b60011515600560159054906101000a900460ff1615151461091957600080fd5b6000600560156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bc57600080fd5b6109c78160006116f4565b8073ffffffffffffffffffffffffffffffffffffffff167fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee60405160405180910390a250565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6757600080fd5b6000600560156101000a81548160ff0219169083151502179055506000600560166101000a81548160ff0219169083151502179055507faff39f66825d4448497d384dee3f4a3adf00a622960add00806503ae4ccee01c60405160405180910390a1565b600560159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8057600080fd5b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060088054610c3890611c19565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6490611c19565b8015610cb15780601f10610c8657610100808354040283529160200191610cb1565b820191906000526020600020905b815481529060010190602001808311610c9457829003601f168201915b5050505050905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d1557600080fd5b600560159054906101000a900460ff161580610d7e5750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d8757600080fd5b60011515600560169054906101000a900460ff16151514610da757600080fd5b6001600560156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e4a57600080fd5b610e558160016116f4565b8073ffffffffffffffffffffffffffffffffffffffff167faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc32304960405160405180910390a250565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610ed090611c19565b80601f0160208091040260200160405190810160405280929190818152602001828054610efc90611c19565b8015610f495780601f10610f1e57610100808354040283529160200191610f49565b820191906000526020600020905b815481529060010190602001808311610f2c57829003601f168201915b5050505050905090565b6000611016610f6061129b565b846110118560405180606001604052806025815260200161202a6025913960016000610f8a61129b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116909092919063ffffffff16565b6112a3565b6001905092915050565b600061103461102d61129b565b848461146c565b6001905092915050565b600061104982611750565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461113157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361116a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900460ff1681565b600080828461124c9190611ce5565b905083811015611291576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128890611d65565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130990611df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137890611e89565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161145f9190611aae565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d290611f1b565b60405180910390fd5b6114e68383836117bf565b61155181604051806060016040528060268152602001611fdc602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116909092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461123d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116839190611aae565b60405180910390a3505050565b60008383111582906116d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cf919061196e565b60405180910390fd5b50600083856116e79190611f3b565b9050809150509392505050565b8015600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600760009054906101000a900460ff1680156117b85750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b9050919050565b82826117cb82826117d2565b5050505050565b600560159054906101000a900460ff16158061183b5750600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61184457600080fd5b8161184e81611750565b1561188e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188590611fbb565b60405180910390fd5b8161189881611750565b156118d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cf90611fbb565b60405180910390fd5b50505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119185780820151818401526020810190506118fd565b60008484015250505050565b6000601f19601f8301169050919050565b6000611940826118de565b61194a81856118e9565b935061195a8185602086016118fa565b61196381611924565b840191505092915050565b600060208201905081810360008301526119888184611935565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c082611995565b9050919050565b6119d0816119b5565b81146119db57600080fd5b50565b6000813590506119ed816119c7565b92915050565b6000819050919050565b611a06816119f3565b8114611a1157600080fd5b50565b600081359050611a23816119fd565b92915050565b60008060408385031215611a4057611a3f611990565b5b6000611a4e858286016119de565b9250506020611a5f85828601611a14565b9150509250929050565b60008115159050919050565b611a7e81611a69565b82525050565b6000602082019050611a996000830184611a75565b92915050565b611aa8816119f3565b82525050565b6000602082019050611ac36000830184611a9f565b92915050565b600080600060608486031215611ae257611ae1611990565b5b6000611af0868287016119de565b9350506020611b01868287016119de565b9250506040611b1286828701611a14565b9150509250925092565b600060ff82169050919050565b611b3281611b1c565b82525050565b6000602082019050611b4d6000830184611b29565b92915050565b600060208284031215611b6957611b68611990565b5b6000611b77848285016119de565b91505092915050565b611b89816119b5565b82525050565b6000602082019050611ba46000830184611b80565b92915050565b60008060408385031215611bc157611bc0611990565b5b6000611bcf858286016119de565b9250506020611be0858286016119de565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c3157607f821691505b602082108103611c4457611c43611bea565b5b50919050565b7f7472616e73666572000000000000000000000000000000000000000000000000600082015250565b6000611c806008836118e9565b9150611c8b82611c4a565b602082019050919050565b60006020820190508181036000830152611caf81611c73565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611cf0826119f3565b9150611cfb836119f3565b9250828201905080821115611d1357611d12611cb6565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611d4f601b836118e9565b9150611d5a82611d19565b602082019050919050565b60006020820190508181036000830152611d7e81611d42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611de16024836118e9565b9150611dec82611d85565b604082019050919050565b60006020820190508181036000830152611e1081611dd4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e736022836118e9565b9150611e7e82611e17565b604082019050919050565b60006020820190508181036000830152611ea281611e66565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611f056025836118e9565b9150611f1082611ea9565b604082019050919050565b60006020820190508181036000830152611f3481611ef8565b9050919050565b6000611f46826119f3565b9150611f51836119f3565b9250828203905081811115611f6957611f68611cb6565b5b92915050565b7f6163636f756e742069732066726f7a656e000000000000000000000000000000600082015250565b6000611fa56011836118e9565b9150611fb082611f6f565b602082019050919050565b60006020820190508181036000830152611fd481611f98565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207a40e799b68a5d831c16dbf65576768e7cb34b7e7055d7e8b78f40ea99ad0e0d64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000deadbeef000000000000000000000000000000000000000000000000000000000000000f4a756e6f205465737420546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054a554e4f54000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001154657374204552432d323020546f6b656e000000000000000000000000000000