<!DOCTYPE html><html lang="id-ID">
    <head>
		<!-- Basic page needs ================================================== -->
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<link rel="icon" href="https://barakahdjibouti.org/assets/images/fav-mahkota78.webp">
		<!-- Title and description ================================================== -->
		<title>Mahkota78: Link Alternatif Daftar Id Mahkota78 Login</title>
		<meta name="description" content="Mahkota78 adalah situs game online terlengkap menawarkan kemudahan daftar id terbaru, dengan akses link alternatif mahkota 78 terpercaya di Indonesia anti Nawala!">
		<meta name="keywords" content="mahkota78, mahkota78 login, link alternatif mahkota78, mahkota 78">
		<!-- Social meta ================================================== -->
		<meta property="og:type" content="mahkota78">
		<meta property="og:title" content="Mahkota78: Link Alternatif Daftar Id Mahkota78 Login">
		<meta property="og:url" content="https://barakahdjibouti.org/">
		<meta property="og:image" content="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp">
		<meta property="og:image:secure_url" content="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp">
		<meta property="og:price:amount" content="10078">
		<meta property="og:price:currency" content="idr">
		<meta property="og:description" content="Mahkota78 adalah situs game online terlengkap menawarkan kemudahan daftar id terbaru, dengan akses link alternatif mahkota 78 terpercaya di Indonesia anti Nawala!">
		<meta property="og:site_name" content="mahkota78">
		<meta name="twitter:card" content="summary">
		<meta name="twitter:site" content="@mahkota78">
		<meta name="twitter:title" content="Mahkota78: Link Alternatif Daftar Id Mahkota78 Login">
		<meta name="twitter:description" content="Mahkota78 adalah situs game online terlengkap menawarkan kemudahan daftar id terbaru, dengan akses link alternatif mahkota 78 terpercaya di Indonesia anti Nawala!">
		<meta name="twitter:image" content="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp">
		<meta name="twitter:image:width" content="800">
		<meta name="twitter:image:height" content="800">
		<!-- Helpers ================================================== -->
		<link rel="canonical" href="https://barakahdjibouti.org/">
		<link rel="amphtml" href="https://barakahdjibouti.org/amp" />
		<meta name="viewport" content="width=device-width,initial-scale=1">
		<meta name="theme-color" content="">
		<!-- CSS ================================================== -->
		<link href="css/timber.css" rel="stylesheet" type="text/css" media="screen">
		<link href="css/theme.css" rel="stylesheet" type="text/css" media="screen">
		<script src="js/jquery.min.js" type="text/javascript"></script>
		<!-- Header hook for plugins ================================================== -->
		<!-- ScriptTags -->
		<script>
			window.__st = {
				'p': 'product',
				'cid': ''
			};
		</script>
		<script src="js/events.js"></script>
		<script>
			(function() {
				function asyncLoad() {
					var urls = ['/assets/facebook-pixel.js?v=1.0.1696774211', '/assets/traffic.js?v=1', 'https://apps.easystore.co/social-media-share/script.js?shop=shirotoys.easy.co', 'https://apps.easystore.co/marketplace/shopee-malaysia/script.js?shop=shirotoys.easy.co'];
					for (var i = 0; i < urls.length; i++) {
						var s = document.createElement('script');
						s.type = 'text/javascript';
						s.async = true;
						s.src = urls[i];
						var x = document.getElementsByTagName('script')[0];
						x.parentNode.insertBefore(s, x);
					}
				}
				window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);
			})();
		</script>
		
		<!-- /ScriptTags -->
		<!--[if lt IE 9]>
		<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript" ></script>
		<script src="https://barakahdjibouti.org/" type="text/javascript" ></script>
		<link href="https://barakahdjibouti.org/" id="respond-proxy" rel="respond-proxy" />
		<link href="https://barakahdjibouti.org/" id="respond-redirect" rel="respond-redirect" />
		<script src="https://barakahdjibouti.org/" type="text/javascript"></script>
		<![endif]-->
		
		<script src="js/modernizr.min.js" type="text/javascript"></script>
		<script>
			(function(i, s, o, g, r, a, m) {
				i['GoogleAnalyticsObject'] = r;
				i[r] = i[r] || function() {
					(i[r].q = i[r].q || []).push(arguments)
				}, i[r].l = 1 * new Date();
				a = s.createElement(o),
					m = s.getElementsByTagName(o)[0];
				a.async = 1;
				a.src = g;
				m.parentNode.insertBefore(a, m)
			})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
			ga('create', '', 'auto', 'myTracker');
			ga('myTracker.send', 'pageview');
		</script>
		<!-- Snippet:global/head: Shopee Indonesia -->
		<link type="text/css" rel="stylesheet" href="css/main.css">
		<!-- /Snippet -->
		<meta name="google-site-verification" content="P7TK1fmK6tiDGfPhLe0ZFp8XpuCf0XXnsu4gtRk8XH0">
	</head>
	<body id="bunny-garden---rin" class="template-product">
		<!-- Snippet:global/body_start: Announcement Bar -->
		<style>
			.n-columns-2 {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				font-weight: 700;
			}

			.n-columns-2 a {
				text-align: center;
			}

			.login,
			.register {
				color: #ffffff;
				padding: 5px 15px;
			}

			.login,
			.login-button {
				border: 1px solid #000;
				background: linear-gradient(to bottom, #e90000 0, #e90000 100%);
			}

			.register,
			.register-button {
				background: linear-gradient(to bottom, #ff8c00 0, #ff8c00 100%);
				border: 1px solid #000;
			}
		</style>
		<style type="text/css">
			body {
				background-position: top 45px center;
			}

			div#announcement-bar-top {
				height: 45px;
			}

			span .announcement-close-button {
				text-align: center;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: inline-block;
				align-items: center;
				flex-wrap: wrap;
				justify-content: center;
			}

			#announcementBar_countdown:empty {
				display: none;
			}

			.announcementBar_timer {
				margin: 5px 0px;
			}

			.announcementBar_timer.style_1,
			.announcementBar_timer.style_2 {
				display: -webkit-inline-flex;
				display: -moz-inline-flex;
				display: -ms-inline-flex;
				display: -o-inline-flex;
				display: inline-flex;
				align-items: center;
				padding: 5px 8px;
				margin: 3px 0px 3px 10px;
				border-radius: 8px;
				font-weight: bold;
			}

			.announcementBar_timer.style_1>div,
			.announcementBar_timer.style_2>div {
				margin: 0 5px;
				line-height: 1;
			}

			.announcementBar_timer.style_1 small,
			.announcementBar_timer.style_2 small {
				display: block;
				font-size: 55%;
				line-height: 1;
			}

			.announcementBar_timer.style_2 {
				flex-direction: row;
			}

			.announcementBar_timer.style_2>div {
				position: relative;
			}

			.announcementBar_timer.style_2>div:not(:last-child):after {
				position: absolute;
				content: ':';
				top: 0;
				right: 0;
				margin-right: -7px;
			}

			.announcementBar_timer.style_3 {
				display: -webkit-inline-flex;
				display: -moz-inline-flex;
				display: -ms-inline-flex;
				display: -o-inline-flex;
				display: inline-flex;
				align-items: center;
				border-radius: 5px;
				padding: 5px 5px;
				margin-left: 10px;
				font-weight: bold;
			}

			.announcementBar_timer.style_3>div {
				margin: 0 3px;
				line-height: 1;
			}

			.announcementBar_timer.style_3 small {
				font-weight: bold;
				line-height: 1.1;
				font-size: 65%;
			}

			.announcement-close-button {
				position: relative;
				width: 24px;
				height: 24px;
				opacity: 1;
				background: #000;
				border-radius: 50%;
				cursor: pointer;
				top: 30%;
			}

			.announcement-close-button:hover {
				opacity: 0.6;
			}

			.announcement-close-button:before,
			.announcement-close-button:after {
				position: absolute;
				left: 11px;
				top: 5px;
				content: ' ';
				height: 14px;
				width: 2px;
				background-color: #fff;
				border-radius: 3px;
			}

			.announcement-close-button:before {
				transfoIDR: rotate(45deg);
			}

			.announcement-close-button:after {
				transfoIDR: rotate(-45deg);
			}

			.announcement-bar-button {
				padding: 4px 8px;
				vertical-align: baseline;
				border-radius: 5px;
				margin-left: 10px;
				opacity: 1;
				line-height: 1.1;
				text-decoration: none;
				display: inline-block;
				font-weight: 500;
			}

			.announcement-bar-button:hover {
				opacity: 0.8;
			}

			.announcement-bar-direction-button {
				cursor: pointer;
				padding: 0px 8px;
			}

			.announcement-bar-direction-button:hover {
				opacity: 0.8;
			}

			slider-announcement-bar-app {
				display: block;
				text-align: center;
				margin: 0px;
				padding: 6px 10px;
				border-top: 1px dashed transparent;
				border-bottom: 1px dashed transparent;
				width: 100%;
			}

			slider-announcement-bar-app ul::-webkit-scrollbar {
				height: 0.4rem;
				width: 0.4rem;
				display: none;
			}

			slider-announcement-bar-app ul {
				position: relative;
				display: flex;
				overflow-x: auto;
				-ms-overflow-style: none;
				/* IE 11 */
				scrollbar-width: none;
				/* Firefox 64 */
				scroll-snap-type: x mandatory;
				scroll-behavior: smooth;
				/* scroll-padding-left: 1rem; */
				-webkit-overflow-scrolling: touch;
				margin-bottom: 0;
				padding: 0;
				list-style: none;
				align-items: center;
			}

			slider-announcement-bar-app ul li {
				width: 100vw;
				scroll-snap-align: start;
				flex-shrink: 0;
			}
		</style>
		<script>
			(function() {
				const loadScript = function(url, callback) {
					const script = document.createElement("script");
					script.type = "text/javascript";
					// If the browser is Internet Explorer.
					if (script.readyState) {
						script.onreadystatechange = function() {
							if (script.readyState == "loaded" || script.readyState == "complete") {
								script.onreadystatechange = null;
								callback();
							}
						};
						// For any other browser.
					} else {
						script.onload = function() {
							callback();
						};
					}
					script.src = url;
					document.getElementsByTagName("head")[0].appendChild(script);
				};
				const announcementBarAppJS = function($) {
					$('#announcement-close-button').on('click', function() {
						$('#announcement-bar, #announcement-bar-top').hide();
					});
				}
				if (typeof jQuery === '') {
					loadScript('//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', function() {
						jQuery = jQuery.noConflict(true);
						announcementBarAppJS(jQuery);
					});
				} else {
					announcementBarAppJS(jQuery);
				}
			})();
			setInterval(function() {
				const total_announcement = "1"
				var total_announcement_left = $("#total_announcement_left").val();
				for (let i = 0; i <= total_announcement; i++) {
					const startDate = new Date();
					const endDateStr = $("#expired_at_" + i).val();
					const endDate = endDateStr == ? new Date() : new Date(endDateStr.replace(/-/g, "/"));
					const seconds = (endDate.getTime() - startDate.getTime()) / 1000;
					const days = parseInt(seconds / 86400);
					const hours = parseInt((seconds % 86400) / 3600);
					const mins = parseInt((seconds % 86400 % 3600) / 60);
					const secs = parseInt((seconds % 86400 % 3600) % 60);
					// use to translate countdown unit
					// (translate based on the preferred language when save announcement bar setting)
					String.prototype.translate = function() {
						try {
							if ($("#locale").val() == "zh_TW") {
								if (this.toString() === 'day') {
									return "天";
								}
								if (this.toString() === 'hour') {
									return "小時";
								}
								if (this.toString() === 'min') {
									return "分鐘";
								}
								if (this.toString() === 'sec') {
									return "秒";
								}
							} else {
								if (this.toString() === 'day') {
									if (days > 0) {
										return "Days";
									} else {
										return "Day";
									}
								} else if (this.toString() === 'hour') {
									if (hours > 0) {
										return "Hours";
									} else {
										return "Hour";
									}
								} else if (this.toString() === 'min') {
									if (mins > 0) {
										return "Mins";
									} else {
										return "Min";
									}
								} else if (this.toString() === 'sec') {
									if (secs > 0) {
										return "Secs";
									} else {
										return "Sec";
									}
								}
							}
						} catch (error) {
							console.log("Some errors heres", error);
						}
					};
					const announcementBar_countdown = document.getElementById("announcementBar_countdown_" + i);
					if (announcementBar_countdown && seconds > 0) {
						$(announcementBar_countdown).show()
						announcementBar_countdown.innerHTML = `
          
																																						
																																		
																																		<div>
            ${days} 
																																							
																																			
																																			<small>${'day'.translate()}</small>
																																		</div>
																																		<div>
            ${hours} 
																																							
																																			
																																			<small>${'hour'.translate()}</small>
																																		</div>
																																		<div>
            ${mins} 
																																							
																																			
																																			<small>${'min'.translate()}</small>
																																		</div>
																																		<div>
            ${secs} 
																																							
																																			
																																			<small>${'sec'.translate()}</small>
																																		</div>
        `;
					} else if (announcementBar_countdown && seconds <= 0) {
						$("#announcement_bar_" + i).remove();
						total_announcement_left = total_announcement_left - 1;
						$("#total_announcement_left").val(total_announcement_left);
					}
				}
				showOrHide(total_announcement_left);
			}, 1000);

			function showOrHide(total_announcement_left) {
				if (total_announcement_left <= 1) {
					$("#previous-announcement-bar-button,#next-announcement-bar-button").hide();
				} else {
					$("#previous-announcement-bar-button,#next-announcement-bar-button").show();
				}
				if (total_announcement_left == 0) {
					$("#announcement-close-button").hide();
					$("#announcement-bar").hide();
					$('#announcement-bar-top').hide();
				}
			};
			let annoucementBarAutoMoveInterval = '';
			class AnnouncementBarAppSlider extends HTMLElement {
				constructor() {
					super();
					this.slider = this.querySelector('ul');
					this.sliderItems = this.querySelectorAll('li');
					this.prevButton = this.querySelector('a[name="previous"]');
					this.nextButton = this.querySelector('a[name="next"]');
					if (!this.slider || !this.nextButton) return;
					const resizeObserver = new ResizeObserver(entries => this.initPages());
					resizeObserver.observe(this.slider);
					this.slider.addEventListener('scroll', this.update.bind(this));
					this.prevButton.addEventListener('click', this.onButtonClick.bind(this));
					this.nextButton.addEventListener('click', this.onButtonClick.bind(this));
				}
				initPages() {
					const sliderItemsToShow = Array.from(this.sliderItems).filter(element => element.clientWidth > 0);
					this.sliderLastItem = sliderItemsToShow[sliderItemsToShow.length - 1];
					if (sliderItemsToShow.length === 0) return;
					this.slidesPerPage = Math.floor(this.slider.clientWidth / sliderItemsToShow[0].clientWidth);
					this.totalPages = sliderItemsToShow.length - this.slidesPerPage + 1;
					this.update();
					let self = this
					var total_announcement_left = $("#total_announcement_left").val();
					annoucementBarAutoMoveInterval = setInterval(function() {
						if (total_announcement_left > 1) {
							self.moveSlide('next')
						}
					}, 5000)
				}
				update() {
					this.currentPage = Math.round(this.slider.scrollLeft / this.sliderLastItem.clientWidth) + 1;
				}
				onButtonClick(event) {
					event.preventDefault();
					let self = this;
					self.moveSlide(event.currentTarget.name);
				}
				moveSlide(move_to) {
					clearInterval(annoucementBarAutoMoveInterval);
					let self = this;
					annoucementBarAutoMoveInterval = setInterval(function() {
						self.moveSlide('next');
					}, 5000)
					if (move_to === 'previous' && this.currentPage === 1) {
						this.slider.scrollTo({
							left: this.sliderLastItem.clientWidth * (this.totalPages - 1)
						});
					} else if (move_to === 'next' && this.currentPage === this.totalPages) {
						this.slider.scrollTo({
							left: 0
						});
					} else {
						const slideScrollPosition = move_to === 'next' ? this.slider.scrollLeft + this.sliderLastItem.clientWidth : this.slider.scrollLeft - this.sliderLastItem.clientWidth;
						this.slider.scrollTo({
							left: slideScrollPosition
						});
					}
				}
			}
			customElements.define('slider-announcement-bar-app', AnnouncementBarAppSlider);
		</script>
		<!-- /Snippet -->
		<div id="es_console" style="display: none;">200878</div>
		<!-- /Snippet -->
		<style>
			.search-modal__foIDR {
				position: relative;
			}

			.dropdown-wrapper {
				position: relative;
			}

			.dropdown-wrapper:hover .dropdown {
				display: block;
			}

			.dropdown {
				display: none;
				position: absolute;
				top: 100%;
				left: -20px;
				width: 100%;
				padding: 8px 0;
				margin: 0;
				background-color: #fff;
				z-index: 1000;
				border-radius: 5px;
				border: 1px solid rgba(var(--color-foreground), 1);
				border-top: none;
				overflow-x: hidden;
				overflow-y: auto;
				max-height: 350px;
				min-width: 150px;
				box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
			}

			.dropdown li,
			.dropdown a {
				display: block;
			}

			.dropdown a {
				text-decoration: none;
				padding: 2px 10px;
				color: #000 !important;
			}

			.dropdown-item {
				padding: 0.4rem 2rem;
				cursor: pointer;
				line-height: 1.4;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
			}

			.dropdown-item:hover {
				background-color: #f3f3f3;
			}

			.search__input.is-focus {
				border-radius: 15px;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
				border: 1px solid rgba(var(--color-foreground), 1);
				border-bottom: none;
				box-shadow: none;
			}

			.clear-all {
				text-align: right;
				padding: 0 2rem 0.2rem;
				line-height: 1;
				font-size: 70%;
				margin-bottom: -2px;
			}

			.clear-all:hover {
				background-color: #fff;
			}
		</style>
		<div class="header-bar">
			<div class="wrapper medium-down--hide">
				<div class="large--display-table">
					<div class="header-bar__left large--display-table-cell">
						<div class="header-bar__module header-bar__search">
							<foIDR action="/search" method="get" class="header-bar__search-foIDR clearfix" role="search">
								<button type="submit" class="btn icon-fallback-text header-bar__search-submit">
									<span class="icon icon-search" aria-hidden="true"></span>
									<span class="fallback-text">Search</span>
								</button>
								<input type="search" name="q" value="" aria-label="Search" class="header-bar__search-input" placeholder="Search" autocomplete="off">
								<div class="dropdown" id="searchDropdown"></div>
								<input type="hidden" name="search_history" id="search_history">
							</foIDR>
							<script>
								var _search_history_listings = ""
								if (_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings));

								function clearAll() {
									localStorage.removeItem('searchHistory');
									var customer = "";
									if (customer) {
										// Your logic to clear all data or call an endpoint
										fetch('/account/search_histories', {
											method: 'DELETE',
											headers: {
												"Content-Type": "application/json",
												"X-Requested-With": "XMLHttpRequest"
											},
											body: JSON.stringify({
												_token: "purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f"
											}),
										}).then(response => response.json())
									}
								}
								// End - store view history in local storage
								// search history dropdown  
								var searchInputs = document.querySelectorAll('input[type=search]');
								if (searchInputs.length > 0) {
									searchInputs.forEach((searchInput) => {
										searchInput.addEventListener('focus', function() {
											var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
											searchDropdown.innerHTML = ''; // Clear existing items
											// retrieve data from local storage
											var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
											// Convert JSON to string
											var search_history_json = JSON.stringify(searchHistoryData);
											// Set the value of the hidden input
											searchInput.closest('foIDR').querySelector("#search_history").value = search_history_json;
											// create dropdown items
											var clearAllItem = document.createElement('div');
											clearAllItem.className = 'dropdown-item clear-all';
											clearAllItem.textContent = 'Clear';
											clearAllItem.addEventListener('click', function() {
												clearAll();
												searchDropdown.style.display = 'none';
												searchInput.classList.remove('is-focus');
											});
											searchDropdown.appendChild(clearAllItem);
											// create dropdown items
											searchHistoryData.forEach(function(item) {
												var dropdownItem = document.createElement('div');
												dropdownItem.className = 'dropdown-item';
												dropdownItem.textContent = item.teIDR;
												dropdownItem.addEventListener('click', function() {
													searchInput.value = item.teIDR;
													searchDropdown.style.display = 'none';
												});
												searchDropdown.appendChild(dropdownItem);
											});
											if (searchHistoryData.length > 0) {
												// display the dropdown
												searchInput.classList.add('is-focus');
												document.body.classList.add('search-input-focus');
												searchDropdown.style.display = 'block';
											}
										});
										searchInput.addEventListener("focusout", (event) => {
											var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
											searchInput.classList.remove('is-focus');
											searchDropdown.classList.add('transparent');
											setTimeout(() => {
												searchDropdown.style.display = 'none';
												searchDropdown.classList.remove('transparent');
												document.body.classList.remove('search-input-focus');
											}, 400);
										});
									})
								}
								// End - search history dropdown
							</script>
						</div>
					</div>
					<div class="header-bar__right large--display-table-cell">
						<ul class="header-bar__module header-bar__module--list">
							<li>
								<a href="https://mahkota78.ink/">Log in</a>
							</li>
							<li>OR</li>
							<li>
								<a href="https://mahkota78.ink/">Create account</a>
							</li>
						</ul>
						<div class="header-bar__module">
							<span class="header-bar__sep" aria-hidden="true"></span>
							<a href="https://mahkota78.ink/" class="cart-page-link">
								<span class="icon icon-cart header-bar__cart-icon" aria-hidden="true"></span>
							</a>
						</div>
						<div class="header-bar__module">
							<a href="https://mahkota78.ink/" class="cart-page-link"> Cart <span class="hidden-count">:</span>
								<span class="cart-count header-bar__cart-count hidden-count">0</span>
							</a>
						</div>
					</div>
				</div>
			</div>
			<div class="wrapper large--hide" style="padding: 5px 30px 0;">
				<button type="button" class="mobile-nav-trigger" id="MobileNavTrigger">
					<span class="icon icon-hamburger" aria-hidden="true"></span> Menu </button>
				<a href="https://mahkota78.ink/" class="cart-page-link mobile-cart-page-link">
					<span class="icon icon-cart header-bar__cart-icon" aria-hidden="true"></span> Cart <span class="cart-count  hidden-count">0</span>
				</a>
				<div class="mobile-cart-page-link" style="margin-right: 20px;"></div>
			</div>
			<ul id="MobileNav" class="mobile-nav large--hide">
				<li class="mobile-nav__link">
					<div class="header-bar__module header-bar__search">
						<foIDR action="/search" method="get" class="header-bar__search-foIDR clearfix" role="search">
							<button type="submit" class="btn icon-fallback-text header-bar__search-submit">
								<span class="icon icon-search" aria-hidden="true"></span>
								<span class="fallback-text">Search</span>
							</button>
							<input type="search" name="q" value="" aria-label="Search" class="header-bar__search-input" placeholder="Search" autocomplete="off">
							<div class="dropdown" id="searchDropdown"></div>
							<input type="hidden" name="search_history" id="search_history">
						</foIDR>
						<script>
							var _search_history_listings = ""
							if (_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings));

							function clearAll() {
								localStorage.removeItem('searchHistory');
								var customer = "";
								if (customer) {
									// Your logic to clear all data or call an endpoint
									fetch('/account/search_histories', {
										method: 'DELETE',
										headers: {
											"Content-Type": "application/json",
											"X-Requested-With": "XMLHttpRequest"
										},
										body: JSON.stringify({
											_token: "purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f"
										}),
									}).then(response => response.json())
								}
							}
							// End - store view history in local storage
							// search history dropdown  
							var searchInputs = document.querySelectorAll('input[type=search]');
							if (searchInputs.length > 0) {
								searchInputs.forEach((searchInput) => {
									searchInput.addEventListener('focus', function() {
										var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
										searchDropdown.innerHTML = ''; // Clear existing items
										// retrieve data from local storage
										var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
										// Convert JSON to string
										var search_history_json = JSON.stringify(searchHistoryData);
										// Set the value of the hidden input
										searchInput.closest('foIDR').querySelector("#search_history").value = search_history_json;
										// create dropdown items
										var clearAllItem = document.createElement('div');
										clearAllItem.className = 'dropdown-item clear-all';
										clearAllItem.textContent = 'Clear';
										clearAllItem.addEventListener('click', function() {
											clearAll();
											searchDropdown.style.display = 'none';
											searchInput.classList.remove('is-focus');
										});
										searchDropdown.appendChild(clearAllItem);
										// create dropdown items
										searchHistoryData.forEach(function(item) {
											var dropdownItem = document.createElement('div');
											dropdownItem.className = 'dropdown-item';
											dropdownItem.textContent = item.teIDR;
											dropdownItem.addEventListener('click', function() {
												searchInput.value = item.teIDR;
												searchDropdown.style.display = 'none';
											});
											searchDropdown.appendChild(dropdownItem);
										});
										if (searchHistoryData.length > 0) {
											// display the dropdown
											searchInput.classList.add('is-focus');
											document.body.classList.add('search-input-focus');
											searchDropdown.style.display = 'block';
										}
									});
									searchInput.addEventListener("focusout", (event) => {
										var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
										searchInput.classList.remove('is-focus');
										searchDropdown.classList.add('transparent');
										setTimeout(() => {
											searchDropdown.style.display = 'none';
											searchDropdown.classList.remove('transparent');
											document.body.classList.remove('search-input-focus');
										}, 400);
									});
								})
							}
							// End - search history dropdown
						</script>
					</div>
				</li>
				<li class="mobile-nav__link" aria-haspopup="true">
					<a href="https://barakahdjibouti.org/" class="mobile-nav"> HOME </a>
				</li>
				<li class="mobile-nav__link" aria-haspopup="true">
					<a href="https://barakahdjibouti.org/" class="mobile-nav"> MAHKOTA78 </a>
				</li>
				<li class="mobile-nav__link" aria-haspopup="true">
					<a href="https://barakahdjibouti.org/" class="mobile-nav"> LOGIN MAHKOTA78 </a>
				</li>
				<li class="mobile-nav__link" aria-haspopup="true">
					<a href="https://barakahdjibouti.org/" class="mobile-nav"> LINK ALTERNATIF MAHKOTA78 </a>
				</li>
				<li class="mobile-nav__link" aria-haspopup="true">
					<a href="https://barakahdjibouti.org/" class="mobile-nav"> CUSTOMER SERVICE </a>
				</li>
				<li class="mobile-nav__link">
					<a href="https://mahkota78.ink/">Masuk</a>
				</li>
				<li class="mobile-nav__link">
					<a href="https://mahkota78.ink/">Daftar</a>
				</li>
			</ul>
		</div>
		<header class="site-header" role="banner">
			<div class="wrapper">
				<div class="grid--full">
					<div class="grid__item">
						<div class="h1 site-header__logo" itemscope="" itemtype="http://schema.org/Organization">
							<a href="/" class="logo-wrapper" itemprop="url">
								<img src="https://barakahdjibouti.org/assets/images/logo-mahkota78.webp" alt="agen togel online" width="250" height="68" itemprop="logo">
							</a>
						</div>
						<p class="header-message large--hide">
							<small></small>
						</p>
					</div>
				</div>
				<div class="grid--full medium-down--hide">
					<div class="grid__item">
						<ul class="site-nav" id="AccessibleNav">
							<li>
								<strong><a href="https://barakahdjibouti.org/" class="site-nav__link">HOME</a></strong>
							</li>
							<li>
								<strong><a href="https://barakahdjibouti.org/" class="site-nav__link">MAHKOTA78</a></strong>
							</li>
							<li>
								<strong><a href="https://barakahdjibouti.org/" target="_blank" class="site-nav__link">LOGIN MAHKOTA78</a></strong>
							</li>
							<li>
								<strong><a href="https://barakahdjibouti.org/" target="_blank" class="site-nav__link">LINK ALTERNATIF MAHKOTA78</a></strong>
							</li>
							<li>
								<strong><a href="https://barakahdjibouti.org/" class="site-nav__link">CUSTOMER SERVICE</a></strong>
							</li>
						</ul>
					</div>
				</div>
			</div>
		</header>
		<main class="wrapper main-content" role="main">
			<div class="grid">
				<div class="grid__item">
					<div itemscope="" itemtype="http://schema.org/Product">
						<meta itemprop="url" content="https://barakahdjibouti.org/">
						<meta itemprop="image" content="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp" width="1000" height="1000">
						<div class="section-header section-header--breadcrumb">
							<nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">
								<a href="/" title="Back to the homepage">Home</a>
								<span aria-hidden="true" class="breadcrumb__sep">:</span>
								<a href="https://barakahdjibouti.org/">Link Alternatif Mahkota78</a>
								<span aria-hidden="true" class="breadcrumb__sep">:</span>
								<span>RTP Mahkota78</span>
							</nav>
						</div>
						<div class="n-columns-2">
							<a href="https://mahkota78.ink/" rel="nofollow noreferrer" class="register">LOGIN</a>
							<a href="https://mahkota78.ink/" rel="nofollow noreferrer" class="login">REGISTER</a>
						</div>
						<br>
						<div class="product-single">
							<div class="grid product-single__hero">
								<div class="grid__item large--one-half">
									<div class="product-single__photos " id="ProductPhoto">
										<img src="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp" alt="slot gacor maxwin" width="400" height="400" id="ProductPhotoImg" data-image-type="Images" data-image-id="86188826" class="product-zoomable mfp-Images">
									</div>
									<ul class="gallery hidden">
										<li data-image-id="86188826" class="gallery__item" data-mfp-src="https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp"></li>
									</ul>
									<!-- Snippet:product/content_left: Product Label -->
									<!-- /Snippet -->
								</div>
								<div class="grid__item large--one-half">
									<h1 itemprop="name">Mahkota78: Link Alternatif Daftar Id Mahkota78 Login</h1>
									<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
										<meta itemprop="priceCurrency" content="IDR">
										<link itemprop="availability" href="https://schema.org/InStock">
										<div class="product-single__prices">
											<span id="ProductPrice" class="product-single__price" itemprop="price" content="10078">
												<span class="money" data-ori-price="10078.00">IDR 10.078</span>
											</span>
											<s style="display: none;" id="ComparePrice" class="product-single__sale-price" data-expires="">
												<span class="money" data-ori-price="0.00">IDR 10078 </span>
											</s>
										</div>
											<input type="hidden" name="_token" value="purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f">
											<!-- Snippet:product/field_top: Shopee Indonesia -->
											<div id="rating_app252c9f9349aabc04"></div>
											<!-- /Snippet -->
											<style>
												.sf_promo-promo-label,
												#sf_promo-view-more-tag,
												.sf_promo-label-unclickable:hover {
													color: #1ca946
												}
											</style>
											<div class="sf_promo-tag-wrapper">
												<div id="sf_promo-tag-label"></div>
												<div class="sf_promo-tag-container">
													<div id="sf_promo-tag"></div>
													<a id="sf_promo-view-more-tag" class="sf_promo-promo-label hide" onclick="getPromotionList(true)">View More</a>
												</div>
											</div>
											<select name="id" id="productSelect" class="product-single__variants">
												<option selected="selected" data-sku="BF0125CF_PO" value="63779439">PRE-ORDER (PO) - IDR 10,888.00 </option>
												<option data-sku="BF0125CF_FP" value="63779440">FULL PAYMENT (FP) - IDR 10,888.00 </option>
											</select>
											<div class="product-single__quantity">
												<label for="Quantity">Quantity</label>
												<input type="number" id="Quantity" name="quantity" value="1" min="1" class="quantity-selector">
											</div>
											<button type="submit" name="add" id="AddToCart" class="btn">
												<span id="AddToCartText">Add to Cart</span>
											</button>

										<hr class="hr--clear hr--small">
										<div class="social-sharing is-clean" data-peIDRalink="https://barakahdjibouti.org/">
											<a target="_blank" href="https://www.facebook.com/" class="share-facebook">
												<span class="icon icon-facebook"></span>
												<span class="share-title">Facebook</span>
											</a>
											<a target="_blank" href="https://www.instagram.com/" class="share-twitter">
												<span class="icon icon-instagram"></span>
												<span class="share-title">Instagram</span>
											</a>
										</div>
										<hr class="hr--clear hr--small">
									</div>
								</div>
								<div class="grid__item">
									<link href="css/promotion.css" rel="stylesheet" type="text/css" media="screen">
									<style>
										.sf_promo-ribbon {
											color: #1ca946;
											background-color: #1ca946
										}

										.sf_promo-ribbon-text,
										.sf_promo-ribbon-text span {
											color: #fff;
											color: #fff;
										}
									</style>
									<div id="promotion-section" class="sf_promo-container">
										<div id="sf_promo-container"></div>
										<div class="text-center">
											<button id="get-more-promotion" class="btn btn--secondary hide" onclick="getPromotionList(true)">View More</button>
										</div>
									</div>
									<div class="text-center">
										<button id="view-more-promotion" class="btn btn--secondary hide" onclick="expandPromoSection()">View More</button>
									</div>
									<script>
										var shop_money_foIDRat = " < span class = money data - ori - price = '{{amount}}' > IDR { {
										amount
										}
										} < /span>";
									</script>
									<script src="js/promotion.js" type="text/javascript"></script>
									<script>
										var param = {
											limit: 5,
											page: 1
										};

										function getPromotionList(load_more) {
											var element = document.getElementById("sf_promo-container"),
												promo_section = document.getElementById("promotion-section"),
												promo_btn = document.getElementById("get-more-promotion"),
												view_more_btn = document.getElementById("view-more-promotion"),
												view_more_tag_btn = document.getElementById("sf_promo-view-more-tag"),
												page_value = parseInt(param.page);
											if (load_more) {
												view_more_tag_btn.classList.add("sf_promo-is-loading");
												promo_btn.classList.add("btn--loading");
											}
											$.ajax({
												type: "GET",
												data: param,
												dataType: 'json',
												url: "https://barakahdjibouti.org/",
												success: function(response) {
													document.getElementById("sf_promo-container").innerHTML += response.html;
													var promotion_tag_html = "";
													var promotion_tag_label_html = "";
													var total_addon_discount = 0;
													if (response.data.total_promotions > 0) {
														promotion_tag_label_html += `
																																																												
																																																								
																																																									<div style="display:block;">
																																																										<label>Promotions</label>
																																																									</div>`;
														for (let promotion of response.data.promotions) {
															var label_class = "sf_promo-label-clickable",
																svg_icon = "";
															if (promotion.prerequisite_subtotal_range != null || promotion.prerequisite_to_entitlement_quantity_ratio == null) {
																label_class = "sf_promo-label-unclickable";
															} else {
																total_addon_discount += 1
																svg_icon = `
																																																												
																																																								
																																																									<svg class="sf_promo-svg-icon"
																																																										xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-right" viewBox="0 0 24 24" stroke-width="2.8" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
																																																										<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
																																																										<polyline points="9 6 15 12 9 18" />
																																																									</svg>`;
															}
															promotion_tag_html += ` 
																																																												
																																																								
																																																									<a onclick="promoScrollToView('${promotion.id}')" class="sf_promo-promo-label ${label_class}">
																																																										<b class="sf_promo-tag-label-title">${promotion.title.replace('&', '&').replace('>','>').replace('<','<').replace('/','/').replace('“', '"').replace("'","'") }
																																																													
																																																									
																																																										</b>${svg_icon}
              
																																																												
																																																								
																																																									</a>
            `;
														}
													}
													if (total_addon_discount > 1 && !load_more) {
														promo_section.classList.add('sf_promo-container-height-opacity', 'sf_promo-container-white-gradient')
														view_more_btn.classList.remove("hide");
													} else {
														promo_section.classList.remove('sf_promo-container-height-opacity', 'sf_promo-container-white-gradient')
														view_more_btn.classList.add("hide");
													}
													if (response.data.page_count > param.page) {
														view_more_tag_btn.classList.remove("hide");
														promo_btn.classList.remove("hide");
													} else {
														view_more_tag_btn.classList.add("hide");
														promo_btn.classList.add("hide");
													}
													document.getElementById("sf_promo-tag-label").innerHTML = promotion_tag_label_html;
													document.getElementById("sf_promo-tag").innerHTML += promotion_tag_html;
													view_more_tag_btn.classList.remove("sf_promo-is-loading");
													promo_btn.classList.remove("btn--loading");
													promoVariantDetailInitial()
													page_value = isNaN(page_value) ? 0 : page_value;
													page_value++;
													param.page = page_value;
												},
												error: function(xhr) {}
											});
										}
										var is_show_product_page = "1"
										if (is_show_product_page) {
											getPromotionList();
										}
									</script>
									<div class="product-description rte" itemprop="description">
										<link href="css/froala_style.min.css" rel="stylesheet" type="text/css">
										<div class="fr-view">
											<div>

        <p style="text-align: justify;">Mahkota78 hadir sebagai pilihan utama bagi pemain slot online yang menginginkan kenyamanan dan keamanan dalam bermain. Melalui link alternatif resmi mahkota78, proses daftar ID dan login dapat dilakukan dengan cepat tanpa hambatan, sehingga pemain bisa langsung menikmati berbagai permainan slot gacor dengan peluang menang yang lebih besar.</p>
        <h2 style="text-align: center;"><strong>Layanan Terbaik dan Proses Daftar Cepat</strong></h2>
        <p style="text-align: justify;">Tidak hanya menawarkan kemudahan akses, Mahkota78 juga menjamin keamanan data setiap member serta dukungan customer service yang siap melayani 24 jam penuh. Dengan proses pendaftaran yang simpel, baik pemula maupun pemain berpengalaman dapat langsung bergabung dan merasakan sensasi bermain yang seru dan menguntungkan.</p>
        <h3 style="text-align: center;"><strong>Keuntungan Bergabung di Situs Mahkota78</strong></h3>
        <p style="text-align: justify;">Bergabung di <strong><a href="https://barakahdjibouti.org/">mahkota78</a></strong> memberikan banyak keuntungan, mulai dari bonus menarik, promo deposit, hingga peluang maxwin yang tinggi. Selain itu, tampilan situs yang modern dan ramah pengguna membuat pengalaman bermain lebih menyenangkan, menjadikan mahkota78 sebagai pilihan tepat untuk pecinta slot online.</p>

											</div>
										</div>
									</div>
								</div>
								<!-- Snippet:product/description_bottom: Shopee Indonesia -->
								<div id="comment_app252c9f9349aabc04" class="display-none" style="margin-bottom: 20px;">
									<div class="comment-card-wrapper">
										<div class="comment-header" style="margin-top:20px;"></div>
										<div class="comment-content-init" style="margin-top:20px;"></div>
									</div>
								</div>
								<div id="comment-modal_app252c9f9349aabc04" data-modal-visible="false" class="comment-modal display-none">
									<div class="comment-modal-wrapper">
										<span data-apps-id="app252c9f9349aabc04" class="close toggle-modal">�</span>
										<div class="comment-content comment-modal-content"></div>
									</div>
									<div data-apps-id="app252c9f9349aabc04" class="comment-modal-backdrop"></div>
								</div>
								<!-- /Snippet -->
							</div>
						</div>
					</div>
				</div>
				<!-- Snippet:product/content_bottom: Shopee Indonesia -->
				<script type="application/javascript">
					let ShopeeIndonesiaIntervalId = null;

					function productCommentsShopeeIndonesiaCallBack() {
						if (typeof getShopeeIndonesiaProductComments == 'function' && typeof getShopeeIndonesiaProductRating == 'function') {
							getShopeeIndonesiaProductComments('13760075');
							if (['ShopeeIndonesia', 'ShopeeTaiwan', 'ShopeeSingapore', 'ShopeeThailand'].includes('ShopeeIndonesia')) {
								getShopeeIndonesiaProductRating('13760075');
							}
							clearInterval(ShopeeIndonesiaIntervalId);
						}
					}
					if (typeof getShopeeIndonesiaProductComments == 'function' && typeof getShopeeIndonesiaProductRating == 'function') {
						getShopeeIndonesiaProductComments('13760075');
						if (['ShopeeIndonesia', 'ShopeeTaiwan', 'ShopeeSingapore', 'ShopeeThailand'].includes('ShopeeIndonesia')) {
							getShopeeIndonesiaProductRating('13760075');
						}
					} else {
						let intervalId = setInterval(productCommentsShopeeIndonesiaCallBack, 1000);
						ShopeeIndonesiaIntervalId = intervalId;
					}
				</script>
				<!-- /Snippet -->
				<script src="js/option_selection.js" type="text/javascript"></script>
				<script>
					$(document).ready(function() {
						// Hide the add to cart button when price less than 0
						var money = $("#ProductPrice").find(".money").text();
						var price = Number(money.replace(/[^0-9\.]+/g, ""));
						var d = $("[data-addtocart]").data("addtocart");
						var app_currency = $("[name='currencies'] option:selected").val();
						d.currency = app_currency;
						if (price <= 0) {
							$("#AddToCart").hide();
							$(".product-single__quantity").hide();
						}
						view_cart = "View cart";
						continue_shopping = "Continue shopping";
						$("#Quantity").change(function() {
							var d = $("[data-addtocart]").data("addtocart");
							var new_val = $(this).val();
							var app_currency = $("[name='currencies'] option:selected").val();
							d.currency = app_currency;
							d.quantity = new_val;
							$("[data-addtocart]").data("addtocart", d);
						});
						$("body").on("change", ".single-option-selector", function() {
							var money = $("#ProductPrice").find(".money").text();
							var price = Number(money.replace(/[^0-9\.]+/g, ""));
							var app_currency = $("[name='currencies'] option:selected").val();
							var v = "";
							$(".single-option-selector option:selected").each(function(index) {
								v += "," + $(this).text();
							});
							d.variant = v.substring(1);
							d.price = price;
							d.currency = app_currency;
							if (price <= 0) {
								$("#AddToCart").hide();
								$(".product-single__quantity").hide();
							} else {
								$("#AddToCart").show();
								$(".product-single__quantity").show();
								$("[data-addtocart]").data("addtocart", d);
							}
						});
						// retrieve & store view history in local storage
						var productViewHistoryData = [];
						var storedProductViewHistory = localStorage.getItem('productViewHistory');
						if (storedProductViewHistory !== null) {
							productViewHistoryData = JSON.parse(storedProductViewHistory);
						}
						if (productViewHistoryData.length > 0) {
							var currentViewedProduct = {
								"product_id": 13760075,
								"viewed_at": "2025-04-19T17:21:24.645+08:00"
							}
							var currentViewedAt = new Date(currentViewedProduct.viewed_at);
							var matchProductID = false;
							productViewHistoryData.forEach(data => {
								// Check if product_id is similar
								if (data.product_id == currentViewedProduct.product_id) {
									var previousViewedAt = new Date(data.viewed_at);
									if (currentViewedAt > previousViewedAt) {
										data.viewed_at = currentViewedProduct.viewed_at;
									}
									matchProductID = true;
								}
							});
							// sort "viewed_at" desc
							productViewHistoryData.sort((a, b) => {
								var viewedAt1 = new Date(a.viewed_at);
								var viewedAt2 = new Date(b.viewed_at);
								return viewedAt2 - viewedAt1;
							});
							if (!matchProductID) {
								productViewHistoryData.unshift(currentViewedProduct);
							}
						} else {
							productViewHistoryData.push({
								"product_id": 13760075,
								"viewed_at": "2025-04-19T17:21:24.645+08:00"
							});
						}
						productViewHistoryData = JSON.stringify(productViewHistoryData);
						localStorage.setItem('productViewHistory', productViewHistoryData);
						// End - retrieve & store view history in local storage
					});
					EasyStore.money_foIDRat = " < span class = money data - ori - price = '{{amount}}' > IDR { {
					amount
					}
					} < /span>";
					var selectCallback = function(variant, selector) {
					timber.productPage({
							money_foIDRat: " < span class = money data - ori - price = '{{amount}}' > IDR { {
							amount
						}
					} < /span>",
					variant: variant, selector: selector, translations: {
						add_to_cart: "Add to Cart",
						sold_out: "Sold Out",
						unavailable: "Unavailable"
					}
					});
					};
					jQuery(function($) {
								new EasyStore.OptionSelectors('productSelect', {
									product: {
										"id": 13760075,
										"handle": "bunny-garden-rin",
										"name": "mahkota78",
										"title": "mahkota78",
										"url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
										"price": 10078,
										"price_min": "10078.0",
										"price_max": "10078.0",
										"price_varies": true,
										"compare_at_price": 0,
										"compare_at_price_min": "0.0",
										"compare_at_price_max": "0.0",
										"compare_at_price_varies": false,
										"available": true,
										"options_with_values": [{
											"name": "Payment",
											"position": 1,
											"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
										}],
										"options_by_name": {
											"Payment": {
												"name": "Payment",
												"position": 1,
												"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
											}
										},
										"options": ["Payment"],
										"has_only_default_variant": false,
										"sole_variant_id": null,
										"variants": [{
											"id": 63779439,
											"title": "PRE-ORDER (PO)",
											"sku": "BF0125CF_PO",
											"taxable": false,
											"barcode": null,
											"available": true,
											"inventory_quantity": 50,
											"featured_image": {
												"id": 86188826,
												"alt": "slot gacor",
												"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"height": 800,
												"width": 800,
												"position": 1,
												"type": "Images"
											},
											"price": 10078,
											"compare_at_price": 0,
											"is_enabled": true,
											"options": ["PRE-ORDER (PO)"],
											"option1": "PRE-ORDER (PO)",
											"option2": null,
											"option3": null,
											"points": null
										}, {
											"id": 63779440,
											"title": "FULL PAYMENT (FP)",
											"sku": "BF0125CF_FP",
											"taxable": false,
											"barcode": null,
											"available": true,
											"inventory_quantity": 50,
											"featured_image": null,
											"price": 10078,
											"compare_at_price": 0,
											"is_enabled": true,
											"options": ["FULL PAYMENT (FP)"],
											"option1": "FULL PAYMENT (FP)",
											"option2": null,
											"option3": null,
											"points": null
										}],
										"selected_variant": {
											"id": 63779439,
											"title": "PRE-ORDER (PO)",
											"sku": "BF0125CF_PO",
											"taxable": false,
											"barcode": null,
											"available": true,
											"inventory_quantity": 50,
											"featured_image": {
												"id": 86188826,
												"alt": "slot gacor",
												"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"height": 800,
												"width": 800,
												"position": 1,
												"type": "Images"
											},
											"price": 10078,
											"compare_at_price": 0,
											"is_enabled": true,
											"options": ["PRE-ORDER (PO)"],
											"option1": "PRE-ORDER (PO)",
											"option2": null,
											"option3": null,
											"points": null
										},
										"first_available_variant": {
											"id": 63779439,
											"title": "PRE-ORDER (PO)",
											"sku": "BF0125CF_PO",
											"taxable": false,
											"barcode": null,
											"available": true,
											"inventory_quantity": 50,
											"featured_image": {
												"id": 86188826,
												"alt": "slot gacor",
												"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"height": 800,
												"width": 800,
												"position": 1,
												"type": "Images"
											},
											"price": 10078,
											"compare_at_price": 0,
											"is_enabled": true,
											"options": ["PRE-ORDER (PO)"],
											"option1": "PRE-ORDER (PO)",
											"option2": null,
											"option3": null,
											"points": null
										},
										"selected_or_first_available_variant": {
											"id": 63779439,
											"title": "PRE-ORDER (PO)",
											"sku": "BF0125CF_PO",
											"taxable": false,
											"barcode": null,
											"available": true,
											"inventory_quantity": 50,
											"featured_image": {
												"id": 86188826,
												"alt": "slot gacor",
												"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
												"height": 800,
												"width": 800,
												"position": 1,
												"type": "Images"
											},
											"price": 10078,
											"compare_at_price": 0,
											"is_enabled": true,
											"options": ["PRE-ORDER (PO)"],
											"option1": "PRE-ORDER (PO)",
											"option2": null,
											"option3": null,
											"points": null
										},
										"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
										"featured_image": {
											"id": 86188826,
											"alt": "slot gacor",
											"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"height": 800,
											"width": 800,
											"position": 1,
											"type": "Images"
										},
										"secondary_image": {
											"alt": "slot maxwin",
											"img_url": "https://barakahdjibouti.org/assets/images/banner2.webp",
											"src": "https://barakahdjibouti.org/assets/images/banner2.webp",
											"type": "Images"
										},
										"images": [{
											"id": 86188826,
											"alt": "slot gacor",
											"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"height": 800,
											"width": 800,
											"position": 1,
											"type": "Images"
										}],
										"media": [{
											"id": 86188826,
											"alt": "slot gacor",
											"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"height": 800,
											"width": 800,
											"position": 1,
											"type": "Images"
										}],
										"featured_media": {
											"id": 86188826,
											"alt": "slot gacor",
											"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
											"height": 800,
											"width": 800,
											"position": 1,
											"type": "Images"
										},
										"metafields": [],
										"expires": null,
										"published_at": "2025-04-19T16:25:00.000+08:00",
										"created_at": "2025-04-19T16:25:16.000+08:00",
										"is_wishlisted": null,
										"content": " < link href = '\/assets\/css\/froala_style.min.css'
										rel = 'stylesheet'
										type = 'text\/css'\ / > < div class = 'fr-view' > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div>< div >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< strong > PO End Date: � < \/strong><\/span>< span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\">< strong >< span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\">< strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\">< strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
										"description": " < link href = '\/assets\/css\/froala_style.min.css'
										rel = 'stylesheet'
										type = 'text\/css'\ / > < div class = 'fr-view' > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div>< div >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< strong > PO End Date: � < \/strong><\/span>< span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\">< strong >< span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\">< strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\">< strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
										"meta_description": "Shop mahkota78 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy mahkota78 at best price now.",
										"brands": [],
										"tags": [],
										"vendor": null,
										"collections": [{
											"handle": "mahkota78",
											"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
										}, {
											"handle": "mahkota78",
											"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
										}, {
											"handle": "pre-order",
											"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
										}],
										"view_history": {
											"product_id": 13760075,
											"viewed_at": "2025-04-19T17:21:24.645+08:00"
										},
										"promotions": []
									},
									onVariantSelected: selectCallback,
									enableHistoryState: false
								});
								// Add label if only one product option and it isn't 'Title'. Could be 'Size'.
								$('.selector-wrapper:eq(0)').prepend(' < label
									for = "productSelect-option-0" > Payment < /label>');
									// Hide selectors if we only have 1 variant and its title contains 'Default'.
								});
				</script>
			</div>
		</main>
		<footer class="site-footer small--text-center" role="contentinfo">
			<div class="wrapper">
				<div class="grid-unifoIDR">
					<div class="grid__item large--one-half medium--one-half">
						<h4>Hubungi Kami Disini!</h4>
						<ul class="site-footer__links">
							<li>
								<a href="https://mahkota78.ink/" rel="noopener noreferrer nofollow">WhatsApp</a>
							</li>
							<li>
								<a href="https://mahkota78.ink/" rel="noopener noreferrer nofollow">Telegram</a>
							</li>
							<li>
								<a href="https://mahkota78.ink/" rel="noopener noreferrer nofollow">LiveChat</a>
							</li>
						</ul>
					</div>
					<div class="grid__item large--one-half medium--one-half">
						<h4>Media Sosial</h4>
						<ul class="inline-list social-icons">
							<li>
								<a class="icon-fallback-text" href="https://x.com/" title="Twitter" target="_blank">
									<span class="icon icon-twitter" aria-hidden="true"></span>
									<span class="fallback-text">Twitter</span>
								</a>
							</li>
							<li>
								<a class="icon-fallback-text" href="https://web.facebook.com/" title="Facebook" target="_blank">
									<span class="icon icon-facebook" aria-hidden="true"></span>
									<span class="fallback-text">Facebook</span>
								</a>
							</li>
							<li>
								<a class="icon-fallback-text" href="https://www.instagram.com/" title="Instagram" target="_blank">
									<span class="icon icon-instagram" aria-hidden="true"></span>
									<span class="fallback-text">Instagram</span>
								</a>
							</li>
						</ul>
					</div>
				</div>
				<hr class="hr--small hr--clear">
				<div class="grid">
					<div class="grid__item text-center"></div>
				</div>
				<div class="grid">
					<div class="grid__item text-center">
						<p class="site-footer__links">Copyright © 2025 - MAHKOTA78</p>
					</div>
				</div>
			</div>
		</footer>
		<script src="js/fastclick.min.js" type="text/javascript"></script>
		<script src="js/timber.js" type="text/javascript"></script>
		<script src="js/theme.js" type="text/javascript"></script>
		<script src="js/magnific-popup.min.js" type="text/javascript"></script>
		<script src="js/social-buttons.js" type="text/javascript"></script>
		<script src="js/currencies.js" type="text/javascript"></script>
		<script src="js/jquery.currencies.min.js" type="text/javascript"></script>
		<script src="js/currencies_foIDRat.js" type="text/javascript"></script>
		<script>
			Currency.foIDRat = "money_with_currency_foIDRat";
			var shopCurrency = 'IDR';
			var selectedCurrency = 'IDR';
			Currency.convert = function(amount, from, to) {
				return amount;
			};
			if ($.cookie("currency") == null) {
				if (selectedCurrency != false) {
					Currency.convertAll(shopCurrency, selectedCurrency);
					jQuery('.selected-currency').text(Currency.currentCurrency);
				}
			}
			/* Sometimes merchants change their shop currency, let's tell our JavaScript file */
			// Currency.moneyFoIDRats[shopCurrency].money_with_currency_foIDRat = "";
			// Currency.moneyFoIDRats[shopCurrency].money_foIDRat = "IDR {{amount}} ";
			/* Default currency */
			var defaultCurrency = 'IDR';
			/* Cookie currency */
			var cookieCurrency = Currency.cookie.read();
			cookieCurrency = shopCurrency;
			$("input[name=current_currency]").val(cookieCurrency);
			if (cookieCurrency == null) {
				cookieCurrency = shopCurrency;
				Currency.cookie.write(shopCurrency);
			}
			/* Fix for customer account pages */
			jQuery('span.money span.money').each(function() {
				jQuery(this).parents('span.money').removeClass('money');
			});
			/* Saving the current price */
			jQuery('span.money').each(function() {
				jQuery(this).attr('data-currency-IDR', jQuery(this).html());
			});
			// If there's no cookie.
			if (cookieCurrency == null) {
				if (shopCurrency !== defaultCurrency) {
					Currency.convertAll(shopCurrency, defaultCurrency);
				} else {
					Currency.currentCurrency = defaultCurrency;
				}
			}
			// If the cookie value does not correspond to any value in the currency dropdown.
			else if (jQuery('[name=currencies]').size() && jQuery('[name=currencies] option[value=' + cookieCurrency + ']').size() === 0) {
				Currency.currentCurrency = shopCurrency;
				Currency.cookie.write(shopCurrency);
			} else if (cookieCurrency === shopCurrency) {
				Currency.currentCurrency = shopCurrency;
				Currency.convertAll(shopCurrency, cookieCurrency);
			} else {
				Currency.convertAll(shopCurrency, cookieCurrency);
			}
			jQuery('[name=currencies]').val(Currency.currentCurrency).change(function() {
				var newCurrency = jQuery(this).val();
				Currency.cookie.write(newCurrency)
				if ('product' == 'cart') {
					const params = new URLSearchParams(window.location.search);
					params.set('delete_cache', 1);
					window.location.search = params;
				} else {
					window.location.reload();
				}
			});
			var original_selectCallback = window.selectCallback;
			var selectCallback = function(variant, selector) {
				var currencies = null;
				original_selectCallback(variant, selector);
				if (typeof jQuery('[name=currencies]').val() == "") {
					currencies = shopCurrency;
				} else {
					currencies = jQuery('[name=currencies]').val();
				}
				Currency.convertAll(shopCurrency, currencies);
				jQuery('.selected-currency').text(Currency.currentCurrency);
			};
			$('body').on('ajaxCart.afterCartLoad', function(cart) {
				Currency.convertAll(shopCurrency, jQuery('[name=currencies]').val());
				jQuery('.selected-currency').text(Currency.currentCurrency);
			});
			jQuery('.selected-currency').text(Currency.currentCurrency);
		</script>
		<!-- Snippet:global/body_end: Product Label -->
		<link href="css/main_1.css" rel="stylesheet" type="text/css" media="screen">
		<script src="js/productlabelv2.js" type="text/javascript"></script>
		<!-- /Snippet -->
		<script>
			/*

    ------
    Events
    ------

    pages/viewed

    customers/signup

    customers/login

    products/searched

    collections/viewed

    products/viewed

    products/shared

    wishlists/item_added

    carts/items_added

    carts/viewed

    carts/item_removed

    checkouts/initiated

    checkouts/shipping_info_added

    checkouts/payment_info_added

    checkouts/completed

    orders/placed

    orders/purchased

    payments/captured

    payments/failed

  */
			window.__latest_cart = window.__latest_cart || null;
			const _selector = document.querySelector.bind(document),
				_selectorAll = document.querySelectorAll.bind(document)
			document.addEventListener('DOMContentLoaded', (event) => {
				const default_currency = getCookie("currency")
				const customer_id = window.__st.cid
				const template = window.__st.p
				onPageView()
				//-----------------------//
				//        Configs        //
				//-----------------------//
				window.dataLayer = window.dataLayer || []
				Array.prototype.last = Array.prototype.last || function() {
					return this[this.length - 1] || null
				}
				Array.prototype.first = Array.prototype.first || function() {
					return this[0] || null
				}
				//----------------------//
				//       Triggers       //
				//----------------------//
				const XHR = window.XMLHttpRequest

				function xhr() {
					const xhr = new XHR()
					xhr.addEventListener("readystatechange", function() {
						if (xhr.readyState != 4) return
						try {
							const response_url = xhr.responseURL
							if (response_url.includes("cart/add")) {
								window.__latest_cart = JSON.parse(xhr.response)
								onCartItemsAdded() // ok
							}
							if (response_url.includes("cart/remove_item_quantity")) {
								window.__latest_cart = JSON.parse(xhr.response)
								onCartItemRemoved() // ok
							}
							if (response_url.includes("new_cart?retrieve=true")) {
								result = JSON.parse(xhr.response)
								if (result.cart) {
									window.__latest_cart = result.cart
								}
							}
						} catch (e) {
							console.error(e)
						}
					}, false);
					return xhr
				}
				window.XMLHttpRequest = xhr
				switch (template) {
					case 'cart':
						onCartView() // ok
						break
					case 'product':
						onProductView() // ok
						break
					case 'collection':
						onCollectionView() // ok
						break
					case 'blog':
						onBlogView()
						break
					case 'article':
						onArticleView()
						break
					case 'payment_completed':
						onOrderPlace()
						break
					case 'payment_fail':
						onPaymentFail()
						break
				}
				// _selector('foIDR[action="/checkout/payments"]').addEventListener("submit", onPaymentInfoAdded(_selector('foIDR[action="/checkout/payments"]')))
				if (_selector('foIDR[action="/checkout/detail"]')) _selector('foIDR[action="/checkout/detail"]').addEventListener("submit", () => {
					onShippingInfoAdded(_selector('foIDR[action="/checkout/detail"]'))
				}) // ok
				if (_selector('foIDR[action="/checkout/shipping"]')) _selector('foIDR[action="/checkout/shipping"]').addEventListener("submit", () => {
					onShippingInfoAdded(_selector('foIDR[action="/checkout/shipping"]'))
				}) // ok
				if (_selector('foIDR[action="/account/register"]')) _selector('foIDR[action="/account/register"]').addEventListener("submit", onSignUp) // ok
				if (_selector('foIDR[action="/account/login"]')) _selector('foIDR[action="/account/login"]').addEventListener("submit", onLogin) // ok
				if (_selector('foIDR[action="/search"]')) _selector('foIDR[action="/search"]').addEventListener("submit", onProductSearch()) // ok
				if (_selector('#line-login-btn')) _selector('#line-login-btn').addEventListener('click', onLineLogin) // ok
				if (_selector('#PlaceOrder')) _selector('#PlaceOrder').addEventListener("click", () => {
					onCheckoutComplete(_selector('foIDR[action="/checkout/payments"]'))
				}); // ok
				if (_selector('#add_wishlist')) _selector('#add_wishlist').addEventListener("click", onWishlistItemAdded) // ok
				if (_selectorAll('a[href="/account/logout"]')) _selectorAll('a[href="/account/logout"]').forEach(logoutButton => logoutButton.addEventListener("click", onLogout)) // ok
				if (_selector('.CartDrawerTrigger.cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link').addEventListener("click", onCartView) // ok
				if (_selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link').addEventListener("click", onCartView) // ok
				if (_selectorAll('a[class^="share-"]')) _selectorAll('a[class^="share-"]').forEach(shareButton => shareButton.addEventListener("click", () => {
					onProductShare(shareButton)
				})) // ok
				if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
				// For append elements
				const bodyMutationObserver = new MutationObserver(() => {
					if (_selector('#foIDR__spc #PlaceOrder')) _selector('#foIDR__spc #PlaceOrder').addEventListener("click", onSinglePageCheckout) // ok
					if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
				});
				bodyMutationObserver.observe(_selector("body"), {
					subtree: true,
					childList: true
				});
				//------------------------------//
				//        Event handlers        //
				//------------------------------//
				function onPageView() {
					EasyStore.Event.dispatch('pages/viewed', {
						page: {
							type: template,
							title: document.title,
							description: _selector('meta[name=description]') ? _selector('meta[name=description]').getAttribute('content') : null,
							url: location.href,
						}
					})
				}

				function onSignUp() {
					const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
					const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
					const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
					let data = {}
					if (email_regex.test(email_or_phone)) {
						data.method = 'email'
						data.email = email_or_phone
					}
					if (phone_regex.test(email_or_phone)) {
						data.method = "phone"
						data.phone = email_or_phone
					}
					if (!data.method) return
					EasyStore.Event.dispatch('customers/signup', data)
				}

				function onLogin() {
					const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
					const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
					const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
					let data = {}
					if (email_regex.test(email_or_phone)) {
						data.method = 'email'
						data.email = email_or_phone
					}
					if (phone_regex.test(email_or_phone)) {
						data.method = "phone"
						data.phone = email_or_phone
					}
					if (!data.method) return
					EasyStore.Event.dispatch('customers/login', data)
				}

				function onLineLogin() {
					EasyStore.Event.dispatch('customers/login', {
						method: 'line'
					})
				}

				function onLogout() {
					EasyStore.Event.dispatch('customers/logout', {
						customer_id
					})
				}

				function onBlogView() {
					const blog = ""
					EasyStore.Event.dispatch('blogs/viewed', {
						blog
					})
				}

				function onArticleView() {
					const article = ""
					EasyStore.Event.dispatch('articles/viewed', {
						article
					})
				}

				function onProductSearch() {
					const query = _selector('input[name=q]').value
					if (!query) return
					EasyStore.Event.dispatch('products/searched', {
						query
					})
				}

				function onCollectionView() {
					const collection = {
						"id": 271508,
						"store_id": 200878,
						"parent_id": 0,
						"reference_id": null,
						"name": "Slot Gacor Maxwin",
						"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login",
						"handle": "mahkota78",
						"image_url": null,
						"origin_image_url": null,
						"description": null,
						"body_html": null,
						"origin_body_html": null,
						"position": 2,
						"is_locked": true,
						"is_published": true,
						"published_at": "2018-01-25T03:27:49.000+08:00",
						"updated_at": "2023-10-06T21:53:37.000+08:00",
						"created_at": "2018-01-11T11:04:17.000+08:00",
						"url": "https://barakahdjibouti.org/"
					}
					EasyStore.Event.dispatch('collections/viewed', {
						collection
					})
				}

				function onProductView() {
					const product = {
						"id": 13760075,
						"handle": "bunny-garden-rin",
						"name": "mahkota78",
						"title": "mahkota78",
						"url": "https://barakahdjibouti.org/",
						"price": 10078,
						"price_min": "10078.0",
						"price_max": "10078.0",
						"price_varies": true,
						"compare_at_price": 0,
						"compare_at_price_min": "0.0",
						"compare_at_price_max": "0.0",
						"compare_at_price_varies": false,
						"available": true,
						"options_with_values": [{
							"name": "Payment",
							"position": 1,
							"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
						}],
						"options_by_name": {
							"Payment": {
								"name": "Payment",
								"position": 1,
								"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
							}
						},
						"options": ["Payment"],
						"has_only_default_variant": false,
						"sole_variant_id": null,
						"variants": [{
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						}, {
							"id": 63779440,
							"title": "FULL PAYMENT (FP)",
							"sku": "BF0125CF_FP",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": null,
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["FULL PAYMENT (FP)"],
							"option1": "FULL PAYMENT (FP)",
							"option2": null,
							"option3": null,
							"points": null
						}],
						"selected_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"selected_or_first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
						"featured_image": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"secondary_image": {
							"alt": "Slot Maxwin",
							"img_url": "https://barakahdjibouti.org/assets/images/banner2.webp",
							"src": "https://barakahdjibouti.org/assets/images/banner2.webp",
							"type": "Images"
						},
						"images": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"media": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"featured_media": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"metafields": [],
						"expires": null,
						"published_at": "2025-04-19T16:25:00.000+08:00",
						"created_at": "2025-04-19T16:25:16.000+08:00",
						"is_wishlisted": null,
						"content": " < link href = \u0027\ / assets\ / css\ / froala_style.min.css\u0027 rel = \u0027stylesheet\u0027 type = \u0027text\ / css\u0027\ / >< div class = \u0027fr - view\u0027 >< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div> < div > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < strong > PO End Date: � < \/strong><\/span> < span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"> < strong > < span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div> < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span> < br > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"> < span style = \"line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"> < strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span> < br > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"> < span style = \"line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"> < strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"description": " < link href = \u0027\ / assets\ / css\ / froala_style.min.css\u0027 rel = \u0027stylesheet\u0027 type = \u0027text\ / css\u0027\ / > < div class = \u0027fr - view\u0027 > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div> < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"meta_description": "Shop mahkota78 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy mahkota78 at best price now.",
						"brands": [],
						"tags": [],
						"vendor": null,
						"collections": [{
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "pre-order",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}],
						"view_history": {
							"product_id": 13760075,
							"viewed_at": "2025-04-19T17:21:24.645+08:00"
						},
						"promotions": []
					}
					EasyStore.Event.dispatch("products/viewed", {
						product
					})
				}

				function onProductShare(el) {
					const product = {
						"id": 13760075,
						"handle": "bunny-garden-rin",
						"name": "mahkota78",
						"title": "mahkota78",
						"url": "https://barakahdjibouti.org/",
						"price": 10078,
						"price_min": "1000.0",
						"price_max": "1000.0",
						"price_varies": true,
						"compare_at_price": 0,
						"compare_at_price_min": "0.0",
						"compare_at_price_max": "0.0",
						"compare_at_price_varies": false,
						"available": true,
						"options_with_values": [{
							"name": "Payment",
							"position": 1,
							"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
						}],
						"options_by_name": {
							"Payment": {
								"name": "Payment",
								"position": 1,
								"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
							}
						},
						"options": ["Payment"],
						"has_only_default_variant": false,
						"sole_variant_id": null,
						"variants": [{
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						}, {
							"id": 63779440,
							"title": "FULL PAYMENT (FP)",
							"sku": "BF0125CF_FP",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": null,
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["FULL PAYMENT (FP)"],
							"option1": "FULL PAYMENT (FP)",
							"option2": null,
							"option3": null,
							"points": null
						}],
						"selected_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"selected_or_first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
						"featured_image": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"secondary_image": {
							"alt": "",
							"img_url": "",
							"src": "",
							"type": ""
						},
						"images": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"media": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"featured_media": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"metafields": [],
						"expires": null,
						"published_at": "2025-04-19T16:25:00.000+08:00",
						"created_at": "2025-04-19T16:25:16.000+08:00",
						"is_wishlisted": null,
						"content": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"description": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"meta_description": "Shop mahkota78 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy mahkota78 at best price now.",
						"brands": [],
						"tags": [],
						"vendor": null,
						"collections": [{
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "pre-order",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}],
						"view_history": {
							"product_id": 13760075,
							"viewed_at": "2025-04-19T17:21:24.645+08:00"
						},
						"promotions": []
					}
					const channel = el.getAttribute("class").split("-").last()
					EasyStore.Event.dispatch('products/shared', {
						product,
						channel
					})
				}

				function onWishlistItemAdded() {
					let product = {
						"id": 13760075,
						"handle": "bunny-garden-rin",
						"name": "mahkota78",
						"title": "mahkota78",
						"url": "https://barakahdjibouti.org/",
						"price": 10078,
						"price_min": "10078.0",
						"price_max": "10078.0",
						"price_varies": true,
						"compare_at_price": 0,
						"compare_at_price_min": "0.0",
						"compare_at_price_max": "0.0",
						"compare_at_price_varies": false,
						"available": true,
						"options_with_values": [{
							"name": "Payment",
							"position": 1,
							"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
						}],
						"options_by_name": {
							"Payment": {
								"name": "Payment",
								"position": 1,
								"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
							}
						},
						"options": ["Payment"],
						"has_only_default_variant": false,
						"sole_variant_id": null,
						"variants": [{
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						}, {
							"id": 63779440,
							"title": "FULL PAYMENT (FP)",
							"sku": "BF0125CF_FP",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": null,
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["FULL PAYMENT (FP)"],
							"option1": "FULL PAYMENT (FP)",
							"option2": null,
							"option3": null,
							"points": null
						}],
						"selected_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 30000,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"selected_or_first_available_variant": {
							"id": 63779439,
							"title": "PRE-ORDER (PO)",
							"sku": "BF0125CF_PO",
							"taxable": false,
							"barcode": null,
							"available": true,
							"inventory_quantity": 50,
							"featured_image": {
								"id": 86188826,
								"alt": "slot gacor",
								"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
								"height": 800,
								"width": 800,
								"position": 1,
								"type": "Images"
							},
							"price": 10078,
							"compare_at_price": 0,
							"is_enabled": true,
							"options": ["PRE-ORDER (PO)"],
							"option1": "PRE-ORDER (PO)",
							"option2": null,
							"option3": null,
							"points": null
						},
						"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
						"featured_image": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"secondary_image": {
							"alt": "Slot Maxwin",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"type": "Images"
						},
						"images": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"media": [{
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						}],
						"featured_media": {
							"id": 86188826,
							"alt": "slot gacor",
							"img_url": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"src": "https://barakahdjibouti.org/assets/images/qrcode-mahkota78.webp",
							"height": 800,
							"width": 800,
							"position": 1,
							"type": "Images"
						},
						"metafields": [],
						"expires": null,
						"published_at": "2025-04-19T16:25:00.000+08:00",
						"created_at": "2025-04-19T16:25:16.000+08:00",
						"is_wishlisted": null,
						"content": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"description": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10078<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
						"meta_description": "Shop mahkota78 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy mahkota78 at best price now.",
						"brands": [],
						"tags": [],
						"vendor": null,
						"collections": [{
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "mahkota78",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}, {
							"handle": "pre-order",
							"title": "Mahkota78: Link Alternatif Daftar Id Mahkota78 Login"
						}],
						"view_history": {
							"product_id": 13760075,
							"viewed_at": "2025-04-19T17:21:24.645+08:00"
						},
						"promotions": []
					}
					const quantity = _selector("#Quantity").value
					EasyStore.Event.dispatch('wishlists/item_added', {
						product
					})
				}
				async function onCartItemsAdded() {
					const cart = await getCart()
					if (cart && cart.items != && cart.items.length > 0) {
						EasyStore.Event.dispatch('carts/item_added', {
							cart
						})
					}
				}
				async function onCartView() {
					const cart = await getCart()
					EasyStore.Event.dispatch('carts/viewed', {
						cart
					})
				}
				async function onCartItemRemoved() {
					const cart = await getCart()
					cart.items = []
					if (cart) {
						EasyStore.Event.dispatch('carts/item_removed', {
							cart
						})
					}
				}
				async function onCheckoutInitiate() {
					const cart = await getCart()
					EasyStore.Event.dispatch('checkouts/initiated', {
						cart
					})
				}
				async function onShippingInfoAdded(foIDR) {
					let checkout = getCheckout()
					let foIDR_data = {}
					new FoIDRData(foIDR).forEach((value, key) => foIDR_data[key] = value)
					let shipping_tier = null
					if (foIDR_data.type && foIDR_data.type.startsWith("r_pickup")) {
						shipping_tier = `Pickup - ${foIDR_data.pick_location}`
					}
					if (foIDR_data.s_id) {
						shipping_tier = _selector(`input[id='` + foIDR_data.s_id + `']`).getAttribute("data-shipping-name")
					}
					if (!shipping_tier) return
					EasyStore.Event.dispatch('checkouts/shipping_info_added', {
						checkout,
						shipping_tier
					})
				}
				async function onPaymentInfoAdded(foIDR) {
					let checkout = getCheckout()
					let payment_type = new FoIDRData(foIDR).get('payment_method')
					EasyStore.Event.dispatch("checkouts/payment_info_added", {
						checkout,
						payment_type
					})
				}
				async function onOrderPlace() {
					let cart_token = getCookie("cart_js")
					let previous_cart_token = getCookie("previous_cart_ga4_js")
					if (previous_cart_token && previous_cart_token == cart_token) {
						// Prevent duplicate purchase tracking
						return
					}
					let order = getOrder()
					EasyStore.Event.dispatch('orders/placed', {
						order
					})
					if (order.is_manual_payment) {
						EasyStore.Event.dispatch('orders/purchased', {
							order
						})
					}
					const last_transaction = order.transactions.last()
					if (last_transaction.status) {
						EasyStore.Event.dispatch('orders/purchased', {
							order
						})
						EasyStore.Event.dispatch('payments/captured', {
							order
						})
					}
				}
				async function onPaymentFail() {
					const order = getOrder()
					EasyStore.Event.dispatch('payments/failed', {
						order
					})
				}
				async function onCheckoutComplete(foIDR) {
					onPaymentInfoAdded(foIDR)
					const checkout = getCheckout()
					EasyStore.Event.dispatch('checkouts/completed', {
						checkout
					})
				}
				async function onSinglePageCheckout() {
					// let checkout = $("[data-app-checkout]").data("app-checkout")
					let checkout = getCheckout()
					// const payment_type = _selector("#app_spc_payment_method").find(`[class*="label-content"]`).first().find("b").first().text()
					const payment_type = _selector("#app_spc_payment_method").getElementsByClassName('label-content')[0].getElementsByTagName('b')[0].innerHTML
					const shipping_method = _selector("#delivery_method").value
					let shipping_tier = null
					let app_spc_customer_info_label = _selector("#app_spc_customer_info").getElementsByClassName('label-content')
					if (shipping_method == "shipping") {
						shipping_tier = app_spc_customer_info_label[app_spc_customer_info_label.length - 1].getElementsByTagName('b')[0].innerHTML
					}
					if (shipping_method == "pickup") {
						shipping_tier = app_spc_customer_info_label[0].innerHTML
					}
					if (shipping_tier) {
						EasyStore.Event.dispatch('checkouts/shipping_info_added', {
							checkout,
							shipping_tier,
						})
					}
					if (payment_type) {
						EasyStore.Event.dispatch('checkouts/payment_info_added', {
							checkout,
							payment_type,
						})
					}
					EasyStore.Event.dispatch('checkouts/completed', {
						checkout
					})
				}
			})
			//-----------------------//
			//       Functions       //
			//-----------------------//
			function getCookie(name) {
				name += "="
				decodedCookie = decodeURIComponent(document.cookie)
				ca = decodedCookie.split(";")
				for (i = 0; i < ca.length; i++) {
					c = ca[i]
					while (c.charAt(0) == " ") {
						c = c.substring(1)
					}
					if (c.indexOf(name) == 0) {
						return c.substring(name.length, c.length)
					}
				}
				return ""
			}
			const parsePrice = price => {
				if (typeof price === 'string') {
					return parseFloat(price.split(',').join(''))
				}
				return price
			}
			const requestCart = async (method, data) => {
				let response = await fetch('https://mahkota78.ink/.json', {
					method: 'GET',
					headers: {
						'Content-Type': 'application/json'
					}
				})
				result = await response.json()
				return result.cart
			}
			const getCart = async (latest = false) => {
				let cart = window.__latest_cart
				const cart_invalid = !cart || !cart.items || (cart.total_price > 0 && !cart.items.length)
				if (latest || cart_invalid) {
					cart = await requestCart()
				}
				cart.items = cart.items || []
				return mapCart(cart)
			}
			const getCheckout = async () => {
				mapCheckout(window.__latest_cart || await requestCart())
			}
			const getOrder = async () => {
				mapOrder(window.__latest_cart || await requestCart())
			}
			//-----------------------//
			//        Mappers        //
			//-----------------------//
			const fallbackAttribute = (object, attribute) => {
				if (!Array.isArray(attribute)) {
					attribute = [attribute]
				}
				let final_value = null
				do {
					final_value = object[attribute.shift()]
				} while (!final_value && attribute.length)
				return final_value
			}
			const map = (object, mapper) => {
				const newObject = {}
				for (const key in mapper) {
					// Handle different keys between new and old foIDRat
					newObject[key] = fallbackAttribute(object, mapper[key])
					// Cast price to float
					if (newObject[key] && ['price', 'amount', 'discount', 'discounts'].some(x => key.endsWith(x))) {
						newObject[key] = parsePrice(newObject[key])
					}
					if (newObject[key] === ) {
						delete newObject[key]
					}
				}
				return newObject
			}
			const mapCart = cart => {
				const oldCart = cart
				const mapper = {
					id: 'id',
					currency: 'currency',
					item_count: 'item_count',
					items: 'items',
					total_price: 'total_price',
					latest_items: 'latest_items'
				}
				cart = map(cart, mapper)
				const discounts = (oldCart.storewide_discounts || []).concat((oldCart.voucher_discounts || []))
				cart.discount_applications = discounts.map(discount => ({
					title: discount.voucher_code || null,
					value: parsePrice(discount.amount),
				}))
				cart.original_total_price = cart.items.length ? cart.items.map(item => item.original_price).reduce((sum, price) => sum + price) : 0
				cart.total_discount = cart.discount_applications.length ? cart.discount_applications.map(discount => parsePrice(discount.value)).reduce((sum, value) => sum + value) : 0
				cart.items = cart.items.map(item => mapLineItem(item))
				return cart
			}
			const mapCheckout = checkout => {
				const mapper = {
					note: 'note',
					attributes: 'note_attributes',
					billing_address: 'billing_address',
					currency: 'currency',
					customer_id: 'customer_id',
					discounts_amount: 'total_discount',
					id: 'id',
					line_items: 'order_item',
					order_number: 'order_number',
					shipping_address: 'shipping_address',
					shipping_price: 'shipping_tax',
					shipping_method: 'shipping_method_name',
					tax_price: 'total_tax',
				}
				checkout = map(checkout, mapper)
				checkout.requires_shipping = checkout.line_items.some(item => item.shipping_required)
				checkout.line_items = checkout.line_items.map(item => mapLineItem(item))
				return checkout
			}
			const mapOrder = order => {
				const mapper = {
					attributes: 'note_attributes',
					billing_address: 'billing_address',
					cancelled: 'is_cancelled',
					cancelled_at: 'cancelled_at',
					created_at: 'created_at',
					customer_id: 'customer_id',
					// discount_applications: 'discount_applications',
					email: 'email',
					financial_status: 'financial_status',
					fulfillment_status: 'fulfillment_status',
					line_items: 'order_item',
					note: 'note',
					order_number: 'order_number',
					phone: 'phone',
					shipping_address: 'shipping_address',
					shipping_methods: 'shipping_methods',
					shipping_price: 'total_shipping',
					subtotal_price: 'subtotal_price',
					// tax_lines: 'tax_lines',
					tax_price: 'total_tax',
					total_discounts: 'total_discount',
					total_net_amount: 'total_amount_include_transaction',
					total_price: 'total_price',
					transactions: 'transaction_records',
					is_manual_payment: 'is_manual_payment',
				}
				order.email = order.billing_address.email
				order.phone = order.billing_address.phone
				order.shipping_method = order.shipping_method_name
				order = map(order, mapper)
				order.line_items = order.line_items.map(item => mapLineItem(item))
				order.transactions = order.transactions.map(transaction => mapTransaction(transaction))
				return order
			}
			const mapLineItem = line_item => {
				const old_line_item = line_item
				const mapper = {
					final_price: 'price',
					image: 'img_url',
					message: 'message',
					original_line_price: 'original_line_price',
					original_price: 'original_price',
					properties: 'properties',
					quantity: 'quantity',
					requires_shipping: 'shipping_required',
					sku: 'sku',
					taxable: 'taxable',
					title: 'product_name',
					product_name: 'product_name',
					url: 'url',
					product_id: 'product_id',
					variant_id: 'variant_id',
					id: ['id', 'i_id'],
				}
				line_item = map(line_item, mapper)
				line_item.product_id = line_item.product_id || (old_line_item.product && old_line_item.product.id) || null
				line_item.variant_id = line_item.variant_id || (old_line_item.variant && old_line_item.variant.id) || null
				line_item.image = line_item.image || (old_line_item.image && old_line_item.image.url) || null
				return line_item
			}
			const mapTransaction = transaction => {
				const mapper = {
					amount: 'amount',
					created_at: 'created_at',
					gateway: 'gateway_type',
					id: 'id',
					status: 'status',
				}
				transaction = map(transaction, mapper)
				return transaction
			}
			
		</script>
	</body>
	<!-- /Snippet -->
	<!-- Snippet:global/body_start: Console Extension -->
</html>