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

Gasto de Bolsonaro com cartão corporativo foi quase o triplo do divulgado

Do UOL, em São Paulo

17/01/2023 17h58

Os gastos da Presidência com cartão corporativo durante a gestão do ex-presidente Jair Bolsonaro (PL) foram quase o triplo do que os divulgados na semana ada.

Por que essa diferença?

O jornalista Luiz Fernando Toledo, cofundador da agência "Fiquem Sabendo", disse ao UOL que os dados divulgados na semana ada não são discriminados e deixam perguntas sem respostas.

As planilhas foram publicadas em resposta a um pedido feito pela agência por meio da LAI (Lei de o à Informação).

Não se sabe por exemplo se os gastos são apenas do presidente, de sua equipe de segurança ou se englobam outros órgãos que estão sob o guarda-chuva da Presidência, como secretarias, o GSI (Gabinete de Segurança Institucional) e a Abin (Agência Brasileira de Inteligência).

  • No Portal da Transparência os gastos da Presidência são discriminados de acordo com esses diferentes órgãos, mas nas planilhas, não;
  • A grande novidade dos dados divulgados agora é que é possível saber os estabelecimentos onde houve gastos e a frequência -- no Portal da Transparência esses dados ainda aparecem como "sigilosos";
  • As notas fiscais não foram divulgadas, o que impede saber o que foi comprado realmente.

O que não está esclarecido é o que significam afinal esses dados que eles divulgaram. Será que é só um pedaço? Falta atualizar, falta colocar os dados com viagens internacionais ou se colocaram só um órgão? Sem essas informações fica muito difícil fazer qualquer comparativo [com outros governos]
Luiz Fernando Toledo, cofundador da agência "Fiquem Sabendo"

Marina Atoji, diretora de programas da Transparência Brasil, destaca que viagens envolvendo negociações do país com parceiros internacionais podem continuar sob sigilo e, por isso, podem não aparecer nas planilhas de detalhamento de despesas. O Itamaraty colocou sob sigilo de cinco anos o o aos detalhes de documentos da visita de Bolsonaro à Rússia, em fevereiro do ano ado.

A especialista também ressalta que os gastos da Abin e do GSI podem não estar na planilha porque um decreto de 2019 estabelece uma classificação de sigilo mais imprecisa do que a prevista pela LAI, por envolver informações de ações de inteligência e investigações.

Para que serve o cartão corporativo?

Criados em 2001, durante o governo do ex-presidente Fernando Henrique Cardoso (PSDB), os cartões de Pagamento do Governo Federal (GF), que ficaram conhecidos como cartões corporativos, tinham como objetivo facilitar a transparência de gastos antes feitos com cheques ou por meio da apresentação de notas fiscais.

Alterações por meio de decretos tentaram limitar e dar mais transparência ao uso desses recursos. Depois da I dos cartões corporativos, em fevereiro de 2008, o uso do cartão para saques ou a ser proibido. A exceção ficou para "peculiaridades" de alguns órgãos e casos com um limite de 30% do total da despesa anual do órgão.

O detalhamento dos gastos com cartão corporativo fica sob sigilo durante o mandato do presidente por razões de segurança.