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

Esse conteúdo é antigo

Ação violenta de PMs em Parelheiros é 'ultrajante', diz ouvidor da Polícia

"Não tem qualquer explicação para que um ser humano trate outro dessa forma", indignou-se Elizeu Soares Lopes - Reprodução/GloboNews
'Não tem qualquer explicação para que um ser humano trate outro dessa forma', indignou-se Elizeu Soares Lopes Imagem: Reprodução/GloboNews

Do UOL, em São Paulo

13/07/2020 21h18

O ouvidor da Polícia do Estado de São Paulo, Elizeu Soares Lopes, condenou hoje a violência usada por policiais militares durante uma abordagem em Parelheiros, na zona sul de São Paulo. Para ele, a ação foi "ultrajante", "estarrecedora" e não tem justificativa.

"As imagens são ultrajantes. Não tem qualquer explicação para que um ser humano trate outro dessa forma. E em se tratando de um policial, que tem o dever de proteger as pessoas, salvar vidas, as imagens são ainda mais estarrecedoras, sob qualquer aspecto. Não tem como não se indignar", disse Lopes, em entrevista à GloboNews.

O registro das agressões foi feito em 30 de maio e exibido ontem no "Fantástico", da Rede Globo. No vídeo, é possível ver um PM pisando no pescoço de uma mulher negra que estava imobilizada no chão. A vítima de 51 anos, cuja identidade foi preservada, ainda declarou ter recebido uma rasteira durante a abordagem e quebrado a perna com o golpe.

Questionado sobre as providências a serem tomadas, Lopes afirmou ter avocado (tomado para si) a "investigação detalhada e pormenorizada das circunstâncias desse desatino" e estar construindo uma câmara temática para discutir, junto aos setores de segurança pública e à sociedade civil, novos protocolos para a polícia.

"O que nós estamos vendo são policiais que têm tomado posições que não conferem com a missão da polícia. Isso depõe contra a instituição", lamentou. "Nós precisamos debater um pouco mais que tipo de polícia nós queremos. Uma polícia que tenha, na minha opinião, uma relação mais próxima da comunidade, mais próxima do cidadão."

Só em 2020, segundo o ouvidor, foram 2.692 solicitações de procedimento junto à Corregedoria Geral da PM para investigar casos de abuso. Ao todo, 125 policiais foram presos e outros 96 foram expulsos.

Doria se diz 'estupefato'

Mais cedo, o governador de São Paulo, João Doria (PSDB), afirmou que os dois policiais filmados agredindo moradores em Parelheiros responderão a inquéritos na Justiça. Em entrevista coletiva, Doria se disse "impactado" e "estupefato" e fez diversas críticas à abordagem policial.

"Quero deixar claro que o estado de São Paulo não tolera e não tolerará nenhum comportamento que seja de violência praticada pela Polícia Militar, pela Polícia Civil, pelo Corpo de Bombeiros ou qualquer outra polícia que esteja sob o comando do governo", reforçou o governador.

Ontem, nas redes sociais, Doria já havia repudiado o ocorrido. "Inaceitável a conduta de violência desnecessária de alguns policiais. Não honram a qualidade da PM de SP", escreveu.