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

Comissão aprova parecer de Daniel Silveira que amplia excludente de ilicitude

Deputado Daniel Silveira (PTB-RJ) - Paulo Sérgio/Câmara dos Deputados
Deputado Daniel Silveira (PTB-RJ) Imagem: Paulo Sérgio/Câmara dos Deputados

São Paulo

29/06/2022 14h54

A Comissão de Segurança Pública da Câmara dos Deputados aprovou nesta terça-feira, 28, o parecer do deputado Daniel Silveira (PTB-RJ) sobre o projeto de lei 733/2022. O texto amplia as situações em que policiais e agentes das Forças Armadas têm direito ao excludente de ilicitude, isto é, à dispensa de punição em caso de excessos de violência durante a atividade.

A proposta segue para a Comissão de Constituição e Justiça (CCJ) e, em seguida, deve ir ao plenário virtual da Casa. Silveira, que apresentou parecer favorável ao projeto, é ex-policial militar e já foi preso por determinação do Supremo Tribunal Federal (STF) antes de receber perdão do presidente Jair Bolsonaro.

De autoria do Poder Executivo, a proposta insere no Código Penal uma nova prerrogativa para o excludente de ilicitude. Trata-se do "excesso exculpante", conceito que estabelece que não será ível de punição o excesso quando este resultar de "medo, surpresa ou perturbação de ânimo" diante da situação enfrentada pelo agente de segurança pública.

O Executivo argumenta que o objetivo da proposta é "conferir tratamento específico à atividade de segurança pública, em consonância com os riscos a que esses profissionais se submetem cotidianamente".

"Como é sabido, os profissionais da área de segurança pública possuem diversas especificidades em sua atuação, submetendo-se constantemente a atividades de alto risco, muitas vezes em confronto direto com a criminalidade. Essas atividades, essenciais para a manutenção da ordem pública e dos direitos fundamentais dos cidadãos, geram acentuada insegurança para a incolumidade física e psicológica desses profissionais, situação que o presente projeto de lei busca mitigar", diz o texto.

A proposta dialoga com o projeto de lei 882/19, apresentado à Câmara em 2019 pelo presidente Jair Bolsonaro como parte do pacote anticrime do então ministro da Justiça, Sérgio Moro. O PL, que acabou arquivado, propunha acrescentar ao Código Penal a possibilidade de reduzir a pena até a metade - ou ainda deixar de aplicá-la - se o excesso decorresse "de escusável medo, surpresa ou violenta emoção".

O excludente de ilicitude está previsto no artigo 23 do Código Penal e exclui a culpabilidade de condutas ilegais em determinadas circunstâncias. Atualmente, o artigo diz que não há crime quando o agente pratica o fato em estado de necessidade, em legítima defesa ou em estrito cumprimento do dever legal.

Contudo, a legislação atual determina que, em quaisquer das hipóteses listadas, o policial deve responder por eventuais excessos, sejam eles dolosos (quando há intenção) ou culposos (quando não há intenção).

Críticos do projeto aprovado pela Comissão de Segurança Pública argumentam que ele dá carta branca para que os policiais matem em serviço, uma vez que reduz a previsão de punição a excessos em serviço e amplia a margem legal para justificá-los.