Gunmen have killed at least 32 people during a ceremony attended by top Afghan politicians in Kabul.
The country's chief executive, Abdullah Abdullah, escaped unharmed, but dozens of others were wounded.
The Islamic State group has claimed responsibility. It targeted the same event, which commemorates the death of an Afghan Shia leader, in 2019.
The attack was the first major one in Kabul since a deal was signed between the US and the Taliban last Saturday.
That agreement aims to bring peace to Afghanistan. However, IS were not involved in negotiations.
The ceremony marking the 25th anniversary of ethnic Hazara leader Abdul Ali Mazari's death at the hands of the Taliban was being broadcast live, and people were seen fleeing as the sound of gunfire rang out.
The shots were fired from a nearby building under construction, police say.
About 60 people were injured, according to government officials.
Special forces rushed to the scene. The two attackers have now been killed, according to the interior ministry.
This was the first major attack on the capital since the deal between the US and Taliban was agreed last Saturday.
Under the terms of the agreement, the US and its Nato allies will withdraw their troops within 14 months. In return, the Taliban will hold talks with the Afghan government.
The militants also agreed not to allow al-Qaeda or any other extremist group to operate in the areas they control.
The US invaded Afghanistan weeks after the September 2001 attacks in New York by the Afghanistan-based al-Qaeda group.
More than 2,400 US troops have been killed during the conflict. About 12,000 are still stationed in the country. President Trump has promised to put an end to the conflict.