// source --> https://crazywhiz.co.in/wp-content/plugins/usp-pro/js/usp-pro.js?ver=4.6 
jQuery(document).ready(function($) {
	
	// "Agree to Terms" toggle
	$('.usp-agree-toggle').on('click', function() {
		$('.usp-agree-terms').slideToggle(100);
	});
	
	// Multiple forms on same page
	var urlParams = new URLSearchParams(window.location.search);
	var form_id = urlParams.get('form_id');
	var success = urlParams.get('usp_success');
	$('.usp-error-field').each(function() {
		if ($(this).closest('.usp-form-'+ form_id).length == 0) {
			$(this).removeClass('usp-error-field');
		}
	});
	$('.usp-pro').each(function() {
		if (success && !usp_pro_success_form && $(this).hasClass('usp-form-'+ form_id)) {
			$(this).find('.usp-submit').hide();
		}
	});
	
	// Google reCaptcha
	window.uspProReCaptcha = uspProReCaptcha;
	function uspProReCaptcha() {
		if (typeof usp_recaptcha_key != 'undefined') {
			grecaptcha.ready(function() {
				grecaptcha.execute(usp_recaptcha_key, { action: 'submit' }).then(function(token) {
					$('#recaptcha_response').remove();
					$('.usp-form').prepend('<input type="hidden" name="recaptcha_response" id="recaptcha_response" value="'+ token +'">');
				});
			});
		}
		setInterval(function() { uspProReCaptcha(); console.log('captcha reset') }, 110000);
	}
	
	// Disable form button after submit
	$('.usp-form').on('submit', function(e) {
		if (window.parsley) { 
			if ($(this).parsley().isValid()) {
				$('.usp-submit').css('cursor', 'wait');
				$('.usp-submit').attr('disabled', true);
			}
		} else {
			$('.usp-submit').css('cursor', 'wait');
			$('.usp-submit').attr('disabled', true);
		}
	});
	
	// "Add another" link : [usp_files method="" multiple="true"]
	$('.usp-files').each(function(index, value) { 
		var id = '#'+ $(this).attr('id');
		var n = parseInt($(id +' .usp-file-count').val());
		var x = parseInt($(id +' .usp-file-limit').val());
		var y = x - n;
		if (x == 1) {
			$(id +' .usp-add-another').hide();
		} else {
			$(id +' .usp-add-another').on('click', function(e) {
				e.preventDefault(); n++; y--;
				$('.usp-file-count').val(n);
				var $this = $(this);
				var $new = $this.parent().find('input:visible:last').clone().val('').attr('data-file', n).addClass('usp-clone');
				if ($new.hasClass('usp-input-custom')) {
					$new.attr('id', 'usp_custom_file_'+ n);
				} else {
					$new.attr('id', 'usp-files-'+ n);
				}
				if (y > 0) {
					$this.before($new.fadeIn(300).css('display', 'block'));
				} else if (y <= 0) {
					$this.before($new.fadeIn(300).css('display', 'block'));
					$this.hide();
				} else {
					$this.hide();
				}
			});
		}
	});
	
	// Preview selected images : [usp_files method="select" multiple="true"]
	$('.select-file.multiple').each(function(index, value) {
		$(this).on('change', function(event) {
			
			var any_window = window.URL || window.webkitURL;
			var div = '#'+ $(this).parent().parent().attr('id');
			var dom = $('#'+ $(this).attr('id'))[0];
			var files = dom.files;
			
			var preview = $(div +' input[name*="-preview"]').val();
			if (preview) return false;
			
			$(div +'.usp-preview').empty();
			
			for (var i = 0; i < files.length; i++) {
				var file_id = i + 1;
				var file_url = any_window.createObjectURL(files[i]);
				var file_ext = files[i].name.split('.')[files[i].name.split('.').length - 1].toLowerCase();
				var file_css = get_icon_url(file_url, file_ext);
				
				var append = true;
				var file_prv = $(div +' + .usp-preview .usp-preview-'+ file_id);
				if ($(file_prv).length) append = false;
				
				append_preview(div, file_id, file_url, file_css, append);
				window.URL.revokeObjectURL(files[i]);
			}
		});
	});
	
	// Preview selected images : [usp_files method="select" multiple="false"]
	$(document.body).on('change', '.select-file.single-file', function(event){
		var div_id = '#'+ $(this).parent().attr('id');
		var file_id = 1;
		
		var preview = $(div_id +' input[name*="-preview"]').val();
		if (preview) return false;
		
		if ($(this).val()) previewFiles(event, div_id, file_id);
	});
	
	// Preview selected images : [usp_files method="" multiple="false"]
	$(document.body).on('change', '.add-another.single-file', function(event){
		var div_id = '#'+ $(this).parent().attr('id');
		var file_id = 1;
		
		var preview = $(div_id +' input[name*="-preview"]').val();
		if (preview) return false;
		
		if ($(this).val()) previewFiles(event, div_id, file_id);
	});
	
	// Preview selected images : [usp_files method=""  multiple="true"]
	$(document.body).on('change', '.add-another.multiple', function(event){
		var div_id = '#'+ $(this).parent().parent().attr('id');
		var file_id = $(this).data('file');
		
		var preview = $(div_id +' input[name*="-preview"]').val();
		if (preview) return false;
		
		if ($(this).val()) previewFiles(event, div_id, file_id);
	});
	
	// remove preview items
	$(document).on('click', '.usp-preview-close', function(e){
		// $(this).closest('.usp-preview-item').remove(); // see notes
	});
	
	function previewFiles(event, div_id, file_id) {
		var files = event.target.files;
		var file_name = files[0].name;
		var any_window = window.URL || window.webkitURL;
		
		var file_url = any_window.createObjectURL(files[0]);
		var file_ext = file_name.split('.')[file_name.split('.').length - 1].toLowerCase();
		var file_css = get_icon_url(file_url, file_ext);
		
		var append = true;
		var file_prv = $(div_id +' + .usp-preview .usp-preview-'+ file_id);
		if ($(file_prv).length) append = false;
		
		append_preview(div_id, file_id, file_url, file_css, append);
	}
	
	function append_preview(div_id, file_id, file_url, file_css, append) {
		
		var prv_box = div_id +' + .usp-preview';
		var prv_file = div_id +' + .usp-preview .usp-preview-'+ file_id;
		
		var span = ''; // '<span class="usp-preview-close usp-preview-close-'+ file_id +'" data-id="'+ file_id +'" style="position:absolute;top:2px;right:2px;z-index:999;width:18px;height:18px;text-align:center;line-height:16px;font-size:11px;border-radius:50%;color:#fff;background-color:rgba(0,0,0,0.3);cursor:pointer;">&#10005;</span>';
		var content = '<div class="usp-preview-item usp-preview-'+ file_id +'" style="position:relative;"><a href="'+ file_url +'" title="Preview of file #'+ file_id +'" target="_blank" rel="noopener noreferrer"></a>'+ span +'</div>';
		var styles = { 'background-image':'url('+ file_css +')', 'background-size':'cover', 'background-repeat':'no-repeat', 'background-position':'center center' };
		
		if (append == true) $(prv_box).append(content);
		else $(prv_file).replaceWith(content);
		
		$(prv_file).css(styles);
	}
	
	function get_icon_url(file_url, file_ext) {
		var url = '';
		if ($.inArray(file_ext, ['bmp','gif','jpe','jpeg','jpg','png','svg','tif','tiff']) > -1) {
			url = file_url;
			
		} else if ($.inArray(file_ext, ['3gp','avi','flv','mov','mp4','mpg','qt','swf','wmv']) > -1) {
			url = get_video_icon();
			
		} else if ($.inArray(file_ext, ['aac','aiff','alac','ape','flac','mid','mp3','ogg','wav','wma']) > -1) {
			url = get_audio_icon();
			
		} else if ($.inArray(file_ext, ['zip','rar']) > -1) {
			url = get_zip_icon();
			
		} else if ($.inArray(file_ext, ['pdf']) > -1) {
			url = get_pdf_icon();
		} else {
			url = get_other_icon();
		}
		return url;
	}
	
	function get_video_icon() {
		return 'data:image/jpeg;base64,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';
	}
	
	function get_audio_icon() {
		return 'data:image/jpeg;base64,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';
	}
	
	function get_zip_icon() {
		return 'data:image/jpeg;base64,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';
	}
	
	function get_pdf_icon() {
		return 'data:image/jpeg;base64,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';
	}
	
	function get_other_icon() {
		return 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgXEhQUFBQSFxcbHB4cGxckJCcnJCQ1MzMzNTs7Ozs7Ozs7OzsBDQsLDQ4NEA4OEBQODw4UFBARERAUHRQUFRQUHSUaFxcXFxolICMeHh4jICgoJSUoKDIyMDIyOzs7Ozs7Ozs7O//CABEIAJYBLAMBIgACEQEDEQH/xAAaAAEBAQEBAQEAAAAAAAAAAAAABwYFBAgD/9oACAEBAAAAAKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASbOPRup7Vs5jLL18LPSy9cAAAR3M1j0ceb17MYi39mfzeg93RegAAAR3M/QHon83r2YxFv7M/m9e1QAAAI7maxoMfN69mMRb+zP5vQdZ2wAAAjuZ9FQ583r2YxFv7M/m/wC2yqAAAAR3M/QHon83r2YxFv7M/m9e1QAAAI7mfoD0T+b17MYi39mfzevaoAAAEdzP0B6J/N69mMRSeny5vvu3pvSAAAJTnrh++HwFSzuPejb4AsPWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/xAApEAABAwMDAwUAAwEAAAAAAAAEAgMFBgcQAAE2NDVAEhUWVFUXUnBT/9oACAEBAAEMAP8ASbgSckPU5DQ5bzLfvUx98nXvUx98nUdMS6pAVKjiFJukYWKPH7ivuMb+9TH3ydW7IIIppt0h1bzlzzzhZYRAxLrCfepj75OqSdcepuPcdWpxzV0jCxR4/cV9xjf3qY++Tr3qY++Tr3qY++TqknXHqbj3HVqcc8a4/KycCW5pl0Rl1bbvrZtzTLLqHkNu7Lu300bi2nFm9XX7wHijuLxuLt9NG4oui4OYg0GmocU9/GlLf83tAAsR4bQQ22+zPjXH5WTiP7eNi7fTRuLacWb1dfvAeKO4vG4u300bi2nFm/JuPysnAlxqZaEZaW4764WcAnBVlgKUpq7fTRuLacWb1dfvAeKO4vG4u300bii60g4eDQEatxL0LV8NOFLEAWtTvj3H5WTjaNkd9tt9hXt9rXsPsQBCH21NKu300bi2nFm9XX7wHijuLxuLt9NG4aCMeR62WHHEWvDLYnyFvsONJ8e4/KycR/bxsXb6aNxbTizerr94DxR3F43F2+mjcW04s35Nx+Vk4j+3jYu300bi2nFm9XX7wHijuLxuLt9NG4tpxZvybj8rJxH9vGxdvpo3FtOLN6uv3gPFPXBgY6FDBIS/u8zcunXnm2UJI9d2+mjcUdW8LCwiATNnt3v5Qpr+pOo49iRBZOH2Vsz41fQ0wXUxD4oJJDPxyofyzNApUgEdKtt0q1c+OkDh4/YIZ4rf45UP5ZmrfCFB022yWy4O7cyKlDZUVwIN8lHxyofyzNfHKh/LM1HU9PokBlrjC0pufHSBw8fsEM8Vv8cqH8szXxyofyzNfHKh/LM1SjLw9OR7L7amnf8ASf/EADEQAAIBAgQDBwMDBQAAAAAAAAECAwAREBITsSEx0gQUQHN0s8IjUbJBYXBCYnGR0f/aAAgBAQANPwD+SQkVkSRlUXRf0U15z9Vec/VTTRggyuQQWH91O8uYxuyXsE55SK85+qjLIC8jFmsD92vTdnuVjdkBOduJCkV5z9VNCCzsSWJueZODvLmMbsl7BOeUivOfqrzn6q85+qmhBZ2JLE3PMnw+SL21wkjVm+oeZAJqNg6nUPNTcVnl2TDWl3ru3zfDRG5wzy7Jg0jqSrlRZTYcBXmmoFyRhjc2/wA+HyRe2uGjH+Iwzy7JhrS713b5vhojc4Z5dkw1pd/E5IvbXCONVb6Z5gAGkkMTF1ynMArcj+zCs8uyYa0u9d2+b4aI3OGeXZMFkdiFQsLMbjiKSMysHQqMoKrzP7sPEZIvbXA8QRG3/KPa3IV1Km2nDxsazy7JhrS713b5vhojc4Z5dkw5ZkRmH+wKPZHAZ0ZRfUh4XI8Rki9tcNGP8Rhnl2TDWl3ru3zfDRG5wzy7JhrS7+JyRe2uGjH+Iwzy7JhrS713b5vhojc4Z5dkw1pd/E5IvbXDRj/EYZ5dkw1pd67t83w7PGEfKgK3H2OcVIwRbxra7Gw/rrPLsmCyOx00DLZjccSwry1667QudM4s1j9xc+HZIwJIondTZFBsyqRXp5emliQMp4EEKOBwR5S4hjaTLcJa+QG1enl6aEshMcqlGsTwOVgDS9nys0MTyAHOxsSgNenl6a9PL00s0ZZjBIAAGFyTlpHlLiGNpMtwlr5AbV6eXpr08vTXp5emkhAeNwVYHjwKniP5K//EABQRAQAAAAAAAAAAAAAAAAAAAHD/2gAIAQIBAT8APv/EABQRAQAAAAAAAAAAAAAAAAAAAHD/2gAIAQMBAT8APv/Z';
	}
	
	// selectize (disable via: var usp_disable_selectize = true; in USP Custom JavaScript setting)
	var disable_selectize = (typeof window.usp_disable_selectize !== 'undefined') ? window.usp_disable_selectize : false;
	if (!disable_selectize) { $('.usp-select').selectize(); }
	
});

