0x608060405234801561001057600080fd5b50610522806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309eef43e14610051578063a169599314610081578063a69beaba146100b1578063f28bddf6146100cd575b600080fd5b61006b600480360381019061006691906102d0565b6100fd565b6040516100789190610380565b60405180910390f35b61009b600480360381019061009691906102f9565b61011d565b6040516100a891906103bb565b60405180910390f35b6100cb60048036038101906100c691906102f9565b61013a565b005b6100e760048036038101906100e291906102f9565b61028e565b6040516100f491906103bb565b60405180910390f35b60006020528060005260406000206000915054906101000a900460ff1681565b600060016000838152602001908152602001600020549050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156101c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bd9061039b565b60405180910390fd5b600180600083815260200190815260200160002060008282546101e991906103e7565b9250508190555060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550803373ffffffffffffffffffffffffffffffffffffffff167fa55a6802e1be8e8b837435e17cec23b2e9cd61773bb7b073eb7e1c176cdf3d3260405160405180910390a350565b60016020528060005260406000206000915090505481565b6000813590506102b5816104be565b92915050565b6000813590506102ca816104d5565b92915050565b6000602082840312156102e257600080fd5b60006102f0848285016102a6565b91505092915050565b60006020828403121561030b57600080fd5b6000610319848285016102bb565b91505092915050565b61032b8161044f565b82525050565b600061033e600d836103d6565b91507f416c726561647920766f746564000000000000000000000000000000000000006000830152602082019050919050565b61037a81610485565b82525050565b60006020820190506103956000830184610322565b92915050565b600060208201905081810360008301526103b481610331565b9050919050565b60006020820190506103d06000830184610371565b92915050565b600082825260208201905092915050565b60006103f282610485565b91506103fd83610485565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156104325761043161048f565b5b828201905092915050565b600061044882610465565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6104c78161043d565b81146104d257600080fd5b50565b6104de8161045b565b81146104e957600080fd5b5056fea264697066735822122032303f43c20f19a9d69e733a09952e9a43ffc86602622e6b77ea2b31cb547b1964736f6c63430008000033