Analysis and Design of a Dual-Mode Push-Pull Boost Power Factor Corrector