Codigo completo, incluindo relatorios