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

Desenvolto, advogado que abrigou Queiroz circulou em posses no Planalto

Eduardo Militão e Constança Rezende

Do UOL, em Brasília

18/06/2020 11h51

Frederick Wassef, advogado do presidente Jair Bolsonaro (sem partido), é dono do imóvel onde foi encontrado Fabrício Queiroz. Ex-assessor de Flávio Bolsonaro e policial reformado, Queiroz foi preso na manhã de hoje numa ação conjunta do MP-RJ (Ministério Público do Rio de Janeiro) e do MP-SP (Ministério Público de São Paulo).

O advogado Frederick Wassef atuou no caso Adélio Bispo, cujos inquéritos foram encerrados pela Polícia Federal. Sua relação com o presidente é de proximidade. Ele também defende o senador Flávio Bolsonaro (Republicanos-RJ) no inquérito em que apura suspeita de lavagem de dinheiro e com operação de Queiroz.

Wassef esteve, na quarta-feira (17), na posse do novo ministro das Comunicações, deputado Fábio Faria (PSD), genro do dono do SBT, Sílvio Santos. Ele foi como "amigo" do presidente, segundo um interlocutor do ministro disse à colunista Mônica Bergamo.

Antes disso, ele também marcou presença na posse de André Mendonça como ministro da Justiça, em abril. Wassef estava no Palácio do Planalto contrariado por duas situações. Primeiro, com a decisão do ministro do STF (Supremo Tribunal Federal), Alexandre de Moraes, de barrar o delegado Alexandre Ramagem para tomar posse como diretor-geral da Polícia Federal. Segundo, com a nota da AGU (Advocacia Geral da União) afirmando que não iria recorrer da decisão.

Ele afirmou à reportagem do UOL naquela ocasião, em 29 de abril, que a estratégia lhe parecia equivocada e que iria se reunir com o presidente após a cerimônia —foi quando Jair Bolsonaro alfinetou o STF, reclamando de interferência em poderes.

Não se sabe o que Wassef e o presidente conversaram entre aquele fim de tarde e início de noite. Fato é que, na manhã seguinte, Bolsonaro aumentou a temperatura das críticas. Acusou Moraes de só ser ministro por amizade com o ex-presidente Michel Temer.

Ex-companheira vendeu carro ao presidente, diz revista

Wassef já foi companheiro da empresária Cristina Boner Leo. E, segundo a revista "Veja", uma empresa dela foi usada para fazer negócio com Jair Bolsonaro.

Cristina Boner foi investigada na Operação Pandora, da Polícia Federal. Ela foi condenada em junho do ano ado por improbidade istrativa no chamado "mensalão do DEM". Na ocasião, foi proibida de contratar com a istração pública até 2022, de acordo com sentença do juiz Mário Henrique Silveira, da 2ª Vara de Fazenda Pública do Distrito Federal.

De acordo com a "Veja", Jair Bolsonaro e Wassef fizeram uma transação comercial usando uma empresa ligada a Cristina Boner. "Em 2015, o presidente comprou um Land Rover, preto, modelo 2009/2010, da empresa CompuSoftware, que na época era comandada por Cristina Boner, com quem Fred [Wassef] mantinha um relacionamento amoroso", narrou a publicação.

O UOL procurou Wassef nesta manhã por telefone e mensagens de celular, mas não obteve esclarecimentos, que serão publicados se forem recebidos.