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

Câmara aprova projeto que amplia hipóteses de denunciação caluniosa

O projeto de lei é de autoria do deputado Arthur Lira (PP-AL) - Luis Macedo/Câmara dos Deputados
O projeto de lei é de autoria do deputado Arthur Lira (PP-AL) Imagem: Luis Macedo/Câmara dos Deputados

Luciana Amaral

Do UOL, em Brasília

04/08/2020 18h24

A Câmara dos Deputados aprovou hoje (4) projeto de lei que altera o Código Penal e amplia as hipóteses de denunciação caluniosa.

Trecho atual do artigo 339 do Código Penal afirma sobre denunciação caluniosa: Dar causa à instauração de investigação policial, de processo judicial, instauração de investigação istrativa, inquérito civil ou ação de improbidade istrativa contra alguém, imputando-lhe crime de que o sabe inocente.

Pelo projeto aprovado na Câmara, o trecho a a afirmar:

Dar causa à instauração de inquérito policial, procedimento investigatório criminal, processo judicial, processo istrativo disciplinar, inquérito civil ou ação de improbidade istrativa contra alguém, imputando-lhe crime, infração ético-disciplinar ou ato ímprobo de que o sabe inocente.

A denunciação caluniosa é um dos crimes contra a istração da Justiça e tem como pena reclusão entre dois a oito anos, além de multa.

Segundo o relator do projeto, deputado Lafayette Andrada (Republicanos-MG), a mudança busca adequar o Código Penal à Lei de Abuso de Autoridade, aprovada pelo Congresso Nacional no ano ado, mas que entrou em vigor em 3 de janeiro deste ano.

O projeto de lei segue agora para análise do Senado. Se aprovado pelos senadores sem alterações, ainda precisa ser sancionado pelo presidente da República, Jair Bolsonaro (sem partido), para ar a valer.

A denunciação caluniosa ocorre quando uma pessoa atribui um crime a outra com instauração de processo ou investigação mesmo sabendo que esta é inocente. Segundo o contexto de cada caso, a pena pode ser aumentada ou diminuída.

Originalmente, o projeto de lei de autoria do deputado Arthur Lira (PP-AL), líder informal do governo Bolsonaro na Câmara, substituía "investigação policial" por "inquérito policial" e "instauração de investigação istrativa" por "processo istrativo disciplinar". No entanto, mais modificações foram feitas por Lafayette Andrada em seu parecer.

Para Lira, as expressões atuais no Código Penal são "muito amplas, genéricas e subjetivas na medida em que um mero expediente como uma notícia de fato ou sindicância podem ser enquadrados como 'investigação', mesmo que não submetam o sujeito à condição de investigado e nem causem prejuízo à istração".