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

Bolsonaro cita "certeza" de agenda com Trump caso Eduardo seja embaixador

15.jul.2019 - Deputado federal Eduardo Bolsonaro (PSL-SP) sussurra no ouvido do pai, o presidente Jair Bolsonaro (PSL), durante sessão solene na Câmara - GABRIELA BILó/ESTADÃO CONTEÚDO
15.jul.2019 - Deputado federal Eduardo Bolsonaro (PSL-SP) sussurra no ouvido do pai, o presidente Jair Bolsonaro (PSL), durante sessão solene na Câmara Imagem: GABRIELA BILó/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

25/09/2019 22h51

O presidente Jair Bolsonaro (PSL) afirmou hoje que a indicação de seu filho, Eduardo Bolsonaro (PSL), para a embaixada brasileira nos Estados Unidos pode trazer privilégios em relação possíveis reuniões com Donald Trump. Em entrevista concedida à Rede Vida e veiculada na noite de hoje, Bolsonaro não confirmou quando enviará o nome de Eduardo oficialmente, mas disse que "está chegando a hora."

"O embaixador funciona, muitas vezes, como um cartão de visitas. (...) Em uma eventualidade, caso precisemos conversar com o Trump, com toda certeza ele terá um espaço em sua agenda", disse Bolsonaro ao citar a proximidade do 'zero dois' com o presidente norte-americano.

Na conversa, Bolsonaro voltou a falar que, se não for seu filho, "vai ser filho de alguém". "Não procede essa questão do nepotismo (...), o Supremo [Tribunal Federal] já tem uma decisão nesse sentido. Se não for meu filho, vai ser filho de alguém. Por que o filho de político tem que ser mal visto?", questionou.

A despeito do STF já ter decidido que, para cargos políticos, o que pode incluir chefes de missões diplomáticas no exterior, não se aplica à Súmula Vinculante nº 13 (que proíbe a indicação de parentes até o terceiro grau para cargos públicos), o Datafolha mostrou que a maioria dos brasileiros reprova a indicação de Eduardo para a embaixada nos EUA.

Segundo o levantamento feito pelo instituto, para 70% dos entrevistados Bolsonaro está agindo mal ao indicar o próprio filho para o cargo diplomático.

O tom do discurso proferido durante a Assembleia-Geral das Nações Unidas também foi tratado na entrevista. Para Bolsonaro, sua apresentação na ONU tinha de ser "contundente". "Tínhamos que bater em vários pontos, era uma oportunidade ímpar do Brasil se apresentar ao mundo."

O presidente rechaçou novamente uma intervenção militar na Venezuela — país que vive uma crise política intensa e também fora pauta de seu discurso nas Nações Unidas. Citando novamente a situação das Forças Armadas do Brasil, as quais o presidente se refere constantemente como "sucateadas", ele disse que uma ação militar na Venezuela "seria um Vietnã" — em referência à guerra que os Estados Unidos travaram com o país asiático nos anos 1960.