I had to split each "time" out to lists, remove the leading zeros, then add the respective parts together, then handle any numbers that went over their time (e.g. 72 seconds = 1 minute and 12 seconds), add those parts in, return any leading zeros needed, and then put it all back together for output.
All the blocks are draggable (which means you can drag them from here into your blocks editor)
It's partly because there are two delimiters - if all the delimiters were the same, all values could be split into one list.
Edit: If you just add all the values together in milliseconds, you don't need to remove the leading zeros, but you do still need to insert leading zeros for the final result.
Yes, I thought about the delimiter thing afterwards, but probably wouldn't make much difference to the block count. I also tried converting everything to milliseconds then using the Date/Time format block. This sort of worked, but the block doesn't handle daylight saving time on an "incomplete instant", and in this locale was adding an hour on. Not good for worldwide use....
Input will be entered manually for 5-6 times, then there will be a guess finishing time from the average calculation. It is a little bit guessing project with the (-) (+) percentage calculation.