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

Thaís Oyama

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

STF teme que Bolsonaro use relatório das Forças para reanimar golpismo

Colunista do UOL

09/11/2022 12h00Atualizada em 09/11/2022 15h02

O Ministério da Defesa irá apresentar hoje o adiado relatório sobre o resultado da fiscalização das urnas eletrônicas feito pelas Forças Armadas na eleição. O documento não apontará a ocorrência de fraudes, mas se manterá em cima do muro ao dizer que há espaço para "aperfeiçoamento" do sistema.

Ministros do STF que acompanharam a divulgação do relatório — adiada a pedido do presidente Jair Bolsonaro e tornada obrigatória agora pelo ministro Alexandre de Moraes— temem que o presidente use a ambiguidade do texto para "se colocar no jogo outra vez".

Ontem, o ministro Gilmar Mendes telefonou para o presidente do PL, Valdemar Costa Neto, demonstrando preocupação pelo fato de o cacique ter dito em entrevista que esperaria o relatório da Defesa para reconhecer a vitória do ex-presidente Luiz Inácio Lula da Silva na disputa pela Presidência.

Em resposta, Gilmar ouviu de Valdemar que ele só fez a afirmação por estar, naquele momento, pressionado pela presença de 40 deputados bolsonaristas na plateia — incluindo Bia Kicis, uma das apoiadoras do presidente que vem disseminando mensagens de WhatsApp com suspeitas sobre a lisura da eleição.

Gilmar cobrou de Valdemar uma declaração que deixasse claro o respeito do cacique ao resultado das urnas. Valdemar deverá fazer a manifestação ainda hoje.

O presidente do PL disse a interlocutores estar apreensivo com a reação que a parte bolsonarista de sua bancada terá diante do relatório da Defesa, aparentemente feito para tentar servir a dois senhores, a verdade e o presidente.

Jair Bolsonaro não tem aparecido em público nem feito lives desde que foi derrotado por Lula. Está recluso no Palácio da Alvorada, com suspeita de erisipela. Segundo colaboradores, já no final da campanha ele ou a reclamar de dores nas pernas durante as viagens de avião. O presidente apresenta feridas nas duas pernas e está sendo tratado com antibióticos pelo menos desde quarta-feira ada. A visitantes, já disse que sua doença é de "fundo emocional".