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

Esse conteúdo é antigo

Moro critica Lula e Bolsonaro por não repreenderem guerra da Ucrânia

Moro já tinha cobrado um posicionamento do governo federal. No início de março, ele afirmou que era preciso "estar do lado certo da história" - Mateus Bonomi/AGIF/Estadão Conteúdo
Moro já tinha cobrado um posicionamento do governo federal. No início de março, ele afirmou que era preciso 'estar do lado certo da história' Imagem: Mateus Bonomi/AGIF/Estadão Conteúdo

Do UOL, em São Paulo

06/05/2022 13h42Atualizada em 06/05/2022 14h10

O ex-juiz e ex-ministro da Justiça Sergio Moro (União Brasil) criticou hoje tanto Luiz Inácio Lula da Silva (PT) quanto Jair Bolsonaro (PL) por não se oporem claramente à invasão da Ucrânia pela Rússia. Para ele, isso é negativo para a imagem do Brasil.

"É sintomático que os dois representantes desses extremos políticos, Lula e Bolsonaro, nunca tenham conseguido manifestar uma reprovação clara à invasão da Ucrânia pela Rússia, o que gera uma percepção negativa da imagem do Brasil sobre as outras democracias ocidentais", disse Moro.

A fala do ex-juiz foi feita em um evento organizado pela Amcham em parceria com o Brazil-U.S. Business Council (BUSBC).

O comentário acontece dois dias após uma entrevista de Lula publicada na revista norte-americana Time na qual o petista declarou acreditar que o presidente ucraniano Volodymyr Zelensky tem tanta culpa pela guerra quanto o russo Vladimir Putin.

Na última quarta-feira (4), Moro foi uma das pessoas que usaram suas redes sociais para criticar a opinião de Lula. "Mal disfarça o seu desprezo por Zelensky e a sua preferência por Putin e por regimes autoritários. Esta é a via democrática?", questionou o ex-juiz no Twitter.

Bolsonaro, por sua vez, se pronunciou logo após o início do conflito afirmando que o Brasil não tomaria partido e que a posição do país seria de "grande cautela'. Na quarta, o presidente disse temer os possíveis efeitos econômicos caso a guerra se prolongue.

Moro já tinha cobrado um posicionamento do governo federal. No início de março, cerca de uma semana após o início da invasão, ele afirmou que era preciso "estar do lado certo da história".

*Com Estadão Conteúdo