;(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

Chico Alves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Institutos de pesquisa são a nova 'urna eletrônica' de Bolsonaro

10.out.2022 - O presidente da República e candidato à reeleição, Jair Bolsonaro (PL), fala após encontro com os prefeitos, no Palácio da Alvorada, em Brasília (DF). - CLÁUDIO REIS/ENQUADRAR/ESTADÃO CONTEÚDO
10.out.2022 - O presidente da República e candidato à reeleição, Jair Bolsonaro (PL), fala após encontro com os prefeitos, no Palácio da Alvorada, em Brasília (DF). Imagem: CLÁUDIO REIS/ENQUADRAR/ESTADÃO CONTEÚDO

Colunista do UOL

14/10/2022 12h10

Toda noite, quando bota a cabeça no travesseiro, Jair Bolsonaro fica maquinando alguma forma de bagunçar o processo eleitoral brasileiro. Durante muitos meses, disparou falsas denúncias de fraude contra as urnas eletrônicas. Sem apresentar qualquer prova, e até reconhecendo que não as tinha, Bolsonaro fez lives, discursos, determinou investigações, tudo para desacreditar as urnas.

Não deu certo. Ele ordenou, então, que o seu ministro da Defesa bolsonarista, Paulo Sérgio Nogueira, fizesse uma esdrúxula intromissão na seara que é de responsabilidade exclusiva do Tribunal Superior Eleitoral (TSE). O general da reserva tentou se arvorar em fiscalizador do sistema de eleições, mas a pretensão foi barrada pelo tribunal. Contentou-se em fazer a conferência dos boletins de urna com os resultados da eleição - algo que está ao alcance de qualquer cidadão.

Nogueira ainda não revelou a conclusão da experiência, mas já se sabe que, como era esperado, as Forças Armadas não constataram nada de errado. Ridiculamente, o ministério não divulga esse resultado, por ordem do chefe Bolsonaro. Obviamente, ele ainda nutre a esperança de revisitar a tese de fraude nas urnas caso perca as eleições.

Enquanto isso, o presidente da República escolheu um novo inimigo imaginário: os institutos de pesquisa.

Não há dúvida que os números apresentados por essas empresas antes do primeiro turno das eleições foram bastante diferentes do que se verificou nas urnas. Acertaram no principal: Luiz Inácio Lula da Silva ficou à frente de Bolsonaro. Mas a diferença entre os dois foi muito menor.

Além disso, houve muitas discrepâncias nas eleições estaduais. Candidatos a governadores e senadores tiveram em alguns estados resultados bastante diferentes do que vinha sendo mostrado nas pesquisas.

Há anos, os institutos repetem à exaustão que as pesquisas não servem como previsão do resultado da eleição, mas como uma fotografia do momento. Além disso, seus diretores alegaram que houve um movimento de última hora feito pelos eleitores, algo que é impossível de prever. Reconhecem, no entanto, que é preciso melhorar seus métodos, para evitar distorções desse tipo.

Reivindicar melhoria nesse processo é algo compreensível e até desejável. O problema é quando governistas e o próprio presidente am da crítica a insinuações sem base e sugerem a criminalização do trabalho dos institutos.

O ápice dessa irresponsabilidade foi tentar transformar o Conselho istrativo de Defesa Econômica (Cade), até então um órgão eminentemente técnico, em uma espécie de polícia que joga no ar denúncias infundadas.

Citando Datafolha, Ipec e Ipespe, Alexandre Cordeiro, presidente do Cade, disse que os erros não foram "casuísticos e sim intencionais", falou em "ação orquestrada dos institutos de pesquisa na forma de cartel", com objetivo de "para manipular em conjunto o mercado e, em última instância, as eleições".

Provas? Nenhuma.

Também a Polícia Federal iniciou uma "investigação" sobre os institutos de pesquisa, requisitada pelo próprio ministro da Justiça, Anderson Torres.

Até que, em boa hora, o presidente do TSE acabou com a brincadeira.

Decidiu que nem a Polícia Federal nem o Cade têm competência para conduzir investigações desse tipo e afirmou que esses movimentos "parecem demonstrar a intenção de satisfazer a vontade eleitoral" de Bolsonaro.

Em seu despacho, determinou que a Corregedoria-Geral Eleitoral e a Procuradoria-Geral Eleitoral investiguem os responsáveis por tal desvio sob acusação de "eventual prática de abuso de poder político".

As "investigações" sobre os institutos de pesquisa foram sustadas, mas Bolsonaro vai continuar a vociferar contra essas empresas - como fez no caso das urnas eletrônicas - e contra Moraes, ministro que ele diz estar a serviço da candidatura do seu oponente, Lula.

Dessa forma irresponsável, o presidente da República mantém viva, sem a menor cerimônia, a máxima que coloca em prática desde o início do seu governo: "acuse o inimigo daquilo que você faz".