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

Assassina e vilã: como é a personagem de Mariana Ximenes em 'Amor Perfeito'

Mariana Ximenes vive Gilda Rubião em "Amor Perfeito" - Paulo Belote/Globo
Mariana Ximenes vive Gilda Rubião em 'Amor Perfeito' Imagem: Paulo Belote/Globo

De Splash, no Rio

23/03/2023 04h00

Personagem de Mariana Ximenes em "Amor Perfeito", Gilda é descrita como ambiciosa e mestre na arte da dissimulação na sinopse da trama que estreou na segunda-feira.

A Gilda é uma mulher ardilosa e manipuladora. Ela extrapola todos os limites e joga o jogo da vida. Ela quer poder e vai fazer de tudo para conseguir o que quer
Mariana Ximenes sobre vilã da novela das 6 a Splash

Logo no primeiro capítulo, Gilda assassina o marido, Leonel (Paulo Gorgulho), após ele descobrir que a vilã possui um amante, Gaspar (Thiago Lacerda). Gilda se casou com Leonel por interesse visando a presidência do Grupo Rubião. Ela jogou a culpa da morte na enteada, Marê (Camila Queiroz).

"Paulo (Gorgulho) é um ator maravilhoso, uma pessoa com que sempre tive vontade de trabalhar. Adorei conviver com ele. É uma aventura abrir o primeiro capítulo com um crime tão emblemático."

A cena que envolve disparo de arma e queda na piscina foi uma das mais comentadas dos primeiros capítulos nas redes sociais. Por isso, precisou envolver mais tempo de trabalho.

"A gente tem que estabelecer bem os laços, ensaiar bastante para quando chegar ao set, a gente contar a história que precisa contar e gravar essas cenas mais difíceis".

Mariana já atuou em outras tramas das 6, incluindo o sucesso "Chocolate Com Pimenta" (2003), onde viveu a mocinha Ana Francisca, personagem que se tornou uma das mais populares da carreira. A trama é reprisada atualmente no Vale A Pena Ver de Novo.

"Toda vez que a gente faz uma personagem nova é uma batalha que se enfrenta para construí-lo. Depois, é outra etapa quando a personagem chega ao público. A gente quer que ela sempre seja acolhida pelo público porque a gente depende dele. Ansiosa para saber como essa história vai chegar no coração do público"