;(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();
})();
Novo ministro da educação tem 20 anos de atuação no setor financeiro
Abraham Weintraub fala durante encontro com os que eram cotados para serem ministros durante no gabinete de transição de Jair Bolsonaro, em dezembro de 2018 Imagem: Rafael Carvalho/Governo de Transição
Abrahamacompanhou o presidente na viagem internacional a Israel, no começo da semana ada, e compareceu à reunião da CCJ (Comissão de Constituição e Justiça) da Câmara sobre a reforma da Previdência, na quinta-feira (4).
Comunico a todos a indicação do Professor Abraham Weintraub ao cargo de Ministro da Educação. Abraham é doutor, professor universitário e possui ampla experiência em gestão e o conhecimento necessário para a pasta. Aproveito para agradecer ao Prof. Velez pelos serviços prestados.
Durante a Cúpula Conservadora das Américas, realizada em Foz de Iguaçu no ano ado, Abraham disse ser preciso combater o pensamento da esquerda, fazendo o que Olavo de Carvalho manda fazer. "Quando ele [um comunista] chegar para você com o papo 'nhoim nhoim', xinga. Faz como o Olavo de Carvalho diz para fazer. E quando você for dialogar, não pode ter premissas racionais", disse.
Na ocasião, ele também afirmou que é preciso vencer o marxismo cultural nas universidades e atuar para que o Brasil pare de "fazer bobagem".
Olavo de Carvalho usou seu Twitter para desejar sorte a Abraham Weintraub.
Desejo toda a sorte do mundo ao ministro Weintraub, e só advirto: se aparecer algum Croquetti dando palpite, esconda-se no banheiro.
Abraham é formado em Ciências Econômicas pela USP (Universidade de São Paulo), e tem mestrado e MBA em fundos de investimento e finanças internacionais pela FGV (Fundação Getúlio Vargas).
Desde junho de 2014, atua como professor da Unifesp (Universidade Federal de São Paulo) e atua como diretor Executivo do CES (Centro de Estudos em Seguridade). Ao contrário do que o presidente afirmou, o título de doutor não consta no currículo lattes do novo ministro.
Minutos depois de postar a indicação do economista no Twitter, Bolsonaro itiu o erro na titulação do novo ministro.
Corrigindo: Abraham possui mestrado em istração na área de Finanças pela FGV e MBA Executivo Internacional pelo OneMBA, com título reconhecido pelas escolas: FGV/Brasil, RSM/Holanda, UNC/Estados Unidos, CUHK/China e EGADE-ITESM/México.
Em nota divulgada pela Casa Civil, o ministro Onyx Lorenzoni afirmou que Abraham é um homem com uma "sólida formação", que conhece gestão e a iniciativa privada.
"Foi uma das pessoas que muito cedo acreditou na candidatura de Jair Bolsonaro. Foi junto com muitas outras pessoas, um dos formuladores do plano de governo de Bolsonaro e é uma pessoa muito importante nas tomadas de decisões de rumo do nosso governo", disse na nota.
Lorenzoni disse ainda que o Bolsonaro ganha "com um ministro capaz, um aliado leal, um competente e honesto". "[Ele] sabe que a educação brasileira precisa ser transformada para verdadeiramente ser o caminho para que crianças e adolescentes possam construir uma vida melhor para si e para suas famílias", disse.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.