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

Dr. Furlan vira, vence irmão de Alcolumbre e é eleito prefeito de Macapá

Dr. Furlan teve 55,67% dos votos válidos, enquanto Josiel, irmão de Davi Alcolumbre, conquistou 44,33% - Erich Macias Rodrigues/Estadão Conteúdo
Dr. Furlan teve 55,67% dos votos válidos, enquanto Josiel, irmão de Davi Alcolumbre, conquistou 44,33% Imagem: Erich Macias Rodrigues/Estadão Conteúdo

Guilherme Botacini

Colaboração para o UOL

20/12/2020 18h06Atualizada em 20/12/2020 19h38

Dr. Furlan (Cidadania), 47, venceu Josiel Alcolumbre (DEM), irmão do senador Davi Alcolumbre (DEM), e é o novo prefeito de Macapá. Com 100% das urnas apuradas, Furlan teve 55,67% dos votos válidos (101.091), enquanto Josiel conquistou 44,33% (80.499).

Nas redes sociais, Furlan comemorou o resultado dizendo "o prefeitão tá on!".

Votos brancos e nulos somaram 2,01% (3.884) e 4,00% (7.736), respectivamente.

A capital amapaense foi a única do país que adiou as eleições municipais e teve o primeiro turno no último dia 6. O adiamento se deu devido ao apagão que atingiu quase todo o estado do Amapá no dia 3 de novembro.

Adversários de Josiel, inclusive Furlan, criticaram a decisão de postergar a disputa porque ela só teria ocorrido após a queda de Josiel em pesquisas de intenção de voto, perdendo a vantagem conquistada antes do blecaute.

Também houve reclamações porque apenas a capital teve eleição feita mais para a frente, apesar de o apagão ter atingido 14 dos 16 municípios do estado.

Dr. Furlan ganhou de virada, já que havia ficado em segundo lugar no primeiro turno, com 16,03% dos votos válidos, contra 29,47% de Josiel. Ele é médico cardiologista e deputado estadual pelo Cidadania, mas foi eleito pelo PTB, partido do qual saiu em fevereiro de 2019.

Davi Alcolumbre parabeniza vencedor

Assim como Furlan, Davi Alcolumbre também usou as redes sociais para se manifestar sobre o resultado da eleição. Ele parabenizou o candidato do Cidadania pela vitória, desejando-lhe sucesso à frente da prefeitura, e acrescentou que continuará trabalhando por Macapá e pelo Amapá.

"Que jamais nos esqueçamos de que a democracia é o pilar mais importante da sociedade", disse Alcolumbre. "Temos muitos investimentos federais para que Macapá continue o seu caminho de crescimento e prosperidade. Vence a vontade soberana das urnas."

Caos, protestos e escassez de alimentos

No dia 3 de novembro, 14 dos 16 municípios do Amapá ficaram sem fornecimento de energia depois que um incêndio destruiu os transformadores de uma subestação de distribuição de energia.

O apagão causou escassez de alimentos e impediu o fornecimento de água, dificultando também os cuidados sanitários contra o coronavírus.

A população ficou dias sem qualquer fornecimento de energia, que foi retomado de forma parcial, com rodízio e protestos por diversas cidades. No dia 18 de novembro, houve um segundo blecaute.