‘Rogue One’ tops box office for third straight weekend