0x6080604052600436106100555760003560e01c806307ceeee41461005a5780630b66f3f51461009557806355f6e87a1461020e5780638da5cb5b1461035a578063ae0b8d95146103b1578063f2fde38b1461052a575b600080fd5b34801561006657600080fd5b506100936004803603602081101561007d57600080fd5b810190808035906020019092919050505061057b565b005b3480156100a157600080fd5b5061020c600480360360608110156100b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100f557600080fd5b82018360208201111561010757600080fd5b8035906020019184602083028401116401000000008311171561012957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460208302840111640100000000831117156101bd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506106e2565b005b6103586004803603604081101561022457600080fd5b810190808035906020019064010000000081111561024157600080fd5b82018360208201111561025357600080fd5b8035906020019184602083028401116401000000008311171561027557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102d557600080fd5b8201836020820111156102e757600080fd5b8035906020019184602083028401116401000000008311171561030957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061086b565b005b34801561036657600080fd5b5061036f61095b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103bd57600080fd5b50610528600480360360608110156103d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561041157600080fd5b82018360208201111561042357600080fd5b8035906020019184602083028401116401000000008311171561044557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156104a557600080fd5b8201836020820111156104b757600080fd5b803590602001918460208302840111640100000000831117156104d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610980565b005b34801561053657600080fd5b506105796004803603602081101561054d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acf565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b6000811161064a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610690573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbab948c05df3e6bb363b70ccd842ada769c20139583b7b4014c4b23ef26cd6fe826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461073b57600080fd5b6000839050600033905060008090505b84518160ff161015610863578273ffffffffffffffffffffffffffffffffffffffff166323b872dd83878460ff168151811061078357fe5b6020026020010151878560ff168151811061079a57fe5b60200260200101516040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561083e57600080fd5b505af1158015610852573d6000803e3d6000fd5b50505050808060010191505061074b565b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b60008090505b82518160ff16101561095657828160ff16815181106108e557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc838360ff168151811061091557fe5b60200260200101519081150290604051600060405180830381858888f19350505050158015610948573d6000803e3d6000fd5b5080806001019150506108ca565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109d957600080fd5b600083905060008090505b83518160ff161015610ac8578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858360ff1681518110610a1b57fe5b6020026020010151858460ff1681518110610a3257fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610aa357600080fd5b505af1158015610ab7573d6000803e3d6000fd5b5050505080806001019150506109e4565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b6257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea265627a7a7231582007cd4721fe4d2ac50052f67a2503dd0981298a730641871afe924a6480a1354564736f6c63430005110032
0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c55806100606000396000f3fe6080604052600436106100555760003560e01c806307ceeee41461005a5780630b66f3f51461009557806355f6e87a1461020e5780638da5cb5b1461035a578063ae0b8d95146103b1578063f2fde38b1461052a575b600080fd5b34801561006657600080fd5b506100936004803603602081101561007d57600080fd5b810190808035906020019092919050505061057b565b005b3480156100a157600080fd5b5061020c600480360360608110156100b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100f557600080fd5b82018360208201111561010757600080fd5b8035906020019184602083028401116401000000008311171561012957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460208302840111640100000000831117156101bd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506106e2565b005b6103586004803603604081101561022457600080fd5b810190808035906020019064010000000081111561024157600080fd5b82018360208201111561025357600080fd5b8035906020019184602083028401116401000000008311171561027557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102d557600080fd5b8201836020820111156102e757600080fd5b8035906020019184602083028401116401000000008311171561030957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061086b565b005b34801561036657600080fd5b5061036f61095b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103bd57600080fd5b50610528600480360360608110156103d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561041157600080fd5b82018360208201111561042357600080fd5b8035906020019184602083028401116401000000008311171561044557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156104a557600080fd5b8201836020820111156104b757600080fd5b803590602001918460208302840111640100000000831117156104d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610980565b005b34801561053657600080fd5b506105796004803603602081101561054d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acf565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d457600080fd5b6000811161064a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f217a65726f20696e70757400000000000000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610690573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fbab948c05df3e6bb363b70ccd842ada769c20139583b7b4014c4b23ef26cd6fe826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461073b57600080fd5b6000839050600033905060008090505b84518160ff161015610863578273ffffffffffffffffffffffffffffffffffffffff166323b872dd83878460ff168151811061078357fe5b6020026020010151878560ff168151811061079a57fe5b60200260200101516040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b15801561083e57600080fd5b505af1158015610852573d6000803e3d6000fd5b50505050808060010191505061074b565b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108c457600080fd5b60008090505b82518160ff16101561095657828160ff16815181106108e557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc838360ff168151811061091557fe5b60200260200101519081150290604051600060405180830381858888f19350505050158015610948573d6000803e3d6000fd5b5080806001019150506108ca565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109d957600080fd5b600083905060008090505b83518160ff161015610ac8578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858360ff1681518110610a1b57fe5b6020026020010151858460ff1681518110610a3257fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610aa357600080fd5b505af1158015610ab7573d6000803e3d6000fd5b5050505080806001019150506109e4565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b6257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea265627a7a7231582007cd4721fe4d2ac50052f67a2503dd0981298a730641871afe924a6480a1354564736f6c63430005110032