// source --> https://budvex.store/wp-content/plugins/easy-login-woocommerce/xoo-form-fields-fw/assets/js/xoo-aff-js.js?ver=2.0.6 
jQuery(document).ready(function($){



	(function(){

		//initialize datepicker
		$('.xoo-aff-input-date').each( function( index, dateEl ){
			var $dateEl = $(dateEl),
				dateData = $dateEl.data('date');
			$dateEl.datepicker( dateData );
		} );
		
	}());


	var all_states 			= xoo_aff_localize.states ? JSON.parse(xoo_aff_localize.states) : {};
	var countries_locale 	= xoo_aff_localize.countries_locale ?  JSON.parse(xoo_aff_localize.countries_locale) : {};

	//-------------------- XXXXXXXXXXXXXXX -------------------- //

	var SelectCountry = function( $select ){
		
		var self = this;
		self.$selectCountry 	= $select; 
		self.id 				= self.$selectCountry.attr('name');
		self.$form 				= self.$selectCountry.closest( 'form' );
		self.$selectState 		= self.$form.find('.xoo-aff-states[data-country_field="'+self.id+'"]');
		self.$selectPhoneCode 	= self.$form.find('.xoo-aff-phone_code[data-country_field="'+self.id+'"]');

		//Methods
		self.statesHandler = self.$selectState.length ? self.states() : false;

		//Events
		self.$selectCountry.on( 'change', { country: self }, this.onChange );
		self.$selectCountry.trigger('change'); //on load

	}

	SelectCountry.prototype.onChange = function( event ){
		var self = event.data.country;
		if( self.statesHandler ){
			self.statesHandler.updateStateField( event );
		}

		if( self.$selectPhoneCode.length ){
			self.updatePhoneCodeField();
		}
	}

	//PhoneCode field handler
	SelectCountry.prototype.updatePhoneCodeField = function(){
		var country 	= this,
			$codeOption = country.$selectPhoneCode.find( 'option[data-country_code="'+country.$selectCountry.val()+'"]' );
		
		if( $codeOption ){
			$codeOption.prop('selected','selected');
		}

		country.$selectPhoneCode.trigger('change');
	}

	//State field handler
	SelectCountry.prototype.states = function(){

		var country 		= this,
			$selectState 	= country.$selectState,
			defaultValue 	= country.$selectState.data( 'default_state' );

		var Handler =  {

			init: function(){
				Handler.$statePlaceholder 	= $selectState.find('option[value="placeholder"]');
				Handler.$selectStateCont 	= $selectState.parent();
				Handler.$inputState 		= Handler.createStateInput();
			},

			getStates: function(){
				var states = all_states[ country.$selectCountry.val() ];
				return states === undefined || states.length === 0  ? null : states;
			},

			createStateInput: function(){
				$stateInput =  $( '<input type="text" />' )
					.prop( 'name', $selectState.attr('name') )
					.prop('placeholder', Handler.$statePlaceholder.html() )
					.addClass( $selectState.attr('class') );

				var excludeID = ['select2', 'select2Id' ,'country_field'];

				$.each($selectState.data(), function( id, value ){
					if( !excludeID.includes(id) ){
						$stateInput.attr('data-'+id, value);
					}
					
				});

				return $stateInput;
			},

			updateStateField: function( event ){

				var country 	= event.data.country,
					countryVal 	= country.$selectCountry.val();

				//Remove all current states
				$selectState.find('option').not(Handler.$statePlaceholder).remove();

				
				var active_states = Handler.getStates();

				if( !active_states ){

					Handler.$selectStateCont.find('.select2-container').remove();
					Handler.$selectStateCont.append( Handler.$inputState );
					
				}
				else{
					Handler.$inputState.remove();
					Handler.$selectStateCont.append( $selectState );
					$.each( active_states, function( state_key, label ){
						$selectState.append( '<option value="'+state_key+'">'+label+'</option>' );
					} )

					if( defaultValue ){
						Handler.$selectStateCont.find( 'option[value='+defaultValue+']' ).prop( 'selected', 'selected' );
					}

					if( $selectState.attr('select2') === 'yes' ){
						$selectState.select2();
					}
					
				}
	

			}

		}

		Handler.init();

		return Handler;
	}

	$.each( $('select.xoo-aff-country'), function( index, el ){
		new SelectCountry( $(el));
	} );


	//-------------------- XXXXXXXXXXXXXXX -------------------- //

	var password_strength_meter = {

		/**
		 * Initialize strength meter actions.
		 */
		init: function() {
			$( document.body )
				.on(
					'keyup change',
					'input.xoo-aff-password[check_strength="yes"]',
					this.strengthMeter
				);
		},

		/**
		 * Strength Meter.
		 */
		strengthMeter: function() {
			var wrapper       = $(this).parents('.xoo-aff-group'),
				form 		  = wrapper.parents('form');
				submit        = form.length ? $( 'button[type="submit"]', form ) : false,
				field         = $(this),
				strength      = 1,
				passStrength  = $(this).attr('strength_pass').length ? $(this).attr('strength_pass') : xoo_aff_localize.password_strength.min_password_strength,
				fieldValue    = field.val();

			password_strength_meter.includeMeter( wrapper, field );

			strength = password_strength_meter.checkPasswordStrength( wrapper, field, passStrength );


			if (
				submit &&
				fieldValue.length > 0 &&
				strength < passStrength  &&
				-1 !== strength
			) {
				submit.attr( 'disabled', 'disabled' ).addClass( 'disabled' );
			} else {
				submit.removeAttr( 'disabled', 'disabled' ).removeClass( 'disabled' );
			}
		},

		/**
		 * Include meter HTML.
		 *
		 * @param {Object} wrapper
		 * @param {Object} field
		 */
		includeMeter: function( wrapper, field ) {
			var meter = wrapper.find( '.xoo-aff-password-strength' );

			if ( '' === field.val() ) {
				meter.hide();
				$( document.body ).trigger( 'xoo-aff-password-strength-hide' );
			} else if ( 0 === meter.length ) {
				wrapper.append( '<div class="xoo-aff-password-strength" aria-live="polite"></div>' );
				$( document.body ).trigger( 'xoo-aff-password-strength-added' );
			} else {
				meter.show();
				$( document.body ).trigger( 'xoo-aff-password-strength-show' );
			}
		},

		/**
		 * Check password strength.
		 *
		 * @param {Object} field
		 *
		 * @return {Int}
		 */
		checkPasswordStrength: function( wrapper, field, passStrength ) {
			var meter     = wrapper.find( '.xoo-aff-password-strength' ),
				hint      = wrapper.find( '.xoo-aff-password-hint' ),
				hint_html = '<small class="xoo-aff-password-hint">' + xoo_aff_localize.password_strength.i18n_password_hint + '</small>',
				strength  = wp.passwordStrength.meter( field.val(), wp.passwordStrength.userInputBlacklist() ),
				error     = '';

			// Reset.
			meter.removeClass( 'short bad good strong' );
			hint.remove();

			if ( meter.is( ':hidden' ) ) {
				return strength;
			}

			// Error to append
			if ( strength < passStrength ) {
				error = ' - ' + xoo_aff_localize.password_strength.i18n_password_error;
			}

			switch ( strength ) {
				case 0 :
					meter.addClass( 'short' ).html( pwsL10n['short'] + error );
					meter.after( hint_html );
					break;
				case 1 :
					meter.addClass( 'bad' ).html( pwsL10n.bad + error );
					meter.after( hint_html );
					break;
				case 2 :
					meter.addClass( 'bad' ).html( pwsL10n.bad + error );
					meter.after( hint_html );
					break;
				case 3 :
					meter.addClass( 'good' ).html( pwsL10n.good + error );
					break;
				case 4 :
					meter.addClass( 'strong' ).html( pwsL10n.strong + error );
					break;
				case 5 :
					meter.addClass( 'short' ).html( pwsL10n.mismatch );
					break;
			}

			return strength;
		}
	};

	password_strength_meter.init();

	if( $.fn.select2 ){
		$('select.xoo-aff-select_list[select2="yes"] , select.xoo-aff-country[select2="yes"]').each(function( key, el ){
			$(el).select2();
		});
	}


	if( $.fn.select2 ){

		function formatState (state) {

			if (!state.id) {
				return state.text;
			}

			var cc = state.element.getAttribute('data-country_code');
				cc = cc ? cc.toLowerCase() : cc;

			var $state = $( '<div class="xoo-aff-flag-cont"><span class="flag ' + cc +'"></span>' + '<span>' + state.text + '</span></div>' );

			return $state;

		};

		

		$('select.xoo-aff-phone_code[select2="yes"]').each(function( key, el ){
			$(el).select2({ templateResult: formatState, templateSelection: formatState, dropdownCssClass: "xoo-aff-select2-dropdown" });
		});
	}


	//Password toggle visiblity
	$( 'body' ).on( 'click', '.xoo-aff-pw-toggle', function(){

		var $password = $(this).closest('.xoo-aff-group').find('input.xoo-aff-password');

		$(this).toggleClass('active');

		if( $(this).hasClass('active') ){
			$password.attr('type','text');
			$(this).find('.xoo-aff-pwtog-hide').show();
			$(this).find('.xoo-aff-pwtog-show').hide();
		}
		else{
			$password.attr('type','password');
			$(this).find('.xoo-aff-pwtog-show').show();
			$(this).find('.xoo-aff-pwtog-hide').hide();
		}

	} )

	 $( 'body' ).on('change', '.xoo-aff-file-profile input[type="file"]', function() {

        var file 		= this.files[0],
        	$cont 		=  $(this).closest('.xoo-aff-group');

        if (file) {
            const reader = new FileReader();

            reader.onload = function(e) {
            	profileImage.init( $cont, e.target.result);
                profileImage.onImageLoad();

                if( $cont.find('.xoo-ff-file-remove') ){
	            	$cont.find('.xoo-ff-files').remove();
	            }

            };

            reader.readAsDataURL(file);
        }
        else{
        	profileImage.init( $cont, '');
        	profileImage.onImageRemove();

        }
    });

	var profileImage = {

		init: function( $cont, imgSrc = '' ){
			this.$cont  		= $cont;
			this.imgSrc  		= imgSrc;
			this.$preview 		= $cont.find('.xoo-ff-file-preview');
        	this.$icon 			= $cont.find('.xoo-aff-input-icon ');
        	this.$checkIcon 	= $cont.find('.xoo-ff-file-plcheck');
        	this.$addIcon 		= $cont.find('.xoo-ff-file-pladd');
		},

		onImageLoad: function(){
        	this.$preview.attr('src', profileImage.imgSrc).show();
            this.$icon.hide();
            this.$addIcon.hide();
            this.$checkIcon.show();

		},

		onImageRemove: function(){
			this.$icon.show();
        	this.$checkIcon.hide();
        	this.$addIcon.show();
        	this.$preview.attr('src', '').hide();
		}

	}


	$('.xoo-aff-file-profile-cont').each(function(index, el){

		var $el 			= $(el),
			$attachedFiled 	= $el.find('.xoo-ff-file-link');

		if( $attachedFiled.length ){
			profileImage.init( $el, $attachedFiled.attr('href') );
			profileImage.onImageLoad();
		}
	})

	$('body').on( 'click', '.xoo-aff-file-profile-cont .xoo-ff-file-remove', function(){
		var $cont = $(this).closest('.xoo-aff-file-profile-cont');
		profileImage.init( $cont );
		profileImage.onImageRemove();
	} );

	$( 'body' ).on('click', '.xoo-ff-file-remove', function(){
		$(this).closest('div').remove();
	});



	class AutoComplete{

		constructor( $input ){
			this.$input 	= $input;
			this.$form 		= $input.closest('form');
			this.hasParts 	= this.$form.find('[data-autocompad_parent="'+this.$input.attr('name')+'"]').length;
			this.inputInit 	= false;

			this.$browserFetch = this.$input.closest('.xoo-aff-group').find('.xoo-aff-auto-fetch-loc');

			this.events();
		}


		events(){
			this.$input.on('focus', this.init.bind(this) );
			if( this.$browserFetch.length ){
				this.$browserFetch.on('click', { handler: this }, this.browserGetLocation );
			}
		}


		browserGetLocation(event){

			var handler = event.data.handler;

			if( !navigator.geolocation ){
				$(this).html('Not supported by browser');
				return;
			}

			var $fetchEl = $(this);

			navigator.geolocation.getCurrentPosition(

				(position) => {
					handler.googleReverseGeolocate( position.coords.latitude, position.coords.longitude );
				},
				(error) => {
					$fetchEl.find('span').text( error.message );
				}
			);
		}

		googleReverseGeolocate(lat, long){

			const geocoder = new google.maps.Geocoder();

			const latlng = { lat: parseFloat(lat), lng: parseFloat(long) };

			var autocompleteHandler = this;

			geocoder.geocode({ location: latlng }, function (results, status) {

				if (status === "OK") {

					if (results[0]) {
						autocompleteHandler.fillAddress( results[0].address_components, results[0].formatted_address );
					}
					else {
						console.log("No results found");
					}
				}
				else {
					autocompleteHandler.$browserFetch.find('span').text( status );
				}
			});
		}

		

		init(){

			if( this.inputInit ) return;

			var placesArgs = {
				fields: ["address_components" ],
				types: ["address"],
			}

			if( xoo_aff_localize.geolocate_countries ){
				placesArgs.componentRestrictions = {country: xoo_aff_localize.geolocate_countries}
			}

			this.location = new google.maps.places.Autocomplete(this.$input.get(0), placesArgs);

			if( this.hasParts ){
				this.location.addListener('place_changed', this.onAddressChange.bind(this) );
			}

			this.inputInit = true;

		}

		onAddressChange(){
			this.fillAddress( this.location.getPlace().address_components );
		}


		fillAddress( components, formatted_address = '' ){

				var autocompleteHandler = this,
					$form  				= this.$form,
					addressParts 		= { country: '', postal_code: '', address: '', states: '', city: '', states_longname: '', country_longname: '' };

			$.each( components, function( index, component ){

				var componentType = component.types[0];


				switch(componentType) {

					case 'country':
						addressParts.country 			= component.short_name;
						addressParts.country_longname 	= component.long_name;
						break;

					
					case "postal_code_suffix":
						addressParts.postal_code += component.long_name;
						break;

					case "postal_code":
						addressParts.postal_code += component.long_name;
						break;

					case "locality": // Most common
					case "postal_town": // UK, Ireland, some EU countries
					case "administrative_area_level_3": // Brazil, Japan, some regions
						addressParts.city = component.long_name;
						break;

					case 'administrative_area_level_1':
						addressParts.states 		= component.short_name;
						addressParts.states_longname = component.long_name;
						break;

					default:
						addressParts.address += ( component.long_name + ' ' );
						break;
				}

			} );


			//If states are not available for country
			if(  !addressParts.city && addressParts.states && (!countries_locale[ addressParts.country ] || !countries_locale[ addressParts.country ][ 'state' ] || countries_locale[ addressParts.country ][ 'state' ][ 'hidden' ] ) ){
				addressParts.city = addressParts.states;
				addressParts.states = null;
			}

			var partsNotUsed = {},
				partsUsedCounter = 0;

			$.each( addressParts, function( part, value ){

				var $inputParts = $form.find('[data-autocompad_type="'+part+'"][data-autocompad_parent="'+autocompleteHandler.$input.attr('name')+'"]');

				if( !$inputParts.length ){
					partsNotUsed[part] = value;
					return true; //do not proceed further as address part element does not exist
				}

				partsUsedCounter++;

				$inputParts.each( function( index, inputPart ){

					var $inputPart = $(inputPart);

					if( (part === 'states' || part === 'country') && $inputPart.is('input') ){ // if its an input and not select, we use long name
						$inputPart.val( addressParts[part+'_longname'] );
					}
					else{

						//scan through states as the name returned by google does not exactly match the local states data we have
						if( part === 'states' && !$inputPart.find('option[value="'+value+'"]').length ){

							var optionFound;

							$inputPart.find('option').each(function( index, option ){
								var $option = $(option);
								if( $option.val().includes('-'+value) ){
									optionFound = $option;
									return false;
								}
							})


							if( !optionFound ){
								optionFound = $inputPart.find("option:contains('" + addressParts.states_longname + "')");
							}
						
							if( optionFound.length ){
								$inputPart.val( optionFound.val() );
							}

						}
						else{
							$inputPart.val( value );
						}

						$inputPart.trigger('change');

					}
						
				});

			} );

			if( partsUsedCounter > 0 ){

				var inputAddress = addressParts.address;

				$.each( [ 'city', 'states', 'postal_code', 'country' ], function( index, leftPart ){
					if( partsNotUsed[ leftPart ] ){
						var partLongName = partsNotUsed[ leftPart + '_longname' ];
						partLongName = partLongName ? partLongName : partsNotUsed[ leftPart ];
						inputAddress += ( ', ' + partLongName  );
					}
				} );

				this.$input.val(inputAddress);

				
			}
			else if(formatted_address){
				this.$input.val(formatted_address);
			}
			
		}

	}


	if( xoo_aff_localize.geolocate_apikey ){

		$('input[data-autocompadd="yes"]').each(function(){
			new AutoComplete( $(this) );
		});

	}	
	
});
// source --> https://budvex.store/wp-includes/js/dist/hooks.min.js?ver=dd5603f07f9220ed27f1 
/*! This file is auto-generated */
(()=>{var t={507:(t,e,r)=>{"use strict";r.d(e,{A:()=>A});var n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(t,e){return function(r,o,s,c=10){const l=t[e];if(!i(r))return;if(!n(o))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:o};if(l[r]){const t=l[r].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===r&&t.currentIndex>=e&&t.currentIndex++}))}else l[r]={handlers:[a],runs:0};"hookAdded"!==r&&t.doAction("hookAdded",r,o,s,c)}};var s=function(t,e,r=!1){return function(o,s){const c=t[e];if(!i(o))return;if(!r&&!n(s))return;if(!c[o])return 0;let l=0;if(r)l=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else{const t=c[o].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==o&&t.doAction("hookRemoved",o,s),l}};var c=function(t,e){return function(r,n){const i=t[e];return void 0!==n?r in i&&i[r].handlers.some((t=>t.namespace===n)):r in i}};var l=function(t,e,r,n){return function(i,...o){const s=t[e];s[i]||(s[i]={handlers:[],runs:0}),s[i].runs++;const c=s[i].handlers;if(!c||!c.length)return r?o[0]:void 0;const l={name:i,currentIndex:0};return(n?async function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=r?o[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,o),r&&(o[0]=t),l.currentIndex++}return r?t:void 0}finally{s.__current.delete(l)}})()}};var a=function(t,e){return function(){const r=t[e],n=Array.from(r.__current);return n.at(-1)?.name??null}};var d=function(t,e){return function(r){const n=t[e];return void 0===r?n.__current.size>0:Array.from(n.__current).some((t=>t.name===r))}};var u=function(t,e){return function(r){const n=t[e];if(i(r))return n[r]&&n[r].runs?n[r].runs:0}};class h{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions",!1,!1),this.doActionAsync=l(this,"actions",!1,!0),this.applyFilters=l(this,"filters",!0,!1),this.applyFiltersAsync=l(this,"filters",!0,!0),this.currentAction=a(this,"actions"),this.currentFilter=a(this,"filters"),this.doingAction=d(this,"actions"),this.doingFilter=d(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}var A=function(){return new h}},8770:()=>{}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{actions:()=>x,addAction:()=>s,addFilter:()=>c,applyFilters:()=>m,applyFiltersAsync:()=>v,createHooks:()=>t.A,currentAction:()=>y,currentFilter:()=>F,defaultHooks:()=>o,didAction:()=>b,didFilter:()=>k,doAction:()=>f,doActionAsync:()=>p,doingAction:()=>_,doingFilter:()=>g,filters:()=>w,hasAction:()=>d,hasFilter:()=>u,removeAction:()=>l,removeAllActions:()=>h,removeAllFilters:()=>A,removeFilter:()=>a});var t=r(507),e=r(8770),i={};for(const t in e)["default","actions","addAction","addFilter","applyFilters","applyFiltersAsync","createHooks","currentAction","currentFilter","defaultHooks","didAction","didFilter","doAction","doActionAsync","doingAction","doingFilter","filters","hasAction","hasFilter","removeAction","removeAllActions","removeAllFilters","removeFilter"].indexOf(t)<0&&(i[t]=()=>e[t]);r.d(n,i);const o=(0,t.A)(),{addAction:s,addFilter:c,removeAction:l,removeFilter:a,hasAction:d,hasFilter:u,removeAllActions:h,removeAllFilters:A,doAction:f,doActionAsync:p,applyFilters:m,applyFiltersAsync:v,currentAction:y,currentFilter:F,doingAction:_,doingFilter:g,didAction:b,didFilter:k,actions:x,filters:w}=o})(),(window.wp=window.wp||{}).hooks=n})();
// source --> https://budvex.store/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375 
/*! This file is auto-generated */
(()=>{"use strict";var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{__:()=>F,_n:()=>L,_nx:()=>D,_x:()=>w,createI18n:()=>h,defaultI18n:()=>b,getLocaleData:()=>g,hasTranslation:()=>O,isRTL:()=>P,resetLocaleData:()=>x,setLocaleData:()=>v,sprintf:()=>l,subscribe:()=>m});var e,r,a,i,o=/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;function l(t,...n){return function(t,...n){var e=0;return Array.isArray(n[0])&&(n=n[0]),t.replace(o,(function(){var t,r,a,i,o;return t=arguments[3],r=arguments[5],"%"===(i=arguments[9])?"%":("*"===(a=arguments[7])&&(a=n[e],e++),void 0===r?(void 0===t&&(t=e+1),e++,o=n[t-1]):n[0]&&"object"==typeof n[0]&&n[0].hasOwnProperty(r)&&(o=n[0][r]),"f"===i?o=parseFloat(o)||0:"d"===i&&(o=parseInt(o)||0),void 0!==a&&("f"===i?o=o.toFixed(a):"s"===i&&(o=o.substr(0,a))),null!=o?o:"")}))}(t,...n)}e={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},r=["(","?"],a={")":["("],":":["?","?:"]},i=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var s={"!":function(t){return!t},"*":function(t,n){return t*n},"/":function(t,n){return t/n},"%":function(t,n){return t%n},"+":function(t,n){return t+n},"-":function(t,n){return t-n},"<":function(t,n){return t<n},"<=":function(t,n){return t<=n},">":function(t,n){return t>n},">=":function(t,n){return t>=n},"==":function(t,n){return t===n},"!=":function(t,n){return t!==n},"&&":function(t,n){return t&&n},"||":function(t,n){return t||n},"?:":function(t,n,e){if(t)throw n;return e}};function u(t){var n=function(t){for(var n,o,l,s,u=[],d=[];n=t.match(i);){for(o=n[0],(l=t.substr(0,n.index).trim())&&u.push(l);s=d.pop();){if(a[o]){if(a[o][0]===s){o=a[o][1]||o;break}}else if(r.indexOf(s)>=0||e[s]<e[o]){d.push(s);break}u.push(s)}a[o]||d.push(o),t=t.substr(n.index+o.length)}return(t=t.trim())&&u.push(t),u.concat(d.reverse())}(t);return function(t){return function(t,n){var e,r,a,i,o,l,u=[];for(e=0;e<t.length;e++){if(o=t[e],i=s[o]){for(r=i.length,a=Array(r);r--;)a[r]=u.pop();try{l=i.apply(null,a)}catch(t){return t}}else l=n.hasOwnProperty(o)?n[o]:+o;u.push(l)}return u[0]}(n,t)}}var d={contextDelimiter:"",onMissingKey:null};function c(t,n){var e;for(e in this.data=t,this.pluralForms={},this.options={},d)this.options[e]=void 0!==n&&e in n?n[e]:d[e]}c.prototype.getPluralForm=function(t,n){var e,r,a,i=this.pluralForms[t];return i||("function"!=typeof(a=(e=this.data[t][""])["Plural-Forms"]||e["plural-forms"]||e.plural_forms)&&(r=function(t){var n,e,r;for(n=t.split(";"),e=0;e<n.length;e++)if(0===(r=n[e].trim()).indexOf("plural="))return r.substr(7)}(e["Plural-Forms"]||e["plural-forms"]||e.plural_forms),a=function(t){var n=u(t);return function(t){return+n({n:t})}}(r)),i=this.pluralForms[t]=a),i(n)},c.prototype.dcnpgettext=function(t,n,e,r,a){var i,o,l;return i=void 0===a?0:this.getPluralForm(t,a),o=e,n&&(o=n+this.options.contextDelimiter+e),(l=this.data[t][o])&&l[i]?l[i]:(this.options.onMissingKey&&this.options.onMissingKey(e,t),0===i?e:r)};const p={plural_forms:t=>1===t?0:1},f=/^i18n\.(n?gettext|has_translation)(_|$)/,h=(t,n,e)=>{const r=new c({}),a=new Set,i=()=>{a.forEach((t=>t()))},o=(t,n="default")=>{r.data[n]={...r.data[n],...t},r.data[n][""]={...p,...r.data[n]?.[""]},delete r.pluralForms[n]},l=(t,n)=>{o(t,n),i()},s=(t="default",n,e,a,i)=>(r.data[t]||o(void 0,t),r.dcnpgettext(t,n,e,a,i)),u=t=>t||"default",d=(t,n,r)=>{let a=s(r,n,t);return e?(a=e.applyFilters("i18n.gettext_with_context",a,t,n,r),e.applyFilters("i18n.gettext_with_context_"+u(r),a,t,n,r)):a};if(t&&l(t,n),e){const t=t=>{f.test(t)&&i()};e.addAction("hookAdded","core/i18n",t),e.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:(t="default")=>r.data[t],setLocaleData:l,addLocaleData:(t,n="default")=>{r.data[n]={...r.data[n],...t,"":{...p,...r.data[n]?.[""],...t?.[""]}},delete r.pluralForms[n],i()},resetLocaleData:(t,n)=>{r.data={},r.pluralForms={},l(t,n)},subscribe:t=>(a.add(t),()=>a.delete(t)),__:(t,n)=>{let r=s(n,void 0,t);return e?(r=e.applyFilters("i18n.gettext",r,t,n),e.applyFilters("i18n.gettext_"+u(n),r,t,n)):r},_x:d,_n:(t,n,r,a)=>{let i=s(a,void 0,t,n,r);return e?(i=e.applyFilters("i18n.ngettext",i,t,n,r,a),e.applyFilters("i18n.ngettext_"+u(a),i,t,n,r,a)):i},_nx:(t,n,r,a,i)=>{let o=s(i,a,t,n,r);return e?(o=e.applyFilters("i18n.ngettext_with_context",o,t,n,r,a,i),e.applyFilters("i18n.ngettext_with_context_"+u(i),o,t,n,r,a,i)):o},isRTL:()=>"rtl"===d("ltr","text direction"),hasTranslation:(t,n,a)=>{const i=n?n+""+t:t;let o=!!r.data?.[a??"default"]?.[i];return e&&(o=e.applyFilters("i18n.has_translation",o,t,n,a),o=e.applyFilters("i18n.has_translation_"+u(a),o,t,n,a)),o}}},_=window.wp.hooks,y=h(void 0,void 0,_.defaultHooks);var b=y;const g=y.getLocaleData.bind(y),v=y.setLocaleData.bind(y),x=y.resetLocaleData.bind(y),m=y.subscribe.bind(y),F=y.__.bind(y),w=y._x.bind(y),L=y._n.bind(y),D=y._nx.bind(y),P=y.isRTL.bind(y),O=y.hasTranslation.bind(y);(window.wp=window.wp||{}).i18n=n})();