!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(u){var a;u.extend(u.fn,{validate:function(t){if(this.length){var i=u.data(this[0],"validator");return i||(this.attr("novalidate","novalidate"),i=new u.validator(t,this[0]),u.data(this[0],"validator",i),i.settings.onsubmit&&(this.on("click.validate",":submit",function(t){i.submitButton=t.currentTarget,u(this).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==u(this).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.on("submit.validate",function(a){function t(){var t,e;return i.submitButton&&(i.settings.submitHandler||i.formSubmitted)&&(t=u("<input type='hidden'/>").attr("name",i.submitButton.name).val(u(i.submitButton).val()).appendTo(i.currentForm)),!(i.settings.submitHandler&&!i.settings.debug)||(e=i.settings.submitHandler.call(i,i.currentForm,a),t&&t.remove(),void 0!==e&&e)}return i.settings.debug&&a.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,t()):i.form()?i.pendingRequest?!(i.formSubmitted=!0):t():(i.focusInvalid(),!1)})),i)}t&&t.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing.")},valid:function(){var t,e,a;return u(this[0]).is("form")?t=this.validate().form():(a=[],t=!0,e=u(this[0].form).validate(),this.each(function(){(t=e.element(this)&&t)||(a=a.concat(e.errorList))}),e.errorList=a),t},rules:function(t,e){var a,i,n,r,s,o=this[0],d=void 0!==this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=o&&(!o.form&&d&&(o.form=this.closest("form")[0],o.name=this.attr("name")),null!=o.form)){if(t)switch(a=u.data(o.form,"validator").settings,i=a.rules,n=u.validator.staticRules(o),t){case"add":u.extend(n,u.validator.normalizeRule(e)),delete n.messages,i[o.name]=n,e.messages&&(a.messages[o.name]=u.extend(a.messages[o.name],e.messages));break;case"remove":return e?(s={},u.each(e.split(/\s/),function(t,e){s[e]=n[e],delete n[e]}),s):(delete i[o.name],n)}return(t=u.validator.normalizeRules(u.extend({},u.validator.classRules(o),u.validator.attributeRules(o),u.validator.dataRules(o),u.validator.staticRules(o)),o)).required&&(r=t.required,delete t.required,t=u.extend({required:r},t)),t.remote&&(r=t.remote,delete t.remote,t=u.extend(t,{remote:r})),t}}}),u.extend(u.expr.pseudos||u.expr[":"],{blank:function(t){return!u.trim(""+u(t).val())},filled:function(t){t=u(t).val();return null!==t&&!!u.trim(""+t)},unchecked:function(t){return!u(t).prop("checked")}}),u.validator=function(t,e){this.settings=u.extend(!0,{},u.validator.defaults,t),this.currentForm=e,this.init()},u.validator.format=function(a,t){return 1===arguments.length?function(){var t=u.makeArray(arguments);return t.unshift(a),u.validator.format.apply(this,t)}:(void 0===t||(2<arguments.length&&t.constructor!==Array&&(t=u.makeArray(arguments).slice(1)),t.constructor!==Array&&(t=[t]),u.each(t,function(t,e){a=a.replace(new RegExp("\\{"+t+"\\}","g"),function(){return e})})),a)},u.extend(u.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:u([]),errorLabelContainer:u([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(t)))},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){9===e.which&&""===this.elementValue(t)||-1!==u.inArray(e.keyCode,[16,17,18,20,35,36,37,38,39,40,45,144,225])||(t.name in this.submitted||t.name in this.invalid)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(t,e,a){("radio"===t.type?this.findByName(t.name):u(t)).addClass(e).removeClass(a)},unhighlight:function(t,e,a){("radio"===t.type?this.findByName(t.name):u(t)).removeClass(e).addClass(a)}},setDefaults:function(t){u.extend(u.validator.defaults,t)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:u.validator.format("Please enter no more than {0} characters."),minlength:u.validator.format("Please enter at least {0} characters."),rangelength:u.validator.format("Please enter a value between {0} and {1} characters long."),range:u.validator.format("Please enter a value between {0} and {1}."),max:u.validator.format("Please enter a value less than or equal to {0}."),min:u.validator.format("Please enter a value greater than or equal to {0}."),step:u.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function t(t){var e,a,i=void 0!==u(this).attr("contenteditable")&&"false"!==u(this).attr("contenteditable");!this.form&&i&&(this.form=u(this).closest("form")[0],this.name=u(this).attr("name")),n===this.form&&(e=u.data(this.form,"validator"),a="on"+t.type.replace(/^validate/,""),(i=e.settings)[a]&&!u(this).is(i.ignore)&&i[a].call(e,this,t))}this.labelContainer=u(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||u(this.currentForm),this.containers=u(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var a,n=this.currentForm,i=this.groups={};u.each(this.settings.groups,function(a,t){"string"==typeof t&&(t=t.split(/\s/)),u.each(t,function(t,e){i[e]=a})}),a=this.settings.rules,u.each(a,function(t,e){a[t]=u.validator.normalizeRule(e)}),u(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",t).on("click.validate","select, option, [type='radio'], [type='checkbox']",t),this.settings.invalidHandler&&u(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),u.extend(this.submitted,this.errorMap),this.invalid=u.extend({},this.errorMap),this.valid()||u(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(t){var e,a,i=this.clean(t),n=this.validationTargetFor(i),r=this,s=!0;return void 0===n?delete this.invalid[i.name]:(this.prepareElement(n),this.currentElements=u(n),(a=this.groups[n.name])&&u.each(this.groups,function(t,e){e===a&&t!==n.name&&((i=r.validationTargetFor(r.clean(r.findByName(t))))&&i.name in r.invalid&&(r.currentElements.push(i),s=r.check(i)&&s))}),e=!1!==this.check(n),s=s&&e,this.invalid[n.name]=!e,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),u(t).attr("aria-invalid",!e)),s},showErrors:function(e){var a;e&&(a=this,u.extend(this.errorMap,e),this.errorList=u.map(this.errorMap,function(t,e){return{message:t,element:a.findByName(e)[0]}}),this.successList=u.grep(this.successList,function(t){return!(t.name in e)})),this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){u.fn.resetForm&&u(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var t=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(t)},resetElements:function(t){var e;if(this.settings.unhighlight)for(e=0;t[e];e++)this.settings.unhighlight.call(this,t[e],this.settings.errorClass,""),this.findByName(t[e].name).removeClass(this.settings.validClass);else t.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e,a=0;for(e in t)void 0!==t[e]&&null!==t[e]&&!1!==t[e]&&a++;return a},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(t){t.not(this.containers).text(""),this.addWrapper(t).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{u(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var e=this.lastActive;return e&&1===u.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var a=this,i={};return u(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var t=this.name||u(this).attr("name"),e=void 0!==u(this).attr("contenteditable")&&"false"!==u(this).attr("contenteditable");return!t&&a.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=u(this).closest("form")[0],this.name=t),!(this.form!==a.currentForm||t in i||!a.objectLength(u(this).rules())||(i[t]=!0,0))})},clean:function(t){return u(t)[0]},errors:function(){var t=this.settings.errorClass.split(" ").join(".");return u(this.settings.errorElement+"."+t,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=u([]),this.toHide=u([])},reset:function(){this.resetInternals(),this.currentElements=u([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(t){var e=u(t),a=t.type,i=void 0!==e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===a||"checkbox"===a?this.findByName(t.name).filter(":checked").val():"number"===a&&void 0!==t.validity?t.validity.badInput?"NaN":e.val():(e=i?e.text():e.val(),"file"===a?"C:\\fakepath\\"===e.substr(0,12)?e.substr(12):0<=(a=e.lastIndexOf("/"))?e.substr(a+1):0<=(a=e.lastIndexOf("\\"))?e.substr(a+1):e:"string"==typeof e?e.replace(/\r/g,""):e)},check:function(e){e=this.validationTargetFor(this.clean(e));var t,a,i,n,r=u(e).rules(),s=u.map(r,function(t,e){return e}).length,o=!1,d=this.elementValue(e);for(a in"function"==typeof r.normalizer?n=r.normalizer:"function"==typeof this.settings.normalizer&&(n=this.settings.normalizer),n&&(d=n.call(e,d),delete r.normalizer),r){i={method:a,parameters:r[a]};try{if("dependency-mismatch"===(t=u.validator.methods[a].call(this,d,e,i.parameters))&&1===s){o=!0;continue}if(o=!1,"pending"===t)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!t)return this.formatAndAdd(e,i),!1}catch(t){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+i.method+"' method.",t),t instanceof TypeError&&(t.message+=".  Exception occurred when checking element "+e.id+", check the '"+i.method+"' method."),t}}if(!o)return this.objectLength(r)&&this.successList.push(e),!0},customDataMessage:function(t,e){return u(t).data("msg"+e.charAt(0).toUpperCase()+e.substring(1).toLowerCase())||u(t).data("msg")},customMessage:function(t,e){t=this.settings.messages[t];return t&&(t.constructor===String?t:t[e])},findDefined:function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},defaultMessage:function(t,e){"string"==typeof e&&(e={method:e});var a=this.findDefined(this.customMessage(t.name,e.method),this.customDataMessage(t,e.method),!this.settings.ignoreTitle&&t.title||void 0,u.validator.messages[e.method],"<strong>Warning: No message defined for "+t.name+"</strong>"),i=/\$?\{(\d+)\}/g;return"function"==typeof a?a=a.call(this,e.parameters,t):i.test(a)&&(a=u.validator.format(a.replace(i,"{$1}"),e.parameters)),a},formatAndAdd:function(t,e){var a=this.defaultMessage(t,e);this.errorList.push({message:a,element:t,method:e.method}),this.errorMap[t.name]=a,this.submitted[t.name]=a},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){for(var t,e,a=0;this.errorList[a];a++)e=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,e.element,this.settings.errorClass,this.settings.validClass),this.showLabel(e.element,e.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,t=this.validElements();t[a];a++)this.settings.unhighlight.call(this,t[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return u(this.errorList).map(function(){return this.element})},showLabel:function(t,e){var a,i,n,r=this.errorsFor(t),s=this.idOrName(t),o=u(t).attr("aria-describedby");r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.html(e)):(a=r=u("<"+this.settings.errorElement+">").attr("id",s+"-error").addClass(this.settings.errorClass).html(e||""),this.settings.wrapper&&(a=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(a):this.settings.errorPlacement?this.settings.errorPlacement.call(this,a,u(t)):a.insertAfter(t),r.is("label")?r.attr("for",s):0===r.parents("label[for='"+this.escapeCssMeta(s)+"']").length&&(s=r.attr("id"),o?o.match(new RegExp("\\b"+this.escapeCssMeta(s)+"\\b"))||(o+=" "+s):o=s,u(t).attr("aria-describedby",o),(i=this.groups[t.name])&&(n=this,u.each(n.groups,function(t,e){e===i&&u("[name='"+n.escapeCssMeta(t)+"']",n.currentForm).attr("aria-describedby",r.attr("id"))})))),!e&&this.settings.success&&(r.text(""),"string"==typeof this.settings.success?r.addClass(this.settings.success):this.settings.success(r,t)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var e=this.escapeCssMeta(this.idOrName(t)),t=u(t).attr("aria-describedby"),e="label[for='"+e+"'], label[for='"+e+"'] *";return t&&(e=e+", #"+this.escapeCssMeta(t).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(t){return t.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(t){return this.groups[t.name]||!this.checkable(t)&&t.id||t.name},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name)),u(t).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(t){return u(this.currentForm).find("[name='"+this.escapeCssMeta(t)+"']")},getLength:function(t,e){switch(e.nodeName.toLowerCase()){case"select":return u("option:selected",e).length;case"input":if(this.checkable(e))return this.findByName(e.name).filter(":checked").length}return t.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(t,e){return!!u(t,e.form).length},function:function(t,e){return t(e)}},optional:function(t){var e=this.elementValue(t);return!u.validator.methods.required.call(this,e,t)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,u(t).addClass(this.settings.pendingClass),this.pending[t.name]=!0)},stopRequest:function(t,e){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],u(t).removeClass(this.settings.pendingClass),e&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(u(this.currentForm).submit(),this.submitButton&&u("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!e&&0===this.pendingRequest&&this.formSubmitted&&(u(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t,e){return e="string"==typeof e&&e||"remote",u.data(t,"previousValue")||u.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,{method:e})})},destroy:function(){this.resetForm(),u(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,e){t.constructor===String?this.classRuleSettings[t]=e:u.extend(this.classRuleSettings,t)},classRules:function(t){var e={},t=u(t).attr("class");return t&&u.each(t.split(" "),function(){this in u.validator.classRuleSettings&&u.extend(e,u.validator.classRuleSettings[this])}),e},normalizeAttributeRule:function(t,e,a,i){/min|max|step/.test(a)&&(null===e||/number|range|text/.test(e))&&(i=Number(i),isNaN(i)&&(i=void 0)),i||0===i?t[a]=i:e===a&&"range"!==e&&(t[a]=!0)},attributeRules:function(t){var e,a,i={},n=u(t),r=t.getAttribute("type");for(e in u.validator.methods)a="required"===e?(a=t.getAttribute(e),""===a&&(a=!0),!!a):n.attr(e),this.normalizeAttributeRule(i,r,e,a);return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(t){var e,a,i={},n=u(t),r=t.getAttribute("type");for(e in u.validator.methods)a=n.data("rule"+e.charAt(0).toUpperCase()+e.substring(1).toLowerCase()),""===a&&(a=!0),this.normalizeAttributeRule(i,r,e,a);return i},staticRules:function(t){var e={},a=u.data(t.form,"validator");return a.settings.rules&&(e=u.validator.normalizeRule(a.settings.rules[t.name])||{}),e},normalizeRules:function(i,n){return u.each(i,function(t,e){if(!1!==e){if(e.param||e.depends){var a=!0;switch(typeof e.depends){case"string":a=!!u(e.depends,n.form).length;break;case"function":a=e.depends.call(n,n)}a?i[t]=void 0===e.param||e.param:(u.data(n.form,"validator").resetElements(u(n)),delete i[t])}}else delete i[t]}),u.each(i,function(t,e){i[t]=u.isFunction(e)&&"normalizer"!==t?e(n):e}),u.each(["minlength","maxlength"],function(){i[this]&&(i[this]=Number(i[this]))}),u.each(["rangelength","range"],function(){var t;i[this]&&(u.isArray(i[this])?i[this]=[Number(i[this][0]),Number(i[this][1])]:"string"==typeof i[this]&&(t=i[this].replace(/[\[\]]/g,"").split(/[\s,]+/),i[this]=[Number(t[0]),Number(t[1])]))}),u.validator.autoCreateRanges&&(null!=i.min&&null!=i.max&&(i.range=[i.min,i.max],delete i.min,delete i.max),null!=i.minlength&&null!=i.maxlength&&(i.rangelength=[i.minlength,i.maxlength],delete i.minlength,delete i.maxlength)),i},normalizeRule:function(t){var e;return"string"==typeof t&&(e={},u.each(t.split(/\s/),function(){e[this]=!0}),t=e),t},addMethod:function(t,e,a){u.validator.methods[t]=e,u.validator.messages[t]=void 0!==a?a:u.validator.messages[t],e.length<3&&u.validator.addClassRules(t,u.validator.normalizeRule(t))},methods:{required:function(t,e,a){if(!this.depend(a,e))return"dependency-mismatch";if("select"!==e.nodeName.toLowerCase())return this.checkable(e)?0<this.getLength(t,e):null!=t&&0<t.length;e=u(e).val();return e&&0<e.length},email:function(t,e){return this.optional(e)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)},url:function(t,e){return this.optional(e)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(t)},date:(a=!1,function(t,e){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(e)||!/Invalid|NaN/.test(new Date(t).toString())}),dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t,e){return this.optional(e)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},minlength:function(t,e,a){t=u.isArray(t)?t.length:this.getLength(t,e);return this.optional(e)||a<=t},maxlength:function(t,e,a){t=u.isArray(t)?t.length:this.getLength(t,e);return this.optional(e)||t<=a},rangelength:function(t,e,a){t=u.isArray(t)?t.length:this.getLength(t,e);return this.optional(e)||t>=a[0]&&t<=a[1]},min:function(t,e,a){return this.optional(e)||a<=t},max:function(t,e,a){return this.optional(e)||t<=a},range:function(t,e,a){return this.optional(e)||t>=a[0]&&t<=a[1]},step:function(t,e,a){function i(t){return(t=(""+t).match(/(?:\.(\d+))?$/))&&t[1]?t[1].length:0}function n(t){return Math.round(t*Math.pow(10,r))}var r,s=u(e).attr("type"),o="Step attribute on input type "+s+" is not supported.",d=new RegExp("\\b"+s+"\\b"),l=!0;if(s&&!d.test(["text","number","range"].join()))throw new Error(o);return r=i(a),(i(t)>r||n(t)%n(a)!=0)&&(l=!1),this.optional(e)||l},equalTo:function(t,e,a){a=u(a);return this.settings.onfocusout&&a.not(".validate-equalTo-blur").length&&a.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){u(e).valid()}),t===a.val()},remote:function(i,n,t,r){if(this.optional(n))return"dependency-mismatch";r="string"==typeof r&&r||"remote";var s,e,o=this.previousValue(n,r);return this.settings.messages[n.name]||(this.settings.messages[n.name]={}),o.originalMessage=o.originalMessage||this.settings.messages[n.name][r],this.settings.messages[n.name][r]=o.message,t="string"==typeof t?{url:t}:t,e=u.param(u.extend({data:i},t.data)),o.old===e?o.valid:(o.old=e,(s=this).startRequest(n),(e={})[n.name]=i,u.ajax(u.extend(!0,{mode:"abort",port:"validate"+n.name,dataType:"json",data:e,context:s.currentForm,success:function(t){var e,a=!0===t||"true"===t;s.settings.messages[n.name][r]=o.originalMessage,a?(e=s.formSubmitted,s.resetInternals(),s.toHide=s.errorsFor(n),s.formSubmitted=e,s.successList.push(n),s.invalid[n.name]=!1,s.showErrors()):(e={},t=t||s.defaultMessage(n,{method:r,parameters:i}),e[n.name]=o.message=t,s.invalid[n.name]=!0,s.showErrors(e)),o.valid=a,s.stopRequest(n,a)}},t)),"pending")}}});var i,n={};return u.ajaxPrefilter?u.ajaxPrefilter(function(t,e,a){var i=t.port;"abort"===t.mode&&(n[i]&&n[i].abort(),n[i]=a)}):(i=u.ajax,u.ajax=function(t){var e=("mode"in t?t:u.ajaxSettings).mode,a=("port"in t?t:u.ajaxSettings).port;return"abort"===e?(n[a]&&n[a].abort(),n[a]=i.apply(this,arguments),n[a]):i.apply(this,arguments)}),u}),function(t){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],t):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(o){return o.validator.addMethod("maxWords",function(t,e,a){return this.optional(e)||n(t).match(/\b\w+\b/g).length<=a},o.validator.format("Please enter {0} words or less.")),o.validator.addMethod("minWords",function(t,e,a){return this.optional(e)||n(t).match(/\b\w+\b/g).length>=a},o.validator.format("Please enter at least {0} words.")),o.validator.addMethod("rangeWords",function(t,e,a){var i=n(t),t=/\b\w+\b/g;return this.optional(e)||i.match(t).length>=a[0]&&i.match(t).length<=a[1]},o.validator.format("Please enter between {0} and {1} words.")),o.validator.addMethod("abaRoutingNumber",function(t){var e=0,a=t.split(""),i=a.length;if(9!==i)return!1;for(var n=0;n<i;n+=3)e+=3*parseInt(a[n],10)+7*parseInt(a[n+1],10)+parseInt(a[n+2],10);return 0!==e&&e%10==0},"Please enter a valid routing number."),o.validator.addMethod("accept",function(t,e,a){var i,n,r="string"==typeof a?a.replace(/\s/g,""):"image/*",a=this.optional(e);if(a)return a;if("file"===o(e).attr("type")&&(r=r.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g,"\\$&").replace(/,/g,"|").replace(/\/\*/g,"/.*"),e.files&&e.files.length))for(n=new RegExp(".?("+r+")$","i"),i=0;i<e.files.length;i++)if(!e.files[i].type.match(n))return!1;return!0},o.validator.format("Please enter a value with a valid mimetype.")),o.validator.addMethod("alphanumeric",function(t,e){return this.optional(e)||/^\w+$/i.test(t)},"Letters, numbers, and underscores only please"),o.validator.addMethod("bankaccountNL",function(t,e){if(this.optional(e))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(t))return!1;for(var a=t.replace(/ /g,""),i=0,n=a.length,r=0;r<n;r++)i+=(n-r)*a.substring(r,r+1);return i%11==0},"Please specify a valid bank account number"),o.validator.addMethod("bankorgiroaccountNL",function(t,e){return this.optional(e)||o.validator.methods.bankaccountNL.call(this,t,e)||o.validator.methods.giroaccountNL.call(this,t,e)},"Please specify a valid bank or giro account number"),o.validator.addMethod("bic",function(t,e){return this.optional(e)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-9])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(t.toUpperCase())},"Please specify a valid BIC code"),o.validator.addMethod("cifES",function(t,e){"use strict";if(this.optional(e))return!0;var a,i,n=new RegExp(/^([ABCDEFGHJKLMNPQRSUVW])(\d{7})([0-9A-J])$/gi),r=t.substring(0,1),s=t.substring(1,8),e=t.substring(8,9),o=0,d=0;if(9!==t.length||!n.test(t))return!1;for(a=0;a<s.length;a++)i=parseInt(s[a],10),a%2==0?d+=(i*=2)<10?i:i-9:o+=i;return n=(10-(o+d).toString().substr(-1)).toString(),n=9<parseInt(n,10)?"0":n,t="JABCDEFGHI".substr(n,1).toString(),r.match(/[ABEH]/)?e===n:!r.match(/[KPQS]/)&&e===n||e===t},"Please specify a valid CIF number."),o.validator.addMethod("cnhBR",function(t){if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,"")).length)return!1;var e,a,i,n=0,r=0,s=t.charAt(0);if(new Array(12).join(s)===t)return!1;for(i=9,a=0;a<9;++a,--i)n+=+t.charAt(a)*i;for(10<=(e=n%11)&&(e=0,r=2),a=n=0,i=1;a<9;++a,++i)n+=+t.charAt(a)*i;return 10<=(s=n%11)?s=0:s-=r,String(e).concat(s)===t.substr(-2)},"Please specify a valid CNH number"),o.validator.addMethod("cnpjBR",function(t,e){"use strict";if(this.optional(e))return!0;if(14!==(t=t.replace(/[^\d]+/g,"")).length)return!1;if("00000000000000"===t||"11111111111111"===t||"22222222222222"===t||"33333333333333"===t||"44444444444444"===t||"55555555555555"===t||"66666666666666"===t||"77777777777777"===t||"88888888888888"===t||"99999999999999"===t)return!1;for(var a=t.length-2,i=t.substring(0,a),n=t.substring(a),r=0,s=a-7,o=a;1<=o;o--)r+=i.charAt(a-o)*s--,s<2&&(s=9);e=r%11<2?0:11-r%11;if(e!==parseInt(n.charAt(0),10))return!1;a+=1,i=t.substring(0,a),r=0,s=a-7;for(var d=a;1<=d;d--)r+=i.charAt(a-d)*s--,s<2&&(s=9);return(e=r%11<2?0:11-r%11)===parseInt(n.charAt(1),10)},"Please specify a CNPJ value number"),o.validator.addMethod("cpfBR",function(t,e){"use strict";if(this.optional(e))return!0;if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,"")).length)return!1;var a,i=0,n=parseInt(t.substring(9,10),10),r=parseInt(t.substring(10,11),10),e=function(t,e){t=10*t%11;return 10!==t&&11!==t||(t=0),t===e};if(""===t||"00000000000"===t||"11111111111"===t||"22222222222"===t||"33333333333"===t||"44444444444"===t||"55555555555"===t||"66666666666"===t||"77777777777"===t||"88888888888"===t||"99999999999"===t)return!1;for(a=1;a<=9;a++)i+=parseInt(t.substring(a-1,a),10)*(11-a);if(e(i,n)){for(i=0,a=1;a<=10;a++)i+=parseInt(t.substring(a-1,a),10)*(12-a);return e(i,r)}return!1},"Please specify a valid CPF number"),o.validator.addMethod("creditcard",function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var a,i,n=0,r=0,s=!1;if((t=t.replace(/\D/g,"")).length<13||19<t.length)return!1;for(a=t.length-1;0<=a;a--)i=t.charAt(a),r=parseInt(i,10),s&&9<(r*=2)&&(r-=9),n+=r,s=!s;return n%10==0},"Please enter a valid credit card number."),o.validator.addMethod("creditcardtypes",function(t,e,a){if(/[^0-9\-]+/.test(t))return!1;t=t.replace(/\D/g,"");var i=0;return a.mastercard&&(i|=1),a.visa&&(i|=2),a.amex&&(i|=4),a.dinersclub&&(i|=8),a.enroute&&(i|=16),a.discover&&(i|=32),a.jcb&&(i|=64),a.unknown&&(i|=128),a.all&&(i=255),1&i&&(/^(5[12345])/.test(t)||/^(2[234567])/.test(t))||2&i&&/^(4)/.test(t)?16===t.length:4&i&&/^(3[47])/.test(t)?15===t.length:8&i&&/^(3(0[012345]|[68]))/.test(t)?14===t.length:16&i&&/^(2(014|149))/.test(t)?15===t.length:32&i&&/^(6011)/.test(t)||64&i&&/^(3)/.test(t)?16===t.length:64&i&&/^(2131|1800)/.test(t)?15===t.length:!!(128&i)},"Please enter a valid credit card number."),o.validator.addMethod("currency",function(t,e,a){var i="string"==typeof a,n=i?a:a[0],a=!!i||a[1],n=n.replace(/,/g,""),n="^["+(n=a?n+"]":n+"]?")+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$";return n=new RegExp(n),this.optional(e)||n.test(t)},"Please specify a valid currency"),o.validator.addMethod("dateFA",function(t,e){return this.optional(e)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(t)},o.validator.messages.date),o.validator.addMethod("dateITA",function(t,e){var a,i,n,r=!1,r=!!/^\d{1,2}\/\d{1,2}\/\d{4}$/.test(t)&&(n=t.split("/"),a=parseInt(n[0],10),i=parseInt(n[1],10),t=parseInt(n[2],10),(n=new Date(Date.UTC(t,i-1,a,12,0,0,0))).getUTCFullYear()===t&&n.getUTCMonth()===i-1&&n.getUTCDate()===a);return this.optional(e)||r},o.validator.messages.date),o.validator.addMethod("dateNL",function(t,e){return this.optional(e)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(t)},o.validator.messages.date),o.validator.addMethod("extension",function(t,e,a){return a="string"==typeof a?a.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(e)||t.match(new RegExp("\\.("+a+")$","i"))},o.validator.format("Please enter a value with a valid extension.")),o.validator.addMethod("giroaccountNL",function(t,e){return this.optional(e)||/^[0-9]{1,7}$/.test(t)},"Please specify a valid giro account number"),o.validator.addMethod("greaterThan",function(t,e,a){a=o(a);return this.settings.onfocusout&&a.not(".validate-greaterThan-blur").length&&a.addClass("validate-greaterThan-blur").on("blur.validate-greaterThan",function(){o(e).valid()}),t>a.val()},"Please enter a greater value."),o.validator.addMethod("greaterThanEqual",function(t,e,a){a=o(a);return this.settings.onfocusout&&a.not(".validate-greaterThanEqual-blur").length&&a.addClass("validate-greaterThanEqual-blur").on("blur.validate-greaterThanEqual",function(){o(e).valid()}),t>=a.val()},"Please enter a greater value."),o.validator.addMethod("iban",function(t,e){if(this.optional(e))return!0;var a,i,n,r,e=t.replace(/ /g,"").toUpperCase(),s="",o=!0,d="";if(e.length<5)return!1;if(void 0!==(t={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"}[e.substring(0,2)])&&!new RegExp("^[A-Z]{2}\\d{2}"+t+"$","").test(e))return!1;for(a=e.substring(4,e.length)+e.substring(0,4),n=0;n<a.length;n++)"0"!==(i=a.charAt(n))&&(o=!1),o||(s+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(i));for(r=0;r<s.length;r++)d=(""+d+s.charAt(r))%97;return 1===d},"Please specify a valid IBAN"),o.validator.addMethod("integer",function(t,e){return this.optional(e)||/^-?\d+$/.test(t)},"A positive or negative non-decimal number please"),o.validator.addMethod("ipv4",function(t,e){return this.optional(e)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(t)},"Please enter a valid IP v4 address."),o.validator.addMethod("ipv6",function(t,e){return this.optional(e)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(t)},"Please enter a valid IP v6 address."),o.validator.addMethod("lessThan",function(t,e,a){a=o(a);return this.settings.onfocusout&&a.not(".validate-lessThan-blur").length&&a.addClass("validate-lessThan-blur").on("blur.validate-lessThan",function(){o(e).valid()}),t<a.val()},"Please enter a lesser value."),o.validator.addMethod("lessThanEqual",function(t,e,a){a=o(a);return this.settings.onfocusout&&a.not(".validate-lessThanEqual-blur").length&&a.addClass("validate-lessThanEqual-blur").on("blur.validate-lessThanEqual",function(){o(e).valid()}),t<=a.val()},"Please enter a lesser value."),o.validator.addMethod("lettersonly",function(t,e){return this.optional(e)||/^[a-z]+$/i.test(t)},"Letters only please"),o.validator.addMethod("letterswithbasicpunc",function(t,e){return this.optional(e)||/^[a-z\-.,()'"\s]+$/i.test(t)},"Letters or punctuation only please"),o.validator.addMethod("maxfiles",function(t,e,a){return!!this.optional(e)||!("file"===o(e).attr("type")&&e.files&&e.files.length>a)},o.validator.format("Please select no more than {0} files.")),o.validator.addMethod("maxsize",function(t,e,a){if(this.optional(e))return!0;if("file"===o(e).attr("type")&&e.files&&e.files.length)for(var i=0;i<e.files.length;i++)if(e.files[i].size>a)return!1;return!0},o.validator.format("File size must not exceed {0} bytes each.")),o.validator.addMethod("maxsizetotal",function(t,e,a){if(this.optional(e))return!0;if("file"===o(e).attr("type")&&e.files&&e.files.length)for(var i=0,n=0;n<e.files.length;n++)if(a<(i+=e.files[n].size))return!1;return!0},o.validator.format("Total size of all files must not exceed {0} bytes.")),o.validator.addMethod("mobileNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid mobile number"),o.validator.addMethod("mobileRU",function(t,e){t=t.replace(/\(|\)|\s+|-/g,"");return this.optional(e)||9<t.length&&/^((\+7|7|8)+([0-9]){10})$/.test(t)},"Please specify a valid mobile number"),o.validator.addMethod("mobileUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||9<t.length&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),o.validator.addMethod("netmask",function(t,e){return this.optional(e)||/^(254|252|248|240|224|192|128)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)/i.test(t)},"Please enter a valid netmask."),o.validator.addMethod("nieES",function(t,e){"use strict";if(this.optional(e))return!0;var a=new RegExp(/^[MXYZ]{1}[0-9]{7,8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/gi),e=t.substr(t.length-1).toUpperCase();return!(10<(t=t.toString().toUpperCase()).length||t.length<9||!a.test(t))&&(t=9===(t=t.replace(/^[X]/,"0").replace(/^[Y]/,"1").replace(/^[Z]/,"2")).length?t.substr(0,8):t.substr(0,9),"TRWAGMYFPDXBNJZSQVHLCKET".charAt(parseInt(t,10)%23)===e)},"Please specify a valid NIE number."),o.validator.addMethod("nifES",function(t,e){"use strict";return!!this.optional(e)||!!(t=t.toUpperCase()).match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")&&(/^[0-9]{8}[A-Z]{1}$/.test(t)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(t.substring(8,0)%23)===t.charAt(8):!!/^[KLM]{1}/.test(t)&&t[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(t.substring(8,1)%23))},"Please specify a valid NIF number."),o.validator.addMethod("nipPL",function(t){"use strict";if(10!==(t=t.replace(/[^0-9]/g,"")).length)return!1;for(var e=[6,5,7,2,3,4,5,6,7],a=0,i=0;i<9;i++)a+=e[i]*t[i];var n=a%11;return(10==n?0:n)===parseInt(t[9],10)},"Please specify a valid NIP number."),o.validator.addMethod("nisBR",function(t){var e,a,i,n,r=0;if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,"")).length)return!1;for(a=parseInt(t.substring(10,11),10),e=parseInt(t.substring(0,10),10),i=2;i<12;i++)n=10===i?2:i,11===i&&(n=3),r+=e%10*n,e=parseInt(e/10,10);return a===(a=1<(a=r%11)?11-a:0)},"Please specify a valid NIS/PIS number"),o.validator.addMethod("notEqualTo",function(t,e,a){return this.optional(e)||!o.validator.methods.equalTo.call(this,t,e,a)},"Please enter a different value, values must not be the same."),o.validator.addMethod("nowhitespace",function(t,e){return this.optional(e)||/^\S+$/i.test(t)},"No white space please"),o.validator.addMethod("pattern",function(t,e,a){return!!this.optional(e)||("string"==typeof a&&(a=new RegExp("^(?:"+a+")$")),a.test(t))},"Invalid format."),o.validator.addMethod("phoneNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid phone number."),o.validator.addMethod("phonePL",function(t,e){t=t.replace(/\s+/g,"");return this.optional(e)||/^(?:(?:(?:\+|00)?48)|(?:\(\+?48\)))?(?:1[2-8]|2[2-69]|3[2-49]|4[1-68]|5[0-9]|6[0-35-9]|[7-8][1-9]|9[145])\d{7}$/.test(t)},"Please specify a valid phone number"),o.validator.addMethod("phonesUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||9<t.length&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),o.validator.addMethod("phoneUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||9<t.length&&t.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),o.validator.addMethod("phoneUS",function(t,e){return t=t.replace(/\s+/g,""),this.optional(e)||9<t.length&&t.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),o.validator.addMethod("postalcodeBR",function(t,e){return this.optional(e)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(t)},"Informe um CEP válido."),o.validator.addMethod("postalCodeCA",function(t,e){return this.optional(e)||/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test(t)},"Please specify a valid postal code"),o.validator.addMethod("postalcodeIT",function(t,e){return this.optional(e)||/^\d{5}$/.test(t)},"Please specify a valid postal code"),o.validator.addMethod("postalcodeNL",function(t,e){return this.optional(e)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(t)},"Please specify a valid postal code"),o.validator.addMethod("postcodeUK",function(t,e){return this.optional(e)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(t)},"Please specify a valid UK postcode"),o.validator.addMethod("require_from_group",function(t,e,a){var i=o(a[1],e.form),n=i.eq(0),r=n.data("valid_req_grp")?n.data("valid_req_grp"):o.extend({},this),a=i.filter(function(){return r.elementValue(this)}).length>=a[0];return n.data("valid_req_grp",r),o(e).data("being_validated")||(i.data("being_validated",!0),i.each(function(){r.element(this)}),i.data("being_validated",!1)),a},o.validator.format("Please fill at least {0} of these fields.")),o.validator.addMethod("skip_or_fill_minimum",function(t,e,a){var i=o(a[1],e.form),n=i.eq(0),r=n.data("valid_skip")?n.data("valid_skip"):o.extend({},this),s=i.filter(function(){return r.elementValue(this)}).length,a=0===s||s>=a[0];return n.data("valid_skip",r),o(e).data("being_validated")||(i.data("being_validated",!0),i.each(function(){r.element(this)}),i.data("being_validated",!1)),a},o.validator.format("Please either skip these fields or fill at least {0} of them.")),o.validator.addMethod("stateUS",function(t,e,a){var i=void 0===a,n=!i&&void 0!==a.caseSensitive&&a.caseSensitive,r=!i&&void 0!==a.includeTerritories&&a.includeTerritories,a=!i&&void 0!==a.includeMilitary&&a.includeMilitary,r=r||a?r&&a?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":r?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$";return r=n?new RegExp(r):new RegExp(r,"i"),this.optional(e)||r.test(t)},"Please specify a valid state"),o.validator.addMethod("strippedminlength",function(t,e,a){return o(t).text().length>=a},o.validator.format("Please enter at least {0} characters")),o.validator.addMethod("time",function(t,e){return this.optional(e)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(t)},"Please enter a valid time, between 00:00 and 23:59"),o.validator.addMethod("time12h",function(t,e){return this.optional(e)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(t)},"Please enter a valid time in 12-hour am/pm format"),o.validator.addMethod("url2",function(t,e){return this.optional(e)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},o.validator.messages.url),o.validator.addMethod("vinUS",function(t){if(17!==t.length)return!1;for(var e,a,i,n,r,s=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],o=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],d=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],l=0,u=0;u<17;u++){if(i=d[u],a=t.slice(u,u+1),8===u&&(r=a),isNaN(a)){for(e=0;e<s.length;e++)if(a.toUpperCase()===s[e]){a=o[e],a*=i,isNaN(r)&&8===e&&(r=s[e]);break}}else a*=i;l+=a}return 10===(n=l%11)&&(n="X"),n===r},"The specified vehicle identification number (VIN) is invalid."),o.validator.addMethod("zipcodeUS",function(t,e){return this.optional(e)||/^\d{5}(-\d{4})?$/.test(t)},"The specified US ZIP Code is invalid"),o.validator.addMethod("ziprange",function(t,e){return this.optional(e)||/^90[2-5]\d\{2\}-\d{4}$/.test(t)},"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"),o;function n(t){return t.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}}),jQuery(document).ready(function(i){i(document).on("change",'[name="upload_field"]',function(){var t=i(this).closest("form"),e=i(this),a=e.data("accept");null==a&&(a="jpg,jpeg,png,gif,pdf,doc,docx,ppt,pptx,odt,avi,ogg,m4a,mov,mp3,mp4,mpg,wav,wmv"),null!=a&&""==a.trim()&&(a="jpg,jpeg,png,gif,pdf,doc,docx,ppt,pptx,odt,avi,ogg,m4a,mov,mp3,mp4,mpg,wav,wmv"),t.validate({rules:{upload_field:{extension:a,maxsize:1048576*parseInt(e.data("maxsize"))}},messages:{upload_field:{extension:e.data("types-message"),maxsize:e.data("maxsize-message")}}}),t.submit(function(t){t.preventDefault()}),t.trigger("submit")})});