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

"Quem tem que dar explicação é o ex-assessor, não eu", diz Flávio Bolsonaro

O senador eleito no Rio, Flávio Bolsonaro (PSL) - Filipe Cordon/ Folhapress
O senador eleito no Rio, Flávio Bolsonaro (PSL) Imagem: Filipe Cordon/ Folhapress

Hanrrikson de Andrade

Do UOL, no Rio

18/12/2018 11h40

O senador eleito Flávio Bolsonaro (PSL) declarou nesta terça-feira (18) que não lhe cabe dar explicações sobre as transações financeiras atípicas de seu ex-assessor Fabrício Queiroz, que segundo relatório do Coaf (Conselho de Controle de Atividades Financeiras) fez movimentações da ordem de R$ 1,2 milhão em um período de 13 meses.

"Quem tem que dar explicação é o ex-assessor, não sou eu", afirmou ele ao chegar ao prédio do TJ-RJ (Tribunal de Justiça do Estado do Rio de Janeiro), onde ocorre na manhã de hoje a cerimônia de diplomação dos políticos eleitos no RJ em 2018.

"A movimentação atípica é na conta dele. No [meu] gabinete todo mundo trabalha", completou.

As declarações acontecem após reportagem do UOL revelar na semana ada que Nathalia de Melo Queiroz, filha do ex-assessor Fabrício Queiroz, acumulava cargo na Alerj (Assembleia Legislativa do Rio), emprego CLT e faculdade entre os anos de 2011 e 2012.

Funcionária legislativa ligada a Flávio Bolsonaro desde 2007, Nathalia trabalhou como recepcionista em uma rede de academias no Rio no mesmo período em que aparecia na folha de pagamentos da Alerj. Na ocasião, ela foi nomeada assessora direta do filho do presidente eleito, Jair Bolsonaro (PSL).

Nathalia também é citada no relatório do Coaf, que analisou o período de janeiro de 2016 a janeiro de 2017. Na época, ela era funcionária de Flávio e transferiu para o pai R$ 84.110,04. Flávio negou qualquer irregularidade.

Fabrício Queiroz, que também recebeu em sua conta depósitos de outros funcionários do gabinete de Flávio, deve prestar depoimento nesta quarta-feira (19) no Ministério Público do Rio de Janeiro. Ele atuava como motorista e segurança de Flávio até outubro.

Nesta terça-feira, o filho mais velho de Bolsonaro também foi questionado por um simpatizante se ele se sentia "massacrado" pela imprensa devido à pressão quanto a um posicionamento referente ao ex-assessor. "Normal. Trabalho normal", respondeu, esquivando-se de mais perguntas.