In a grid, 0 is empty, 1 is a fresh orange, and 2 is rotten. Every minute, a rotten orange rots any fresh orange directly adjacent (up/down/left/right). Return the number of minutes until no fresh orange remains, or -1 if some can never rot.