6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006101000a81548160ff021916908315150217905550610d6a806100796000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302fb0c5e1461010157806306fdde031461012e578063095ea7b3146101bc57806318160ddd1461021657806323b872dd1461023f57806327e235e3146102b8578063313ce5671461030557806351b42b00146103345780636bf807fc146103495780636d705ebb146103965780636ff968c3146103d857806370a082311461042d57806383c4c2e91461047a5780638da5cb5b146104b357806395d89b4114610508578063a9059cbb14610596578063dbed1e88146105f0578063dd62ed3e1461063d575b600080fd5b341561010c57600080fd5b6101146106a9565b604051808215151515815260200191505060405180910390f35b341561013957600080fd5b6101416106bc565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610181578082015181840152602081019050610166565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106f5565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b610229610700565b6040518082815260200191505060405180910390f35b341561024a57600080fd5b61029e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061070a565b604051808215151515815260200191505060405180910390f35b34156102c357600080fd5b6102ef600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610716565b6040518082815260200191505060405180910390f35b341561031057600080fd5b61031861072e565b604051808260ff1660ff16815260200191505060405180910390f35b341561033f57600080fd5b610347610733565b005b341561035457600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610879565b6040518082815260200191505060405180910390f35b34156103a157600080fd5b6103d6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610891565b005b34156103e357600080fd5b6103eb610b58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043857600080fd5b610464600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b7e565b6040518082815260200191505060405180910390f35b341561048557600080fd5b6104b1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bc7565b005b34156104be57600080fd5b6104c6610c81565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051357600080fd5b61051b610ca6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561055b578082015181840152602081019050610540565b50505050905090810190601f1680156105885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105a157600080fd5b6105d6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cdf565b604051808215151515815260200191505060405180910390f35b34156105fb57600080fd5b610627600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cea565b6040518082815260200191505060405180910390f35b341561064857600080fd5b610693600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d33565b6040518082815260200191505060405180910390f35b600460009054906101000a900460ff1681565b6040805190810160405280600381526020017f494e53000000000000000000000000000000000000000000000000000000000081525081565b600080905092915050565b6000600554905090565b60008090509392505050565b60026020528060005260406000206000915090505481565b600081565b600460009054906101000a900460ff16151561074e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108515750600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156108505750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b151561085c57600080fd5b6000600460006101000a81548160ff021916908315150217905550565b60036020528060005260406000206000915090505481565b600080600460009054906101000a900460ff1615156108af57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090a57600080fd5b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151561095857600080fd5b826005600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885846040518082815260200191505060405180910390a282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515610a4457600080fd5b82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a34291506301e13380820190508181111515610b0e57fe5b80600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900460ff161515610be257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3d57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f494e53000000000000000000000000000000000000000000000000000000000081525081565b600080905092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809050929150505600a165627a7a723058205f6a90fe8512154ccba77e0a829c657e3f44315483dd8750bcc5c8c939e01b9e0029