%3 DEFINED DEFINED DEFINED:sw->DEFINED:nw STARTED STARTED DEFINED->STARTED height >= start_height STARTED:sw->STARTED:nw FAILING FAILING STARTED->FAILING height >= timeoutheight AND NOT lockinontimeout LOCKED_IN LOCKED_IN STARTED->LOCKED_IN (height < timeoutheight AND threshold reached) OR (height >= timeoutheight AND lockinontimeout) ACTIVE ACTIVE FAILING->ACTIVE all blocks signal FAILED FAILED FAILING->FAILED NOT all blocks signal LOCKED_IN->ACTIVE always ACTIVE:sw->ACTIVE:nw FAILED:sw->FAILED:nw