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

Advogado de Lula é ameaçado por homem não identificado; veja vídeo

Do UOL, em São Paulo

11/01/2023 18h56

O advogado Cristiano Zanin, que fez a defesa do presidente Lula (PT) em processos da Lava Jato, foi xingado e ameaçado por um homem não identificado em um banheiro no aeroporto de Brasília.

O vídeo foi divulgado nas redes sociais.

A fala do agressor

É o destino. Olha o advogado (inaudível) aqui. O bandido. Ó, o corrupto, o safado, aqui, quem está à minha frente. À minha frente. É brincadeira?! Ó o safado. Hein, vagabundo? Do meu ladinho, aqui. Olha para a câmera aqui. Safado. Vontade de meter a mão na orelha de um cara desse. Safado. Não tem vergonha, não? Vergonha de (inaudível) o seu país. Safado. Tinha que tomar um pau de todo mundo que está na rua.
Homem não identificado

A presidente nacional do PT, deputada federal Gleisi Hofmann (PT-PR), prestou solidariedade ao advogado.

Toda solidariedade ao querido Cristiano Zanin atacado por um bolsonarista. O ódio precisa ter fim, assim como deve haver respeito às instituições democráticas e às diferenças de opinião. Que a nossa sociedade avance na civilidade, vamos trabalhar por isso nos próximos 4 anos.
Gleisi Hofmann

Nas redes sociais, internautas fazem um mutirão para coletar informações sobre o homem que ameaça Zanin.

O UOL tentou contato com Zanin, para ele comentar o episódio, mas ainda não teve retorno.

Em nota, a Inframerica —concessionária que istra o Aeroporto de Brasília— disse repudiar "qualquer ato de violência, seja física ou verbal, e informou que "ainda não foi procurada oficialmente pelas autoridades competentes."

O Grupo Prerrogativas —coletivo formado principalmente por advogados, juristas, artistas e professores— pediu ao STF a identificação do agressor e as medidas cabíveis para a garantia da integridade física do advogado.

Zanin defendeu Lula na ONU. Além de defender Lula na Lava Jato, Cristiano também representou Lula em 2018 no processo que tramitava, desde 2016, no Comitê de Direitos Humanos da ONU (Organização das Nações Unidas) sobre o direito de o ex-presidente se candidatar naquela eleição.

Em agosto daquele ano, o comitê entendeu que o petista tinha direito de participar do pleito, o que não foi acatado pelo TSE. À época, eles atuavam pelo antigo escritório.