As Russian troops mass for an expected full-on assault of Ukraine’s east, thousands more are besieging the southeastern city of Mariupol in a protracted battle to dislodge Kyiv’s forces from the strategically important port.

Mariupol’s defenders have frustrated Russia’s seven-week efforts to seize the city, which sits near separatist territory that Moscow’s Ukrainian allies grabbed in 2014, when Russia also took over Ukraine’s Crimean Peninsula.