1function PaoValidation(a){if(!(this instanceof PaoValidation))return new PaoValidation(a);if(!a.$addons.length)return!1;this.$form=a.$el,this.$addons=a.$addons,this.form=a,this.validationState=this.getInitialState()}PaoValidation.prototype.getInitialState=function(){var a={};return jQuery.each(this.$addons,function(){a[jQuery(this).attr("id")]={validity:!0,message:""}}),a},PaoValidation.prototype.getValidationState=function(){return this.validationState},PaoValidation.prototype.validateAddon=function(a,t=!1){var i=a.data("restrictions"),r=a.attr("id"),e=!0;return this.validationState[r]||(this.validationState[r]={validity:!0,message:""}),a.closest(".wc-pao-addon-container").is(":visible")?(jQuery.isEmptyObject(i)||("required"in i&&i.required==="yes"&&(e=this.validateRequired(a)),e&&a.is(".wc-pao-addon-custom-price")&&(e=this.validateDecimals(a)),e&&"content"in i&&(i.content==="only_letters"?e=this.validateLetters(a):i.content==="only_numbers"?e=this.validateNumbers(a):i.content==="only_letters_numbers"?e=this.validateLettersNumbers(a):i.content==="email"&&(e=this.validateEmail(a))),e&&"min"in i&&(e=this.validateMin(a,i.min)),e&&"max"in i&&(e=this.validateMax(a,i.max))),t&&this.printMessage(a),this.validationState[r].validity):this.validationState[r].validity},PaoValidation.prototype.validate=function(a=!1){var t=!0,i=this;return jQuery.each(i.$addons,function(){i.validateAddon(jQuery(this),a)||(t=!1)}),t},PaoValidation.prototype.escapeRegExp=function(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},PaoValidation.prototype.removeNoticeFromAriaDescribed=function(a,t){var i=a.attr("aria-describedby");if(i){var r=i.split(" ").filter(function(e){return e!==t&&e.trim()!==""});r.length>0?a.attr("aria-describedby",r.join(" ")):a.removeAttr("aria-describedby")}},PaoValidation.prototype.addNoticeToAriaDescribed=function(a,t){var i=a.attr("aria-describedby"),r=i?i.split(" ").filter(function(e){return e!==t&&e.trim()!==""}):[];r.unshift(t),a.attr("aria-describedby",r.join(" "))},PaoValidation.prototype.printMessage=function(a){var t=a.attr("id"),i=this.validationState[t],r=a.closest(".wc-pao-addon-container"),e=r.attr("id")+"-validation-notice";if(this.clearValidationMessage(r,e),!i.validity){const o=r[0].hasAttribute("data-fieldset");this.showValidationMessage(r,a,e,i.message,o)}},PaoValidation.prototype.clearValidationMessage=function(a,t){a.find(".wc-pao-validation-notice").remove();const i=a.find(".wc-pao-fieldset, .wc-pao-addon-field").first();i.removeAttr("aria-invalid"),this.removeNoticeFromAriaDescribed(i,t)},PaoValidation.prototype.showValidationMessage=function(a,t,i,r,e){if(e){const o=a.find(".wc-pao-fieldset");o.attr("aria-invalid","true"),this.addNoticeToAriaDescribed(o,i);const s=r.replace(/</g,"<").replace(/>/g,">");a.find(".wc-pao-addon-wrap").append(`<small id="${i}" class="wc-pao-validation-notice" role="status" tabindex="-1">${s}</small>`)}else{t.attr("aria-invalid","true"),this.addNoticeToAriaDescribed(t,i);const o=r.replace(/</g,"<").replace(/>/g,">");t.after(`<small id="${i}" class="wc-pao-validation-notice" role="status" tabindex="-1">${o}</small>`)}},PaoValidation.prototype.validateRequired=function(a){var t=!0,i="",r="",e=a.attr("id");if(a.is(":checkbox")||a.is(":radio")){var o=a.closest(".wc-pao-addon-container"),s=o.find(".wc-pao-addon-field"),d=this;if(t=!1,jQuery.each(s,function(){if(jQuery(this).is(":checked")){t=!0;return}}),!t)i=woocommerce_addons_params.i18n_validation_required_select;else{jQuery.each(s,function(){var n=jQuery(this).attr("id");d.validationState[n]={validity:t,message:i,reason:r}});return}}else if(a.hasClass("wc-pao-addon-image-swatch-select")){var o=a.closest(".wc-pao-addon-container");t=!1,jQuery.each(o.find(".wc-pao-addon-image-swatch"),function(){if(jQuery(this).hasClass("selected")){t=!0;return}}),t||(i=woocommerce_addons_params.i18n_validation_required_select)}else a.val()||(t=!1,a.attr("type")==="file"?a.data("value")!==void 0&&a.data("value")!==""?t=!0:i=woocommerce_addons_params.i18n_validation_required_file:a.attr("type")==="number"||a.is(".wc-pao-addon-custom-price")?i=woocommerce_addons_params.i18n_validation_required_number:a.is("input")||a.is("textarea")?i=woocommerce_addons_params.i18n_validation_required_input:a.is("select")&&(i=woocommerce_addons_params.i18n_validation_required_select));return t||(r="required"),this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateLetters=function(a){var t=!/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~\d]/g.test(a.val()),i="",r="",e=a.attr("id");return a.val()||(t=!0),t||(i=woocommerce_addons_params.i18n_validation_letters_only,r="letters"),this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateNumbers=function(a){var t=/^[0-9]*$/g.test(a.val()),i="",r="",e=a.attr("id");return a.val()||(t=!0),t||(i=woocommerce_addons_params.i18n_validation_numbers_only,r="numbers"),this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateLettersNumbers=function(a){var t=!/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/g.test(a.val()),i="",r="",e=a.attr("id");return a.val()||(t=!0),t||(i=woocommerce_addons_params.i18n_validation_letters_and_numbers_only,r="letters_numbers"),this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateEmail=function(a){var t=/^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(a.val()),i="",r="",e=a.attr("id");return a.val()||(t=!0),t||(i=woocommerce_addons_params.i18n_validation_email_only,r="email"),this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateDecimals=function(a){var t=!0,i="",r="",e=a.attr("id"),o=a.val(),s=new RegExp(`^-?\\d+(?:\\${woocommerce_addons_params.currency_format_decimal_sep}\\d+)?$`);return a.val()?s.test(o)||(t=!1,i=woocommerce_addons_params.i18n_validation_decimal_separator.replace("%c",woocommerce_addons_params.currency_format_decimal_sep),r="decimals"):t=!0,this.validationState[e]={validity:t,message:i,reason:r},this.validationState[e].validity},PaoValidation.prototype.validateMin=function(a,t){var i=!0,r="",e="",o=a.attr("id");if(!a.val())i=!0;
1else if(a.attr("type")==="number"||a.is(".wc-pao-addon-custom-price")){var s=a.val();s.includes(".")?s=parseFloat(s):s.includes(woocommerce_addons_params.currency_format_decimal_sep)?s=parseFloat(s.replace(woocommerce_addons_params.currency_format_decimal_sep,".")):s=parseInt(s),s<t&&(i=!1,a.is(".wc-pao-addon-custom-price")&&(t=accounting.formatNumber(t,{symbol:"",decimal:woocommerce_addons_params.currency_format_decimal_sep,precision:parseFloat(t)%1===0?0:t.toString().split(".")[1].length})),r=woocommerce_addons_params.i18n_validation_min_number.replace("%c",t))}else(a.attr("type")==="text"||a.is("textarea"))&&a.val().length<t&&(i=!1,r=woocommerce_addons_params.i18n_validation_min_characters.replace("%c",t));return i||(e="min"),this.validationState[o]={validity:i,message:r,reason:e},this.validationState[o].validity},PaoValidation.prototype.validateMax=function(a,t){var i=!0,r="",e=e,o=a.attr("id");if(!a.val())i=!0;else if(a.attr("type")==="number"||a.is(".wc-pao-addon-custom-price")){var s=a.val();s.includes(".")?s=parseFloat(s):s.includes(woocommerce_addons_params.currency_format_decimal_sep)?s=parseFloat(s.replace(woocommerce_addons_params.currency_format_decimal_sep,".")):s=parseInt(s),s>t&&(i=!1,a.is(".wc-pao-addon-custom-price")&&(t=accounting.formatNumber(t,{symbol:"",decimal:woocommerce_addons_params.currency_format_decimal_sep,precision:parseFloat(t)%1===0?0:t.toString().split(".")[1].length})),r=woocommerce_addons_params.i18n_validation_max_number.replace("%c",t))}else(a.attr("type")==="text"||a.is("textarea"))&&a.val().length>t&&(i=!1,r=woocommerce_addons_params.i18n_validation_max_characters.replace("%c",t));return i||(e="max"),this.validationState[o]={validity:i,message:r,reason:e},this.validationState[o].validity},typeof window<"u"&&(window.PaoValidation=PaoValidation);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.