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

Atlético-MG

Cuca diz sim ao Atlético-MG e prepara retorno após reunião com diretoria

Cuca deixou o Santos há algumas semanas e já disse sim ao convite do Galo - Ivan Storti
Cuca deixou o Santos há algumas semanas e já disse sim ao convite do Galo Imagem: Ivan Storti

Guilherme Piu

Do UOL, em Belo Horizonte

02/03/2021 18h04

O Atlético-MG deve anunciar nos próximos dias a contratação do técnico Cuca, substituto de Jorge Sampaoli, que deixou o clube na semana ada para assumir o Olympique de Marselha (FRA). Campeão da Copa Libertadores em 2013 com o Galo, Cuca pavimentou seu retorno ao clube em reunião que aconteceu hoje (2) com membros da diretoria atleticana.

Segundo apurou o UOL Esporte, Cuca indicou a vontade de retornar ao time pelo qual teve bastante sucesso entre há oito anos. Pesa muito na decisão o planejamento audacioso do Galo, comandado pelo presidente Sérgio Coelho, e reforçado pelo aporte milionário de Rubens Menin e Rafael Menin, os mecenas que já injetaram mais de R$ 300 milhões no futebol alvinegro.

Treinador e membros da cúpula do Atlético-MG precisam agora definir os detalhes da apresentação do técnico. Ele ainda não tem uma data certa para desembarcar em Belo Horizonte.

Com questões pessoais importantes a serem resolvidas, Cuca acompanha a situação médica da mãe e de sua filha mais velha, ambas infectadas com a covid-19. A mãe do treinador, Neide Stival, de quase 80 anos, está internada em Curitiba após contrair a doença.

O UOL Esporte apurou nos últimos dias que Cuca tinha interesse em descansar nos próximos meses e acompanhar a ciranda de técnicos do futebol brasileiro nos campeonatos estaduais na tranquilidade de sua casa. Entretanto, a possibilidade de fechar com o Atlético-MG agradou ao treinador, que mudou de opinião.

Em conversas de bastidores, Cuca chegou a dizer no fim de semana ado que ainda não havia recebido contato da diretoria do Galo. Mas, que "mercado era mercado", e tudo poderia acontecer nos próximos dias. Como de fato aconteceu.

Explicações

Cuca foi entrevistado pela jornalista Marília Ruiz, que publicou em seu blog no UOL a justificativa do treinador sobre a denúncia de estupro que envolveu o nome do treinador. O assunto voltou à tona décadas depois, já que o caso ocorreu no fim dos anos 1980, na Suíça. Naquela época, Cuca era jogador do Grêmio, que fez uma excursão pela Europa.

Na cidade de Berna, além de Cuca, outros jogadores gremistas naquele ano foram acusados do estupro de uma jovem.

Atlético-MG