0x60806040526004361061010e5763ffffffff60e060020a60003504166304cabcde81146101135780630fb5a6b41461014657806313d033c01461015b5780631726cbc81461017057806319165587146101915780632a0102bf146101b4578063384711cc146101d557806338af3eed146101f65780636343a64a1461022757806363af1a2a1461024857806363ef162714610269578063715018a61461027e57806374a8f103146102935780637e649598146102b4578063872a7810146102d55780638da5cb5b146102fe5780639852595c14610313578063b8d08db214610334578063be9a655514610349578063c09c59431461035e578063f2fde38b1461037f578063fa01dc06146103a0575b600080fd5b34801561011f57600080fd5b50610134600160a060020a03600435166103c1565b60408051918252519081900360200190f35b34801561015257600080fd5b50610134610471565b34801561016757600080fd5b50610134610477565b34801561017c57600080fd5b50610134600160a060020a036004351661047d565b34801561019d57600080fd5b506101b2600160a060020a03600435166104af565b005b3480156101c057600080fd5b50610134600160a060020a036004351661055b565b3480156101e157600080fd5b50610134600160a060020a0360043516610616565b34801561020257600080fd5b5061020b610767565b60408051600160a060020a039092168252519081900360200190f35b34801561023357600080fd5b50610134600160a060020a0360043516610776565b34801561025457600080fd5b50610134600160a060020a03600435166107ef565b34801561027557600080fd5b50610134610801565b34801561028a57600080fd5b506101b2610807565b34801561029f57600080fd5b506101b2600160a060020a0360043516610873565b3480156102c057600080fd5b50610134600160a060020a03600435166109e7565b3480156102e157600080fd5b506102ea610a8e565b604080519115158252519081900360200190f35b34801561030a57600080fd5b5061020b610a97565b34801561031f57600080fd5b50610134600160a060020a0360043516610aa6565b34801561034057600080fd5b50610134610ab8565b34801561035557600080fd5b50610134610abe565b34801561036a57600080fd5b50610134600160a060020a0360043516610ac4565b34801561038b57600080fd5b506101b2600160a060020a0360043516610b25565b3480156103ac57600080fd5b506102ea600160a060020a0360043516610b48565b60006103da600454600354610b5d90919063ffffffff16565b421015806104005750600160a060020a03821660009081526007602052604090205460ff165b1561040d5750600061046c565b61046961045a60085461044e600161044260085461043660035442610b7090919063ffffffff16565b9063ffffffff610b8216565b9063ffffffff610b5d16565b9063ffffffff610b9716565b6003549063ffffffff610b5d16565b90505b919050565b60045481565b60025481565b600160a060020a038116600090815260066020526040812054610469906104a384610616565b9063ffffffff610b7016565b60006104ba8261047d565b9050600081116104c957600080fd5b600160a060020a0382166000908152600660205260409020546104f2908263ffffffff610b5d16565b600160a060020a038084166000818152600660205260409020929092556001546105249291168363ffffffff610bc016565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a15050565b600160a060020a0381166000818152600a6020908152604080832054600683528184205482517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529251949561046995929461044294929391926370a08231926024808301939282900301818b87803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b505050506040513d602081101561060857600080fd5b50519063ffffffff610b5d16565b600080600083600160a060020a03166370a08231306040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561067657600080fd5b505af115801561068a573d6000803e3d6000fd5b505050506040513d60208110156106a057600080fd5b5051600160a060020a0385166000908152600660205260409020549092506106cf90839063ffffffff610b5d16565b90506002544210156106e45760009250610760565b6004546003546106f99163ffffffff610b5d16565b4210158061071f5750600160a060020a03841660009081526007602052604090205460ff165b1561072c57809250610760565b61075d60095461043661075060085461043660035442610b7090919063ffffffff16565b849063ffffffff610b9716565b92505b5050919050565b600154600160a060020a031681565b600061078f600454600354610b5d90919063ffffffff16565b421015806107b55750600160a060020a03821660009081526007602052604090205460ff165b156107c25750600061046c565b6104696107e060085461043660035442610b7090919063ffffffff16565b6009549063ffffffff610b7016565b600a6020526000908152604090205481565b60085481565b600054600160a060020a0316331461081e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000805481908190600160a060020a0316331461088f57600080fd5b60055460ff1615156108a057600080fd5b600160a060020a03841660009081526007602052604090205460ff16156108c657600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b505050506040513d602081101561095157600080fd5b5051925061095e8461047d565b9150610970838363ffffffff610b7016565b600160a060020a038086166000818152600760209081526040808320805460ff19166001179055600a9091528120849055549293506109b8929091168363ffffffff610bc016565b6040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a150505050565b60006104696109f58361047d565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50519063ffffffff610b7016565b60055460ff1681565b600054600160a060020a031681565b60066020526000908152604090205481565b60095481565b60035481565b6000610add600454600354610b5d90919063ffffffff16565b42101580610b035750600160a060020a03821660009081526007602052604090205460ff165b15610b105750600061046c565b6004546003546104699163ffffffff610b5d16565b600054600160a060020a03163314610b3c57600080fd5b610b4581610c5f565b50565b60076020526000908152604090205460ff1681565b81810182811015610b6a57fe5b92915050565b600082821115610b7c57fe5b50900390565b60008183811515610b8f57fe5b049392505050565b6000821515610ba857506000610b6a565b50818102818382811515610bb857fe5b0414610b6a57fe5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c2357600080fd5b505af1158015610c37573d6000803e3d6000fd5b505050506040513d6020811015610c4d57600080fd5b50511515610c5a57600080fd5b505050565b600160a060020a0381161515610c7457600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205aeebab1c6eeb0145ecc9210c203aa7ea1ad53282570334a9375c9bc5ea4ec010029
0x60806040523480156200001157600080fd5b5060405160808062000f7783398101604090815281516020830151918301516060909301519092908383600062000057858564010000000062000b976200021e82021704565b60008054600160a060020a031916331790556001600160a060020a03851615156200008157600080fd5b818311156200008f57600080fd5b60018054600160a060020a031916600160a060020a0387161790556005805460ff19168215151790556004829055620000d7848464010000000062000251810262000b5d1704565b600255505050600355506000620000fd838364010000000062000b976200021e82021704565b116200016a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f56657374696e67204475726174696f6e2063616e6e6f74206265203000000000604482015290519081900360640190fd5b426200019f62000189848464010000000062000b976200021e82021704565b859064010000000062000b5d6200025182021704565b116200020c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f576f7274686c6573732076657374696e67000000000000000000000000000000604482015290519081900360640190fd5b600891909155600955506200025f9050565b600082151562000231575060006200024b565b508181028183828115156200024257fe5b04146200024b57fe5b92915050565b818101828110156200024b57fe5b610d08806200026f6000396000f30060806040526004361061010e5763ffffffff60e060020a60003504166304cabcde81146101135780630fb5a6b41461014657806313d033c01461015b5780631726cbc81461017057806319165587146101915780632a0102bf146101b4578063384711cc146101d557806338af3eed146101f65780636343a64a1461022757806363af1a2a1461024857806363ef162714610269578063715018a61461027e57806374a8f103146102935780637e649598146102b4578063872a7810146102d55780638da5cb5b146102fe5780639852595c14610313578063b8d08db214610334578063be9a655514610349578063c09c59431461035e578063f2fde38b1461037f578063fa01dc06146103a0575b600080fd5b34801561011f57600080fd5b50610134600160a060020a03600435166103c1565b60408051918252519081900360200190f35b34801561015257600080fd5b50610134610471565b34801561016757600080fd5b50610134610477565b34801561017c57600080fd5b50610134600160a060020a036004351661047d565b34801561019d57600080fd5b506101b2600160a060020a03600435166104af565b005b3480156101c057600080fd5b50610134600160a060020a036004351661055b565b3480156101e157600080fd5b50610134600160a060020a0360043516610616565b34801561020257600080fd5b5061020b610767565b60408051600160a060020a039092168252519081900360200190f35b34801561023357600080fd5b50610134600160a060020a0360043516610776565b34801561025457600080fd5b50610134600160a060020a03600435166107ef565b34801561027557600080fd5b50610134610801565b34801561028a57600080fd5b506101b2610807565b34801561029f57600080fd5b506101b2600160a060020a0360043516610873565b3480156102c057600080fd5b50610134600160a060020a03600435166109e7565b3480156102e157600080fd5b506102ea610a8e565b604080519115158252519081900360200190f35b34801561030a57600080fd5b5061020b610a97565b34801561031f57600080fd5b50610134600160a060020a0360043516610aa6565b34801561034057600080fd5b50610134610ab8565b34801561035557600080fd5b50610134610abe565b34801561036a57600080fd5b50610134600160a060020a0360043516610ac4565b34801561038b57600080fd5b506101b2600160a060020a0360043516610b25565b3480156103ac57600080fd5b506102ea600160a060020a0360043516610b48565b60006103da600454600354610b5d90919063ffffffff16565b421015806104005750600160a060020a03821660009081526007602052604090205460ff165b1561040d5750600061046c565b61046961045a60085461044e600161044260085461043660035442610b7090919063ffffffff16565b9063ffffffff610b8216565b9063ffffffff610b5d16565b9063ffffffff610b9716565b6003549063ffffffff610b5d16565b90505b919050565b60045481565b60025481565b600160a060020a038116600090815260066020526040812054610469906104a384610616565b9063ffffffff610b7016565b60006104ba8261047d565b9050600081116104c957600080fd5b600160a060020a0382166000908152600660205260409020546104f2908263ffffffff610b5d16565b600160a060020a038084166000818152600660205260409020929092556001546105249291168363ffffffff610bc016565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a15050565b600160a060020a0381166000818152600a6020908152604080832054600683528184205482517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529251949561046995929461044294929391926370a08231926024808301939282900301818b87803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b505050506040513d602081101561060857600080fd5b50519063ffffffff610b5d16565b600080600083600160a060020a03166370a08231306040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561067657600080fd5b505af115801561068a573d6000803e3d6000fd5b505050506040513d60208110156106a057600080fd5b5051600160a060020a0385166000908152600660205260409020549092506106cf90839063ffffffff610b5d16565b90506002544210156106e45760009250610760565b6004546003546106f99163ffffffff610b5d16565b4210158061071f5750600160a060020a03841660009081526007602052604090205460ff165b1561072c57809250610760565b61075d60095461043661075060085461043660035442610b7090919063ffffffff16565b849063ffffffff610b9716565b92505b5050919050565b600154600160a060020a031681565b600061078f600454600354610b5d90919063ffffffff16565b421015806107b55750600160a060020a03821660009081526007602052604090205460ff165b156107c25750600061046c565b6104696107e060085461043660035442610b7090919063ffffffff16565b6009549063ffffffff610b7016565b600a6020526000908152604090205481565b60085481565b600054600160a060020a0316331461081e57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000805481908190600160a060020a0316331461088f57600080fd5b60055460ff1615156108a057600080fd5b600160a060020a03841660009081526007602052604090205460ff16156108c657600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b505050506040513d602081101561095157600080fd5b5051925061095e8461047d565b9150610970838363ffffffff610b7016565b600160a060020a038086166000818152600760209081526040808320805460ff19166001179055600a9091528120849055549293506109b8929091168363ffffffff610bc016565b6040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a150505050565b60006104696109f58361047d565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b50519063ffffffff610b7016565b60055460ff1681565b600054600160a060020a031681565b60066020526000908152604090205481565b60095481565b60035481565b6000610add600454600354610b5d90919063ffffffff16565b42101580610b035750600160a060020a03821660009081526007602052604090205460ff165b15610b105750600061046c565b6004546003546104699163ffffffff610b5d16565b600054600160a060020a03163314610b3c57600080fd5b610b4581610c5f565b50565b60076020526000908152604090205460ff1681565b81810182811015610b6a57fe5b92915050565b600082821115610b7c57fe5b50900390565b60008183811515610b8f57fe5b049392505050565b6000821515610ba857506000610b6a565b50818102818382811515610bb857fe5b0414610b6a57fe5b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c2357600080fd5b505af1158015610c37573d6000803e3d6000fd5b505050506040513d6020811015610c4d57600080fd5b50511515610c5a57600080fd5b505050565b600160a060020a0381161515610c7457600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205aeebab1c6eeb0145ecc9210c203aa7ea1ad53282570334a9375c9bc5ea4ec010029000000000000000000000000bc7396995d46057741a6bf3a47ebaa06da9afbc0000000000000000000000000000000000000000000000000000000005bd9c3700000000000000000000000000000000000000000000000000000000000278d000000000000000000000000000000000000000000000000000000000000000014