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

Ao votar por redução de pena de Lula, ministros criticam "excesso" do TRF-4

Marcela Leite

Do UOL, em São Paulo

23/04/2019 21h06

Ao votar hoje pela redução da pena de Luiz Inácio Lula da Silva no caso do tríplex em Guarujá (SP), os ministros da quinta turma do Superior Tribunal de Justiça (STJ) falaram em "excessos" do TRF-4 (Tribunal Regional Federal da 4ª Região) em pena e em multa impostas.

O ex-presidente havia sido condenado por corrupção e lavagem de dinheiro a 12 anos e 1 mês de prisão. A pena foi reduzida para 8 anos, 10 meses e 20 dias por unanimidade em sessão nesta tarde.

A multa foi diminuída de R$ 16 milhões para R$ 2,4 milhões - e o pagamento do valor condicionará uma possível ida de Lula ao regime semiaberto.

"Não verifico ilegalidade ou mesma arbitrariedade na valoração negativa das quatros circunstâncias judiciais: culpabilidade, circunstâncias, motivos e consequências dos crimes consideradas pelo egrégio tribunal de origem. Todavia, dado o excesso, reduzo o patamar estipulado", disse o ministro Felix Fischer, relator do processo.

"O eminente relator chega à conclusão de que houve excesso por parte do TRF-4 na fixação da pena, e esse excesso também eu vislumbrei", disse o ministro Reynaldo Soares da Fonseca, ao declarar seu voto.

Os outros dois ministros que votaram na sessão seguiram o relator de maneira consensual. O quinto ministro que compõe a corte, Joel Ilan Paciornik, se declarou impedido de participar do julgamento de processos ligados à Operação Lava Jato. Seu advogado também representa e Petrobras, empresa envolvida na operação.

"Pouco importa se, em relação a outras pessoas, a pena foi superior ou inferior a 7 anos. O que importa, sim, é o que se está a julgar e a adequação da pena base do recorrente. E, assim, esta fixação não pode ser influenciada com base em elementos externos, principalmente na situação dos outros envolvidos", argumentou o ministro Jorge Mussi.