0x60606040526012600260006101000a81548160ff021916908360ff16021790555034156200002957fe5b5b600260009054906101000a900460ff1660ff16600a0a6298968002600381905550600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550604060405190810160405280600981526020017f4b4f44414b636f696e000000000000000000000000000000000000000000000081525060009080519060200190620000df92919062000136565b50604060405190810160405280600381526020017f4b44430000000000000000000000000000000000000000000000000000000000815250600190805190602001906200012e92919062000136565b505b620001e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017957805160ff1916838001178555620001aa565b82800160010185558215620001aa579182015b82811115620001a95782518255916020019190600101906200018c565b5b509050620001b99190620001bd565b5090565b620001e291905b80821115620001de576000816000905550600101620001c4565b5090565b90565b61107680620001f56000396000f300606060405236156100b8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ba578063095ea7b31461015357806318160ddd146101aa57806323b872dd146101d0578063313ce5671461024657806342966c681461027257806370a08231146102aa57806379cc6790146102f457806395d89b411461034b578063a9059cbb146103e4578063cae9ca5114610423578063dd62ed3e146104bd575bfe5b34156100c257fe5b6100ca610526565b6040518080602001828103825283818151815260200191508051906020019080838360008314610119575b805182526020831115610119576020820191506020810190506020830392506100f5565b505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015b57fe5b610190600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506105c4565b604051808215151515815260200191505060405180910390f35b34156101b257fe5b6101ba610652565b6040518082815260200191505060405180910390f35b34156101d857fe5b61022c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610658565b604051808215151515815260200191505060405180910390f35b341561024e57fe5b610256610787565b604051808260ff1660ff16815260200191505060405180910390f35b341561027a57fe5b610290600480803590602001909190505061079a565b604051808215151515815260200191505060405180910390f35b34156102b257fe5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108a0565b6040518082815260200191505060405180910390f35b34156102fc57fe5b610331600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108b8565b604051808215151515815260200191505060405180910390f35b341561035357fe5b61035b610ad5565b60405180806020018281038252838181518152602001915080519060200190808383600083146103aa575b8051825260208311156103aa57602082019150602081019050602083039250610386565b505050905090810190601f1680156103d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ec57fe5b610421600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b73565b005b341561042b57fe5b6104a3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b83565b604051808215151515815260200191505060405180910390f35b34156104c557fe5b610510600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d0a565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105bc5780601f10610591576101008083540402835291602001916105bc565b820191906000526020600020905b81548152906001019060200180831161059f57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190505b92915050565b60035481565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106e65760006000fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061077b848484610d2f565b600190505b9392505050565b600260009054906101000a900460ff1681565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156107eb5760006000fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b919050565b60046020528060005260406000206000915090505481565b600081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156109095760006000fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156109955760006000fd5b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816003600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600190505b92915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b6b5780601f10610b4057610100808354040283529160200191610b6b565b820191906000526020600020905b815481529060010190602001808311610b4e57829003601f168201915b505050505081565b610b7e338383610d2f565b5b5050565b60006000849050610b9485856105c4565b15610d01578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360008314610c9d575b805182526020831115610c9d57602082019150602081019050602083039250610c79565b505050905090810190601f168015610cc95780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610ce757fe5b6102c65a03f11515610cf557fe5b50505060019150610d02565b5b509392505050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060008373ffffffffffffffffffffffffffffffffffffffff1614151515610d585760006000fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610da75760006000fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401111515610e365760006000fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401905081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a380600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540114151561104357fe5b5b505050505600a165627a7a7230582017e059ab0ef17f23cfb243a4e5e756f20291a8586f61587d6355293a39eb3b810029