/*! selectize.js - v0.13.0 */
!function(root,factory){"function"==typeof define&&define.amd?define("sifter",factory):"object"==typeof exports?module.exports=factory():root.Sifter=factory()}(this,function(){function Sifter(items,settings){this.items=items,this.settings=settings||{diacritics:!0}}Sifter.prototype.tokenize=function(query){if(!(query=trim(String(query||"").toLowerCase()))||!query.length)return[];for(var regex,letter,tokens=[],words=query.split(/ +/),i=0,n=words.length;i<n;i++){if(regex=escape_regex(words[i]),this.settings.diacritics)for(letter in DIACRITICS)DIACRITICS.hasOwnProperty(letter)&&(regex=regex.replace(new RegExp(letter,"g"),DIACRITICS[letter]));tokens.push({string:words[i],regex:new RegExp(regex,"i")})}return tokens},Sifter.prototype.iterator=function(object,callback){var iterator=is_array(object)?Array.prototype.forEach||function(callback){for(var i=0,n=this.length;i<n;i++)callback(this[i],i,this)}:function(callback){for(var key in this)this.hasOwnProperty(key)&&callback(this[key],key,this)};iterator.apply(object,[callback])},Sifter.prototype.getScoreFunction=function(search,options){var fields,tokens,token_count,nesting;search=this.prepareSearch(search,options),tokens=search.tokens,fields=search.options.fields,token_count=tokens.length,nesting=search.options.nesting;function scoreValue(score,token){var pos;return!score||-1===(pos=(score=String(score||"")).search(token.regex))?0:(score=token.string.length/score.length,0===pos&&(score+=.5),score)}var field_count,scoreObject=(field_count=fields.length)?1===field_count?function(token,data){return scoreValue(getattr(data,fields[0],nesting),token)}:function(token,data){for(var i=0,sum=0;i<field_count;i++)sum+=scoreValue(getattr(data,fields[i],nesting),token);return sum/field_count}:function(){return 0};return token_count?1===token_count?function(data){return scoreObject(tokens[0],data)}:"and"===search.options.conjunction?function(data){for(var score,i=0,sum=0;i<token_count;i++){if((score=scoreObject(tokens[i],data))<=0)return 0;sum+=score}return sum/token_count}:function(data){for(var i=0,sum=0;i<token_count;i++)sum+=scoreObject(tokens[i],data);return sum/token_count}:function(){return 0}},Sifter.prototype.getSortFunction=function(search,options){var i,n,field,fields_count,multiplier,multipliers,implicit_score,self=this,sort=!(search=self.prepareSearch(search,options)).query&&options.sort_empty||options.sort,get_field=function(name,result){return"$score"===name?result.score:getattr(self.items[result.id],name,options.nesting)},fields=[];if(sort)for(i=0,n=sort.length;i<n;i++)!search.query&&"$score"===sort[i].field||fields.push(sort[i]);if(search.query){for(implicit_score=!0,i=0,n=fields.length;i<n;i++)if("$score"===fields[i].field){implicit_score=!1;break}implicit_score&&fields.unshift({field:"$score",direction:"desc"})}else for(i=0,n=fields.length;i<n;i++)if("$score"===fields[i].field){fields.splice(i,1);break}for(multipliers=[],i=0,n=fields.length;i<n;i++)multipliers.push("desc"===fields[i].direction?-1:1);return(fields_count=fields.length)?1===fields_count?(field=fields[0].field,multiplier=multipliers[0],function(a,b){return multiplier*cmp(get_field(field,a),get_field(field,b))}):function(a,b){for(var result,i=0;i<fields_count;i++)if(result=fields[i].field,result=multipliers[i]*cmp(get_field(result,a),get_field(result,b)))return result;return 0}:null},Sifter.prototype.prepareSearch=function(query,options){if("object"==typeof query)return query;var option_fields=(options=extend({},options)).fields,option_sort=options.sort,option_sort_empty=options.sort_empty;return option_fields&&!is_array(option_fields)&&(options.fields=[option_fields]),option_sort&&!is_array(option_sort)&&(options.sort=[option_sort]),option_sort_empty&&!is_array(option_sort_empty)&&(options.sort_empty=[option_sort_empty]),{options:options,query:String(query||"").toLowerCase(),tokens:this.tokenize(query),total:0,items:[]}},Sifter.prototype.search=function(fn_sort,options){var score,fn_score,search=this.prepareSearch(fn_sort,options);return options=search.options,fn_sort=search.query,fn_score=options.score||this.getScoreFunction(search),fn_sort.length?this.iterator(this.items,function(item,id){score=fn_score(item),(!1===options.filter||0<score)&&search.items.push({score:score,id:id})}):this.iterator(this.items,function(item,id){search.items.push({score:1,id:id})}),(fn_sort=this.getSortFunction(search,options))&&search.items.sort(fn_sort),search.total=search.items.length,"number"==typeof options.limit&&(search.items=search.items.slice(0,options.limit)),search};var cmp=function(a,b){return"number"==typeof a&&"number"==typeof b?b<a?1:a<b?-1:0:(a=asciifold(String(a||"")),(b=asciifold(String(b||"")))<a?1:a<b?-1:0)},extend=function(a,b){for(var k,object,i=1,n=arguments.length;i<n;i++)if(object=arguments[i])for(k in object)object.hasOwnProperty(k)&&(a[k]=object[k]);return a},getattr=function(obj,name,nesting){if(obj&&name){if(!nesting)return obj[name];for(var names=name.split(".");names.length&&(obj=obj[names.shift()]););return obj}},trim=function(str){return(str+"").replace(/^\s+|\s+$|/g,"")},escape_regex=function(str){return(str+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},is_array=Array.isArray||"undefined"!=typeof $&&$.isArray||function(object){return"[object Array]"===Object.prototype.toString.call(object)},DIACRITICS={a:"[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]",b:"[b␢βΒB฿𐌁ᛒ]",c:"[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄＣｃ]",d:"[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅＤｄð]",e:"[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇＥｅɘǝƏƐε]",f:"[fƑƒḞḟ]",g:"[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]",h:"[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]",i:"[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪＩｉ]",j:"[jȷĴĵɈɉʝɟʲ]",k:"[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]",l:"[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟＬｌ]",n:"[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴＮｎŊŋ]",o:"[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]",p:"[pṔṕṖṗⱣᵽƤƥᵱ]",q:"[qꝖꝗʠɊɋꝘꝙq̃]",r:"[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]",s:"[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]",t:"[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]",u:"[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]",v:"[vṼṽṾṿƲʋꝞꝟⱱʋ]",w:"[wẂẃẀẁŴŵẄẅẆẇẈẉ]",x:"[xẌẍẊẋχ]",y:"[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]",z:"[zŹźẐẑŽžŻżẒẓẔẕƵƶ]"},asciifold=function(){var i,n,k,chunk,foreignletters="",lookup={};for(k in DIACRITICS)if(DIACRITICS.hasOwnProperty(k))for(foreignletters+=chunk=DIACRITICS[k].substring(2,DIACRITICS[k].length-1),i=0,n=chunk.length;i<n;i++)lookup[chunk.charAt(i)]=k;var regexp=new RegExp("["+foreignletters+"]","g");return function(str){return str.replace(regexp,function(foreignletter){return lookup[foreignletter]}).toLowerCase()}}();return Sifter}),function(root,factory){"function"==typeof define&&define.amd?define("microplugin",factory):"object"==typeof exports?module.exports=factory():root.MicroPlugin=factory()}(this,function(){var MicroPlugin={mixin:function(Interface){Interface.plugins={},Interface.prototype.initializePlugins=function(plugins){var i,n,key,queue=[];if(this.plugins={names:[],settings:{},requested:{},loaded:{}},utils.isArray(plugins))for(i=0,n=plugins.length;i<n;i++)"string"==typeof plugins[i]?queue.push(plugins[i]):(this.plugins.settings[plugins[i].name]=plugins[i].options,queue.push(plugins[i].name));else if(plugins)for(key in plugins)plugins.hasOwnProperty(key)&&(this.plugins.settings[key]=plugins[key],queue.push(key));for(;queue.length;)this.require(queue.shift())},Interface.prototype.loadPlugin=function(name){var plugins=this.plugins,plugin=Interface.plugins[name];if(!Interface.plugins.hasOwnProperty(name))throw new Error('Unable to find "'+name+'" plugin');plugins.requested[name]=!0,plugins.loaded[name]=plugin.fn.apply(this,[this.plugins.settings[name]||{}]),plugins.names.push(name)},Interface.prototype.require=function(name){var plugins=this.plugins;if(!this.plugins.loaded.hasOwnProperty(name)){if(plugins.requested[name])throw new Error('Plugin has circular dependency ("'+name+'")');this.loadPlugin(name)}return plugins.loaded[name]},Interface.define=function(name,fn){Interface.plugins[name]={name:name,fn:fn}}}},utils={isArray:Array.isArray||function(vArg){return"[object Array]"===Object.prototype.toString.call(vArg)}};return MicroPlugin}),function(root,factory){"function"==typeof define&&define.amd?define("selectize",["jquery","sifter","microplugin"],factory):"object"==typeof module&&"object"==typeof module.exports?module.exports=factory(require("jquery"),require("sifter"),require("microplugin")):root.Selectize=factory(root.jQuery,root.Sifter,root.MicroPlugin)}(this,function($,Sifter,MicroPlugin){"use strict";$.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;var parent=this.parentNode;parent.replaceChild(this.firstChild,this),parent.normalize()}).end()};function MicroEvent(){}MicroEvent.prototype={on:function(event,fct){this._events=this._events||{},this._events[event]=this._events[event]||[],this._events[event].push(fct)},off:function(event,fct){var n=arguments.length;return 0===n?delete this._events:1===n?delete this._events[event]:(this._events=this._events||{},void(event in this._events!=!1&&this._events[event].splice(this._events[event].indexOf(fct),1)))},trigger:function(event){if(this._events=this._events||{},event in this._events!=!1)for(var i=0;i<this._events[event].length;i++)this._events[event][i].apply(this,Array.prototype.slice.call(arguments,1))}},MicroEvent.mixin=function(destObject){for(var props=["on","off","trigger"],i=0;i<props.length;i++)destObject.prototype[props[i]]=MicroEvent.prototype[props[i]]};function isset(object){return void 0!==object}function hash_key(value){return null==value?null:"boolean"==typeof value?value?"1":"0":value+""}function escape_html(str){return(str+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function debounce_events(self,types,fn){var type,trigger=self.trigger,event_args={};for(type in self.trigger=function(){var type=arguments[0];if(-1===types.indexOf(type))return trigger.apply(self,arguments);event_args[type]=arguments},fn.apply(self,[]),self.trigger=trigger,event_args)event_args.hasOwnProperty(type)&&trigger.apply(self,event_args[type])}function getSelection(input){var sel,selLen,result={};return void 0===input?console.warn("WARN getSelection cannot locate input control"):"selectionStart"in input?(result.start=input.selectionStart,result.length=input.selectionEnd-result.start):document.selection&&(input.focus(),sel=document.selection.createRange(),selLen=document.selection.createRange().text.length,sel.moveStart("character",-input.value.length),result.start=sel.text.length-selLen,result.length=selLen),result}function measureString(str,$parent){return str?(Selectize.$testInput||(Selectize.$testInput=$("<span />").css({position:"absolute",width:"auto",padding:0,whiteSpace:"pre"}),$("<div />").css({position:"absolute",width:0,height:0,overflow:"hidden"}).append(Selectize.$testInput).appendTo("body")),Selectize.$testInput.text(str),function($from,$to,properties){var i,n,styles={};if(properties)for(i=0,n=properties.length;i<n;i++)styles[properties[i]]=$from.css(properties[i]);else styles=$from.css();$to.css(styles)}($parent,Selectize.$testInput,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]),Selectize.$testInput.width()):0}function autoGrow($input){function update(e,selection){var keyCode,width,shift,placeholder;selection=selection||{},(e=e||window.event||{}).metaKey||e.altKey||!selection.force&&!1===$input.data("grow")||(width=$input.val(),e.type&&"keydown"===e.type.toLowerCase()&&(shift=48<=(keyCode=e.keyCode)&&keyCode<=57||65<=keyCode&&keyCode<=90||96<=keyCode&&keyCode<=111||186<=keyCode&&keyCode<=222||32===keyCode,46===keyCode||8===keyCode?(selection=getSelection($input[0])).length?width=width.substring(0,selection.start)+width.substring(selection.start+selection.length):8===keyCode&&selection.start?width=width.substring(0,selection.start-1)+width.substring(selection.start+1):46===keyCode&&void 0!==selection.start&&(width=width.substring(0,selection.start)+width.substring(selection.start+1)):shift&&(shift=e.shiftKey,placeholder=String.fromCharCode(e.keyCode),width+=placeholder=shift?placeholder.toUpperCase():placeholder.toLowerCase())),placeholder=$input.attr("placeholder"),(width=measureString(width=!width&&placeholder?placeholder:width,$input)+4)!==currentWidth&&(currentWidth=width,$input.width(width),$input.triggerHandler("resize")))}var currentWidth=null;$input.on("keydown keyup update blur",update),update()}var message,options,IS_MAC=/Mac/.test(navigator.userAgent),KEY_CMD=IS_MAC?91:17,KEY_CTRL=IS_MAC?18:17,SUPPORTS_VALIDITY_API=!/android/i.test(window.navigator.userAgent)&&!!document.createElement("input").validity,hook={before:function(self,method,fn){var original=self[method];self[method]=function(){return fn.apply(self,arguments),original.apply(self,arguments)}},after:function(self,method,fn){var original=self[method];self[method]=function(){var result=original.apply(self,arguments);return fn.apply(self,arguments),result}}},Selectize=function($input,settings){var i,n,input=$input[0];input.selectize=this;var fn,delay,timeout,dir=window.getComputedStyle&&window.getComputedStyle(input,null);if(dir=(dir=dir?dir.getPropertyValue("direction"):input.currentStyle&&input.currentStyle.direction)||$input.parents("[dir]:first").attr("dir")||"",$.extend(this,{order:0,settings:settings,$input:$input,tabIndex:$input.attr("tabindex")||"",tagType:"select"===input.tagName.toLowerCase()?1:2,rtl:/rtl/i.test(dir),eventNS:".selectize"+ ++Selectize.count,highlightedValue:null,isBlurring:!1,isOpen:!1,isDisabled:!1,isRequired:$input.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",lastValidValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:null===settings.loadThrottle?this.onSearchChange:(fn=this.onSearchChange,delay=settings.loadThrottle,function(){var self=this,args=arguments;window.clearTimeout(timeout),timeout=window.setTimeout(function(){fn.apply(self,args)},delay)})}),this.sifter=new Sifter(this.options,{diacritics:settings.diacritics}),this.settings.options){for(i=0,n=this.settings.options.length;i<n;i++)this.registerOption(this.settings.options[i]);delete this.settings.options}if(this.settings.optgroups){for(i=0,n=this.settings.optgroups.length;i<n;i++)this.registerOptionGroup(this.settings.optgroups[i]);delete this.settings.optgroups}this.settings.mode=this.settings.mode||(1===this.settings.maxItems?"single":"multi"),"boolean"!=typeof this.settings.hideSelected&&(this.settings.hideSelected="multi"===this.settings.mode),this.initializePlugins(this.settings.plugins),this.setupCallbacks(),this.setupTemplates(),this.setup()};return MicroEvent.mixin(Selectize),void 0!==MicroPlugin?MicroPlugin.mixin(Selectize):(message="Dependency MicroPlugin is missing",options=(options={explanation:'Make sure you either: (1) are using the "standalone" version of Selectize, or (2) require MicroPlugin before you load Selectize.'})||{},console.error("Selectize: "+message),options.explanation&&(console.group&&console.group(),console.error(options.explanation),console.group&&console.groupEnd())),$.extend(Selectize.prototype,{setup:function(){var delimiterEscaped,$parent,fn,self=this,settings=self.settings,eventNS=self.eventNS,$window=$(window),$document=$(document),$input=self.$input,event=self.settings.mode,classes=$input.attr("class")||"",$wrapper=$("<div>").addClass(settings.wrapperClass).addClass(classes).addClass(event),$control=$("<div>").addClass(settings.inputClass).addClass("items").appendTo($wrapper),$control_input=$('<input type="text" autocomplete="new-password" autofill="no" />').appendTo($control).attr("tabindex",$input.is(":disabled")?"-1":self.tabIndex),inputId=$(settings.dropdownParent||$wrapper),selector=$("<div>").addClass(settings.dropdownClass).addClass(event).hide().appendTo(inputId),event=$("<div>").addClass(settings.dropdownContentClass).attr("tabindex","-1").appendTo(selector);(inputId=$input.attr("id"))&&($control_input.attr("id",inputId+"-selectized"),$("label[for='"+inputId+"']").attr("for",inputId+"-selectized")),self.settings.copyClassesToDropdown&&selector.addClass(classes),$wrapper.css({width:$input[0].style.width}),self.plugins.names.length&&(delimiterEscaped="plugin-"+self.plugins.names.join(" plugin-"),$wrapper.addClass(delimiterEscaped),selector.addClass(delimiterEscaped)),(null===settings.maxItems||1<settings.maxItems)&&1===self.tagType&&$input.attr("multiple","multiple"),self.settings.placeholder&&$control_input.attr("placeholder",settings.placeholder),!self.settings.splitOn&&self.settings.delimiter&&(delimiterEscaped=self.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),self.settings.splitOn=new RegExp("\\s*"+delimiterEscaped+"+\\s*")),$input.attr("autocorrect")&&$control_input.attr("autocorrect",$input.attr("autocorrect")),$input.attr("autocapitalize")&&$control_input.attr("autocapitalize",$input.attr("autocapitalize")),$control_input[0].type=$input[0].type,self.$wrapper=$wrapper,self.$control=$control,self.$control_input=$control_input,self.$dropdown=selector,self.$dropdown_content=event,selector.on("mouseenter mousedown click","[data-disabled]>[data-selectable]",function(e){e.stopImmediatePropagation()}),selector.on("mouseenter","[data-selectable]",function(){return self.onOptionHover.apply(self,arguments)}),selector.on("mousedown click","[data-selectable]",function(){return self.onOptionSelect.apply(self,arguments)}),event="mousedown",selector="*:not(input)",fn=function(){return self.onItemSelect.apply(self,arguments)},($parent=$control).on(event,selector,function(e){for(var child=e.target;child&&child.parentNode!==$parent[0];)child=child.parentNode;return e.currentTarget=child,fn.apply(this,[e])}),autoGrow($control_input),$control.on({mousedown:function(){return self.onMouseDown.apply(self,arguments)},click:function(){return self.onClick.apply(self,arguments)}}),$control_input.on({mousedown:function(e){e.stopPropagation()},keydown:function(){return self.onKeyDown.apply(self,arguments)},keyup:function(){return self.onKeyUp.apply(self,arguments)},keypress:function(){return self.onKeyPress.apply(self,arguments)},resize:function(){self.positionDropdown.apply(self,[])},blur:function(){return self.onBlur.apply(self,arguments)},focus:function(){return self.ignoreBlur=!1,self.onFocus.apply(self,arguments)},paste:function(){return self.onPaste.apply(self,arguments)}}),$document.on("keydown"+eventNS,function(e){self.isCmdDown=e[IS_MAC?"metaKey":"ctrlKey"],self.isCtrlDown=e[IS_MAC?"altKey":"ctrlKey"],self.isShiftDown=e.shiftKey}),$document.on("keyup"+eventNS,function(e){e.keyCode===KEY_CTRL&&(self.isCtrlDown=!1),16===e.keyCode&&(self.isShiftDown=!1),e.keyCode===KEY_CMD&&(self.isCmdDown=!1)}),$document.on("mousedown"+eventNS,function(e){if(self.isFocused){if(e.target===self.$dropdown[0]||e.target.parentNode===self.$dropdown[0])return!1;self.$control.has(e.target).length||e.target===self.$control[0]||self.blur(e.target)}}),$window.on(["scroll"+eventNS,"resize"+eventNS].join(" "),function(){self.isOpen&&self.positionDropdown.apply(self,arguments)}),$window.on("mousemove"+eventNS,function(){self.ignoreHover=!1}),this.revertSettings={$children:$input.children().detach(),tabindex:$input.attr("tabindex")},$input.attr("tabindex",-1).hide().after(self.$wrapper),$.isArray(settings.items)&&(self.lastValidValue=settings.items,self.setValue(settings.items),delete settings.items),SUPPORTS_VALIDITY_API&&$input.on("invalid"+eventNS,function(e){e.preventDefault(),self.isInvalid=!0,self.refreshState()}),self.updateOriginalInput(),self.refreshItems(),self.refreshState(),self.updatePlaceholder(),self.isSetup=!0,$input.is(":disabled")&&self.disable(),self.on("change",this.onChange),$input.data("selectize",self),$input.addClass("selectized"),self.trigger("initialize"),!0===settings.preload&&self.onSearchChange("")},setupTemplates:function(){var field_label=this.settings.labelField,field_optgroup=this.settings.optgroupLabelField,templates={optgroup:function(data){return'<div class="optgroup">'+data.html+"</div>"},optgroup_header:function(data,escape){return'<div class="optgroup-header">'+escape(data[field_optgroup])+"</div>"},option:function(data,escape){return'<div class="option">'+escape(data[field_label])+"</div>"},item:function(data,escape){return'<div class="item">'+escape(data[field_label])+"</div>"},option_create:function(data,escape){return'<div class="create">Add <strong>'+escape(data.input)+"</strong>&hellip;</div>"}};this.settings.render=$.extend({},templates,this.settings.render)},setupCallbacks:function(){var key,fn,callbacks={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur",dropdown_item_activate:"onDropdownItemActivate",dropdown_item_deactivate:"onDropdownItemDeactivate"};for(key in callbacks)callbacks.hasOwnProperty(key)&&(fn=this.settings[callbacks[key]])&&this.on(key,fn)},onClick:function(e){this.isFocused&&this.isOpen||(this.focus(),e.preventDefault())},onMouseDown:function(e){var self=this,defaultPrevented=e.isDefaultPrevented();$(e.target);if(self.isFocused){if(e.target!==self.$control_input[0])return"single"===self.settings.mode?self.isOpen?self.close():self.open():defaultPrevented||self.setActiveItem(null),!1}else defaultPrevented||window.setTimeout(function(){self.focus()},0)},onChange:function(){""!==this.getValue()&&(this.lastValidValue=this.getValue()),this.$input.trigger("input"),this.$input.trigger("change")},onPaste:function(e){var self=this;self.isFull()||self.isInputHidden||self.isLocked?e.preventDefault():self.settings.splitOn&&setTimeout(function(){var pastedText=self.$control_input.val();if(pastedText.match(self.settings.splitOn))for(var splitInput=$.trim(pastedText).split(self.settings.splitOn),i=0,n=splitInput.length;i<n;i++)self.createItem(splitInput[i])},0)},onKeyPress:function(e){if(this.isLocked)return e&&e.preventDefault();var character=String.fromCharCode(e.keyCode||e.which);return this.settings.create&&"multi"===this.settings.mode&&character===this.settings.delimiter?(this.createItem(),e.preventDefault(),!1):void 0},onKeyDown:function(e){var $prev;e.target,this.$control_input[0];if(this.isLocked)9!==e.keyCode&&e.preventDefault();else{switch(e.keyCode){case 65:if(this.isCmdDown)return void this.selectAll();break;case 27:return void(this.isOpen&&(e.preventDefault(),e.stopPropagation(),this.close()));case 78:if(!e.ctrlKey||e.altKey)break;case 40:return!this.isOpen&&this.hasOptions?this.open():this.$activeOption&&(this.ignoreHover=!0,($prev=this.getAdjacentOption(this.$activeOption,1)).length&&this.setActiveOption($prev,!0,!0)),void e.preventDefault();case 80:if(!e.ctrlKey||e.altKey)break;case 38:return this.$activeOption&&(this.ignoreHover=!0,($prev=this.getAdjacentOption(this.$activeOption,-1)).length&&this.setActiveOption($prev,!0,!0)),void e.preventDefault();case 13:return void(this.isOpen&&this.$activeOption&&(this.onOptionSelect({currentTarget:this.$activeOption}),e.preventDefault()));case 37:return void this.advanceSelection(-1,e);case 39:return void this.advanceSelection(1,e);case 9:return this.settings.selectOnTab&&this.isOpen&&this.$activeOption&&(this.onOptionSelect({currentTarget:this.$activeOption}),this.isFull()||e.preventDefault()),void(this.settings.create&&this.createItem()&&e.preventDefault());case 8:case 46:return void this.deleteSelection(e)}!this.isFull()&&!this.isInputHidden||(IS_MAC?e.metaKey:e.ctrlKey)||e.preventDefault()}},onKeyUp:function(value){if(this.isLocked)return value&&value.preventDefault();value=this.$control_input.val()||"";this.lastValue!==value&&(this.lastValue=value,this.onSearchChange(value),this.refreshOptions(),this.trigger("type",value))},onSearchChange:function(value){var self=this,fn=self.settings.load;fn&&(self.loadedSearches.hasOwnProperty(value)||(self.loadedSearches[value]=!0,self.load(function(callback){fn.apply(self,[value,callback])})))},onFocus:function(e){var wasFocused=this.isFocused;if(this.isDisabled)return this.blur(),e&&e.preventDefault(),!1;this.ignoreFocus||(this.isFocused=!0,"focus"===this.settings.preload&&this.onSearchChange(""),wasFocused||this.trigger("focus"),this.$activeItems.length||(this.showInput(),this.setActiveItem(null),this.refreshOptions(!!this.settings.openOnFocus)),this.refreshState())},onBlur:function(deactivate,dest){var self=this;if(self.isFocused&&(self.isFocused=!1,!self.ignoreFocus)){if(!self.ignoreBlur&&document.activeElement===self.$dropdown_content[0])return self.ignoreBlur=!0,void self.onFocus(deactivate);deactivate=function(){self.close(),self.setTextboxValue(""),self.setActiveItem(null),self.setActiveOption(null),self.setCaret(self.items.length),self.refreshState(),dest&&dest.focus&&dest.focus(),self.isBlurring=!1,self.ignoreFocus=!1,self.trigger("blur")};self.isBlurring=!0,self.ignoreFocus=!0,self.settings.create&&self.settings.createOnBlur?self.createItem(null,!1,deactivate):deactivate()}},onOptionHover:function(e){this.ignoreHover||this.setActiveOption(e.currentTarget,!1)},onOptionSelect:function(e){var value,self=this;e.preventDefault&&(e.preventDefault(),e.stopPropagation()),(value=$(e.currentTarget)).hasClass("create")?self.createItem(null,function(){self.settings.closeAfterSelect&&self.close()}):void 0!==(value=value.attr("data-value"))&&(self.lastQuery=null,self.setTextboxValue(""),self.addItem(value),self.settings.closeAfterSelect?self.close():!self.settings.hideSelected&&e.type&&/mouse/.test(e.type)&&self.setActiveOption(self.getOption(value)))},onItemSelect:function(e){this.isLocked||"multi"===this.settings.mode&&(e.preventDefault(),this.setActiveItem(e.currentTarget,e))},load:function(fn){var self=this,$wrapper=self.$wrapper.addClass(self.settings.loadingClass);self.loading++,fn.apply(self,[function(results){self.loading=Math.max(self.loading-1,0),results&&results.length&&(self.addOption(results),self.refreshOptions(self.isFocused&&!self.isInputHidden)),self.loading||$wrapper.removeClass(self.settings.loadingClass),self.trigger("load",results)}])},getTextboxValue:function(){return this.$control_input.val()},setTextboxValue:function(value){var $input=this.$control_input;$input.val()!==value&&($input.val(value).triggerHandler("update"),this.lastValue=value)},getValue:function(){return 1===this.tagType&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(value,silent){debounce_events(this,silent?[]:["change"],function(){this.clear(silent),this.addItems(value,silent)})},setMaxItems:function(value){0===value&&(value=null),this.settings.maxItems=value,this.settings.mode=this.settings.mode||(1===this.settings.maxItems?"single":"multi"),this.refreshState()},setActiveItem:function($item,e){var i,idx,begin,end,item,swap;if("single"!==this.settings.mode){if(!($item=$($item)).length)return $(this.$activeItems).removeClass("active"),this.$activeItems=[],void(this.isFocused&&this.showInput());if("mousedown"===(idx=e&&e.type.toLowerCase())&&this.isShiftDown&&this.$activeItems.length){for(swap=this.$control.children(".active:last"),begin=Array.prototype.indexOf.apply(this.$control[0].childNodes,[swap[0]]),(end=Array.prototype.indexOf.apply(this.$control[0].childNodes,[$item[0]]))<begin&&(swap=begin,begin=end,end=swap),i=begin;i<=end;i++)item=this.$control[0].childNodes[i],-1===this.$activeItems.indexOf(item)&&($(item).addClass("active"),this.$activeItems.push(item));e.preventDefault()}else"mousedown"===idx&&this.isCtrlDown||"keydown"===idx&&this.isShiftDown?$item.hasClass("active")?(idx=this.$activeItems.indexOf($item[0]),this.$activeItems.splice(idx,1),$item.removeClass("active")):this.$activeItems.push($item.addClass("active")[0]):($(this.$activeItems).removeClass("active"),this.$activeItems=[$item.addClass("active")[0]]);this.hideInput(),this.isFocused||this.focus()}},setActiveOption:function(scroll_bottom,scroll,animate){var height_menu,height_item,y,scroll_top;this.$activeOption&&(this.$activeOption.removeClass("active"),this.trigger("dropdown_item_deactivate",this.$activeOption.attr("data-value"))),this.$activeOption=null,(scroll_bottom=$(scroll_bottom)).length&&(this.$activeOption=scroll_bottom.addClass("active"),this.isOpen&&this.trigger("dropdown_item_activate",this.$activeOption.attr("data-value")),!scroll&&isset(scroll)||(height_menu=this.$dropdown_content.height(),height_item=this.$activeOption.outerHeight(!0),scroll=this.$dropdown_content.scrollTop()||0,scroll_bottom=(scroll_top=y=this.$activeOption.offset().top-this.$dropdown_content.offset().top+scroll)-height_menu+height_item,height_menu+scroll<y+height_item?this.$dropdown_content.stop().animate({scrollTop:scroll_bottom},animate?this.settings.scrollDuration:0):y<scroll&&this.$dropdown_content.stop().animate({scrollTop:scroll_top},animate?this.settings.scrollDuration:0)))},selectAll:function(){"single"!==this.settings.mode&&(this.$activeItems=Array.prototype.slice.apply(this.$control.children(":not(input)").addClass("active")),this.$activeItems.length&&(this.hideInput(),this.close()),this.focus())},hideInput:function(){this.setTextboxValue(""),this.$control_input.css({opacity:0,position:"absolute",left:this.rtl?1e4:-1e4}),this.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(){var self=this;return self.isDisabled||(self.ignoreFocus=!0,self.$control_input[0].focus(),window.setTimeout(function(){self.ignoreFocus=!1,self.onFocus()},0)),self},blur:function(dest){return this.$control_input[0].blur(),this.onBlur(null,dest),this},getScoreFunction:function(query){return this.sifter.getScoreFunction(query,this.getSearchOptions())},getSearchOptions:function(){var settings=this.settings,sort=settings.sortField;return"string"==typeof sort&&(sort=[{field:sort}]),{fields:settings.searchField,conjunction:settings.searchConjunction,sort:sort,nesting:settings.nesting}},search:function(query){var i,result,calculateScore,settings=this.settings,options=this.getSearchOptions();if(settings.score&&"function"!=typeof(calculateScore=this.settings.score.apply(this,[query])))throw new Error('Selectize "score" setting must be a function that returns a function');if(query!==this.lastQuery?(this.lastQuery=query,result=this.sifter.search(query,$.extend(options,{score:calculateScore})),this.currentResults=result):result=$.extend(!0,{},this.currentResults),settings.hideSelected)for(i=result.items.length-1;0<=i;i--)-1!==this.items.indexOf(hash_key(result.items[i].id))&&result.items.splice(i,1);return result},refreshOptions:function(triggerDropdown){var i,j,k,groups,groups_order,option,option_html,optgroup,optgroups,html,html_children,has_create_option,$active,$create;void 0===triggerDropdown&&(triggerDropdown=!0);var d,tmp,self=this,query=$.trim(self.$control_input.val()),results=self.search(query),$dropdown_content=self.$dropdown_content,$active_before=self.$activeOption&&hash_key(self.$activeOption.attr("data-value")),n=results.items.length;for("number"==typeof self.settings.maxOptions&&(n=Math.min(n,self.settings.maxOptions)),groups={},groups_order=[],i=0;i<n;i++)for(option=self.options[results.items[i].id],option_html=self.render("option",option),optgroup=option[self.settings.optgroupField]||"",j=0,k=(optgroups=$.isArray(optgroup)?optgroup:[optgroup])&&optgroups.length;j<k;j++)optgroup=optgroups[j],self.optgroups.hasOwnProperty(optgroup)||(optgroup=""),groups.hasOwnProperty(optgroup)||(groups[optgroup]=document.createDocumentFragment(),groups_order.push(optgroup)),groups[optgroup].appendChild(option_html);for(this.settings.lockOptgroupOrder&&groups_order.sort(function(a,b){return(self.optgroups[a]&&self.optgroups[a].$order||0)-(self.optgroups[b]&&self.optgroups[b].$order||0)}),html=document.createDocumentFragment(),i=0,n=groups_order.length;i<n;i++)optgroup=groups_order[i],self.optgroups.hasOwnProperty(optgroup)&&groups[optgroup].childNodes.length?((html_children=document.createDocumentFragment()).appendChild(self.render("optgroup_header",self.optgroups[optgroup])),html_children.appendChild(groups[optgroup]),html.appendChild(self.render("optgroup",$.extend({},self.optgroups[optgroup],{html:(d=html_children,tmp=void 0,(tmp=document.createElement("div")).appendChild(d.cloneNode(!0)),tmp.innerHTML),dom:html_children})))):html.appendChild(groups[optgroup]);if($dropdown_content.html(html),self.settings.highlight&&($dropdown_content.removeHighlight(),results.query.length&&results.tokens.length))for(i=0,n=results.tokens.length;i<n;i++)!function($element,pattern){if("string"!=typeof pattern||pattern.length){var regex="string"==typeof pattern?new RegExp(pattern,"i"):pattern,highlight=function(node){var skip=0;if(3===node.nodeType){var spannode,middleclone,middlebit=node.data.search(regex);0<=middlebit&&0<node.data.length&&(middleclone=node.data.match(regex),(spannode=document.createElement("span")).className="highlight",(middlebit=node.splitText(middlebit)).splitText(middleclone[0].length),middleclone=middlebit.cloneNode(!0),spannode.appendChild(middleclone),middlebit.parentNode.replaceChild(spannode,middlebit),skip=1)}else if(1===node.nodeType&&node.childNodes&&!/(script|style)/i.test(node.tagName)&&("highlight"!==node.className||"SPAN"!==node.tagName))for(var i=0;i<node.childNodes.length;++i)i+=highlight(node.childNodes[i]);return skip};$element.each(function(){highlight(this)})}}($dropdown_content,results.tokens[i].regex);if(!self.settings.hideSelected)for(self.$dropdown.find(".selected").removeClass("selected"),i=0,n=self.items.length;i<n;i++)self.getOption(self.items[i]).addClass("selected");(has_create_option=self.canCreate(query))&&($dropdown_content.prepend(self.render("option_create",{input:query})),$create=$($dropdown_content[0].childNodes[0])),self.hasOptions=0<results.items.length||has_create_option,self.hasOptions?(0<results.items.length?(($active_before=$active_before&&self.getOption($active_before))&&$active_before.length?$active=$active_before:"single"===self.settings.mode&&self.items.length&&($active=self.getOption(self.items[0])),$active&&$active.length||($active=$create&&!self.settings.addPrecedence?self.getAdjacentOption($create,1):$dropdown_content.find("[data-selectable]:first"))):$active=$create,self.setActiveOption($active),triggerDropdown&&!self.isOpen&&self.open()):(self.setActiveOption(null),triggerDropdown&&self.isOpen&&self.close())},addOption:function(data){var i,n,value;if($.isArray(data))for(i=0,n=data.length;i<n;i++)this.addOption(data[i]);else(value=this.registerOption(data))&&(this.userOptions[value]=!0,this.lastQuery=null,this.trigger("option_add",value,data))},registerOption:function(data){var key=hash_key(data[this.settings.valueField]);return null!=key&&!this.options.hasOwnProperty(key)&&(data.$order=data.$order||++this.order,this.options[key]=data,key)},registerOptionGroup:function(data){var key=hash_key(data[this.settings.optgroupValueField]);return!!key&&(data.$order=data.$order||++this.order,this.optgroups[key]=data,key)},addOptionGroup:function(id,data){data[this.settings.optgroupValueField]=id,(id=this.registerOptionGroup(data))&&this.trigger("optgroup_add",id,data)},removeOptionGroup:function(id){this.optgroups.hasOwnProperty(id)&&(delete this.optgroups[id],this.renderCache={},this.trigger("optgroup_remove",id))},clearOptionGroups:function(){this.optgroups={},this.renderCache={},this.trigger("optgroup_clear")},updateOption:function($item,$item_new){var value_new,cache_items,cache_options;if($item=hash_key($item),value_new=hash_key($item_new[this.settings.valueField]),null!==$item&&this.options.hasOwnProperty($item)){if("string"!=typeof value_new)throw new Error("Value must be set in option data");cache_options=this.options[$item].$order,value_new!==$item&&(delete this.options[$item],-1!==(cache_items=this.items.indexOf($item))&&this.items.splice(cache_items,1,value_new)),$item_new.$order=$item_new.$order||cache_options,this.options[value_new]=$item_new,cache_items=this.renderCache.item,cache_options=this.renderCache.option,cache_items&&(delete cache_items[$item],delete cache_items[value_new]),cache_options&&(delete cache_options[$item],delete cache_options[value_new]),-1!==this.items.indexOf(value_new)&&($item=this.getItem($item),$item_new=$(this.render("item",$item_new)),$item.hasClass("active")&&$item_new.addClass("active"),$item.replaceWith($item_new)),this.lastQuery=null,this.isOpen&&this.refreshOptions(!1)}},removeOption:function(value,silent){value=hash_key(value);var cache_items=this.renderCache.item,cache_options=this.renderCache.option;cache_items&&delete cache_items[value],cache_options&&delete cache_options[value],delete this.userOptions[value],delete this.options[value],this.lastQuery=null,this.trigger("option_remove",value),this.removeItem(value,silent)},clearOptions:function(silent){var self=this;self.loadedSearches={},self.userOptions={},self.renderCache={};var options=self.options;$.each(self.options,function(key,value){-1==self.items.indexOf(key)&&delete options[key]}),self.options=self.sifter.items=options,self.lastQuery=null,self.trigger("option_clear"),self.clear(silent)},getOption:function(value){return this.getElementWithValue(value,this.$dropdown_content.find("[data-selectable]"))},getAdjacentOption:function($option,index){var $options=this.$dropdown.find("[data-selectable]"),index=$options.index($option)+index;return 0<=index&&index<$options.length?$options.eq(index):$()},getElementWithValue:function(value,$els){if(null!=(value=hash_key(value)))for(var i=0,n=$els.length;i<n;i++)if($els[i].getAttribute("data-value")===value)return $($els[i]);return $()},getElementWithTextContent:function(textContent,ignoreCase,$els){if(null!=(textContent=hash_key(textContent)))for(var i=0,n=$els.length;i<n;i++){var eleTextContent=$els[i].textContent;if(1==ignoreCase&&(eleTextContent=null!==eleTextContent?eleTextContent.toLowerCase():null,textContent=textContent.toLowerCase()),eleTextContent===textContent)return $($els[i])}return $()},getItem:function(value){return this.getElementWithValue(value,this.$control.children())},getFirstItemMatchedByTextContent:function(textContent,ignoreCase){return ignoreCase=null!==ignoreCase&&!0===ignoreCase,this.getElementWithTextContent(textContent,ignoreCase,this.$dropdown_content.find("[data-selectable]"))},addItems:function(control,silent){this.buffer=document.createDocumentFragment();for(var childNodes=this.$control[0].childNodes,i=0;i<childNodes.length;i++)this.buffer.appendChild(childNodes[i]);for(var items=$.isArray(control)?control:[control],i=0,n=items.length;i<n;i++)this.isPending=i<n-1,this.addItem(items[i],silent);control=this.$control[0];control.insertBefore(this.buffer,control.firstChild),this.buffer=null},addItem:function(value,silent){debounce_events(this,silent?[]:["change"],function(){var $item,$options,value_next,inputMode=this.settings.mode;value=hash_key(value),-1===this.items.indexOf(value)?this.options.hasOwnProperty(value)&&("single"===inputMode&&this.clear(silent),"multi"===inputMode&&this.isFull()||($item=$(this.render("item",this.options[value])),value_next=this.isFull(),this.items.splice(this.caretPos,0,value),this.insertAtCaret($item),this.isPending&&(value_next||!this.isFull())||this.refreshState(),this.isSetup&&($options=this.$dropdown_content.find("[data-selectable]"),this.isPending||(value_next=this.getOption(value),value_next=this.getAdjacentOption(value_next,1).attr("data-value"),this.refreshOptions(this.isFocused&&"single"!==inputMode),value_next&&this.setActiveOption(this.getOption(value_next))),!$options.length||this.isFull()?this.close():this.isPending||this.positionDropdown(),this.updatePlaceholder(),this.trigger("item_add",value,$item),this.isPending||this.updateOriginalInput({silent:silent})))):"single"===inputMode&&this.close()})},removeItem:function(value,silent){var i,idx,$item=value instanceof $?value:this.getItem(value);value=hash_key($item.attr("data-value")),-1!==(i=this.items.indexOf(value))&&(this.trigger("item_before_remove",value,$item),$item.remove(),$item.hasClass("active")&&(idx=this.$activeItems.indexOf($item[0]),this.$activeItems.splice(idx,1)),this.items.splice(i,1),this.lastQuery=null,!this.settings.persist&&this.userOptions.hasOwnProperty(value)&&this.removeOption(value,silent),i<this.caretPos&&this.setCaret(this.caretPos-1),this.refreshState(),this.updatePlaceholder(),this.updateOriginalInput({silent:silent}),this.positionDropdown(),this.trigger("item_remove",value,$item))},createItem:function(output,triggerDropdown){var self=this,caret=self.caretPos;output=output||$.trim(self.$control_input.val()||"");var callback=arguments[arguments.length-1];if("function"!=typeof callback&&(callback=function(){}),"boolean"!=typeof triggerDropdown&&(triggerDropdown=!0),!self.canCreate(output))return callback(),!1;self.lock();var fn,called,setup="function"==typeof self.settings.create?this.settings.create:function(input){var data={};return data[self.settings.labelField]=input,data[self.settings.valueField]=input,data},create=(called=!(fn=function(data){if(self.unlock(),!data||"object"!=typeof data)return callback();var value=hash_key(data[self.settings.valueField]);if("string"!=typeof value)return callback();self.setTextboxValue(""),self.addOption(data),self.setCaret(caret),self.addItem(value),self.refreshOptions(triggerDropdown&&"single"!==self.settings.mode),callback(data)}),function(){called||(called=!0,fn.apply(this,arguments))}),output=setup.apply(this,[output,create]);return void 0!==output&&create(output),!0},refreshItems:function(){this.lastQuery=null,this.isSetup&&this.addItem(this.items),this.refreshState(),this.updateOriginalInput()},refreshState:function(){this.refreshValidityState(),this.refreshClasses()},refreshValidityState:function(){if(!this.isRequired)return!1;var invalid=!this.items.length;this.isInvalid=invalid,this.$control_input.prop("required",invalid),this.$input.prop("required",!invalid)},refreshClasses:function(){var isFull=this.isFull(),isLocked=this.isLocked;this.$wrapper.toggleClass("rtl",this.rtl),this.$control.toggleClass("focus",this.isFocused).toggleClass("disabled",this.isDisabled).toggleClass("required",this.isRequired).toggleClass("invalid",this.isInvalid).toggleClass("locked",isLocked).toggleClass("full",isFull).toggleClass("not-full",!isFull).toggleClass("input-active",this.isFocused&&!this.isInputHidden).toggleClass("dropdown-active",this.isOpen).toggleClass("has-options",!$.isEmptyObject(this.options)).toggleClass("has-items",0<this.items.length),this.$control_input.data("grow",!isFull&&!isLocked)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(opts){var i,n,options,label;if(opts=opts||{},1===this.tagType){for(options=[],i=0,n=this.items.length;i<n;i++)label=this.options[this.items[i]][this.settings.labelField]||"",options.push('<option value="'+escape_html(this.items[i])+'" selected="selected">'+escape_html(label)+"</option>");options.length||this.$input.attr("multiple")||options.push('<option value="" selected="selected"></option>'),this.$input.html(options.join(""))}else this.$input.val(this.getValue()),this.$input.attr("value",this.$input.val());this.isSetup&&(opts.silent||this.trigger("change",this.$input.val()))},updatePlaceholder:function(){var $input;this.settings.placeholder&&($input=this.$control_input,this.items.length?$input.removeAttr("placeholder"):$input.attr("placeholder",this.settings.placeholder),$input.triggerHandler("update",{force:!0}))},open:function(){this.isLocked||this.isOpen||"multi"===this.settings.mode&&this.isFull()||(this.focus(),this.isOpen=!0,this.refreshState(),this.$dropdown.css({visibility:"hidden",display:"block"}),this.positionDropdown(),this.$dropdown.css({visibility:"visible"}),this.trigger("dropdown_open",this.$dropdown))},close:function(){var trigger=this.isOpen;"single"===this.settings.mode&&this.items.length&&(this.hideInput(),this.isBlurring&&this.$control_input.blur()),this.isOpen=!1,this.$dropdown.hide(),this.setActiveOption(null),this.refreshState(),trigger&&this.trigger("dropdown_close",this.$dropdown)},positionDropdown:function(){var $control=this.$control,offset="body"===this.settings.dropdownParent?$control.offset():$control.position();offset.top+=$control.outerHeight(!0),this.$dropdown.css({width:$control[0].getBoundingClientRect().width,top:offset.top,left:offset.left})},clear:function(silent){this.items.length&&(this.$control.children(":not(input)").remove(),this.items=[],this.lastQuery=null,this.setCaret(0),this.setActiveItem(null),this.updatePlaceholder(),this.updateOriginalInput({silent:silent}),this.refreshState(),this.showInput(),this.trigger("clear"))},insertAtCaret:function(target){var caret=Math.min(this.caretPos,this.items.length),el=target[0],target=this.buffer||this.$control[0];0===caret?target.insertBefore(el,target.firstChild):target.insertBefore(el,target.childNodes[caret]),this.setCaret(caret+1)},deleteSelection:function(e){var i,n,values,option_select,$option_select,caret,direction=e&&8===e.keyCode?-1:1,selection=getSelection(this.$control_input[0]);if(this.$activeOption&&!this.settings.hideSelected&&(option_select=this.getAdjacentOption(this.$activeOption,-1).attr("data-value")),values=[],this.$activeItems.length){for(caret=this.$control.children(".active:"+(0<direction?"last":"first")),caret=this.$control.children(":not(input)").index(caret),0<direction&&caret++,i=0,n=this.$activeItems.length;i<n;i++)values.push($(this.$activeItems[i]).attr("data-value"));e&&(e.preventDefault(),e.stopPropagation())}else(this.isFocused||"single"===this.settings.mode)&&this.items.length&&(direction<0&&0===selection.start&&0===selection.length?values.push(this.items[this.caretPos-1]):0<direction&&selection.start===this.$control_input.val().length&&values.push(this.items[this.caretPos]));if(!values.length||"function"==typeof this.settings.onDelete&&!1===this.settings.onDelete.apply(this,[values]))return!1;for(void 0!==caret&&this.setCaret(caret);values.length;)this.removeItem(values.pop());return this.showInput(),this.positionDropdown(),this.refreshOptions(!0),option_select&&($option_select=this.getOption(option_select)).length&&this.setActiveOption($option_select),!0},advanceSelection:function(direction,e){var selection,valueLength,idx;0!==direction&&(this.rtl&&(direction*=-1),idx=0<direction?"last":"first",selection=getSelection(this.$control_input[0]),this.isFocused&&!this.isInputHidden?(valueLength=this.$control_input.val().length,(direction<0?0!==selection.start||0!==selection.length:selection.start!==valueLength)||valueLength||this.advanceCaret(direction,e)):(idx=this.$control.children(".active:"+idx)).length&&(idx=this.$control.children(":not(input)").index(idx),this.setActiveItem(null),this.setCaret(0<direction?idx+1:idx)))},advanceCaret:function(direction,e){var $adj;0!==direction&&($adj=0<direction?"next":"prev",this.isShiftDown?($adj=this.$control_input[$adj]()).length&&(this.hideInput(),this.setActiveItem($adj),e&&e.preventDefault()):this.setCaret(this.caretPos+direction))},setCaret:function(i){if(i="single"===this.settings.mode?this.items.length:Math.max(0,Math.min(this.items.length,i)),!this.isPending)for(var $child,$children=this.$control.children(":not(input)"),j=0,n=$children.length;j<n;j++)$child=$($children[j]).detach(),j<i?this.$control_input.before($child):this.$control.append($child);this.caretPos=i},lock:function(){this.close(),this.isLocked=!0,this.refreshState()},unlock:function(){this.isLocked=!1,this.refreshState()},disable:function(){this.$input.prop("disabled",!0),this.$control_input.prop("disabled",!0).prop("tabindex",-1),this.isDisabled=!0,this.lock()},enable:function(){this.$input.prop("disabled",!1),this.$control_input.prop("disabled",!1).prop("tabindex",this.tabIndex),this.isDisabled=!1,this.unlock()},destroy:function(){var eventNS=this.eventNS,revertSettings=this.revertSettings;this.trigger("destroy"),this.off(),this.$wrapper.remove(),this.$dropdown.remove(),this.$input.html("").append(revertSettings.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:revertSettings.tabindex}).show(),this.$control_input.removeData("grow"),this.$input.removeData("selectize"),0==--Selectize.count&&Selectize.$testInput&&(Selectize.$testInput.remove(),Selectize.$testInput=void 0),$(window).off(eventNS),$(document).off(eventNS),$(document.body).off(eventNS),delete this.$input[0].selectize},render:function(templateName,data){var value,id,html="",cache=!1;return(cache="option"===templateName||"item"===templateName?!!(value=hash_key(data[this.settings.valueField])):cache)&&(isset(this.renderCache[templateName])||(this.renderCache[templateName]={}),this.renderCache[templateName].hasOwnProperty(value))?this.renderCache[templateName][value]:(html=$(this.settings.render[templateName].apply(this,[data,escape_html])),"option"===templateName||"option_create"===templateName?data[this.settings.disabledField]||html.attr("data-selectable",""):"optgroup"===templateName&&(id=data[this.settings.optgroupValueField]||"",html.attr("data-group",id),data[this.settings.disabledField]&&html.attr("data-disabled","")),"option"!==templateName&&"item"!==templateName||html.attr("data-value",value||""),cache&&(this.renderCache[templateName][value]=html[0]),html[0])},clearCache:function(templateName){void 0===templateName?this.renderCache={}:delete this.renderCache[templateName]},canCreate:function(input){if(!this.settings.create)return!1;var filter=this.settings.createFilter;return input.length&&("function"!=typeof filter||filter.apply(this,[input]))&&("string"!=typeof filter||new RegExp(filter).test(input))&&(!(filter instanceof RegExp)||filter.test(input))}}),Selectize.count=0,Selectize.defaults={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:!1,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:!1,selectOnTab:!0,preload:!1,allowEmptyOption:!1,closeAfterSelect:!1,scrollDuration:60,loadThrottle:300,loadingClass:"loading",dataAttr:"data-data",optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,copyClassesToDropdown:!0,render:{}},$.fn.selectize=function(settings_user){function init_select($input,settings_element){function readData(data){return"string"==typeof(data=attr_data&&data.attr(attr_data))&&data.length?JSON.parse(data):null}function addOption($option,group){$option=$($option);var option,value=hash_key($option.val());(value||settings.allowEmptyOption)&&(optionsMap.hasOwnProperty(value)?group&&((option=optionsMap[value][field_optgroup])?$.isArray(option)?option.push(group):optionsMap[value][field_optgroup]=[option,group]:optionsMap[value][field_optgroup]=group):((option=readData($option)||{})[field_label]=option[field_label]||$option.text(),option[field_value]=option[field_value]||value,option[field_disabled]=option[field_disabled]||$option.prop("disabled"),option[field_optgroup]=option[field_optgroup]||group,optionsMap[value]=option,options.push(option),$option.is(":selected")&&settings_element.items.push(value)))}var i,n,tagName,$children,options=settings_element.options,optionsMap={};for(settings_element.maxItems=$input.attr("multiple")?null:1,i=0,n=($children=$input.children()).length;i<n;i++)"optgroup"===(tagName=$children[i].tagName.toLowerCase())?function($optgroup){var i,n,id,optgroup,$options;for((id=($optgroup=$($optgroup)).attr("label"))&&((optgroup=readData($optgroup)||{})[field_optgroup_label]=id,optgroup[field_optgroup_value]=id,optgroup[field_disabled]=$optgroup.prop("disabled"),settings_element.optgroups.push(optgroup)),i=0,n=($options=$("option",$optgroup)).length;i<n;i++)addOption($options[i],id)}($children[i]):"option"===tagName&&addOption($children[i])}var defaults=$.fn.selectize.defaults,settings=$.extend({},defaults,settings_user),attr_data=settings.dataAttr,field_label=settings.labelField,field_value=settings.valueField,field_disabled=settings.disabledField,field_optgroup=settings.optgroupField,field_optgroup_label=settings.optgroupLabelField,field_optgroup_value=settings.optgroupValueField;return this.each(function(){var $input,tag_name,settings_element;this.selectize||($input=$(this),tag_name=this.tagName.toLowerCase(),settings_element={placeholder:settings_element=!(settings_element=$input.attr("placeholder")||$input.attr("data-placeholder"))&&!settings.allowEmptyOption?$input.children('option[value=""]').text():settings_element,options:[],optgroups:[],items:[]},("select"===tag_name?init_select:function(value,settings_element){var i,n,values,option,data_raw=value.attr(attr_data);if(data_raw)for(settings_element.options=JSON.parse(data_raw),i=0,n=settings_element.options.length;i<n;i++)settings_element.items.push(settings_element.options[i][field_value]);else{value=$.trim(value.val()||"");if(settings.allowEmptyOption||value.length){for(i=0,n=(values=value.split(settings.delimiter)).length;i<n;i++)(option={})[field_label]=values[i],option[field_value]=values[i],settings_element.options.push(option);settings_element.items=values}}})($input,settings_element),new Selectize($input,$.extend(!0,{},defaults,settings_element,settings_user)))})},$.fn.selectize.defaults=Selectize.defaults,$.fn.selectize.support={validity:SUPPORTS_VALIDITY_API},Selectize.define("auto_select_on_type",function(options){var originalBlur,self=this;self.onBlur=(originalBlur=self.onBlur,function(e){var $matchedItem=self.getFirstItemMatchedByTextContent(self.lastValue,!0);return void 0!==$matchedItem.attr("data-value")&&self.getValue()!==$matchedItem.attr("data-value")&&self.setValue($matchedItem.attr("data-value")),originalBlur.apply(this,arguments)})}),Selectize.define("autofill_disable",function(options){var original,self=this;self.setup=(original=self.setup,function(){original.apply(self,arguments),self.$control_input.attr({autocomplete:"new-password",autofill:"no"})})}),Selectize.define("drag_drop",function(options){if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');var self,original;"multi"===this.settings.mode&&((self=this).lock=(original=self.lock,function(){var sortable=self.$control.data("sortable");return sortable&&sortable.disable(),original.apply(self,arguments)}),self.unlock=function(){var original=self.unlock;return function(){var sortable=self.$control.data("sortable");return sortable&&sortable.enable(),original.apply(self,arguments)}}(),self.setup=function(){var original=self.setup;return function(){original.apply(this,arguments);var $control=self.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:self.isLocked,start:function(e,ui){ui.placeholder.css("width",ui.helper.css("width")),$control.css({overflow:"visible"})},stop:function(){$control.css({overflow:"hidden"});var active=self.$activeItems?self.$activeItems.slice():null,values=[];$control.children("[data-value]").each(function(){values.push($(this).attr("data-value"))}),self.setValue(values),self.setActiveItem(active)}})}}())}),Selectize.define("dropdown_header",function(options){var original,self=this;options=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(data){return'<div class="'+data.headerClass+'"><div class="'+data.titleRowClass+'"><span class="'+data.labelClass+'">'+data.title+'</span><a href="javascript:void(0)" class="'+data.closeClass+'">&times;</a></div></div>'}},options),self.setup=(original=self.setup,function(){original.apply(self,arguments),self.$dropdown_header=$(options.html(options)),self.$dropdown.prepend(self.$dropdown_header)})}),Selectize.define("optgroup_columns",function(options){var original,self=this;options=$.extend({equalizeWidth:!0,equalizeHeight:!0},options),this.getAdjacentOption=function($option,index){var $options=$option.closest("[data-group]").find("[data-selectable]"),index=$options.index($option)+index;return 0<=index&&index<$options.length?$options.eq(index):$()},this.onKeyDown=(original=self.onKeyDown,function(e){var $option,$options;return!this.isOpen||37!==e.keyCode&&39!==e.keyCode?original.apply(this,arguments):(self.ignoreHover=!0,$option=($options=this.$activeOption.closest("[data-group]")).find("[data-selectable]").index(this.$activeOption),void(($option=($options=($options=37===e.keyCode?$options.prev("[data-group]"):$options.next("[data-group]")).find("[data-selectable]")).eq(Math.min($options.length-1,$option))).length&&this.setActiveOption($option)))});function equalizeSizes(){var i,height_max,width_last,width_parent,$optgroups=$("[data-group]",self.$dropdown_content),n=$optgroups.length;if(n&&self.$dropdown_content.width()){if(options.equalizeHeight){for(i=height_max=0;i<n;i++)height_max=Math.max(height_max,$optgroups.eq(i).height());$optgroups.css({height:height_max})}options.equalizeWidth&&(width_parent=self.$dropdown_content.innerWidth()-getScrollbarWidth(),width_last=Math.round(width_parent/n),$optgroups.css({width:width_last}),1<n&&(width_last=width_parent-width_last*(n-1),$optgroups.eq(n-1).css({width:width_last})))}}var getScrollbarWidth=function(){var div,width=getScrollbarWidth.width,doc=document;return void 0===width&&((div=doc.createElement("div")).innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>',div=div.firstChild,doc.body.appendChild(div),width=getScrollbarWidth.width=div.offsetWidth-div.clientWidth,doc.body.removeChild(div)),width};(options.equalizeHeight||options.equalizeWidth)&&(hook.after(this,"positionDropdown",equalizeSizes),hook.after(this,"refreshOptions",equalizeSizes))}),Selectize.define("remove_button",function(options){options=$.extend({label:"&times;",title:"Remove",className:"remove",append:!0},options);("single"===this.settings.mode?function(thisRef,options){options.className="remove-single";var original,self=thisRef,html='<a href="javascript:void(0)" class="'+options.className+'" tabindex="-1" title="'+escape_html(options.title)+'">'+options.label+"</a>";thisRef.setup=(original=self.setup,function(){var id,render_item;options.append&&(id=$(self.$input.context).attr("id"),$("#"+id),render_item=self.settings.render.item,self.settings.render.item=function(data){return html_container=render_item.apply(thisRef,arguments),html_element=html,$("<span>").append(html_container).append(html_element);var html_container,html_element}),original.apply(thisRef,arguments),thisRef.$control.on("click","."+options.className,function(e){e.preventDefault(),self.isLocked||self.clear()})})}:function(thisRef,options){var original,self=thisRef,html='<a href="javascript:void(0)" class="'+options.className+'" tabindex="-1" title="'+escape_html(options.title)+'">'+options.label+"</a>";thisRef.setup=(original=self.setup,function(){var render_item;options.append&&(render_item=self.settings.render.item,self.settings.render.item=function(data){return html_container=render_item.apply(thisRef,arguments),html_element=html,pos=html_container.search(/(<\/[^>]+>\s*)$/),html_container.substring(0,pos)+html_element+html_container.substring(pos);var html_container,html_element,pos}),original.apply(thisRef,arguments),thisRef.$control.on("click","."+options.className,function($item){if($item.preventDefault(),!self.isLocked){$item=$($item.currentTarget).parent();return self.setActiveItem($item),self.deleteSelection()&&self.setCaret(self.items.length),!1}})})})(this,options)}),Selectize.define("restore_on_backspace",function(options){var original,self=this;options.text=options.text||function(option){return option[this.settings.labelField]},this.onKeyDown=(original=self.onKeyDown,function(e){var option;return 8===e.keyCode&&""===this.$control_input.val()&&!this.$activeItems.length&&0<=(option=this.caretPos-1)&&option<this.items.length?(option=this.options[this.items[option]],this.deleteSelection(e)&&(this.setTextboxValue(options.text.apply(this,[option])),this.refreshOptions(!0)),void e.preventDefault()):original.apply(this,arguments)})}),Selectize.define("select_on_focus",function(options){var originalFocus,originalBlur,self=this;self.on("focus",(originalFocus=self.onFocus,function(e){var value=self.getItem(self.getValue()).text();return self.clear(),self.setTextboxValue(value),self.$control_input.select(),setTimeout(function(){self.settings.selectOnTab&&self.setActiveOption(self.getFirstItemMatchedByTextContent(value)),self.settings.score=null},0),originalFocus.apply(this,arguments)})),self.onBlur=(originalBlur=self.onBlur,function(e){return""===self.getValue()&&self.lastValidValue!==self.getValue()&&self.setValue(self.lastValidValue),setTimeout(function(){self.settings.score=function(){return function(){return 1}}},0),originalBlur.apply(this,arguments)}),self.settings.score=function(){return function(){return 1}}}),Selectize});
// source --> https://crazywhiz.co.in/wp-content/plugins/usp-pro/js/parsley.min.js?ver=4.6 
// Parsley.js-2.9.2
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):(t=t||self).parsley=e(t.jQuery)}(this,function(h){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(){return(l=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var i=[],r=!0,n=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){n=!0,s=t}finally{try{r||null==o.return||o.return()}finally{if(n)throw s}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var t=1,e={},d={attr:function(t,e,i){var r,n,s,a=new RegExp("^"+e,"i");if(void 0===i)i={};else for(r in i)i.hasOwnProperty(r)&&delete i[r];if(!t)return i;for(r=(s=t.attributes).length;r--;)(n=s[r])&&n.specified&&a.test(n.name)&&(i[this.camelize(n.name.slice(e.length))]=this.deserializeValue(n.value));return i},checkAttr:function(t,e,i){return t.hasAttribute(e+i)},setAttr:function(t,e,i,r){t.setAttribute(this.dasherize(e+i),String(r))},getType:function(t){return t.getAttribute("type")||"text"},generateID:function(){return""+t++},deserializeValue:function(e){var t;try{return e?"true"==e||"false"!=e&&("null"==e?null:isNaN(t=Number(e))?/^[\[\{]/.test(e)?JSON.parse(e):e:t):e}catch(t){return e}},camelize:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},dasherize:function(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()},warn:function(){var t;window.console&&"function"==typeof window.console.warn&&(t=window.console).warn.apply(t,arguments)},warnOnce:function(t){e[t]||(e[t]=!0,this.warn.apply(this,arguments))},_resetWarnings:function(){e={}},trimString:function(t){return t.replace(/^\s+|\s+$/g,"")},parse:{date:function(t){var e=t.match(/^(\d{4,})-(\d\d)-(\d\d)$/);if(!e)return null;var i=o(e.map(function(t){return parseInt(t,10)}),4),r=(i[0],i[1]),n=i[2],s=i[3],a=new Date(r,n-1,s);return a.getFullYear()!==r||a.getMonth()+1!==n||a.getDate()!==s?null:a},string:function(t){return t},integer:function(t){return isNaN(t)?null:parseInt(t,10)},number:function(t){if(isNaN(t))throw null;return parseFloat(t)},boolean:function(t){return!/^\s*false\s*$/i.test(t)},object:function(t){return d.deserializeValue(t)},regexp:function(t){var e="";return t=/^\/.*\/(?:[gimy]*)$/.test(t)?(e=t.replace(/.*\/([gimy]*)$/,"$1"),t.replace(new RegExp("^/(.*?)/"+e+"$"),"$1")):"^"+t+"$",new RegExp(t,e)}},parseRequirement:function(t,e){var i=this.parse[t||"string"];if(!i)throw'Unknown requirement specification: "'+t+'"';var r=i(e);if(null===r)throw"Requirement is not a ".concat(t,': "').concat(e,'"');return r},namespaceEvents:function(t,e){return(t=this.trimString(t||"").split(/\s+/))[0]?h.map(t,function(t){return"".concat(t,".").concat(e)}).join(" "):""},difference:function(t,i){var r=[];return h.each(t,function(t,e){-1==i.indexOf(e)&&r.push(e)}),r},all:function(t){return h.when.apply(h,u(t).concat([42,42]))},objectCreate:Object.create||function(t){if(1<arguments.length)throw Error("Second argument not supported");if("object"!=n(t))throw TypeError("Argument must be an object");i.prototype=t;var e=new i;return i.prototype=null,e},_SubmitSelector:'input[type="submit"], button:submit'};function i(){}function r(){this.__id__=d.generateID()}var s={namespace:"data-parsley-",inputs:"input, textarea, select",excluded:"input[type=button], input[type=submit], input[type=reset], input[type=hidden]",priorityEnabled:!0,multiple:null,group:null,uiEnabled:!0,validationThreshold:3,focus:"first",trigger:!1,triggerAfterFailure:"input",errorClass:"parsley-error",successClass:"parsley-success",classHandler:function(){},errorsContainer:function(){},errorsWrapper:'<ul class="parsley-errors-list"></ul>',errorTemplate:"<li></li>"};r.prototype={asyncSupport:!0,_pipeAccordingToValidationResult:function(){function t(){var t=h.Deferred();return!0!==e.validationResult&&t.reject(),t.resolve().promise()}var e=this;return[t,t]},actualizeOptions:function(){return d.attr(this.element,this.options.namespace,this.domOptions),this.parent&&this.parent.actualizeOptions&&this.parent.actualizeOptions(),this},_resetOptions:function(t){for(var e in this.domOptions=d.objectCreate(this.parent.options),this.options=d.objectCreate(this.domOptions),t)t.hasOwnProperty(e)&&(this.options[e]=t[e]);this.actualizeOptions()},_listeners:null,on:function(t,e){return this._listeners=this._listeners||{},(this._listeners[t]=this._listeners[t]||[]).push(e),this},subscribe:function(t,e){h.listenTo(this,t.toLowerCase(),e)},off:function(t,e){var i=this._listeners&&this._listeners[t];if(i)if(e)for(var r=i.length;r--;)i[r]===e&&i.splice(r,1);else delete this._listeners[t];return this},unsubscribe:function(t){h.unsubscribeTo(this,t.toLowerCase())},trigger:function(t,e,i){e=e||this;var r,n=this._listeners&&this._listeners[t];if(n)for(var s=n.length;s--;)if(!1===(r=n[s].call(e,e,i)))return r;return!this.parent||this.parent.trigger(t,e,i)},asyncIsValid:function(t,e){return d.warnOnce("asyncIsValid is deprecated; please use whenValid instead"),this.whenValid({group:t,force:e})},_findRelated:function(){return this.options.multiple?h(this.parent.element.querySelectorAll("[".concat(this.options.namespace,'multiple="').concat(this.options.multiple,'"]'))):this.$element}};function c(t){h.extend(!0,this,t)}c.prototype={validate:function(t,e){if(this.fn)return 3<arguments.length&&(e=[].slice.call(arguments,1,-1)),this.fn(t,e);if(Array.isArray(t)){if(!this.validateMultiple)throw"Validator `"+this.name+"` does not handle multiple values";return this.validateMultiple.apply(this,arguments)}var i=arguments[arguments.length-1];if(this.validateDate&&i._isDateInput())return arguments[0]=d.parse.date(arguments[0]),null!==arguments[0]&&this.validateDate.apply(this,arguments);if(this.validateNumber)return!t||!isNaN(t)&&(arguments[0]=parseFloat(arguments[0]),this.validateNumber.apply(this,arguments));if(this.validateString)return this.validateString.apply(this,arguments);throw"Validator `"+this.name+"` only handles multiple values"},parseRequirements:function(t,e){if("string"!=typeof t)return Array.isArray(t)?t:[t];var i=this.requirementType;if(Array.isArray(i)){for(var r=function(t,e){var i=t.match(/^\s*\[(.*)\]\s*$/);if(!i)throw'Requirement is not an array: "'+t+'"';var r=i[1].split(",").map(d.trimString);if(r.length!==e)throw"Requirement has "+r.length+" values when "+e+" are needed";return r}(t,i.length),n=0;n<r.length;n++)r[n]=d.parseRequirement(i[n],r[n]);return r}return h.isPlainObject(i)?function(t,e,i){var r=null,n={};for(var s in t)if(s){var a=i(s);"string"==typeof a&&(a=d.parseRequirement(t[s],a)),n[s]=a}else r=d.parseRequirement(t[s],e);return[r,n]}(i,t,e):[d.parseRequirement(i,t)]},requirementType:"string",priority:2};function a(t,e){this.__class__="ValidatorRegistry",this.locale="en",this.init(t||{},e||{})}var p={email:/^((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))$/,number:/^-?(\d*\.)?\d+(e[-+]?\d+)?$/i,integer:/^-?\d+$/,digits:/^\d+$/,alphanum:/^\w+$/i,date:{test:function(t){return null!==d.parse.date(t)}},url:new RegExp("^(?:(?:https?|ftp)://)?(?:\\S+(?::\\S*)?@)?(?:(?:[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-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-zA-Z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:/\\S*)?$")};p.range=p.number;function f(t){var e=(""+t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return e?Math.max(0,(e[1]?e[1].length:0)-(e[2]?+e[2]:0)):0}function m(s,a){return function(t){for(var e=arguments.length,i=new Array(1<e?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i.pop(),a.apply(void 0,[t].concat(u((n=s,i.map(d.parse[n])))));var n}}function g(t){return{validateDate:m("date",t),validateNumber:m("number",t),requirementType:t.length<=2?"string":["string","string"],priority:30}}a.prototype={init:function(t,e){for(var i in this.catalog=e,this.validators=l({},this.validators),t)this.addValidator(i,t[i].fn,t[i].priority);window.Parsley.trigger("parsley:validator:init")},setLocale:function(t){if(void 0===this.catalog[t])throw new Error(t+" is not available in the catalog");return this.locale=t,this},addCatalog:function(t,e,i){return"object"===n(e)&&(this.catalog[t]=e),!0===i?this.setLocale(t):this},addMessage:function(t,e,i){return void 0===this.catalog[t]&&(this.catalog[t]={}),this.catalog[t][e]=i,this},addMessages:function(t,e){for(var i in e)this.addMessage(t,i,e[i]);return this},addValidator:function(t,e,i){if(this.validators[t])d.warn('Validator "'+t+'" is already defined.');else if(s.hasOwnProperty(t))return void d.warn('"'+t+'" is a restricted keyword and is not a valid validator name.');return this._setValidator.apply(this,arguments)},hasValidator:function(t){return!!this.validators[t]},updateValidator:function(t,e,i){return this.validators[t]?this._setValidator.apply(this,arguments):(d.warn('Validator "'+t+'" is not already defined.'),this.addValidator.apply(this,arguments))},removeValidator:function(t){return this.validators[t]||d.warn('Validator "'+t+'" is not defined.'),delete this.validators[t],this},_setValidator:function(t,e,i){for(var r in"object"!==n(e)&&(e={fn:e,priority:i}),e.validate||(e=new c(e)),(this.validators[t]=e).messages||{})this.addMessage(r,t,e.messages[r]);return this},getErrorMessage:function(t){var e;"type"===t.name?e=(this.catalog[this.locale][t.name]||{})[t.requirements]:e=this.formatMessage(this.catalog[this.locale][t.name],t.requirements);return e||this.catalog[this.locale].defaultMessage||this.catalog.en.defaultMessage},formatMessage:function(t,e){if("object"!==n(e))return"string"==typeof t?t.replace(/%s/i,e):"";for(var i in e)t=this.formatMessage(t,e[i]);return t},validators:{notblank:{validateString:function(t){return/\S/.test(t)},priority:2},required:{validateMultiple:function(t){return 0<t.length},validateString:function(t){return/\S/.test(t)},priority:512},type:{validateString:function(t,e,i){var r=2<arguments.length&&void 0!==i?i:{},n=r.step,s=void 0===n?"any":n,a=r.base,o=void 0===a?0:a,l=p[e];if(!l)throw new Error("validator type `"+e+"` is not supported");if(!t)return!0;if(!l.test(t))return!1;if("number"===e&&!/^any$/i.test(s||"")){var u=Number(t),d=Math.max(f(s),f(o));if(f(u)>d)return!1;var h=function(t){return Math.round(t*Math.pow(10,d))};if((h(u)-h(o))%h(s)!=0)return!1}return!0},requirementType:{"":"string",step:"string",base:"number"},priority:256},pattern:{validateString:function(t,e){return!t||e.test(t)},requirementType:"regexp",priority:64},minlength:{validateString:function(t,e){return!t||t.length>=e},requirementType:"integer",priority:30},maxlength:{validateString:function(t,e){return t.length<=e},requirementType:"integer",priority:30},length:{validateString:function(t,e,i){return!t||t.length>=e&&t.length<=i},requirementType:["integer","integer"],priority:30},mincheck:{validateMultiple:function(t,e){return t.length>=e},requirementType:"integer",priority:30},maxcheck:{validateMultiple:function(t,e){return t.length<=e},requirementType:"integer",priority:30},check:{validateMultiple:function(t,e,i){return t.length>=e&&t.length<=i},requirementType:["integer","integer"],priority:30},min:g(function(t,e){return e<=t}),max:g(function(t,e){return t<=e}),range:g(function(t,e,i){return e<=t&&t<=i}),equalto:{validateString:function(t,e){if(!t)return!0;var i=h(e);return i.length?t===i.val():t===e},priority:256},euvatin:{validateString:function(t){if(!t)return!0;return/^[A-Z][A-Z][A-Za-z0-9 -]{2,}$/.test(t)},priority:30}}};var v={};v.Form={_actualizeTriggers:function(){var e=this;this.$element.on("submit.Parsley",function(t){e.onSubmitValidate(t)}),this.$element.on("click.Parsley",d._SubmitSelector,function(t){e.onSubmitButton(t)}),!1!==this.options.uiEnabled&&this.element.setAttribute("novalidate","")},focus:function(){if(!(this._focusedField=null)===this.validationResult||"none"===this.options.focus)return null;for(var t=0;t<this.fields.length;t++){var e=this.fields[t];if(!0!==e.validationResult&&0<e.validationResult.length&&void 0===e.options.noFocus&&(this._focusedField=e.$element,"first"===this.options.focus))break}return null===this._focusedField?null:this._focusedField.focus()},_destroyUI:function(){this.$element.off(".Parsley")}},v.Field={_reflowUI:function(){if(this._buildUI(),this._ui){var t=function t(e,i,r){for(var n=[],s=[],a=0;a<e.length;a++){for(var o=!1,l=0;l<i.length;l++)if(e[a].assert.name===i[l].assert.name){o=!0;break}o?s.push(e[a]):n.push(e[a])}return{kept:s,added:n,removed:r?[]:t(i,e,!0).added}}(this.validationResult,this._ui.lastValidationResult);this._ui.lastValidationResult=this.validationResult,this._manageStatusClass(),this._manageErrorsMessages(t),this._actualizeTriggers(),!t.kept.length&&!t.added.length||this._failedOnce||(this._failedOnce=!0,this._actualizeTriggers())}},getErrorsMessages:function(){if(!0===this.validationResult)return[];for(var t=[],e=0;e<this.validationResult.length;e++)t.push(this.validationResult[e].errorMessage||this._getErrorMessage(this.validationResult[e].assert));return t},addError:function(t,e){var i=1<arguments.length&&void 0!==e?e:{},r=i.message,n=i.assert,s=i.updateClass,a=void 0===s||s;this._buildUI(),this._addError(t,{message:r,assert:n}),a&&this._errorClass()},updateError:function(t,e){var i=1<arguments.length&&void 0!==e?e:{},r=i.message,n=i.assert,s=i.updateClass,a=void 0===s||s;this._buildUI(),this._updateError(t,{message:r,assert:n}),a&&this._errorClass()},removeError:function(t,e){var i=(1<arguments.length&&void 0!==e?e:{}).updateClass,r=void 0===i||i;this._buildUI(),this._removeError(t),r&&this._manageStatusClass()},_manageStatusClass:function(){this.hasConstraints()&&this.needsValidation()&&!0===this.validationResult?this._successClass():0<this.validationResult.length?this._errorClass():this._resetClass()},_manageErrorsMessages:function(t){if(void 0===this.options.errorsMessagesDisabled){if(void 0!==this.options.errorMessage)return t.added.length||t.kept.length?(this._insertErrorWrapper(),0===this._ui.$errorsWrapper.find(".parsley-custom-error-message").length&&this._ui.$errorsWrapper.append(h(this.options.errorTemplate).addClass("parsley-custom-error-message")),this._ui.$errorClassHandler.attr("aria-describedby",this._ui.errorsWrapperId),this._ui.$errorsWrapper.addClass("filled").attr("aria-hidden","false").find(".parsley-custom-error-message").html(this.options.errorMessage)):(this._ui.$errorClassHandler.removeAttr("aria-describedby"),this._ui.$errorsWrapper.removeClass("filled").attr("aria-hidden","true").find(".parsley-custom-error-message").remove());for(var e=0;e<t.removed.length;e++)this._removeError(t.removed[e].assert.name);for(e=0;e<t.added.length;e++)this._addError(t.added[e].assert.name,{message:t.added[e].errorMessage,assert:t.added[e].assert});for(e=0;e<t.kept.length;e++)this._updateError(t.kept[e].assert.name,{message:t.kept[e].errorMessage,assert:t.kept[e].assert})}},_addError:function(t,e){var i=e.message,r=e.assert;this._insertErrorWrapper(),this._ui.$errorClassHandler.attr("aria-describedby",this._ui.errorsWrapperId),this._ui.$errorsWrapper.addClass("filled").attr("aria-hidden","false").append(h(this.options.errorTemplate).addClass("parsley-"+t).html(i||this._getErrorMessage(r)))},_updateError:function(t,e){var i=e.message,r=e.assert;this._ui.$errorsWrapper.addClass("filled").find(".parsley-"+t).html(i||this._getErrorMessage(r))},_removeError:function(t){this._ui.$errorClassHandler.removeAttr("aria-describedby"),this._ui.$errorsWrapper.removeClass("filled").attr("aria-hidden","true").find(".parsley-"+t).remove()},_getErrorMessage:function(t){var e=t.name+"Message";return void 0!==this.options[e]?window.Parsley.formatMessage(this.options[e],t.requirements):window.Parsley.getErrorMessage(t)},_buildUI:function(){if(!this._ui&&!1!==this.options.uiEnabled){var t={};this.element.setAttribute(this.options.namespace+"id",this.__id__),t.$errorClassHandler=this._manageClassHandler(),t.errorsWrapperId="parsley-id-"+(this.options.multiple?"multiple-"+this.options.multiple:this.__id__),t.$errorsWrapper=h(this.options.errorsWrapper).attr("id",t.errorsWrapperId),t.lastValidationResult=[],t.validationInformationVisible=!1,this._ui=t}},_manageClassHandler:function(){if("string"==typeof this.options.classHandler&&h(this.options.classHandler).length)return h(this.options.classHandler);var t=this.options.classHandler;if("string"==typeof this.options.classHandler&&"function"==typeof window[this.options.classHandler]&&(t=window[this.options.classHandler]),"function"==typeof t){var e=t.call(this,this);if(void 0!==e&&e.length)return e}else{if("object"===n(t)&&t instanceof jQuery&&t.length)return t;t&&d.warn("The class handler `"+t+"` does not exist in DOM nor as a global JS function")}return this._inputHolder()},_inputHolder:function(){return this.options.multiple&&"SELECT"!==this.element.nodeName?this.$element.parent():this.$element},_insertErrorWrapper:function(){var t=this.options.errorsContainer;if(0!==this._ui.$errorsWrapper.parent().length)return this._ui.$errorsWrapper.parent();if("string"==typeof t){if(h(t).length)return h(t).append(this._ui.$errorsWrapper);"function"==typeof window[t]?t=window[t]:d.warn("The errors container `"+t+"` does not exist in DOM nor as a global JS function")}return"function"==typeof t&&(t=t.call(this,this)),"object"===n(t)&&t.length?t.append(this._ui.$errorsWrapper):this._inputHolder().after(this._ui.$errorsWrapper)},_actualizeTriggers:function(){var t,e=this,i=this._findRelated();i.off(".Parsley"),this._failedOnce?i.on(d.namespaceEvents(this.options.triggerAfterFailure,"Parsley"),function(){e._validateIfNeeded()}):(t=d.namespaceEvents(this.options.trigger,"Parsley"))&&i.on(t,function(t){e._validateIfNeeded(t)})},_validateIfNeeded:function(t){var e=this;t&&/key|input/.test(t.type)&&(!this._ui||!this._ui.validationInformationVisible)&&this.getValue().length<=this.options.validationThreshold||(this.options.debounce?(window.clearTimeout(this._debounced),this._debounced=window.setTimeout(function(){return e.validate()},this.options.debounce)):this.validate())},_resetUI:function(){this._failedOnce=!1,this._actualizeTriggers(),void 0!==this._ui&&(this._ui.$errorsWrapper.removeClass("filled").children().remove(),this._resetClass(),this._ui.lastValidationResult=[],this._ui.validationInformationVisible=!1)},_destroyUI:function(){this._resetUI(),void 0!==this._ui&&this._ui.$errorsWrapper.remove(),delete this._ui},_successClass:function(){this._ui.validationInformationVisible=!0,this._ui.$errorClassHandler.removeClass(this.options.errorClass).addClass(this.options.successClass)},_errorClass:function(){this._ui.validationInformationVisible=!0,this._ui.$errorClassHandler.removeClass(this.options.successClass).addClass(this.options.errorClass)},_resetClass:function(){this._ui.$errorClassHandler.removeClass(this.options.successClass).removeClass(this.options.errorClass)}};function y(t,e,i){this.__class__="Form",this.element=t,this.$element=h(t),this.domOptions=e,this.options=i,this.parent=window.Parsley,this.fields=[],this.validationResult=null}var _={pending:null,resolved:!0,rejected:!1};y.prototype={onSubmitValidate:function(t){var e=this;if(!0!==t.parsley){var i=this._submitSource||this.$element.find(d._SubmitSelector)[0];if(this._submitSource=null,this.$element.find(".parsley-synthetic-submit-button").prop("disabled",!0),!i||null===i.getAttribute("formnovalidate")){window.Parsley._remoteCache={};var r=this.whenValidate({event:t});"resolved"===r.state()&&!1!==this._trigger("submit")||(t.stopImmediatePropagation(),t.preventDefault(),"pending"===r.state()&&r.done(function(){e._submit(i)}))}}},onSubmitButton:function(t){this._submitSource=t.currentTarget},_submit:function(t){if(!1!==this._trigger("submit")){if(t){var e=this.$element.find(".parsley-synthetic-submit-button").prop("disabled",!1);0===e.length&&(e=h('<input class="parsley-synthetic-submit-button" type="hidden">').appendTo(this.$element)),e.attr({name:t.getAttribute("name"),value:t.getAttribute("value")})}this.$element.trigger(l(h.Event("submit"),{parsley:!0}))}},validate:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling validate on a parsley form without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={group:e[0],force:e[1],event:e[2]}}return _[this.whenValidate(t).state()]},whenValidate:function(t){var e,i=this,r=0<arguments.length&&void 0!==t?t:{},n=r.group,s=r.force,a=r.event;(this.submitEvent=a)&&(this.submitEvent=l({},a,{preventDefault:function(){d.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`"),i.validationResult=!1}})),this.validationResult=!0,this._trigger("validate"),this._refreshFields();var o=this._withoutReactualizingFormOptions(function(){return h.map(i.fields,function(t){return t.whenValidate({force:s,group:n})})});return(e=d.all(o).done(function(){i._trigger("success")}).fail(function(){i.validationResult=!1,i.focus(),i._trigger("error")}).always(function(){i._trigger("validated")})).pipe.apply(e,u(this._pipeAccordingToValidationResult()))},isValid:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling isValid on a parsley form without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={group:e[0],force:e[1]}}return _[this.whenValid(t).state()]},whenValid:function(t){var e=this,i=0<arguments.length&&void 0!==t?t:{},r=i.group,n=i.force;this._refreshFields();var s=this._withoutReactualizingFormOptions(function(){return h.map(e.fields,function(t){return t.whenValid({group:r,force:n})})});return d.all(s)},refresh:function(){return this._refreshFields(),this},reset:function(){for(var t=0;t<this.fields.length;t++)this.fields[t].reset();this._trigger("reset")},destroy:function(){this._destroyUI();for(var t=0;t<this.fields.length;t++)this.fields[t].destroy();this.$element.removeData("Parsley"),this._trigger("destroy")},_refreshFields:function(){return this.actualizeOptions()._bindFields()},_bindFields:function(){var n=this,t=this.fields;return this.fields=[],this.fieldsMappedById={},this._withoutReactualizingFormOptions(function(){n.$element.find(n.options.inputs).not(n.options.excluded).not("[".concat(n.options.namespace,"excluded=true]")).each(function(t,e){var i=new window.Parsley.Factory(e,{},n);if("Field"===i.__class__||"FieldMultiple"===i.__class__){var r=i.__class__+"-"+i.__id__;void 0===n.fieldsMappedById[r]&&(n.fieldsMappedById[r]=i,n.fields.push(i))}}),h.each(d.difference(t,n.fields),function(t,e){e.reset()})}),this},_withoutReactualizingFormOptions:function(t){var e=this.actualizeOptions;this.actualizeOptions=function(){return this};var i=t();return this.actualizeOptions=e,i},_trigger:function(t){return this.trigger("form:"+t)}};function b(t,e,i,r,n){var s=window.Parsley._validatorRegistry.validators[e],a=new c(s);l(this,{validator:a,name:e,requirements:i,priority:r=r||t.options[e+"Priority"]||a.priority,isDomConstraint:n=!0===n}),this._parseRequirements(t.options)}function w(t,e,i,r){this.__class__="Field",this.element=t,this.$element=h(t),void 0!==r&&(this.parent=r),this.options=i,this.domOptions=e,this.constraints=[],this.constraintsByName={},this.validationResult=!0,this._bindConstraints()}var F={pending:null,resolved:!0,rejected:!(b.prototype={validate:function(t,e){var i;return(i=this.validator).validate.apply(i,[t].concat(u(this.requirementList),[e]))},_parseRequirements:function(i){var r=this;this.requirementList=this.validator.parseRequirements(this.requirements,function(t){return i[r.name+((e=t)[0].toUpperCase()+e.slice(1))];var e})}})};w.prototype={validate:function(t){1<=arguments.length&&!h.isPlainObject(t)&&(d.warnOnce("Calling validate on a parsley field without passing arguments as an object is deprecated."),t={options:t});var e=this.whenValidate(t);if(!e)return!0;switch(e.state()){case"pending":return null;case"resolved":return!0;case"rejected":return this.validationResult}},whenValidate:function(t){var e,i=this,r=0<arguments.length&&void 0!==t?t:{},n=r.force,s=r.group;if(this.refresh(),!s||this._isInGroup(s))return this.value=this.getValue(),this._trigger("validate"),(e=this.whenValid({force:n,value:this.value,_refreshed:!0}).always(function(){i._reflowUI()}).done(function(){i._trigger("success")}).fail(function(){i._trigger("error")}).always(function(){i._trigger("validated")})).pipe.apply(e,u(this._pipeAccordingToValidationResult()))},hasConstraints:function(){return 0!==this.constraints.length},needsValidation:function(t){return void 0===t&&(t=this.getValue()),!(!t.length&&!this._isRequired()&&void 0===this.options.validateIfEmpty)},_isInGroup:function(t){return Array.isArray(this.options.group)?-1!==h.inArray(t,this.options.group):this.options.group===t},isValid:function(t){if(1<=arguments.length&&!h.isPlainObject(t)){d.warnOnce("Calling isValid on a parsley field without passing arguments as an object is deprecated.");var e=Array.prototype.slice.call(arguments);t={force:e[0],value:e[1]}}var i=this.whenValid(t);return!i||F[i.state()]},whenValid:function(t){var r=this,e=0<arguments.length&&void 0!==t?t:{},i=e.force,n=void 0!==i&&i,s=e.value,a=e.group;if(e._refreshed||this.refresh(),!a||this._isInGroup(a)){if(this.validationResult=!0,!this.hasConstraints())return h.when();if(null==s&&(s=this.getValue()),!this.needsValidation(s)&&!0!==n)return h.when();var o=this._getGroupedConstraints(),l=[];return h.each(o,function(t,e){var i=d.all(h.map(e,function(t){return r._validateConstraint(s,t)}));if(l.push(i),"rejected"===i.state())return!1}),d.all(l)}},_validateConstraint:function(t,e){var i=this,r=e.validate(t,this);return!1===r&&(r=h.Deferred().reject()),d.all([r]).fail(function(t){i.validationResult instanceof Array||(i.validationResult=[]),i.validationResult.push({assert:e,errorMessage:"string"==typeof t&&t})})},getValue:function(){var t;return null==(t="function"==typeof this.options.value?this.options.value(this):void 0!==this.options.value?this.options.value:this.$element.val())?"":this._handleWhitespace(t)},reset:function(){return this._resetUI(),this._trigger("reset")},destroy:function(){this._destroyUI(),this.$element.removeData("Parsley"),this.$element.removeData("FieldMultiple"),this._trigger("destroy")},refresh:function(){return this._refreshConstraints(),this},_refreshConstraints:function(){return this.actualizeOptions()._bindConstraints()},refreshConstraints:function(){return d.warnOnce("Parsley's refreshConstraints is deprecated. Please use refresh"),this.refresh()},addConstraint:function(t,e,i,r){if(window.Parsley._validatorRegistry.validators[t]){var n=new b(this,t,e,i,r);"undefined"!==this.constraintsByName[n.name]&&this.removeConstraint(n.name),this.constraints.push(n),this.constraintsByName[n.name]=n}return this},removeConstraint:function(t){for(var e=0;e<this.constraints.length;e++)if(t===this.constraints[e].name){this.constraints.splice(e,1);break}return delete this.constraintsByName[t],this},updateConstraint:function(t,e,i){return this.removeConstraint(t).addConstraint(t,e,i)},_bindConstraints:function(){for(var t=[],e={},i=0;i<this.constraints.length;i++)!1===this.constraints[i].isDomConstraint&&(t.push(this.constraints[i]),e[this.constraints[i].name]=this.constraints[i]);for(var r in this.constraints=t,this.constraintsByName=e,this.options)this.addConstraint(r,this.options[r],void 0,!0);return this._bindHtml5Constraints()},_bindHtml5Constraints:function(){null!==this.element.getAttribute("required")&&this.addConstraint("required",!0,void 0,!0),null!==this.element.getAttribute("pattern")&&this.addConstraint("pattern",this.element.getAttribute("pattern"),void 0,!0);var t=this.element.getAttribute("min"),e=this.element.getAttribute("max");null!==t&&null!==e?this.addConstraint("range",[t,e],void 0,!0):null!==t?this.addConstraint("min",t,void 0,!0):null!==e&&this.addConstraint("max",e,void 0,!0),null!==this.element.getAttribute("minlength")&&null!==this.element.getAttribute("maxlength")?this.addConstraint("length",[this.element.getAttribute("minlength"),this.element.getAttribute("maxlength")],void 0,!0):null!==this.element.getAttribute("minlength")?this.addConstraint("minlength",this.element.getAttribute("minlength"),void 0,!0):null!==this.element.getAttribute("maxlength")&&this.addConstraint("maxlength",this.element.getAttribute("maxlength"),void 0,!0);var i=d.getType(this.element);return"number"===i?this.addConstraint("type",["number",{step:this.element.getAttribute("step")||"1",base:t||this.element.getAttribute("value")}],void 0,!0):/^(email|url|range|date)$/i.test(i)?this.addConstraint("type",i,void 0,!0):this},_isRequired:function(){return void 0!==this.constraintsByName.required&&!1!==this.constraintsByName.required.requirements},_trigger:function(t){return this.trigger("field:"+t)},_handleWhitespace:function(t){return!0===this.options.trimValue&&d.warnOnce('data-parsley-trim-value="true" is deprecated, please use data-parsley-whitespace="trim"'),"squish"===this.options.whitespace&&(t=t.replace(/\s{2,}/g," ")),"trim"!==this.options.whitespace&&"squish"!==this.options.whitespace&&!0!==this.options.trimValue||(t=d.trimString(t)),t},_isDateInput:function(){var t=this.constraintsByName.type;return t&&"date"===t.requirements},_getGroupedConstraints:function(){if(!1===this.options.priorityEnabled)return[this.constraints];for(var t=[],e={},i=0;i<this.constraints.length;i++){var r=this.constraints[i].priority;e[r]||t.push(e[r]=[]),e[r].push(this.constraints[i])}return t.sort(function(t,e){return e[0].priority-t[0].priority}),t}};function C(){this.__class__="FieldMultiple"}C.prototype={addElement:function(t){return this.$elements.push(t),this},_refreshConstraints:function(){var t;if(this.constraints=[],"SELECT"===this.element.nodeName)return this.actualizeOptions()._bindConstraints(),this;for(var e=0;e<this.$elements.length;e++)if(h("html").has(this.$elements[e]).length){t=this.$elements[e].data("FieldMultiple")._refreshConstraints().constraints;for(var i=0;i<t.length;i++)this.addConstraint(t[i].name,t[i].requirements,t[i].priority,t[i].isDomConstraint)}else this.$elements.splice(e,1);return this},getValue:function(){if("function"==typeof this.options.value)return this.options.value(this);if(void 0!==this.options.value)return this.options.value;if("INPUT"===this.element.nodeName){var t=d.getType(this.element);if("radio"===t)return this._findRelated().filter(":checked").val()||"";if("checkbox"===t){var e=[];return this._findRelated().filter(":checked").each(function(){e.push(h(this).val())}),e}}return"SELECT"===this.element.nodeName&&null===this.$element.val()?[]:this.$element.val()},_init:function(){return this.$elements=[this.$element],this}};function A(t,e,i){this.element=t,this.$element=h(t);var r=this.$element.data("Parsley");if(r)return void 0!==i&&r.parent===window.Parsley&&(r.parent=i,r._resetOptions(r.options)),"object"===n(e)&&l(r.options,e),r;if(!this.$element.length)throw new Error("You must bind Parsley on an existing element.");if(void 0!==i&&"Form"!==i.__class__)throw new Error("Parent instance must be a Form instance");return this.parent=i||window.Parsley,this.init(e)}A.prototype={init:function(t){return this.__class__="Parsley",this.__version__="2.9.2",this.__id__=d.generateID(),this._resetOptions(t),"FORM"===this.element.nodeName||d.checkAttr(this.element,this.options.namespace,"validate")&&!this.$element.is(this.options.inputs)?this.bind("parsleyForm"):this.isMultiple()?this.handleMultiple():this.bind("parsleyField")},isMultiple:function(){var t=d.getType(this.element);return"radio"===t||"checkbox"===t||"SELECT"===this.element.nodeName&&null!==this.element.getAttribute("multiple")},handleMultiple:function(){var t,e,r=this;if(this.options.multiple=this.options.multiple||(t=this.element.getAttribute("name"))||this.element.getAttribute("id"),"SELECT"===this.element.nodeName&&null!==this.element.getAttribute("multiple"))return this.options.multiple=this.options.multiple||this.__id__,this.bind("parsleyFieldMultiple");if(!this.options.multiple)return d.warn("To be bound by Parsley, a radio, a checkbox and a multiple select input must have either a name or a multiple option.",this.$element),this;this.options.multiple=this.options.multiple.replace(/(:|\.|\[|\]|\{|\}|\$)/g,""),t&&h('input[name="'+t+'"]').each(function(t,e){var i=d.getType(e);"radio"!==i&&"checkbox"!==i||e.setAttribute(r.options.namespace+"multiple",r.options.multiple)});for(var i=this._findRelated(),n=0;n<i.length;n++)if(void 0!==(e=h(i.get(n)).data("Parsley"))){this.$element.data("FieldMultiple")||e.addElement(this.$element);break}return this.bind("parsleyField",!0),e||this.bind("parsleyFieldMultiple")},bind:function(t,e){var i;switch(t){case"parsleyForm":i=h.extend(new y(this.element,this.domOptions,this.options),new r,window.ParsleyExtend)._bindFields();break;case"parsleyField":i=h.extend(new w(this.element,this.domOptions,this.options,this.parent),new r,window.ParsleyExtend);break;case"parsleyFieldMultiple":i=h.extend(new w(this.element,this.domOptions,this.options,this.parent),new C,new r,window.ParsleyExtend)._init();break;default:throw new Error(t+"is not a supported Parsley type")}return this.options.multiple&&d.setAttr(this.element,this.options.namespace,"multiple",this.options.multiple),void 0!==e?this.$element.data("FieldMultiple",i):(this.$element.data("Parsley",i),i._actualizeTriggers(),i._trigger("init")),i}};var E=h.fn.jquery.split(".");if(parseInt(E[0])<=1&&parseInt(E[1])<8)throw"The loaded version of jQuery is too old. Please upgrade to 1.8.x or better.";E.forEach||d.warn("Parsley requires ES5 to run properly. Please include https://github.com/es-shims/es5-shim");var x=l(new r,{element:document,$element:h(document),actualizeOptions:null,_resetOptions:null,Factory:A,version:"2.9.2"});l(w.prototype,v.Field,r.prototype),l(y.prototype,v.Form,r.prototype),l(A.prototype,r.prototype),h.fn.parsley=h.fn.psly=function(t){if(1<this.length){var e=[];return this.each(function(){e.push(h(this).parsley(t))}),e}if(0!=this.length)return new A(this[0],t)},void 0===window.ParsleyExtend&&(window.ParsleyExtend={}),x.options=l(d.objectCreate(s),window.ParsleyConfig),window.ParsleyConfig=x.options,window.Parsley=window.psly=x,x.Utils=d,window.ParsleyUtils={},h.each(d,function(t,e){"function"==typeof e&&(window.ParsleyUtils[t]=function(){return d.warnOnce("Accessing `window.ParsleyUtils` is deprecated. Use `window.Parsley.Utils` instead."),d[t].apply(d,arguments)})});var $=window.Parsley._validatorRegistry=new a(window.ParsleyConfig.validators,window.ParsleyConfig.i18n);window.ParsleyValidator={},h.each("setLocale addCatalog addMessage addMessages getErrorMessage formatMessage addValidator updateValidator removeValidator hasValidator".split(" "),function(t,e){window.Parsley[e]=function(){return $[e].apply($,arguments)},window.ParsleyValidator[e]=function(){var t;return d.warnOnce("Accessing the method '".concat(e,"' through Validator is deprecated. Simply call 'window.Parsley.").concat(e,"(...)'")),(t=window.Parsley)[e].apply(t,arguments)}}),window.Parsley.UI=v,window.ParsleyUI={removeError:function(t,e,i){var r=!0!==i;return d.warnOnce("Accessing UI is deprecated. Call 'removeError' on the instance directly. Please comment in issue 1073 as to your need to call this method."),t.removeError(e,{updateClass:r})},getErrorsMessages:function(t){return d.warnOnce("Accessing UI is deprecated. Call 'getErrorsMessages' on the instance directly."),t.getErrorsMessages()}},h.each("addError updateError".split(" "),function(t,a){window.ParsleyUI[a]=function(t,e,i,r,n){var s=!0!==n;return d.warnOnce("Accessing UI is deprecated. Call '".concat(a,"' on the instance directly. Please comment in issue 1073 as to your need to call this method.")),t[a](e,{message:i,assert:r,updateClass:s})}}),!1!==window.ParsleyConfig.autoBind&&h(function(){h("[data-parsley-validate]").length&&h("[data-parsley-validate]").parsley()});function V(){d.warnOnce("Parsley's pubsub module is deprecated; use the 'on' and 'off' methods on parsley instances or window.Parsley")}var P=h({});function O(e,i){return e.parsleyAdaptedCallback||(e.parsleyAdaptedCallback=function(){var t=Array.prototype.slice.call(arguments,0);t.unshift(this),e.apply(i||P,t)}),e.parsleyAdaptedCallback}var T="parsley:";function M(t){return 0===t.lastIndexOf(T,0)?t.substr(T.length):t}return h.listen=function(t,e){var i;if(V(),"object"===n(arguments[1])&&"function"==typeof arguments[2]&&(i=arguments[1],e=arguments[2]),"function"!=typeof e)throw new Error("Wrong parameters");window.Parsley.on(M(t),O(e,i))},h.listenTo=function(t,e,i){if(V(),!(t instanceof w||t instanceof y))throw new Error("Must give Parsley instance");if("string"!=typeof e||"function"!=typeof i)throw new Error("Wrong parameters");t.on(M(e),O(i))},h.unsubscribe=function(t,e){if(V(),"string"!=typeof t||"function"!=typeof e)throw new Error("Wrong arguments");window.Parsley.off(M(t),e.parsleyAdaptedCallback)},h.unsubscribeTo=function(t,e){if(V(),!(t instanceof w||t instanceof y))throw new Error("Must give Parsley instance");t.off(M(e))},h.unsubscribeAll=function(e){V(),window.Parsley.off(M(e)),h("form,input,textarea,select").each(function(){var t=h(this).data("Parsley");t&&t.off(M(e))})},h.emit=function(t,e){V();var i=e instanceof w||e instanceof y,r=Array.prototype.slice.call(arguments,i?2:1);r.unshift(M(t)),i||(e=window.Parsley),e.trigger.apply(e,u(r))},h.extend(!0,x,{asyncValidators:{default:{fn:function(t){return 200<=t.status&&t.status<300},url:!1},reverse:{fn:function(t){return t.status<200||300<=t.status},url:!1}},addAsyncValidator:function(t,e,i,r){return x.asyncValidators[t]={fn:e,url:i||!1,options:r||{}},this}}),x.addValidator("remote",{requirementType:{"":"string",validator:"string",reverse:"boolean",options:"object"},validateString:function(t,e,i,r){var n,s,a={},o=i.validator||(!0===i.reverse?"reverse":"default");if(void 0===x.asyncValidators[o])throw new Error("Calling an undefined async validator: `"+o+"`");-1<(e=x.asyncValidators[o].url||e).indexOf("{value}")?e=e.replace("{value}",encodeURIComponent(t)):a[r.element.getAttribute("name")||r.element.getAttribute("id")]=t;var l=h.extend(!0,i.options||{},x.asyncValidators[o].options);n=h.extend(!0,{},{url:e,data:a,type:"GET"},l),r.trigger("field:ajaxoptions",r,n),s=h.param(n),void 0===x._remoteCache&&(x._remoteCache={});function u(){var t=x.asyncValidators[o].fn.call(r,d,e,i);return t=t||h.Deferred().reject(),h.when(t)}var d=x._remoteCache[s]=x._remoteCache[s]||h.ajax(n);return d.then(u,u)},priority:-1}),x.on("form:submit",function(){x._remoteCache={}}),r.prototype.addAsyncValidator=function(){return d.warnOnce("Accessing the method `addAsyncValidator` through an instance is deprecated. Simply call `Parsley.addAsyncValidator(...)`"),x.addAsyncValidator.apply(x,arguments)},x.addMessages("en",{defaultMessage:"This value seems to be invalid.",type:{email:"This value should be a valid email.",url:"This value should be a valid url.",number:"This value should be a valid number.",integer:"This value should be a valid integer.",digits:"This value should be digits.",alphanum:"This value should be alphanumeric."},notblank:"This value should not be blank.",required:"This value is required.",pattern:"This value seems to be invalid.",min:"This value should be greater than or equal to %s.",max:"This value should be lower than or equal to %s.",range:"This value should be between %s and %s.",minlength:"This value is too short. It should have %s characters or more.",maxlength:"This value is too long. It should have %s characters or fewer.",length:"This value length is invalid. It should be between %s and %s characters long.",mincheck:"You must select at least %s choices.",maxcheck:"You must select %s choices or fewer.",check:"You must select between %s and %s choices.",equalto:"This value should be the same.",euvatin:"It's not a valid VAT Identification Number."}),x.setLocale("en"),(new function(){var r=this,n=window||global;l(this,{isNativeEvent:function(t){return t.originalEvent&&!1!==t.originalEvent.isTrusted},fakeInputEvent:function(t){r.isNativeEvent(t)&&h(t.target).trigger("input")},misbehaves:function(t){r.isNativeEvent(t)&&(r.behavesOk(t),h(document).on("change.inputevent",t.data.selector,r.fakeInputEvent),r.fakeInputEvent(t))},behavesOk:function(t){r.isNativeEvent(t)&&h(document).off("input.inputevent",t.data.selector,r.behavesOk).off("change.inputevent",t.data.selector,r.misbehaves)},install:function(){if(!n.inputEventPatched){n.inputEventPatched="0.0.3";for(var t=0,e=["select",'input[type="checkbox"]','input[type="radio"]','input[type="file"]'];t<e.length;t++){var i=e[t];h(document).on("input.inputevent",i,{selector:i},r.behavesOk).on("change.inputevent",i,{selector:i},r.misbehaves)}}},uninstall:function(){delete n.inputEventPatched,h(document).off(".inputevent")}})}).install(),x});
//# sourceMappingURL=parsley.min.js.map;