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

Coritiba

Penalidade Máxima: Coritiba reintegra Alef Manga após depoimento ao MP-GO

Alef Manga, do Coritiba, em partida pelo Campeonato Brasileiro. - Thiago Ribeiro/Thiago Ribeiro/AGIF
Alef Manga, do Coritiba, em partida pelo Campeonato Brasileiro. Imagem: Thiago Ribeiro/Thiago Ribeiro/AGIF

Do UOL, em São Paulo

26/05/2023 17h25

O Coritiba reintegrou o atacante Alef Manga ao elenco, após 16 dias com contrato suspenso.

O que aconteceu

O Coxa comunicou a decisão na tarde desta sexta-feira. O clube alega que não tem conhecimento de evidências de envolvimento de Alef Manga em esquema de manipulação de jogos.

O jogador prestou depoimento ao Ministério Público de Goiás (MP-GO) na manhã de hoje. O jogador foi chamado a prestar esclarecimentos em relação à Operação Penalidade Máxima II. Alef Manga não é réu no processo, mas foi citado em conversas com apostadores investigados.

Alef Manga voltará aos treinamentos na próxima segunda-feira. O atacante teve seu contrato suspenso no dia 10 de maio e foi desfalque nos últimos três jogos do Coritiba (duas derrotas e um empate). O jogador também não estará à disposição do técnico Antônio Carlos Zago contra o Cuiabá, amanhã às 18h30 (de Brasília).

Comunicado oficial do Coritiba

"O Coritiba Foot Ball Club informa que em virtude da inexistência, até este momento, de evidências que sejam de conhecimento do Clube, que comprovem a participação do atleta Alef Manga em atos ilegais que atentem contra o resultado de partidas de futebol, bem como, diante da sua própria alegação de inocência, o mesmo participará regularmente das atividades do departamento de futebol, a partir da próxima segunda-feira, dia 29 de maio de 2023.

O Clube esclarece ainda que esta decisão poderá ser modificada ou revogada, a qualquer tempo, se necessário for, em decorrência do transcurso das investigações da Operação Penalidade Máxima 2".

Coritiba