Fire at Canton shopping complex destroys nearly 30 buildings