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

Jamil Chade

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Bolsonaro troca COP26 por ato com militares e local de sua origem na Itália

Rafael Carvalho
Imagem: Rafael Carvalho

Colunista do UOL

28/10/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Resumo da notícia

  • Nos dias reservados para os líderes na cúpula do clima, em Glasgow, Bolsonaro estará no norte da Itália
  • Sua programação prevê homenagem aos soldados brasileiros que lutaram na 2ª Guerra Mundial e cidade de seus anteados
  • Mais de cem líderes viajarão até a cúpula do Clima
  • Na Itália, agenda oficial do presidente prevê por enquanto apenas um encontro bilateral com líder estrangeiro, o próprio anfitrião

Enquanto o mundo se dirige para Glasgow, na Escócia, para participar da COP26, a 26ª Conferência da ONU sobre Mudanças Climáticas, o presidente Jair Bolsonaro decidiu que tem coisas mais importantes para fazer pela Europa: nos dias em que poderia estar no maior evento diplomático em anos para tentar encontrar um acordo para o planeta, o brasileiro optou por homenagear militares que lutaram na Segunda Guerra Mundial, na Itália, e fazer uma visita à cidade de seus anteados, no norte do país europeu.

O presidente inicia sua viagem pela Itália na sexta-feira. Ele participa no sábado e domingo da cúpula do G20, em Roma. Por enquanto, o único encontro bilateral de Bolsonaro em Roma será com o presidente da Itália, Sergio Mattarella. O anfitrião, porém, receberá por exigência do protocolo todos os convidados do bloco. Na Itália, Mattarella não conta com amplos poderes. Pelo sistema político, o governo não está sob a gestão do presidente, mas, sim, do primeiro-ministro.

Há poucas semanas, o chanceler Carlos França pediu um encontro com o governo francês, durante sua agem por Paris. Mas as autoridades locais não atenderam ao pedido.

O governo indica que, para sábado e domingo, "encontros bilaterais e reuniões internas" estão na programação. Mas não explica quais seriam.

Sem outro encontro confirmado até o momento, o presidente brasileiro segue viagem para outros locais da Itália, enquanto muitos dos líderes viajarão diretamente para Glasgow, onde a cúpula do clima começa no próprio domingo. O governo da Escócia espera cerca de cem líderes estrangeiros.

Mas o brasileiro tem outros planos. No dia 1º de novembro, ele visitará a pequena cidade de Anguillara Veneta, de onde saíram seus anteados em 1870 para migrar para o Brasil. A prefeita do local, Alessandra Buoso, causou indignação ao conseguir a aprovação dos políticos locais para que o presidente receba o título de cidadão honorário.

A festa custará aos cofres da cidade 9.000 euros, 60% de todo o orçamento anual do vilarejo para eventos. Pressionado por vereadores diante de sua decisão, Buoso explicou que não teve opção. Do partido de extrema-direita populista de Matteo Salvini, a prefeita deu a entender que foi o governo brasileiro que entrou em contato.

Enquanto o presidente viaja para conhecer o local de seus avós, as negociações estarão começando em Glasgow para determinar emissões de CO2 e um entendimento sobre o futuro da humanidade.

Mas, no dia 2, Bolsonaro ainda terá outra parada na Itália. Desta vez, em Pistoia, também no norte do país.

É na cidade que ficava o Cemitério Militar Brasileiro de Pistoia, onde foram enterrados membros da Força Expedicionária Brasileira que lutaram na Segunda Guerra Mundial. Os restos mortais dos soldados foram transferidos ao Brasil ainda nos anos 60. Hoje, o local serve como monumento para homenagear os combatentes brasileiros que libertaram diversas cidades ao redor da Itália.

Nos últimos meses da Guerra, o Brasil enviou à Itália um contingente militar de cerca de 25 mil homens. Os corpos de 462 soldados e oficiais brasileiros mortos foram enterrados perto de Pistoia.

Assim como ocorreu com Bolsonaro em outras viagens ao exterior, os eventos dos próximos dias vão ser marcados uma vez mais por protestos. Em Roma, coletivos se mobilizam para organizar protestos contra o presidente brasileiro, inclusive na Piazza Navona. É ali que a delegação de Bolsonaro ficará hospedada, na embaixada do Brasil em Roma.

Mas os protestos também ocorrerão em Anguillara Veneta, liderados por religiosos locais e grupos de oposição. Na segunda-feira, um ato está sendo marcado para a praça central do pequeno vilarejo para exigir da prefeitura esclarecimentos sobre o evento com Bolsonaro.

Mas o presidente também espera contar com apoios. Na capital italiana, um grupo de evangélicos ensaia um ato favorável ao brasileiro.