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

Autoridades viram as costas aos vulneráveis, diz Jurema Werneck

Do UOL, em São Paulo

11/06/2020 15h36

A diretora da Anistia Internacional no Brasil, Jurema Werneck, criticou as ações do governo no combate ao coronavírus no Brasil. Ela apontou negligência do poder público em relação às populações periféricas na edição de hoje do UOL Entrevista, conduzida pelo colunista Leonardo Sakamoto e pela repórter Paula Rodrigues, do UOL.

Werneck é médica e doutora em comunicação e cultura pela Universidade Federal do Rio de Janeiro (UFRJ). Ela afirmou que grupos vulneráveis já são mais afetados em qualquer epidemia e, neste momento, estão sofrendo mais violações de direitos do que as que já enfrentam.

"Todos que são da área da saúde, e posso dizer porque atuei muito, todos sabem que os grupos mais vulneráveis estão extremamente vulneráveis em qualquer pandemia. Quando se instituiu uma comissão [no Ministério da Saúde], já era sabido que se não se fizesse alguma coisa naquele momento, estas populações sofreriam muito mais. A população sofre das negligências das autoridades: nós vimos o presidente da Caixa chamar 46 milhões de pessoas de invisíveis, mas não são invisíveis", afirmou.

Werneck se referia à letalidade maior do coronavírus entre negros no Brasil. Também mencionou a morte de negros por policiais, citando o caso do menino João Pedro, assassinado em casa no Rio de Janeiro.

"São muitas camadas de sofrimento. Isso tudo permeado pela visão de que as vidas negras não importam, porque desde o início do ano se podia fazer alguma coisa, se já poderiam ter feito alguma coisa com a violência, o saneamento e falta de moradia? São muitas camadas de sofrimento. Afirmar neste momento que vidas negras importam, que vidas favela importam, que vidas periféricas importam é central."

"Tentando respirar e sair vivo"

A diretora da Anistia Internacional afirmou que vê as manifestações antirracistas e em defesa da democracia que têm acontecido em meio à pandemia como parte de um cenário de luta pela vida.

"Quem foi para rua protestar contra restrições da liberdade e quem foi protestar contra o racismo, a violência, a brutalidade policial e a morte de pessoas pela polícia, elas chamam atenção para situações muito grave que estão ocorrendo. Tem gente que chama esse momento de pandemia de 'pandemônio', ou seja, muita coisa errada e fora de lugar, tudo acontecendo ao mesmo tempo. Chega o momento que as pessoas dizem o que George Floyd disse, tentam respirar. É um momento de grande parte da sociedade tentando respirar e sair vivo no final", disse.

Sobre o funcionamento "normal" das instituições

Questionada sobre o funcionamento das instituições brasileiras diante do governo de Jair Bolsonaro (sem partido), Jurema Werneck debate a própria premissa de normalidade.

"Nós vivemos em uma sociedade que viola direitos humanos todos os dias, e isso com instituições funcionando normal, como se diz. Então espero que não, que as instituições não estejam funcionando normalmente e que nunca mais voltem a este 'normal'. É preciso que elas estejam debruçadas sobre seus deveres, que garantam vida, saúde e direitos às pessoas. Aquele normal eu não quero; espero que o que venha agora seja melhor", opina.

Participaram desta cobertura Arthur Sandes, Gabriela Sá Pessoa (redação) e Diego Henrique de Carvalho (produção).