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

Defesa nega relação de Bolsonaro com golpistas e repete fake de infiltrados

 6.jun.22 - Jair Bolsonaro recebe e o advogado da familia, Frederick Wassef no Palácio do Planalto - ANTONIO MOLINA/ESTADÃO CONTEÚDO
6.jun.22 - Jair Bolsonaro recebe e o advogado da familia, Frederick Wassef no Palácio do Planalto Imagem: ANTONIO MOLINA/ESTADÃO CONTEÚDO

Vinícius Nunes

Colaboração para o UOL, em Brasília

13/01/2023 20h55Atualizada em 13/01/2023 22h28

O advogado Frederick Wassef afirma, por meio de nota, que Jair Bolsonaro (PL) repudia todos os "atos ilegais e criminosos" no último domingo (8) e que o ex-presidente é um "defensor da Constituição".

A declaração acontece após a PGR (Procuradoria-Geral da República) pedir a inclusão de Bolsonaro no inquérito que investiga a autoria dos atos golpistas que culminaram na invasão e destruição das sedes dos Três Poderes.

Com o mesmo argumento falso que tem circulado em grupos de mensagens entre bolsonarista, a defesa do ex-presidente afirma que "infiltrados" foram os responsáveis pela depredação do patrimônio público. A nota finaliza dizendo que o ex-presidente do Brasil não tem qualquer relação com os movimentos "espontâneos realizados pela população".

Bolsonaro está nos EUA com família desde do dia 30 de dezembro. Ainda não há data para o retorno do ex-presidente, que tem sido aconselhado a antecipar sua volta — prevista inicialmente para o fim do mês.

Leia a íntegra da nota divulgada pela defesa do ex-presidente.

"O [ex-]presidente Jair Bolsonaro sempre repudiou todos os atos ilegais e criminosos, e sempre falou publicamente ser contra tais condutas ilícitas, assim como sempre foi um defensor da Constituição e da democracia. Em todo o seu governo, sempre atuou dentro das quatro linhas da Constituição. O [ex-]presidente Jair Bolsonaro repudia veementemente os atos de vandalismo e depredação do patrimônio público cometido pelos infiltrados na manifestação. Ele jamais teve qualquer relação ou participação nestes movimentos sociais espontâneos realizados pela população."