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

Quatro horas após aprovação, Moraes é nomeado por Temer em edição extra do Diário

Felipe Amorim

Do UOL, em Brasília

22/02/2017 16h27Atualizada em 22/02/2017 18h57

Poucas horas depois de o Senado aprovar a indicação de Alexandre de Moraes para o STF (Supremo Tribunal Federal), o presidente Michel Temer publicou edição extra do Diário Oficial da União com a nomeação oficial do novo ministro da Corte.

A edição extra do Diário Oficial, que já estava no ar por volta das 16h, traz também a exoneração de Moraes do cargo de ministro da Justiça, posto do qual ele estava licenciado desde sua indicação ao Supremo.

O Senado aprovou a indicação de Moraes por 55 votos a 13, em votação finalizada por volta do meio-dia desta quarta-feira (22). Pouco depois, às 13h, ele se encontrou com Temer no Palácio do Planalto.

No final da tarde, Alexandre de Moraes esteve no prédio do STF e conversou com a presidente Cármen Lúcia. Logo em seguida, foi anunciada a data da posse do novo ministro no tribunal: 22 de março.

Moraes substitui Teori

Com 49 anos de idade, Alexandre de Moraes terá até 26 anos de mandato no STF, que exige a aposentadoria compulsória dos ministros aos 75 anos.

Ele é o primeiro ministro indicado por Michel Temer à mais alta corte do país e poderá ser o único, já que nenhum dos outros 10 ministros do Supremo completa 75 anos até 2018, último ano de mandato de Temer.

Moraes herdará os processos do gabinete de Teori Zavascki, exceto os ligados à Operação Lava Jato. A presidente Cármen Lúcia decidiu redistribuir por sorteio os processos ligados à operação, e o sorteado como relator foi o ministro Edson Fachin. O novo ministro vai fazer parte da 1ª Turma do STF, na vaga deixada por Fachin, que pediu para ocupar a vaga de Teori na 2ª Turma. 

O indicado atuará como revisor dos processos da Lava Jato na corte, apenas nos casos que forem analisados em plenário, podendo dar sugestões ao relatório do relator, documento que faz uma espécie de resumo dos fatos e provas de um processo.

Vaga no Ministério da Justiça

Aliados do presidente Michel Temer articulam a nomeação para o Ministério da Justiça do subchefe de assuntos jurídicos da Casa Civil, Gustavo Rocha, que tem perfil técnico. A intenção seria aplacar os ânimos do ex-presidente da Câmara Eduardo Cunha (PMDB-RJ), que, segundo reportagem da Folha de S. Paulo, já mandou diversos recados para o governo de que pode fechar acordo de delação na Lava Jato.

Rocha seria uma opção à recusa do ex-ministro do STF Carlos Velloso, que alegou não poder quebrar os contratos de seu escritório para assumir a vaga. Antes dele, estavam na lista de possíveis candidatos ao cargo o vice-procurador-geral da República, José Bonifácio de Andrada, e o deputado Rodrigo Pacheco (PMDB-MG), apoiado pela bancada peemedebista na Câmara. O presidente também sondou o advogado Antonio Mariz para o posto, mas ele ainda não sinalizou sobre o assunto.