0x60806040526004361061004e5760003560e01c8063602bc62b1461005a5780639db5dbe414610085578063a69df4b5146100ae578063b2bdfa7b146100c5578063dd467064146100f057610055565b3661005557005b600080fd5b34801561006657600080fd5b5061006f610119565b60405161007c9190610754565b60405180910390f35b34801561009157600080fd5b506100ac60048036038101906100a7919061083c565b610123565b005b3480156100ba57600080fd5b506100c3610389565b005b3480156100d157600080fd5b506100da61055a565b6040516100e7919061089e565b60405180910390f35b3480156100fc57600080fd5b50610117600480360381019061011291906108b9565b610580565b005b6000600154905090565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101aa90610943565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a906109af565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161027e919061089e565b602060405180830381865afa15801561029b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102bf91906109e4565b905080821115610304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fb90610a5d565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161033f929190610a7d565b6020604051808303816000875af115801561035e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103829190610ade565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040e90610b57565b60405180910390fd5b600154421161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045290610bc3565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060790610943565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000819050919050565b61074e8161073b565b82525050565b60006020820190506107696000830184610745565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061079f82610774565b9050919050565b60006107b182610794565b9050919050565b6107c1816107a6565b81146107cc57600080fd5b50565b6000813590506107de816107b8565b92915050565b6107ed81610794565b81146107f857600080fd5b50565b60008135905061080a816107e4565b92915050565b6108198161073b565b811461082457600080fd5b50565b60008135905061083681610810565b92915050565b6000806000606084860312156108555761085461076f565b5b6000610863868287016107cf565b9350506020610874868287016107fb565b925050604061088586828701610827565b9150509250925092565b61089881610794565b82525050565b60006020820190506108b3600083018461088f565b92915050565b6000602082840312156108cf576108ce61076f565b5b60006108dd84828501610827565b91505092915050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061092d6017836108e6565b9150610938826108f7565b602082019050919050565b6000602082019050818103600083015261095c81610920565b9050919050565b7f4f6e6c79204c6173744f776e65722063616e2077697468726f772066756e6473600082015250565b60006109996020836108e6565b91506109a482610963565b602082019050919050565b600060208201905081810360008301526109c88161098c565b9050919050565b6000815190506109de81610810565b92915050565b6000602082840312156109fa576109f961076f565b5b6000610a08848285016109cf565b91505092915050565b7f42616c616e6365206c6f77000000000000000000000000000000000000000000600082015250565b6000610a47600b836108e6565b9150610a5282610a11565b602082019050919050565b60006020820190508181036000830152610a7681610a3a565b9050919050565b6000604082019050610a92600083018561088f565b610a9f6020830184610745565b9392505050565b60008115159050919050565b610abb81610aa6565b8114610ac657600080fd5b50565b600081519050610ad881610ab2565b92915050565b600060208284031215610af457610af361076f565b5b6000610b0284828501610ac9565b91505092915050565b7f796f7520617265206e6f7420616c6c6f77656421200000000000000000000000600082015250565b6000610b416015836108e6565b9150610b4c82610b0b565b602082019050919050565b60006020820190508181036000830152610b7081610b34565b9050919050565b7f636f6e7472616374206973206c6f636b65640000000000000000000000000000600082015250565b6000610bad6012836108e6565b9150610bb882610b77565b602082019050919050565b60006020820190508181036000830152610bdc81610ba0565b905091905056fea2646970667358221220fa3777d1766f9051a7f4e160f006ad6c40edf2f372291f6a816acb47e3d590e364736f6c63430008120033
0x608060405234801561001057600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3610c19806100de6000396000f3fe60806040526004361061004e5760003560e01c8063602bc62b1461005a5780639db5dbe414610085578063a69df4b5146100ae578063b2bdfa7b146100c5578063dd467064146100f057610055565b3661005557005b600080fd5b34801561006657600080fd5b5061006f610119565b60405161007c9190610754565b60405180910390f35b34801561009157600080fd5b506100ac60048036038101906100a7919061083c565b610123565b005b3480156100ba57600080fd5b506100c3610389565b005b3480156100d157600080fd5b506100da61055a565b6040516100e7919061089e565b60405180910390f35b3480156100fc57600080fd5b50610117600480360381019061011291906108b9565b610580565b005b6000600154905090565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101aa90610943565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023a906109af565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161027e919061089e565b602060405180830381865afa15801561029b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102bf91906109e4565b905080821115610304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fb90610a5d565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b815260040161033f929190610a7d565b6020604051808303816000875af115801561035e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103829190610ade565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040e90610b57565b60405180910390fd5b600154421161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045290610bc3565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610610576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060790610943565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000819050919050565b61074e8161073b565b82525050565b60006020820190506107696000830184610745565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061079f82610774565b9050919050565b60006107b182610794565b9050919050565b6107c1816107a6565b81146107cc57600080fd5b50565b6000813590506107de816107b8565b92915050565b6107ed81610794565b81146107f857600080fd5b50565b60008135905061080a816107e4565b92915050565b6108198161073b565b811461082457600080fd5b50565b60008135905061083681610810565b92915050565b6000806000606084860312156108555761085461076f565b5b6000610863868287016107cf565b9350506020610874868287016107fb565b925050604061088586828701610827565b9150509250925092565b61089881610794565b82525050565b60006020820190506108b3600083018461088f565b92915050565b6000602082840312156108cf576108ce61076f565b5b60006108dd84828501610827565b91505092915050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b600061092d6017836108e6565b9150610938826108f7565b602082019050919050565b6000602082019050818103600083015261095c81610920565b9050919050565b7f4f6e6c79204c6173744f776e65722063616e2077697468726f772066756e6473600082015250565b60006109996020836108e6565b91506109a482610963565b602082019050919050565b600060208201905081810360008301526109c88161098c565b9050919050565b6000815190506109de81610810565b92915050565b6000602082840312156109fa576109f961076f565b5b6000610a08848285016109cf565b91505092915050565b7f42616c616e6365206c6f77000000000000000000000000000000000000000000600082015250565b6000610a47600b836108e6565b9150610a5282610a11565b602082019050919050565b60006020820190508181036000830152610a7681610a3a565b9050919050565b6000604082019050610a92600083018561088f565b610a9f6020830184610745565b9392505050565b60008115159050919050565b610abb81610aa6565b8114610ac657600080fd5b50565b600081519050610ad881610ab2565b92915050565b600060208284031215610af457610af361076f565b5b6000610b0284828501610ac9565b91505092915050565b7f796f7520617265206e6f7420616c6c6f77656421200000000000000000000000600082015250565b6000610b416015836108e6565b9150610b4c82610b0b565b602082019050919050565b60006020820190508181036000830152610b7081610b34565b9050919050565b7f636f6e7472616374206973206c6f636b65640000000000000000000000000000600082015250565b6000610bad6012836108e6565b9150610bb882610b77565b602082019050919050565b60006020820190508181036000830152610bdc81610ba0565b905091905056fea2646970667358221220fa3777d1766f9051a7f4e160f006ad6c40edf2f372291f6a816acb47e3d590e364736f6c63430008120033