@Kriptolix é de fato o tipo de coisa que a gente espera que tenha sido resolvido no stack overflow uns 10 anos atrás.