module.exports = "(function(i,m,e){var u=e(54),s=i.exports=u.extensions.NumberSchema=u.extend({initialize:function(i,m,e,u,s){this.minimum=null!=i?i:-1/0,this.exclusiveMinimum=m,this.maximum=null!=i?e:1/0,this.exclusiveMaximum=u,this.divisibleBy=s||0},min:function(i){return new s(i,!1,this.maximum,this.exclusiveMaximum,this.divisibleBy).wrap()},above:function(i){return new s(i,!0,this.maximum,this.exclusiveMaximum,this.divisibleBy).wrap()},max:function(i){return new s(this.minimum,this.exclusiveMinimum,i,!1,this.divisibleBy).wrap()},below:function(i){return new s(this.minimum,this.exclusiveMinimum,i,!0,this.divisibleBy).wrap()},step:function(i){return new s(this.minimum,this.exclusiveMinimum,this.maximum,this.exclusiveMaximum,i).wrap()},publicFunctions:[\"min\",\"above\",\"max\",\"below\",\"step\"],errors:function(i){var m;return Object(i)instanceof Number?i<this.minimum?m=\"number = \"+i+\" is smaller than required minimum = \"+this.minimum:i>this.maximum?m=\"number = \"+i+\" is bigger than required maximum = \"+this.maximum:0!==this.divisibleBy&&i%this.divisibleBy!=0&&(m=\"number = \"+i+\" is not divisibleBy \"+this.divisibleBy):m=i+\" is not Number\",null!=m&&m},validate:function(i){return Object(i)instanceof Number&&(this.exclusiveMinimum?i>this.minimum:i>=this.minimum)&&(this.exclusiveMaximum?i<this.maximum:i<=this.maximum)&&(0===this.divisibleBy||i%this.divisibleBy==0)},toJSON:function(){var i=u.prototype.toJSON.call(this);return i.type=0!==this.divisibleBy&&this.divisibleBy%1==0?\"integer\":\"number\",0!==this.divisibleBy&&1!==this.divisibleBy&&(i.divisibleBy=this.divisibleBy),this.minimum!==-1/0&&(i.minimum=this.minimum,!0===this.exclusiveMinimum&&(i.exclusiveMinimum=!0)),this.maximum!==1/0&&(i.maximum=this.maximum,!0===this.exclusiveMaximum&&(i.exclusiveMaximum=!0)),i}});u.fromJSON.def((function(i){if(i&&(\"number\"===i.type||\"integer\"===i.type))return new s(i.minimum,i.exclusiveMinimum,i.maximum,i.exclusiveMaximum,i.divisibleBy||(\"integer\"===i.type?1:0))})),Number.schema=(new s).wrap(),Number.min=Number.schema.min,Number.above=Number.schema.above,Number.max=Number.schema.max,Number.below=Number.schema.below,Number.step=Number.schema.step,Number.Integer=Number.step(1)})";