Richard Carapaz tightened his grip on the maglia rosa on a dramatic Stage 15 at the Giro d’Italia, won by Italy's Dario Cataldo.