Здравствуйте, объясните пожалуйста, что делает эта функция.
{
var g = function (b) {
if (this.inputmask === d && 'FORM' !== this.nodeName) {
var c = a.data(this, '_inputmask_opts');
c ? new e(c).mask(this) : ca.off(this)
} else {
if ('setvalue' === b.type || 'FORM' === this.nodeName || !(this.disabled || this.readOnly && !('keydown' === b.type && b.ctrlKey && 67 === b.keyCode || !1 === j.tabThrough && b.keyCode === e.keyCode.TAB))) {
switch (b.type) {
case 'input':
if (!0 === _) return _ = !1,
b.preventDefault();
break;
case 'keydown':
$ = !1,
_ = !1;
break;
case 'keypress':
if (!0 === $) return b.preventDefault();
$ = !0;
break;
case 'click':
if (l || m) {
var g = this,
h = arguments;
return setTimeout(function () {
f.apply(g, h)
}, 0),
!1
}
}
var i = f.apply(this, arguments);
return !1 === i && (b.preventDefault(), b.stopPropagation()),
i
}
b.preventDefault()
}