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

Caso Lava Jato: CNJ argumenta exoneração e diz que não pode investigar Moro

Alex Tajra

Do UOL, em São Paulo

11/06/2019 21h15

O Conselho Nacional de Justiça (CNJ) determinou na noite de hoje o arquivamento de um pedido de providências, requisitado pelo Partido Democrático Trabalhista (PDT), contra o ex-juiz e ministro da Justiça e Segurança Pública, Sergio Moro. O pedido tem como base os vazamentos divulgados pelo site The Incercept Brasil, que apontam para uma orientação aos procuradores da Força-Tarefa da Lava Jato por parte de Moro.

O partido alega que as mensagens vazadas, que mostram diálogos entre Moro e Deltan Dallagnol, coordenador da operação, "levantam dúvidas sobre a probidade da conduta do então julgador, em vista de comportamentos claramente incompatíveis com o papel constitucional do magistrado". "Os fatos tornam evidente a ausência de imparcialidade e ética na função de magistrado", diz o pedido do PDT.

O CNJ não chegou sequer a analisar o mérito do caso, ou seja, se Moro agiu corretamente ou não. Em nota, o corregedor nacional de Justiça, ministro Humberto Martins, afirmou que o procedimento não seria possível, uma vez que Moro exonerou-se do cargo de juiz no ano ado para assumir o posto de ministro e cortou qualquer vínculo com a organização.

O CNJ alega que só poderia tomar alguma providência caso ainda houvesse algum vínculo institucional de Moro com a magistratura, como em caso de aposentadoria, por exemplo.

"Ocorre, entretanto, que, em se tratando de pedido de exoneração, a situação é substancialmente diversa, já que o magistrado voluntariamente solicita o rompimento completo e total do vínculo havido entre ele e o Poder Judiciário", diz o texto do CNJ.

Para Martins, aplicar penalidade a um juiz que pediu exoneração "criaria uma situação no mínimo inusitada: o juiz pediria exoneração, cortando seu vínculo com a istração, e a instância istrativa instauraria um procedimento que, se ao final concluísse pela aplicação da penalidade, anularia a exoneração e aplicaria ao juiz a aposentadoria compulsória com proventos proporcionais."

Na decisão, o ministro ainda afirma que não cabe ao CNJ ser terceirizado como investigador de outras instituições, levando em conta que as apreciações do conselho devem ter como base a "utilidade/necessidade/adequação dos procedimentos", sem usurpar as atribuições do próprio CNJ.

Ali não tem orientação nenhuma, diz Moro sobre mensagens

UOL Notícias

Diálogos vazados

Uma série de reportagens publicadas no último domingo pelo site The Intercept Brasil mostra que Sergio Moro orientou as investigações da operação Lava Jato em Curitiba por meio de mensagens trocadas pelo aplicativo Telegram com o procurador da República Deltan Dallagnol.

O site afirmou que recebeu de uma fonte anônima um grande volume de mensagens trocadas no aplicativo entre membros da Lava Jato e entre o procurador e o então juiz. O "The Intercept" foi fundado pelo jornalista norte-americano Glenn Greenwald, um dos autores da reportagem. Ele ficou conhecido mundialmente após ajudar o ex-analista de sistemas Edward Snowden a revelar informações secretas obtidas pela Agência de Segurança Nacional (NSA, na sigla em inglês) dos Estados Unidos.