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

Pan 2019

Jaqueline Mourão é bronze no Mountain Bike após quatro Olimpíadas na neve

Jaqueline Mourão conquista medalha de bronze no mountain bike em Lima - Abelardo Mendes Jr/ rededoesporte.gov.br
Jaqueline Mourão conquista medalha de bronze no mountain bike em Lima Imagem: Abelardo Mendes Jr/ rededoesporte.gov.br

Demétrio Vecchioli

Do UOL, em Lima (Peru)

28/07/2019 12h53

Com quatro participações nos Jogos Olímpicos de Inverno, Jaqueline Mourão ganhou fama no Brasil como uma atleta de esqui. Ficou de lado sua história como uma das precursoras do mountain bike brasileiro, recuperada agora em grande estilo. Doze anos depois da frustração de não ganhar medalha nos Jogos Pan-Americanos do Rio, em 2007, ela voltou ao ciclismo e ao Pan. Desta vez, com uma orgulhosa medalha de bronze, a primeira do mountain bike feminino do Brasil na história.

"Significa muito para mim. O Pan de 2007 foi a minha maior frustração na carreira", disse Jaqueline, ao UOL Esporte, ainda com os olhos marejados de chorar. Faz somente um ano que ela voltou ao ciclismo, superando seu maior trauma.

"Era favorita na época e quarto lugar é o primeiro que não ganha medalha. Isso na frente da minha mãe, das pessoas que eu amo, dos meus amigos, da família. Foi muito difícil de engolir na época Eu lembro da minha avó, do abraço dela, do carinho dela, com o quarto lugar e ela vibrando tanto, eu queria tanto dar uma medalha para ela. Ela faleceu já tem três anos, mas tenho certeza que ela está lá em algum lugar vibrando por mim."

Este é o terceiro Pan da carreira de Jaqueline. Ela ou em branco em 2003 e, já atleta olímpica no ciclismo e no esqui, ficou fora do pódio na Rio-2007. Jaqueline ainda foi à Olimpíada de Pequim no mountain bike, mas depois ou a se dedicar exclusivamente ao esqui cross country, mudando-se para o Canadá. Hoje, tem seis Olimpíadas na carreira e caminha para mais duas - uma no verão, outra no inverno.

"Não existe Jogos Pan-Americanos nos esportes da neve, então ficou lá no ado aquela frustraçãozinha, então quando eu me classifiquei para os Jogos aquilo começou a ficar grande na minha cabeça, começou a 'e se eu terminar em quarto lugar de novo?'. E eu falei, Deus me deu uma segunda chance e vou agarrar essa chance com todos os dentes. Eu procurei a Alessandra do COB, a psicóloga, para me ajudar a canalizar essa energia de uma maneira positiva porque eu estava muito eufórica, com muita vontade, mas queria canalizar ela de maneira inteligente", contou.

Deu certo. Depois de ficar a prova toda entre as três primeiras, ela completou o circuito de 4,2 quilômetros de pura areia em 1h31min12s, atrás da mexicana Daniela Campuzando, que é nona do mundo e ganhou o ouro, e da argentina Sofia Villafañe, prata.

A volta

Jaqueline foi por dez anos uma ex-ciclista, mas não se afastou da comunidade do mountain bike. Durante um período, teve um projeto no qual recebeu jovens talentos brasileiros no Canadá. Pela casa dela - literalmente - aram Raiza Goulão e Letícia Cândido, as outras duas ciclistas que podem ajudar a levar o Brasil para a Olimpíada de Tóquio.

Hoje 15º do ranking mundial por países, o Brasil teria direito a uma vaga olímpica. Se subir para sétimo, ganha uma segunda. Se a Olimpíada fosse hoje, essa vaga seria exatamente de Jaqueline, a melhor brasileira no ranking individual, em 35º. Isso apesar de ela só ter voltado à modalidade há um ano.

"Eu tenho me sacrificado muito, só para o Brasil já fui cinco vezes, pra Europa três vezes. Tem sido muitas viagens e ainda tenho a temporada na neve, tem sido recuperar, recuperar e o Cadu (treinador) está fazendo com muita destreza, foi a primeira pessoa que me apoiou para voltar ano ado e esse ano ainda me salvou no gerenciamento do meu programa", agradece.