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

Insatisfeito, Caio Souza foca na final do salto: 'Recuperar corpo e mente'

Caio Souza participou das finais individuais da ginástica masculina - Ricardo Bufolin/CBG
Caio Souza participou das finais individuais da ginástica masculina Imagem: Ricardo Bufolin/CBG

Do UOL, no Rio

28/07/2021 12h49

O Brasil entrou na disputa do individual masculino das Olimpíadas de Tóquio, nesta quarta-feira (28), com a expectativa de bater a melhor marca da história na prova da ginástica artística. Mas não foi dessa vez. Na final, o campeão pan-americano Caio Souza ficou apenas na 17ª colocação, com a nota 81.532.

"Estou feliz com a minha apresentação. Óbvio que tive erros, treinamos muito para que não aconteçam, mas eu estou feliz porque hoje eu me tornei um finalista olímpico. Isso é indescritível. Então, estou muito satisfeito com o que aconteceu, apesar de tudo", contou Caio, disputa a final do salto no dia 2 de agosto, às 5h.

Na Olimpíada do Rio, em 2016, Sérgio Sasaki foi o nono colocado da prova. Melhor generalista da seleção em Tóquio, Caio até começou bem e deu esperanças de bater o resultado.

Na metade da prova, o ginasta de Volta Redonda era o quinto colocado entre os 24 finalistas, apenas 0.165 atrás dos três primeiros. Três erros nos aparelhos restantes — barra fixa, solo e cavalo — entretanto, abaixaram as médias altas do brasileiro, que acabou no 17º lugar.

"Infelizmente não foi o resultado que eu queria, mas estou feliz e realizado pela final olímpica de todo jeito. Agora vou descansar, a gente precisa ter uma folga, recuperar o corpo e a mente. Temos que manter o foco, vamos ter alguns dias a mais para treinar e na segunda voltar e dar o meu melhor na final", afirmou.

A boa notícia ficou por conta do "caçula" da delegação. O paulista Diogo Soares foi o 20º colocado na prova, mas mostrou muito potencial e assertividade nos movimentos. Confiante e tranquilo, o jovem de 19 anos fez uma apresentação correta e deu esperanças para o futuro da ginástica artística do país.

"Foi sensacional. A experiência que vou levar daqui é imensa. Aprendi muito estando aqui, olhando os outros atletas, convivendo com a seleção. Minha cabeça mudou depois dessa competição. Antes eu achava que os Jogos Olímpicos era algo impossível, de outro mundo, mas esses atletas também erram, competem mal. Eu vi que é possível chegar perto destes caras. Eu senti que tenho capacidade de chegar. Meu sonho é estar no lugar desses caras e depois dessa experiência abriu meus olhos. Estou bem feliz", declarou.

Após entrar na grande final na 24ª e última vaga, Diogo melhorou suas marcas em 0,200, já que nas eliminatórias, anotou 81.332 pontos no somatório.

"Nervosismo para mim só atrapalha. Tem que fazer o esforço que acontece no treino valer. Quando novo, porque errava de nervoso, não sabia o que corrigir, se era movimento ou psicológico. Tive um trauma por causa do nervoso. Então hoje independente da competição vou lá, faço meu melhor, se eu acertar, fico feliz, se errar, corrijo. Normalmente fico mais nervoso depois. Primeiro penso no resultado, em outras coisas. No momento só penso em fazer a série e dar meu melhor", afirmou.