Overview ERC721
Total Supply:
9,013 Punk And Puppy

Holders:
7
Profile Summary
Blockchain:
Ethereum (1)

Are you the contract creator? Verify and Publish your contract source code today!
This contract was created by 0xC679216949a43d2AC5ae0A17B0E3E9ABF48e26C8
60806040523480156200001157600080fd5b5060405162002b8438038062002b84833981016040819052620000349162000285565b8751889088906200004d90600190602085019062000112565b5080516200006390600290602084019062000112565b5050600780546001600160a01b03199081163217909155600880548216735311b771b441bc4a073d95bb29bba90b020c750317905560098054909116731de949940d6156455323fbe490141f8d7c6e722217905550600a869055600b859055600c849055600d839055600e8290558051620000e690601090602084019062000112565b5050600f8054600160201b600160c01b0319163264010000000002179055506200038395505050505050565b828054620001209062000347565b90600052602060002090601f0160209004810192826200014457600085556200018f565b82601f106200015f57805160ff19168380011785556200018f565b828001600101855582156200018f579182015b828111156200018f57825182559160200191906001019062000172565b506200019d929150620001a1565b5090565b5b808211156200019d5760008155600101620001a2565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001e057600080fd5b81516001600160401b0380821115620001fd57620001fd620001b8565b604051601f8301601f19908116603f01168101908282118183101715620002285762000228620001b8565b816040528381526020925086838588010111156200024557600080fd5b600091505b838210156200026957858201830151818301840152908201906200024a565b838211156200027b5760008385830101525b9695505050505050565b600080600080600080600080610100898b031215620002a357600080fd5b88516001600160401b0380821115620002bb57600080fd5b620002c98c838d01620001ce565b995060208b0151915080821115620002e057600080fd5b620002ee8c838d01620001ce565b985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b01519150808211156200032857600080fd5b50620003378b828c01620001ce565b9150509295985092959890939650565b600181811c908216806200035c57607f821691505b6020821081036200037d57634e487b7160e01b600052602260045260246000fd5b50919050565b6127f180620003936000396000f3fe6080604052600436106102c95760003560e01c80637501f74111610175578063b1c93499116100dc578063d547cfb711610095578063dda52d531161006f578063dda52d5314610824578063e985e9c514610844578063f4a0a5281461088d578063f8e4dc16146108ad57600080fd5b8063d547cfb7146107da578063d89bcbfa146107ef578063dc2295d41461080457600080fd5b8063b1c934991461072b578063b88d4fde14610745578063bcc9ca5b14610765578063c0bfd5fb14610784578063c34f5bdb146107a5578063c87b56dd146107ba57600080fd5b8063976116381161012e578063976116381461068a5780639e388899146106aa578063a035b1fe146106ca578063a170e610146106e0578063a22cb465146106f6578063b131d2231461071657600080fd5b80637501f741146105f65780637cb647591461060c578063853828b61461062c57806386478122146106415780638da5cb5b1461065757806395d89b411461067557600080fd5b80632db11544116102345780634f6ccce7116101ed5780635a546223116101c75780635a5462231461058d5780636352211e146105a0578063648e3c26146105c057806370a08231146105d657600080fd5b80634f6ccce71461052f57806355f804b31461054f578063562b6ff61461056f57600080fd5b80632db11544146104795780632eb4a7ab1461048c5780632f745c59146104a25780633ab1a494146104c257806342842e0e146104e2578063438b63001461050257600080fd5b80631581b600116102865780631581b600146103bd57806318160ddd146103e55780631ad600a01461040457806323b872dd14610424578063281ac4d8146104445780632ae0846d1461046457600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc14610325578063095ea7b31461035d5780630b4d93711461037f5780630ddc918c1461039f575b600080fd5b3480156102da57600080fd5b506102ee6102e9366004612130565b6108c2565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b5061031861092f565b6040516102fa91906121a5565b34801561033157600080fd5b506103456103403660046121b8565b6109c1565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b5061037d6103783660046121e8565b610a51565b005b34801561038b57600080fd5b50600f546102ee9062010000900460ff1681565b3480156103ab57600080fd5b506008546001600160a01b0316610345565b3480156103c957600080fd5b50600f546103459064010000000090046001600160a01b031681565b3480156103f157600080fd5b506000545b6040519081526020016102fa565b34801561041057600080fd5b5061037d61041f3660046121b8565b610b68565b34801561043057600080fd5b5061037d61043f366004612212565b610b84565b34801561045057600080fd5b5061037d61045f36600461224e565b610b8f565b34801561047057600080fd5b50610318610bb8565b61037d6104873660046121b8565b610c46565b34801561049857600080fd5b506103f660125481565b3480156104ae57600080fd5b506103f66104bd3660046121e8565b610d72565b3480156104ce57600080fd5b5061037d6104dd36600461228a565b610ecc565b3480156104ee57600080fd5b5061037d6104fd366004612212565b610f11565b34801561050e57600080fd5b5061052261051d36600461228a565b610f2c565b6040516102fa91906122a5565b34801561053b57600080fd5b506103f661054a3660046121b8565b610fcd565b34801561055b57600080fd5b5061037d61056a366004612374565b61102f565b34801561057b57600080fd5b506009546001600160a01b0316610345565b61037d61059b366004612407565b611059565b3480156105ac57600080fd5b506103456105bb3660046121b8565b6111dc565b3480156105cc57600080fd5b506103f6600c5481565b3480156105e257600080fd5b506103f66105f136600461228a565b6111ee565b34801561060257600080fd5b506103f6600a5481565b34801561061857600080fd5b5061037d6106273660046121b8565b61127f565b34801561063857600080fd5b5061037d61129b565b34801561064d57600080fd5b506103f6600e5481565b34801561066357600080fd5b506007546001600160a01b0316610345565b34801561068157600080fd5b50610318611364565b34801561069657600080fd5b506102ee6106a5366004612452565b611373565b3480156106b657600080fd5b5061037d6106c536600461228a565b6113f7565b3480156106d657600080fd5b506103f6600d5481565b3480156106ec57600080fd5b506103f6600b5481565b34801561070257600080fd5b5061037d610711366004612493565b611430565b34801561072257600080fd5b5061037d6114f4565b34801561073757600080fd5b50600f546102ee9060ff1681565b34801561075157600080fd5b5061037d6107603660046124cf565b61151f565b34801561077157600080fd5b50600f546102ee90610100900460ff1681565b34801561079057600080fd5b50600f546102ee906301000000900460ff1681565b3480156107b157600080fd5b5061037d611552565b3480156107c657600080fd5b506103186107d53660046121b8565b61158a565b3480156107e657600080fd5b5061031861171b565b3480156107fb57600080fd5b5061037d611728565b34801561081057600080fd5b5061037d61081f366004612374565b61175c565b34801561083057600080fd5b5061037d61083f3660046121b8565b611786565b34801561085057600080fd5b506102ee61085f36600461254a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561089957600080fd5b5061037d6108a83660046121b8565b6117a2565b3480156108b957600080fd5b5061037d6117be565b60006001600160e01b031982166380ac58cd60e01b14806108f357506001600160e01b03198216635b5e139f60e01b145b8061090e57506001600160e01b0319821663780e9d6360e01b145b8061092957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606001805461093e90612566565b80601f016020809104026020016040519081016040528092919081815260200182805461096a90612566565b80156109b75780601f1061098c576101008083540402835291602001916109b7565b820191906000526020600020905b81548152906001019060200180831161099a57829003601f168201915b5050505050905090565b60006109ce826000541190565b610a355760405162461bcd60e51b815260206004820152602d60248201527f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000610a5c826111dc565b9050806001600160a01b0316836001600160a01b031603610aca5760405162461bcd60e51b815260206004820152602260248201527f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60448201526132b960f11b6064820152608401610a2c565b336001600160a01b0382161480610ae65750610ae6813361085f565b610b585760405162461bcd60e51b815260206004820152603960248201527f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656420666f7220616c6c000000000000006064820152608401610a2c565b610b638383836117f4565b505050565b6009546001600160a01b03163314610b7f57600080fd5b600b55565b610b63838383611850565b6007546001600160a01b03163314610ba657600080fd5b610bb4818361ffff16611b33565b5050565b60118054610bc590612566565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf190612566565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b505050505081565b600054600f54610100900460ff16610c705760405162461bcd60e51b8152600401610a2c906125a0565b600a54821115610c925760405162461bcd60e51b8152600401610a2c906125c6565b600c54610c9f8383612624565b1115610ced5760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d204361747320737570706c7900000000006044820152606401610a2c565b81600d54610cfb919061263c565b341015610d465760405162461bcd60e51b8152602060048201526019602482015278115d1a195c881cd95b9d081a5cc81b9bdd0818dbdc9c9958dd603a1b6044820152606401610a2c565b600e54421015610d685760405162461bcd60e51b8152600401610a2c906125a0565b610bb43383611b33565b6000610d7d836111ee565b8210610dd65760405162461bcd60e51b815260206004820152602260248201527f455243373231413a206f776e657220696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610a2c565b600080549080805b83811015610e6c576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b03169183019190915215610e3057805192505b876001600160a01b0316836001600160a01b031603610e6357868403610e5c5750935061092992505050565b6001909301925b50600101610dde565b5060405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060448201526d0deeedccae440c4f240d2dcc8caf60931b6064820152608401610a2c565b6007546001600160a01b03163314610ee357600080fd5b600f80546001600160a01b0390921664010000000002640100000000600160c01b0319909216919091179055565b610b638383836040518060200160405280600081525061151f565b60606000610f39836111ee565b90506000816001600160401b03811115610f5557610f556122e9565b604051908082528060200260200182016040528015610f7e578160200160208202803683370190505b50905060005b82811015610fc557610f968582610d72565b828281518110610fa857610fa861265b565b602090810291909101015280610fbd81612671565b915050610f84565b509392505050565b60008054821061102b5760405162461bcd60e51b815260206004820152602360248201527f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f756044820152626e647360e81b6064820152608401610a2c565b5090565b6007546001600160a01b0316331461104657600080fd5b8051610bb4906010906020840190612087565b6000546110668383611373565b6110b25760405162461bcd60e51b815260206004820152601f60248201527f61646472657373206973206e6f74206f6e207468652077686974656c697374006044820152606401610a2c565b600f5460ff166110d45760405162461bcd60e51b8152600401610a2c906125a0565b600a548411156110f65760405162461bcd60e51b8152600401610a2c906125c6565b600c546111038583612624565b11156111515760405162461bcd60e51b815260206004820152601b60248201527f45786365656473206d6178696d756d204361747320737570706c7900000000006044820152606401610a2c565b83600d5461115f919061263c565b3410156111aa5760405162461bcd60e51b8152602060048201526019602482015278115d1a195c881cd95b9d081a5cc81b9bdd0818dbdc9c9958dd603a1b6044820152606401610a2c565b600e544210156111cc5760405162461bcd60e51b8152600401610a2c906125a0565b6111d63385611b33565b50505050565b60006111e782611b4d565b5192915050565b60006001600160a01b03821661125a5760405162461bcd60e51b815260206004820152602b60248201527f455243373231413a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b6064820152608401610a2c565b506001600160a01b03166000908152600460205260409020546001600160801b031690565b6007546001600160a01b0316331461129657600080fd5b601255565b6007546001600160a01b031633146112b257600080fd5b60006064600b5460646112c5919061268a565b6112cf904761263c565b6112d991906126b7565b905060006064600b54476112ed919061263c565b6112f791906126b7565b600f5460405191925064010000000090046001600160a01b0316906108fc8415029084906000818181858888f1935050505061133257600080fd5b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050610bb457600080fd5b60606002805461093e90612566565b6040516bffffffffffffffffffffffff193360601b16602082015260009081906034016040516020818303038152906040528051906020012090506113ef848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506012549150849050611c23565b949350505050565b6009546001600160a01b0316331461140e57600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160a01b038316036114885760405162461bcd60e51b815260206004820152601a60248201527f455243373231413a20617070726f766520746f2063616c6c65720000000000006044820152606401610a2c565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6007546001600160a01b0316331461150b57600080fd5b600f805460ff19811660ff90911615179055565b61152a848484611850565b61153684848484611c39565b6111d65760405162461bcd60e51b8152600401610a2c906126cb565b6007546001600160a01b0316331461156957600080fd5b600f805463ff00000019811663010000009182900460ff1615909102179055565b6060611597826000541190565b6115fb5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610a2c565b600f546301000000900460ff161561170c57600f5462010000900460ff161561167a576000611628611d3a565b905080516000036116485760405180602001604052806000815250611673565b8061165284611d49565b60405160200161166392919061271e565b6040516020818303038152906040525b9392505050565b6011805461168790612566565b80601f01602080910402602001604051908101604052809291908181526020018280546116b390612566565b80156117005780601f106116d557610100808354040283529160200191611700565b820191906000526020600020905b8154815290600101906020018083116116e357829003601f168201915b50505050509050919050565b6000611628611d3a565b919050565b60108054610bc590612566565b6007546001600160a01b0316331461173f57600080fd5b600f805461ff001981166101009182900460ff1615909102179055565b6007546001600160a01b0316331461177357600080fd5b8051610bb4906011906020840190612087565b6007546001600160a01b0316331461179d57600080fd5b600e55565b6007546001600160a01b031633146117b957600080fd5b600d55565b6007546001600160a01b031633146117d557600080fd5b600f805462ff0000198116620100009182900460ff1615909102179055565b60008281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600061185b82611b4d565b80519091506000906001600160a01b0316336001600160a01b03161480611892575033611887846109c1565b6001600160a01b0316145b806118a4575081516118a4903361085f565b90508061190e5760405162461bcd60e51b815260206004820152603260248201527f455243373231413a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610a2c565b846001600160a01b031682600001516001600160a01b0316146119825760405162461bcd60e51b815260206004820152602660248201527f455243373231413a207472616e736665722066726f6d20696e636f72726563746044820152651037bbb732b960d11b6064820152608401610a2c565b6001600160a01b0384166119e65760405162461bcd60e51b815260206004820152602560248201527f455243373231413a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610a2c565b6119f660008484600001516117f4565b6001600160a01b03858116600090815260046020908152604080832080546001600160801b03198082166001600160801b03928316600019018316179092558986168086528386208054938416938316600190810190931693909317909255888552600390935281842080546001600160e01b031916909117600160a01b426001600160401b031602179055908601808352912054909116611ae957611a9d816000541190565b15611ae957825160008281526003602090815260409091208054918601516001600160401b0316600160a01b026001600160e01b03199092166001600160a01b03909316929092171790555b5082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b5050505050565b610bb4828260405180602001604052806000815250611e49565b6040805180820190915260008082526020820152611b6c826000541190565b611bcb5760405162461bcd60e51b815260206004820152602a60248201527f455243373231413a206f776e657220717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b6064820152608401610a2c565b815b6000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b03169183019190915215611c19579392505050565b5060001901611bcd565b600082611c308584611e56565b14949350505050565b60006001600160a01b0384163b15611d2f57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611c7d90339089908890889060040161274d565b6020604051808303816000875af1925050508015611cb8575060408051601f3d908101601f19168201909252611cb59181019061278a565b60015b611d15573d808015611ce6576040519150601f19603f3d011682016040523d82523d6000602084013e611ceb565b606091505b508051600003611d0d5760405162461bcd60e51b8152600401610a2c906126cb565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506113ef565b506001949350505050565b60606010805461093e90612566565b606081600003611d705750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611d9a5780611d8481612671565b9150611d939050600a836126b7565b9150611d74565b6000816001600160401b03811115611db457611db46122e9565b6040519080825280601f01601f191660200182016040528015611dde576020820181803683370190505b5090505b84156113ef57611df360018361268a565b9150611e00600a866127a7565b611e0b906030612624565b60f81b818381518110611e2057611e2061265b565b60200101906001600160f81b031916908160001a905350611e42600a866126b7565b9450611de2565b610b638383836001611ec2565b600081815b8451811015610fc5576000858281518110611e7857611e7861265b565b60200260200101519050808311611e9e5760008381526020829052604090209250611eaf565b600081815260208490526040902092505b5080611eba81612671565b915050611e5b565b6000546001600160a01b038516611f255760405162461bcd60e51b815260206004820152602160248201527f455243373231413a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610a2c565b83600003611f865760405162461bcd60e51b815260206004820152602860248201527f455243373231413a207175616e74697479206d75737420626520677265617465604482015267072207468616e20360c41b6064820152608401610a2c565b6001600160a01b03851660008181526004602090815260408083208054600160801b6001600160801b031982166001600160801b039283168c01831690811782900483168c01909216021790558483526003909152812080546001600160e01b031916909217600160a01b426001600160401b0316021790915581905b8581101561207e5760405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a48315612072576120566000888488611c39565b6120725760405162461bcd60e51b8152600401610a2c906126cb565b60019182019101612003565b50600055611b2c565b82805461209390612566565b90600052602060002090601f0160209004810192826120b557600085556120fb565b82601f106120ce57805160ff19168380011785556120fb565b828001600101855582156120fb579182015b828111156120fb5782518255916020019190600101906120e0565b5061102b9291505b8082111561102b5760008155600101612103565b6001600160e01b03198116811461212d57600080fd5b50565b60006020828403121561214257600080fd5b813561167381612117565b60005b83811015612168578181015183820152602001612150565b838111156111d65750506000910152565b6000815180845261219181602086016020860161214d565b601f01601f19169290920160200192915050565b6020815260006116736020830184612179565b6000602082840312156121ca57600080fd5b5035919050565b80356001600160a01b038116811461171657600080fd5b600080604083850312156121fb57600080fd5b612204836121d1565b946020939093013593505050565b60008060006060848603121561222757600080fd5b612230846121d1565b925061223e602085016121d1565b9150604084013590509250925092565b6000806040838503121561226157600080fd5b823561ffff8116811461227357600080fd5b9150612281602084016121d1565b90509250929050565b60006020828403121561229c57600080fd5b611673826121d1565b6020808252825182820181905260009190848201906040850190845b818110156122dd578351835292840192918401916001016122c1565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115612319576123196122e9565b604051601f8501601f19908116603f01168101908282118183101715612341576123416122e9565b8160405280935085815286868601111561235a57600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561238657600080fd5b81356001600160401b0381111561239c57600080fd5b8201601f810184136123ad57600080fd5b6113ef848235602084016122ff565b60008083601f8401126123ce57600080fd5b5081356001600160401b038111156123e557600080fd5b6020830191508360208260051b850101111561240057600080fd5b9250929050565b60008060006040848603121561241c57600080fd5b8335925060208401356001600160401b0381111561243957600080fd5b612445868287016123bc565b9497909650939450505050565b6000806020838503121561246557600080fd5b82356001600160401b0381111561247b57600080fd5b612487858286016123bc565b90969095509350505050565b600080604083850312156124a657600080fd5b6124af836121d1565b9150602083013580151581146124c457600080fd5b809150509250929050565b600080600080608085870312156124e557600080fd5b6124ee856121d1565b93506124fc602086016121d1565b92506040850135915060608501356001600160401b0381111561251e57600080fd5b8501601f8101871361252f57600080fd5b61253e878235602084016122ff565b91505092959194509250565b6000806040838503121561255d57600080fd5b612273836121d1565b600181811c9082168061257a57607f821691505b60208210810361259a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600c908201526b6e6f206d696e742074696d6560a01b604082015260600190565b60208082526028908201527f596f752063616e2061646f70742061206d6178696d756d206f66204d41585f4d604082015267494e54204361747360c01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082198211156126375761263761260e565b500190565b60008160001904831182151516156126565761265661260e565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600182016126835761268361260e565b5060010190565b60008282101561269c5761269c61260e565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826126c6576126c66126a1565b500490565b60208082526033908201527f455243373231413a207472616e7366657220746f206e6f6e204552433732315260408201527232b1b2b4bb32b91034b6b83632b6b2b73a32b960691b606082015260800190565b6000835161273081846020880161214d565b83519083019061274481836020880161214d565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061278090830184612179565b9695505050505050565b60006020828403121561279c57600080fd5b815161167381612117565b6000826127b6576127b66126a1565b50069056fea2646970667358221220d7765403b5f0efc537734969dfca1cc665abd7ec7160b3fb56f29849b9d03ce364736f6c634300080d00330000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062d978000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000e50756e6b20416e64205075707079000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e50756e6b20416e6420507570707900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000