Iran is in the grip of a popular rebellion, the like of which has not been seen since the 1979 revolution.
It began as a protest against alleged vote rigging, but has now become a movement that lays bare the deep contradictions inside Iranian society.
There have been four crucial days in the uprising so far.
On Saturday 13 June, the day after the presidential elections, tens of thousands of people spilled onto the streets of Tehran to protest at suspected election fraud.
These protests spread rapidly to other cites. The Basij militia loyal to president Mahmoud Ahmadinejad, who was declared the winner of the elections, moved to crush the protests.
They raided Tehran University, the centre of the reform movement. Five students are believed to have been killed. Similar raids took place at other universities.
Yet far from this taming the movement, it grew. On Monday 15 June, millions of people turned out in Tehran in the biggest demonstration for 30 years.
Similar mobilisations took place across the country.
Over the next two days supporters of Ahmadinejad and the opposition became involved in a battle of mobilisations. Rumours began to circulate that elements within the Revolutionary Guards had mutinied.
Unconfirmed reports say that the Tehran head of this elite force was arrested after he refused an order to attack the demonstrations.
The battles on Wednesday 17 June were decisive. In Esfahan the rioting gave way to fear. The hated Basij militia took the offensive in night time raids.
Meanwhile rumours began to circulate that workers at the giant car plant north of Tehran, Iran Khodro, planned to hold two one-hour protest strikes. And a statement from the heavily repressed bus workers’ union declared its support for the demonstrations.
One 26 year old worker in Iran who was contacted by Socialist Worker on Thursday of last week said that many people felt it was “like 1979”.
“The protests are very uplifting and most people do not see them as a challenge to Islamic rule,” he said. “We have lost our fear of the state.
“Many of the protesters do not have much affinity with [reformist leader] Mousavi and they are frustrated by the lack of alternative to both Mousavi and Ahmadinejad.”
He spoke of the extreme tension ahead of Iran’s supreme leader Ali Khamenei’s key speech following Friday prayers – when he ordered demonstrators to end the protests.
The reformers and their allies inside the establishment called for the demonstrations to continue.
This open defiance of Khamenei illustrates the depth of the divisions within the Iranian state. Mousavi called for a general strike if he was arrested.
But the repression began to take its toll on the size of the demonstrations.
Security forces acted with extreme brutality against those who defied the state to protest. On Saturday 20 June snipers fired at people on the streets.
Some 30 are said to have been killed, including 26 year old student Neda Soltani, whose last moments were captured on a mobile phone camera.
Her death has come to symbolise the cruel repression of the regime. Mosques were ordered not to hold services to mark her death, while her family had to bury her in secret.
Yet battles continued on that day. One eyewitness described how construction workers in Tehran came to the aid of some of the demonstrators:
“We watched a clash between the police and the construction site workers at the Towhid Tunnel [in Tehran] from our apartment window.
“The police tried to take a shortcut to ambush the protesters. The workers used shovels, bricks and construction equipment to stop the police. At this point the demonstrators joined in to help the workers.”
The involvement of workers and the poorer neighbourhoods is an indication of how this movement is reaching deep into Iranian society.
As Socialist Worker went to press, reports were emerging of protest strikes involving millions of Iranian workers. Many of the reports that have emerged from Iran are difficult to verify.
But eyewitness statements and footage of mass demonstrations and street battles point to the depth of the convulsion from below that is shaking Iran.
Watch this site for updates