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

Chico Alves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Agora aliado do PP e do PL, general Heleno samba conforme a música

Valdemar Costa Neto, Augusto Heleno e Arthur Lira - Divulgação e reprodução de vídeos
Valdemar Costa Neto, Augusto Heleno e Arthur Lira Imagem: Divulgação e reprodução de vídeos

Colunista do UOL

09/11/2021 11h57

Há registro de grandes estrelas do samba que começaram na carreira quando ainda vestiam farda, nos quadros das Forças Armadas. Martinho da Vila é uma dessas figuras: emplacou o primeiro sucesso, "Casa de Bamba", em 1968, tempo em que servia ao Exército como terceiro sargento. A prodigiosa memória do historiador Luiz Antonio Simas registra que o xará Luís Antonio, autor de clássicos como "Barracão de zinco", "Lata d'água" e "Eu bebo sim", entre outros, era coronel. Integrou a Força Expedicionária Brasileira e compôs o Hino da Academia Militar das Agulhas Negras.

Nesse grupo talvez não haja sambista com patente tão alta quanto a do general Augusto Heleno, ministro do Gabinete de Segurança Institucional (GSI). É de autoria dele a paródia do samba "Reunião de Bacana", de Ary do Cavaco e Bebeto di São João, em que recriou o refrão para cantar: "Se gritar pega Centrão, não fica um, meu irmão...".

O sucesso foi lançado em 2018, na reunião do PSL em prol da campanha de Jair Bolsonaro à Presidência da República, e aplaudido estrepitosamente pela plateia. Um hit instantâneo que bombou nas redes sociais.

Na época da paródia, Heleno, Bolsonaro e seu grupo batiam no peito se apresentando como heróis da moralidade. Para o general, o Centrão era a materialização do famigerado "toma lá, dá cá", que o candidato do PSL e seus fardados viriam para derrotar - providencialmente, Heleno "esqueceu" que Bolsonaro ou anos no PP, um dos partidos mais fisiológicos da Câmara.

Desde o improviso do general até aqui, porém, muita coisa mudou.

O atual presidente começou o mandato dando pontapés no Congresso e abriu mão de negociar de forma civilizada, sem barganhas imorais. Queria apenas que sua vontade prevalecesse, sem conversa, ponto final.

Depois de sucessivas derrotas, constatou que rosnar para os parlamentares não adiantava nada e começou a abrir o cofre. Foi-se afeiçoando ao Centrão novamente e flexibilizando suas convicções. Gostou dos resultados.

E aqui estamos, diante do orçamento secreto, em que o governo federal destina uma fortuna aos congressistas em troca de apoio. Em comparação com os bilhões do Bolsolão, o caso dos Anões do Orçamento e do Mensalão podem ser considerados fichinha. A negociata atual é um recorde absoluto.

Mas a parceria com o Centrão não para por aí. Bolsonaro deve anunciar em breve a filiação ao PL, partido pelo qual vai disputar a reeleição. O acordo teria sido costurado entre Valdemar Costa Neto, presidente da legenda (que foi preso na época do Mensalão), e os caciques Arthur Lira e Ciro Nogueira, do PP, que indicariam o vice da chapa.

Maior integração impossível.

O curioso é que todas essas movimentações acontecem sem que o general Heleno solte uma mísera nota musical.

Em entrevista concedida há quatro meses, ele disse que a paródia não ou de uma brincadeira e chegou a duvidar que o Centrão realmente exista.

Agora, ladeado por Valdemar Costa Neto e Arthur Lira, o ministro do GSI vai poder comprovar a materialidade do grupo que antes criticava.

Não adianta se fazer de ingênuo, Heleno sabe muito quem controla o show.

Nesse momento, o Centrão escolhe o repertório. Só restou ao general sambar conforme a música.