AstraZeneca sells rare cancer drug to Sanofi for up to $300 million