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

Dirceu, Vaccari e Delúbio vão a congresso do PT; ex-ministro é aplaudido

A ex-presidente Dilma Rousseff (PT) discursa em congresso do partido em São Paulo - Bernardo Barbosa/ UOL
A ex-presidente Dilma Rousseff (PT) discursa em congresso do partido em São Paulo Imagem: Bernardo Barbosa/ UOL

Bernardo Barbosa

Do UOL, em São Paulo

22/11/2019 21h49

Condenados por envolvimento em esquemas de corrupção e lavagem de dinheiro, o ex-ministro petista José Dirceu e os ex-tesoureiros João Vaccari Neto e Delúbio Soares compareceram hoje ao congresso do PT em São Paulo.

Dirceu foi aplaudido quando anunciado na cerimônia de abertura do congresso do PT. Correligionários gritaram "Dirceu, guerreiro do povo brasileiro". Pouco antes do discurso de Lula, Dirceu se juntou às lideranças de esquerda que estavam no palco da cerimônia de abertura do congresso petista.

Mais cedo, o ex-ministro circulou brevemente entre os presentes ao congresso do PT, e foi cumprimentado por muitos deles.

Vaccari, por sua vez, estava sentado em uma das fileiras reservadas a lideranças petistas no palco cerimônia de abertura do congresso partidário.

A uma cadeira de distância de Vaccari estava outro ex-tesoureiro do PT, Delúbio Soares. Ele já tinha comparecido ao congresso anterior do partido, em 2017.

Dirceu foi solto depois que o STF (Supremo Tribunal Federal) decidiu retomar o entendimento de que uma pessoa só pode ser presa depois de esgotar seus recursos na Justiça.

Ministro da Casa Civil no governo Lula, Dirceu estava preso desde maio, depois de ter sido condenado por corrupção iva e lavagem de dinheiro em um processo da Operação Lava Jato. Ele também foi condenado no caso do mensalão.

Já Vaccari estava preso desde 2015, quando foi detido preventivamente. Depois, condenado em segunda instância na Lava Jato, ou a cumprir pena. Ele também foi absolvido em outros processos decorrentes da operação.

Vaccari cumpria pena com tornozeleira eletrônica desde setembro — restrição que deixou de ser obrigado a cumprir depois da decisão do STF sobre o trânsito em julgado.

Delúbio vive situação parecida. Ele chegou a ser preso em 2018 após condenação em segunda instância por lavagem de dinheiro na Lava Jato. Este ano, progrediu para o regime semiaberto, e agora não está mais obrigado a usar a tornozeleira eletrônica. O ex-tesoureiro também foi condenado e preso por envolvimento no mensalão.

Ainda hoje, Lula fará um discurso no congresso do PT. O evento também servirá para eleger a direção do partido, e a deputada federal Gleisi Hoffmann (PT-PR) deve ser reconduzida ao comando da legenda.