;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

TSE aprendeu com as lições do primeiro turno, diz pesquisadora

Números de partidos ganharam força a partir da adoção da urna eletrônica - Getty Images
Números de partidos ganharam força a partir da adoção da urna eletrônica Imagem: Getty Images

Colaboração para o UOL, em São Paulo

29/11/2020 17h53

A apuração dos votos do segundo turno das eleições corre em ritmo muito mais acelerado do que o apresentado no primeiro turno, realizado há duas semanas. Menos de uma hora depois do fechamento das urnas, algumas cidades já conhecem números avançados neste domingo (29).

Maria Cecília Oliveira Gomes, professora no Data Privacy Brasil e pesquisadora em proteção de dados na FGV, afirmou durante a live do UOL sobre a apuração que o TSE (Tribunal Superior Eleitoral) aprendeu com as falhas apresentadas há duas semanas.

"A percepção que eu tive com o dia de hoje, não sei se vocês também compartilham em relação a ela, é que o segundo turno foi bem mais tranquilo que o primeiro nesse aspecto", afirmou.

A especialista voltou a reforçar a confiança no sistema eleitoral do país e vê um esforço do TSE em aprimorar o sistema.

"O TSE, a cada eleição, pelo que a gente tem acompanhado, tem melhorado os seus sistemas, tem movido esforços para justamente melhorar cada vez mais a segurança envolvida no processo de votação, ar mais informações, esclarecimentos para a população sobre a confiabilidade das urnas eletrônicas, sobre como é confiável o sistema eleitoral brasileiro, entre outros aspectos", analisou.

Há duas semanas, o TSE atrasou algumas horas para começar a liberar as primeiras parciais da eleição municipal. O presidente do tribunal, o ministro Luís Roberto Barroso, afirmou neste domingo que esperava conhecer ainda hoje todos os resultados o pleito "se Deus quiser".

Maria Cecília usou o aplicativo e-título para mostrar como o tribunal evoluiu mesmo com o pequeno espaço de tempo entre os dois turnos. "Se no primeiro turno teve toda aquela questão de não conseguir baixar o aplicativo, a gente já vê que agora no segundo turno que eles limitaram o do aplicativo para o dia anterior, justamente para não sobrecarregar esse sistema do TSE em relação ao e a consulta de informações. Eu tenho uma visão otimista de que com o ar do tempo isso vai se tornar cada vez mais uma agenda do TSE de melhoria nesse processo de votação", declarou.

Foi divulgada ontem (28) a prisão, em Portugal, de um suspeito de ter participado de um ataque hacker ao TSE (Tribunal Superior Eleitoral). A invasão no sistema no primeiro turno divulgou informações de funcionários, mas não colocou em risco o sistema de votação, de acordo com o tribunal. As urnas não ficam conectadas à internet, e a transmissão dos votos para totalização do resultado é feita por uma rede própria do tribunal que usa comunicação criptografada.

Voto impresso ou eletrônico

Ao comentar mais uma declaração do presidente Jair Bolsonaro (sem partido) defendendo o uso do voto impresso nas eleições, Maria Cecília enxerga o TSE atuando no sentido contrário ao que Bolsonaro deseja.

"Sobre haver ainda declarações de votos impressos, votos eletrônicos, isso é algo que a gente vê há bastante tempo. Não é da eleição 2020, da eleição 2018. As urnas eletrônicas existem no Brasil desde 1996, e desde que a gente começou a, paulatinamente, implementar as urnas eletrônicas no Brasil, alegações e questionamentos como essas foram e vêm sendo feitas, contudo, até o momento não houve nenhuma comprovação de que há alguma fraude ou que houve alguma fraude. O que a gente tem acompanhado por parte do TSE, com o aplicativo do e-titulo, outras medidas, outros planejamentos que eles têm para as próximas eleições é que eles têm cada vez mais melhorado e aprendido com as situações que são vivenciadas", finalizou.

Você utiliza a Alexa? O UOL é o parceiro oficial da assistente de voz da Amazon, com boletins de notícias e dados atualizados das últimas pesquisas eleitorais e dos resultados do 2º turno. Para saber sobre a eleição na sua cidade com a credibilidade do UOL, pergunte: "Alexa, qual é o resultado da pesquisa eleitoral em São Paulo?", por exemplo, ou "Alexa, quem ganhou a eleição no Rio de Janeiro?". Nos encontramos lá!