0x2693841541240314c3f53e244b3058b882721a0a7445265ac01347a9e8330d0c6080604052348015600f57600080fd5b506109d98061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806398074eed1161005057806398074eed146100c95780639cd23707146100e9578063cca5dcb6146100fc57600080fd5b80634c297cbd14610077578063735d05381461008c57806389e04e0e146100b4575b600080fd5b61008a61008536600461062c565b610104565b005b61009f61009a36600461065f565b610169565b60405190151581526020015b60405180910390f35b6100bc6101a5565b6040516100ab919061073f565b6100dc6100d7366004610871565b61041f565b6040516100ab91906108ad565b61008a6100f7366004610919565b6104fa565b61009f610533565b8061010d610546565b73ffffffffffffffffffffffffffffffffffffffff9390931660009081526001909301602052604090922080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169215159290921790915550565b6000610173610546565b73ffffffffffffffffffffffffffffffffffffffff909216600090815260019290920160205250604090205460ff1690565b6101d96040518060a00160405280600015158152602001606081526020016060815260200160608152602001606081525090565b60408051600180825281830190925290816020015b6040805160208101909152600081528152602001906001900390816101ee575050606082015260408051600480825260a0820190925290602082015b604080518082019091526000808252602082015281526020019060019003908161022a575050608082015260408051602081019091527f98074eed0000000000000000000000000000000000000000000000000000000081526060820151805160009061029957610299610934565b6020026020010181905250604051806040016040528063cca5dcb660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600081525081608001516000815181106102f7576102f7610934565b6020026020010181905250604051806040016040528063735d053860e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020016000815250816080015160018151811061035557610355610934565b60200260200101819052506040518060400160405280639cd2370760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600281525081608001516002815181106103b3576103b3610934565b60200260200101819052506040518060400160405280634c297cbd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020016002815250816080015160038151811061041157610411610934565b602002602001018190525090565b6060600061042b610546565b3360009081526001820160205260408120549192509060ff1680610476575073ffffffffffffffffffffffffffffffffffffffff8616600090815260018301602052604090205460ff165b806104a8575073ffffffffffffffffffffffffffffffffffffffff8516600090815260018301602052604090205460ff165b9050801580156104ba5750815460ff16155b156104f1576040517fa24e573d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50509392505050565b80610503610546565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550565b600061053d610546565b5460ff16919050565b6000610550610555565b905090565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006105a460017fbc1b23c20a68bdf3b051fe37c27ed5d8d94f09a89de0e050908b401f3521a25f610963565b6040516020016105b691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101201692915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461061757600080fd5b919050565b8035801515811461061757600080fd5b6000806040838503121561063f57600080fd5b610648836105f3565b91506106566020840161061c565b90509250929050565b60006020828403121561067157600080fd5b61067a826105f3565b9392505050565b600081518084526020840193506020830160005b828110156106d55781517fffffffff0000000000000000000000000000000000000000000000000000000016865260209586019590910190600101610695565b5093949350505050565b600081518084526020840193506020830160005b828110156106d557815180517fffffffff0000000000000000000000000000000000000000000000000000000016875260209081015181880152604090960195909101906001016106f3565b602081528151151560208201526000602083015160a0604084015261076760c0840182610681565b905060408401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160608501526107a28282610681565b60608601518582037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016080870152805180835260209182019450600093509101905b8083101561082b577fffffffff000000000000000000000000000000000000000000000000000000008451511682526020820191506020840193506001830192506107e5565b50608086015192507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030160a086015261086781846106df565b9695505050505050565b60008060006060848603121561088657600080fd5b61088f846105f3565b925061089d602085016105f3565b9150604084013590509250925092565b602081526000825180602084015260005b818110156108db57602081860181015160408684010152016108be565b5060006040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b60006020828403121561092b57600080fd5b61067a8261061c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8181038181111561099d577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220f5dca635c4ef267b7d5bf9739c0c90e8cf7a7ee89d4983ef68340fe37324675964736f6c634300081a0033