// source --> https://mfrash.com/wp-content/plugins/woo-ajax-cart/assets/woo-ajax-cart.js?ver=1778869174 
/* global wacData */
(function () {
    'use strict';

    // ─── أيقونات SVG داخلية ───
    var ICONS = {
        check:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>',
        checkCircle: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9 12l2 2 4-4"/></svg>',
        error:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M15 9l-6 6M9 9l6 6"/></svg>',
        cart:     '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1.5"/><circle cx="18" cy="21" r="1.5"/><path d="M2.5 3h2.4l2.5 12.5a2 2 0 0 0 2 1.6h8.4a2 2 0 0 0 2-1.5L21 8H6"/></svg>',
        truck:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 7h11v9H2z"/><path d="M13 10h5l3 3v3h-8z"/><circle cx="6" cy="18.5" r="1.7"/><circle cx="17" cy="18.5" r="1.7"/></svg>',
        truckFast:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8h10v8H3z"/><path d="M13 11h5l3 3v2h-8z"/><circle cx="7" cy="18" r="1.6"/><circle cx="17" cy="18" r="1.6"/><path d="M1 11h3M1 14h2"/></svg>',
        arrow:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><path d="M12 5l-7 7 7 7"/></svg>',
        chevron:  '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg>',
        close:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>',
        ticket:   '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 9.5V7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2.5a2.5 2.5 0 0 0 0 5V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2.5a2.5 2.5 0 0 0 0-5z"/><path d="M9 5v14"/></svg>',
        copy:     '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>',
        check2:   '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>',
        shield:   '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5l8-3z"/><path d="M9 12l2 2 4-4"/></svg>',
        medal:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="14" r="6"/><path d="M9 11.5L7 3h10l-2 8.5"/><path d="M12 11v6"/><path d="M9.5 14h5"/></svg>',
        flame:    '<svg viewBox="0 0 24 24" fill="#fff" stroke="#fff" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2c1 3 4 5 4 9a4 4 0 1 1-8 0c0-1.5.5-2.5 1.5-3.5C10 9 11 6.5 12 2z"/></svg>',
        headset:  '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 14v-2a9 9 0 0 1 18 0v2"/><path d="M3 14a2 2 0 0 1 2-2h2v6H5a2 2 0 0 1-2-2v-2z"/><path d="M21 14a2 2 0 0 0-2-2h-2v6h2a2 2 0 0 0 2-2v-2z"/><path d="M17 18v1a3 3 0 0 1-3 3h-2"/></svg>',
        lock:     '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="11" width="16" height="10" rx="2"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/></svg>',
        savings:  '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1"/><path d="M16 12h5v4h-5a2 2 0 0 1 0-4z"/></svg>',
        users:    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>'
    };

    // عداد عملاء عشوائي ثابت لكل زيارة (8 → 29)
    var SOCIAL_COUNT = (function () {
        try {
            var k = 'wac_social_count';
            var v = sessionStorage.getItem(k);
            if (v) return parseInt(v, 10);
            v = 8 + Math.floor(Math.random() * 22);
            sessionStorage.setItem(k, v);
            return v;
        } catch (e) {
            return 12 + Math.floor(Math.random() * 15);
        }
    })();

    // عدد القطع المتبقية في المخزون (3 → 7)
    var STOCK_LEFT = (function () {
        try {
            var k = 'wac_stock_left';
            var v = sessionStorage.getItem(k);
            if (v) return parseInt(v, 10);
            v = 3 + Math.floor(Math.random() * 5);
            sessionStorage.setItem(k, v);
            return v;
        } catch (e) {
            return 3 + Math.floor(Math.random() * 5);
        }
    })();

    // ─── مساعدات DOM ───
    function el(tag, attrs, html) {
        var n = document.createElement(tag);
        if (attrs) for (var k in attrs) {
            if (k === 'class') n.className = attrs[k];
            else if (k === 'style') n.style.cssText = attrs[k];
            else n.setAttribute(k, attrs[k]);
        }
        if (html != null) n.innerHTML = html;
        return n;
    }
    function on(node, ev, fn) { node.addEventListener(ev, fn); }
    function $find(root, sel) { return (root || document).querySelector(sel); }
    function $all(root, sel) { return (root || document).querySelectorAll(sel); }
    function hasClass(n, c) { return n && n.classList && n.classList.contains(c); }
    function escAttr(s) { return String(s == null ? '' : s).replace(/"/g, '&quot;'); }

    var WAC = {
        toast: null,
        overlay: null,
        timer: null,
        _ownAdd: false,
        _lastSubtotal: null,
        _noncePromise: null,

        refreshNonce: function () {
            // يُعيد Promise محفوظ — ينتهي بمجرد الحصول على nonce جديد أو الفشل الصامت.
            // يضمن أن طلبات الإضافة لا تُرسَل بـ nonce قديم من الكاش.
            if (WAC._noncePromise) return WAC._noncePromise;
            WAC._noncePromise = new Promise(function (resolve) {
                var body = new FormData();
                body.append('action', 'wac_get_nonce');
                fetch(wacData.ajaxUrl + '?_=' + Date.now(), { method: 'POST', body: body, credentials: 'same-origin' })
                    .then(function (r) { return r.json(); })
                    .then(function (res) {
                        if (res && res.success && res.data && res.data.nonce) {
                            wacData.nonce = res.data.nonce;
                        }
                        resolve();
                    })
                    .catch(function () { resolve(); });
            });
            return WAC._noncePromise;
        },

        init: function () {
            WAC.overlay = el('div', { class: 'wac-overlay' });
            WAC.toast   = el('div', { class: 'wac-toast', role: 'alert', 'aria-live': 'polite' });
            document.body.appendChild(WAC.overlay);
            document.body.appendChild(WAC.toast);

            WAC.refreshNonce();   // تحديث الـ nonce فوراً لتجاوز الكاش

            on(WAC.overlay, 'click', WAC.hide);

            if (document.body.classList.contains('single-product')) {
                document.addEventListener('submit', function (e) {
                    var f = e.target;
                    if (f && f.tagName === 'FORM' && hasClass(f, 'cart')) WAC.onSubmit(e, f);
                }, true);
            }

            if (window.jQuery) {
                window.jQuery(document.body).on('added_to_cart', function (e, fragments, cart_hash, $btn) {
                    WAC.onNativeAdded($btn && $btn.length ? $btn[0] : null);
                });
            }
        },

        onSubmit: function (e, form) {
            if (!form.querySelector('[name="add-to-cart"]') &&
                !form.querySelector('[name="product_id"]')) return;

            e.preventDefault();
            e.stopImmediatePropagation();

            var btn        = form.querySelector('[type="submit"]:not([name="update_cart"])');
            var productId  = parseInt((form.querySelector('[name="product_id"]') || form.querySelector('[name="add-to-cart"]') || {}).value || 0, 10);
            var variation  = form.querySelector('[name="variation_id"]');
            var variationId = parseInt((variation || {}).value || 0, 10);
            var qty = parseFloat((form.querySelector('[name="quantity"]') || {}).value || 1);

            if (form.classList.contains('variations_form')) {
                if (!variationId || variationId < 1) {
                    WAC.show(WAC.errorHtml(wacData.selectVar), 'error');
                    return;
                }
            }

            var attrs = {};
            $all(form, '[name^="attribute_"]').forEach(function (n) { attrs[n.name] = n.value; });

            var originalHtml = btn ? btn.innerHTML : '';
            if (btn) {
                btn.disabled = true;
                btn.classList.add('wac-btn-loading');
                btn.textContent = wacData.addingText;
            }

            var data = {
                action: 'woo_ajax_add_to_cart',
                nonce: wacData.nonce,
                product_id: productId,
                variation_id: variationId,
                quantity: qty
            };
            for (var k in attrs) data[k] = attrs[k];

            // ننتظر تحديث الـ nonce قبل الإرسال لتجنب nonce قديم من الكاش
            WAC.refreshNonce().then(function () {
                data.nonce = wacData.nonce;
                WAC.request(data, btn, originalHtml, 0);
            });
        },

        request: function (data, btn, originalHtml, attempt) {
            var body = new URLSearchParams();
            for (var k in data) body.append(k, data[k]);

            fetch(wacData.ajaxUrl + '?_=' + Date.now(), {
                method: 'POST',
                credentials: 'same-origin',
                headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },
                body: body.toString()
            })
            .then(function (r) {
                if (!r.ok) throw new Error('http_' + r.status);
                return r.json();
            })
            .then(function (res) {
                if (!res.success && res.data && res.data.code === 'nonce_expired' && res.data.new_nonce && attempt === 0) {
                    wacData.nonce = res.data.new_nonce;
                    data.nonce = res.data.new_nonce;
                    WAC.request(data, btn, originalHtml, 1);
                    return;
                }
                if (btn) {
                    btn.disabled = false;
                    btn.classList.remove('wac-btn-loading');
                    btn.innerHTML = originalHtml;
                }
                if (res.success) {
                    WAC._ownAdd = true;
                    if (window.jQuery && typeof window.wc_cart_fragments_params !== 'undefined') {
                        window.jQuery(document.body).trigger('wc_fragment_refresh');
                        window.jQuery(document.body).trigger('added_to_cart', [{}, {}, btn ? window.jQuery(btn) : window.jQuery()]);
                    }
                    WAC._ownAdd = false;

                    if (res.data && typeof res.data.cart_subtotal !== 'undefined') {
                        WAC._lastSubtotal = parseFloat(res.data.cart_subtotal);
                    }
                    WAC.show(WAC.successHtml(res.data || {}), 'success');
                } else {
                    var msg = (res.data && res.data.message) ? res.data.message : wacData.errorText;
                    WAC.show(WAC.errorHtml(msg), 'error');
                }
            })
            .catch(function () {
                if (btn) {
                    btn.disabled = false;
                    btn.classList.remove('wac-btn-loading');
                    btn.innerHTML = originalHtml;
                }
                WAC.show(WAC.errorHtml(wacData.errorText), 'error');
            });
        },

        onNativeAdded: function (btn) {
            if (WAC._ownAdd) return;
            if (document.body.classList.contains('single-product')) return;

            var name = '', img = '';
            if (btn) {
                var product = btn.closest('li.product, .product');
                if (product) {
                    var t = product.querySelector('.woocommerce-loop-product__title, h2, h3');
                    if (t) name = t.textContent.trim();
                    var i = product.querySelector('img.wp-post-image, img');
                    if (i) img = i.getAttribute('src') || '';
                }
            }
            WAC.show(WAC.successHtml({ product_name: name, product_image: img }), 'success');

            var body = new URLSearchParams();
            body.append('action', 'wac_get_cart_totals');
            fetch(wacData.ajaxUrl + '?_=' + Date.now(), {
                method: 'POST',
                credentials: 'same-origin',
                headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },
                body: body.toString()
            })
            .then(function (r) { return r.json(); })
            .then(function (res) {
                if (res && res.success && res.data) {
                    WAC._lastSubtotal = parseFloat(res.data.cart_subtotal);
                    WAC.updateShipBar(res.data.cart_subtotal);
                }
            })
            .catch(function(){});
        },

        formatAmount: function (amount) {
            var n = parseFloat(amount) || 0;
            var f = (Math.round(n * 100) / 100).toLocaleString('ar', {
                minimumFractionDigits: 0, maximumFractionDigits: 2
            });
            return f + ' ' + (wacData.currencySymbol || '');
        },

        // ─── شريط الشحن المجاني ───
        shipBarHtml: function (subtotal) {
            if (!parseInt(wacData.enableShipBar)) return '';
            var threshold = parseFloat(wacData.freeShipThreshold) || 0;
            if (threshold <= 0) return '';
            var sub = parseFloat(subtotal);
            if (isNaN(sub) || sub < 0) sub = 0;
            var pct = Math.min(100, Math.round((sub / threshold) * 100));
            var unlocked = sub >= threshold;
            var msg, savings;
            if (unlocked) {
                msg = wacData.freeShipUnlockedText;
                // التوفير = قيمة الشحن المُوفّرة (مثلاً 20)
                var savedAmt = parseFloat(wacData.shippingCost) || 20;
                savings = '<span class="wac-ship-savings">' +
                              '<span>' + ICONS.savings + '</span>' +
                              '<span>وفّرتي ' + WAC.formatAmount(savedAmt) + '</span>' +
                          '</span>';
            } else {
                var remaining = Math.max(0, threshold - sub);
                var tpl = wacData.freeShipRemainingTpl || 'أضف %s للحصول على الشحن المجاني';
                msg = tpl.replace('%s', '<strong>' + WAC.formatAmount(remaining) + '</strong>');
                savings = '';
            }
            return '<div class="wac-ship-bar">' +
                       '<div class="wac-ship-bar-row">' +
                           '<span class="wac-ship-icon">' + ICONS.truckFast + '</span>' +
                           '<span class="wac-ship-bar-msg"><span class="wac-ship-bar-text">' + msg + '</span></span>' +
                           savings +
                       '</div>' +
                       '<div class="wac-ship-bar-track">' +
                           '<div class="wac-ship-bar-fill" style="width:' + pct + '%"></div>' +
                       '</div>' +
                   '</div>';
        },

        updateShipBar: function (subtotal) {
            if (!WAC.toast || !WAC.toast.classList.contains('wac-toast--show')) return;
            var bar = $find(WAC.toast, '.wac-ship-bar');
            var html = WAC.shipBarHtml(subtotal);
            if (!html) return;
            if (!bar) {
                var top = $find(WAC.toast, '.wac-toast-top');
                if (top) top.insertAdjacentHTML('afterend', html);
                return;
            }
            bar.outerHTML = html;
            var fill = $find(WAC.toast, '.wac-ship-bar-fill');
            if (fill) {
                var w = fill.style.width;
                fill.style.width = '0%';
                setTimeout(function () { fill.style.width = w; }, 30);
            }
        },

        // ─── الكوبون (مع دائرة النسبة) ───
        couponHtml: function (subtotal) {
            if (!parseInt(wacData.enableCoupon)) return '';
            var code = (wacData.couponCode || '').trim();
            if (!code) return '';
            var min = parseFloat(wacData.couponMin) || 0;
            var sub = parseFloat(subtotal);
            if (min > 0 && (isNaN(sub) || sub < min)) return '';

            var label    = wacData.couponLabel || 'كوبون خصم حصري لك';
            var desc     = wacData.couponDesc  || '';
            var copyTxt  = wacData.couponCopyText || 'نسخ الكود';
            var note     = wacData.couponNote || 'استخدمي الكود في صفحة الدفع';
            var pct      = parseInt(wacData.couponPercent || 0, 10);

            var circle = pct > 0 ? '<div class="wac-coupon-circle">' +
                                       '<span class="wac-coupon-circle-pct">' + pct + '%</span>' +
                                       '<span class="wac-coupon-circle-label">وفري أكثر</span>' +
                                   '</div>' : '';

            return '<div class="wac-coupon">' +
                       '<div class="wac-coupon-head">' +
                           '<span class="wac-coupon-icon-tag">' + ICONS.ticket + '</span>' +
                           '<span class="wac-coupon-label">' + label + '</span>' +
                       '</div>' +
                       '<div class="wac-coupon-row">' +
                           '<button type="button" class="wac-coupon-copy" data-wac-coupon-copy="1">' +
                               '<span class="wac-coupon-copy-icon">' + ICONS.copy + '</span>' +
                               '<span class="wac-coupon-copy-text">' + copyTxt + '</span>' +
                           '</button>' +
                           '<div class="wac-coupon-main">' +
                               '<div class="wac-coupon-code" data-wac-coupon-code="' + escAttr(code) + '">' +
                                   '<span class="wac-coupon-code-text">' + code + '</span>' +
                                   (desc ? '<span class="wac-coupon-code-desc">' + desc + '</span>' : '') +
                               '</div>' +
                           '</div>' +
                           circle +
                       '</div>' +
                       (note ? '<div class="wac-coupon-note">' + note + '</div>' : '') +
                   '</div>';
        },

        // ─── شارات الثقة (4 عناصر) ───
        trustBadgesHtml: function () {
            if (!parseInt(wacData.enableTrustBadges)) return '';
            var b1 = (wacData.trustBadge1 || '').trim() || 'توصيل سريع لجميع المناطق';
            var b2 = (wacData.trustBadge2 || '').trim() || 'منتجات أصلية 100%';
            var b3 = (wacData.trustBadge3 || '').trim() || 'دفع آمن 100%';
            var b4 = (wacData.trustBadge4 || '').trim() || 'خدمة عملاء 24/7';

            var item = function (icon, text) {
                return '<div class="wac-trust-item">' +
                           '<span class="wac-trust-icon">' + icon + '</span>' +
                           '<span class="wac-trust-text">' + text + '</span>' +
                       '</div>';
            };
            return '<div class="wac-trust-badges">' +
                       item(ICONS.truckFast, b1) +
                       item(ICONS.medal, b2) +
                       item(ICONS.shield, b3) +
                       item(ICONS.headset, b4) +
                   '</div>';
        },

        // ─── إثبات اجتماعي + المخزون المتبقي ───
        socialAndStockHtml: function () {
            var avatarColors = ['#fb7185', '#60a5fa', '#fbbf24', '#34d399'];
            var avatars = '';
            for (var i = 0; i < 3; i++) {
                avatars += '<span style="background:' + avatarColors[i] + '"></span>';
            }
            return '<div class="wac-social-row">' +
                       '<div class="wac-social-proof">' +
                           '<span class="wac-social-avatars">' + avatars + '</span>' +
                           '<span class="wac-social-text"><strong>' + SOCIAL_COUNT + '</strong> عميل اشتروا هذا المنتج اليوم</span>' +
                       '</div>' +
                       '<span class="wac-low-stock">' +
                           '<span class="wac-low-stock-icon">' + ICONS.flame + '</span>' +
                           '<span>يتبقى ' + STOCK_LEFT + ' قطع فقط في المخزون</span>' +
                       '</span>' +
                   '</div>';
        },

        // ─── المنتجات المقترحة ───
        crossSellsHtml: function (items) {
            if (!items || !items.length) return '';
            var title = wacData.crossSellsTitle || 'عملاؤنا أحبوا هذه المنتجات';
            var subtitle = wacData.crossSellsSubtitle || 'اختاري ما يناسب ذوقك وكملي تجربة راحتك';
            var addText = wacData.crossSellsAddText || 'أضف للسلة';
            var selText = wacData.crossSellsSelectText || 'اختر الخيارات';
            var bestseller = wacData.crossSellsBestseller || 'الأكثر مبيعاً';

            var rows = '';
            for (var i = 0; i < items.length; i++) {
                var it = items[i];
                var btn;
                if (it.is_simple) {
                    btn = '<button type="button" class="wac-cs-btn wac-cs-btn--add" data-wac-cs-add="' + it.id + '">' +
                              '<span class="wac-toast-icon">' + ICONS.cart + '</span> ' + addText +
                          '</button>';
                } else {
                    btn = '<a href="' + it.permalink + '" class="wac-cs-btn wac-cs-btn--select">' +
                              '<span class="wac-toast-icon">' + ICONS.arrow + '</span> ' + selText +
                          '</a>';
                }
                var badge = (i === 0) ? '<span class="wac-cs-bestseller">' + bestseller + '</span>' : '';
                rows +=
                    '<div class="wac-cs-item">' + badge +
                        '<a href="' + it.permalink + '" class="wac-cs-img-wrap-link">' +
                            '<img src="' + it.image + '" class="wac-cs-img" alt="" loading="lazy">' +
                        '</a>' +
                        '<div class="wac-cs-info">' +
                            '<a href="' + it.permalink + '" class="wac-cs-name">' + it.name + '</a>' +
                            '<span class="wac-cs-price">' + (it.price || '') + '</span>' +
                        '</div>' +
                        btn +
                    '</div>';
            }
            var arrow = (items.length > 2) ? '<span class="wac-cs-arrow">' + ICONS.chevron + '</span>' : '';
            return '<div class="wac-cross-sells">' +
                       '<div class="wac-cs-title">' +
                           '<span class="wac-cs-title-emoji">😍</span>' +
                           '<span>' + title + '</span>' +
                       '</div>' +
                       '<div class="wac-cs-subtitle">' + subtitle + '</div>' +
                       '<div class="wac-cs-scroll">' +
                           '<div class="wac-cs-list">' + rows + '</div>' +
                           arrow +
                       '</div>' +
                   '</div>';
        },

        addCrossSell: function (productId, btn) {
            var originalHtml = btn ? btn.innerHTML : '';
            if (btn) {
                btn.disabled = true;
                btn.classList.add('wac-cs-btn--loading');
                btn.textContent = wacData.addingText;
            }
            var data = {
                action: 'woo_ajax_add_to_cart',
                nonce: wacData.nonce,
                product_id: productId,
                variation_id: 0,
                quantity: 1
            };
            WAC.request(data, btn, originalHtml, 0);
        },

        copyCoupon: function (btn) {
            var codeEl = $find(WAC.toast, '.wac-coupon-code');
            if (!codeEl) return;
            var code = codeEl.getAttribute('data-wac-coupon-code') || codeEl.textContent;
            var done = function () {
                btn.classList.add('wac-coupon-copy--done');
                var icon = $find(btn, '.wac-coupon-copy-icon');
                var text = $find(btn, '.wac-coupon-copy-text');
                if (icon) icon.innerHTML = ICONS.check2;
                if (text) {
                    var copiedText = (wacData.couponCopiedText || 'تم النسخ').replace(/[✓✔√]/g, '').trim();
                    text.textContent = copiedText;
                }
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
                navigator.clipboard.writeText(code).then(done).catch(function () {
                    WAC.fallbackCopy(code); done();
                });
            } else {
                WAC.fallbackCopy(code); done();
            }
        },

        fallbackCopy: function (text) {
            var ta = document.createElement('textarea');
            ta.value = text;
            ta.style.position = 'fixed'; ta.style.opacity = '0';
            document.body.appendChild(ta);
            ta.select();
            try { document.execCommand('copy'); } catch (e) {}
            document.body.removeChild(ta);
        },

        // ─── قالب نجاح كامل (مرتب حسب التصميم المرجعي) ───
        successHtml: function (d) {
            var name = d.product_name || '';
            var img  = d.product_image || '';
            var imgWrap = img
                ? '<div class="wac-toast-img-wrap">' +
                      '<img src="' + img + '" class="wac-toast-img" alt="">' +
                      '<span class="wac-toast-badge">' + ICONS.check + '</span>' +
                  '</div>'
                : '<div class="wac-toast-img-wrap wac-toast-img-wrap--icon">' +
                      '<span class="wac-toast-icon-only">' + ICONS.check + '</span>' +
                  '</div>';

            var sub = (typeof d.cart_subtotal !== 'undefined') ? d.cart_subtotal : WAC._lastSubtotal;
            var cartCount = (typeof d.cart_count !== 'undefined' && d.cart_count !== null) ? parseInt(d.cart_count, 10) : 0;
            var ship   = (sub !== null && typeof sub !== 'undefined') ? WAC.shipBarHtml(sub) : '';
            var cross  = WAC.crossSellsHtml(d.cross_sells || []);
            var coupon = WAC.couponHtml(sub);
            var trust  = WAC.trustBadgesHtml();
            var social = (d.cross_sells && d.cross_sells.length) ? WAC.socialAndStockHtml() : '';

            var cartLabel    = (wacData.cartText || 'عرض السلة') + (cartCount > 0 ? ' (' + cartCount + ')' : '');
            var continueText = wacData.continueText || 'متابعة التسوق';
            var checkoutText = wacData.checkoutText || 'إتمام الطلب';
            if (checkoutText.indexOf('الآن') === -1) checkoutText = checkoutText + ' الآن';
            var tagline      = wacData.checkoutTagline || 'خطوة واحدة تفصلك عن الراحة والجمال';

            var checkoutBlock =
                '<div class="wac-toast-checkout-wrap">' +
                    '<a href="' + wacData.checkoutUrl + '" class="wac-toast-btn wac-toast-btn--checkout wac-toast-btn--main">' +
                        '<span class="wac-toast-icon">' + ICONS.lock + '</span> ' + checkoutText +
                    '</a>' +
                    '<div class="wac-checkout-tagline">' +
                        '<span class="wac-checkout-tagline-icon">' + ICONS.checkCircle + '</span>' +
                        '<span>' + tagline + '</span>' +
                    '</div>' +
                '</div>';

            var actions =
                '<div class="wac-toast-actions">' +
                    '<a href="' + wacData.cartUrl + '" class="wac-toast-btn wac-toast-btn--cart">' +
                        '<span class="wac-toast-icon">' + ICONS.cart + '</span> ' + cartLabel +
                    '</a>' +
                    '<button type="button" class="wac-toast-btn wac-toast-btn--continue" data-wac-continue="1">' +
                        continueText + ' <span class="wac-toast-icon">' + ICONS.arrow + '</span>' +
                    '</button>' +
                '</div>';

            return '<div class="wac-toast-progress"></div>' +
                '<button type="button" class="wac-toast-close" data-wac-close="1" aria-label="إغلاق">' + ICONS.close + '</button>' +
                '<div class="wac-toast-inner">' +
                    '<div class="wac-toast-top">' +
                        imgWrap +
                        '<div class="wac-toast-msg">' +
                            '<span class="wac-toast-label"><span class="wac-toast-label-icon">' + ICONS.check + '</span>' + (wacData.successText || '') + '</span>' +
                            (name ? '<span class="wac-toast-name">' + name + '</span>' : '') +
                        '</div>' +
                    '</div>' +
                    ship +
                    coupon +
                    cross +
                    trust +
                    social +
                    checkoutBlock +
                    actions +
                '</div>';
        },

        errorHtml: function (msg) {
            return '<div class="wac-toast-progress"></div>' +
                '<button type="button" class="wac-toast-close" data-wac-close="1" aria-label="إغلاق">' + ICONS.close + '</button>' +
                '<div class="wac-toast-inner">' +
                    '<div class="wac-toast-top">' +
                        '<div class="wac-toast-msg">' +
                            '<span class="wac-toast-label wac-toast-label--error"><span class="wac-toast-label-icon">' + ICONS.error + '</span>' + (msg || wacData.errorText) + '</span>' +
                        '</div>' +
                    '</div>' +
                '</div>';
        },

        hide: function () {
            clearTimeout(WAC.timer);
            WAC.toast.classList.remove('wac-toast--show');
            WAC.overlay.classList.remove('wac-overlay--show');
        },

        show: function (html, type) {
            clearTimeout(WAC.timer);
            WAC.toast.innerHTML = html;
            WAC.toast.classList.remove('wac-toast--success', 'wac-toast--error');
            WAC.toast.classList.add(type === 'error' ? 'wac-toast--error' : 'wac-toast--success');
            void WAC.toast.offsetHeight;
            WAC.toast.classList.add('wac-toast--show');
            WAC.overlay.classList.add('wac-overlay--show');

            var closeBtns = $all(WAC.toast, '[data-wac-close="1"], [data-wac-continue="1"]');
            closeBtns.forEach(function (b) {
                on(b, 'click', function (e) {
                    if (b.dataset.wacContinue === '1' && wacData.continueUrl) {
                        window.location.href = wacData.continueUrl;
                        return;
                    }
                    e.preventDefault();
                    WAC.hide();
                });
            });

            $all(WAC.toast, '[data-wac-cs-add]').forEach(function (b) {
                on(b, 'click', function (e) {
                    e.preventDefault();
                    var pid = parseInt(b.getAttribute('data-wac-cs-add'), 10);
                    if (pid) WAC.addCrossSell(pid, b);
                });
            });

            $all(WAC.toast, '[data-wac-coupon-copy="1"]').forEach(function (b) {
                on(b, 'click', function (e) {
                    e.preventDefault();
                    WAC.copyCoupon(b);
                });
            });
            $all(WAC.toast, '.wac-coupon-code').forEach(function (c) {
                on(c, 'click', function (e) {
                    e.preventDefault();
                    var btn = $find(WAC.toast, '[data-wac-coupon-copy="1"]');
                    if (btn) WAC.copyCoupon(btn);
                });
            });

            // أنيميشن تعبئة شريط الشحن
            var fill = $find(WAC.toast, '.wac-ship-bar-fill');
            if (fill) {
                var w = fill.style.width;
                fill.style.width = '0%';
                setTimeout(function () { fill.style.width = w; }, 50);
            }

            // العد التنازلي + الإغلاق التلقائي (لو displayMs > 0)
            var displayMs = parseInt(wacData.displayMs);
            if (isNaN(displayMs)) displayMs = 0;
            if (type === 'error') displayMs = 3500;
            if (displayMs > 0) {
                var bar = $find(WAC.toast, '.wac-toast-progress');
                if (bar) {
                    bar.style.setProperty('--wac-countdown', (displayMs / 1000) + 's');
                    // إعادة تشغيل الأنيميشن
                    bar.classList.remove('wac-toast-progress--active');
                    void bar.offsetWidth;
                    bar.classList.add('wac-toast-progress--active');
                }
                WAC.timer = setTimeout(WAC.hide, displayMs);
            }
        }
    };

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', WAC.init);
    } else {
        WAC.init();
    }
})();
// source --> https://mfrash.com/wp-content/plugins/woo-discount-rules/v2/Assets/Js/site_main.js?ver=2.6.15 
(function ($) {
    /**
     * refresh cart when payment method changed
     */
    if (awdr_params.refresh_order_review == '1') {
        $(document).on('change', 'input[name="payment_method"],input[name="billing_city"],input[name="billing_postcode"]', function () {
            refreshCart();
        });

        /**
         * refresh cart when Email changed
         */
        $(document).on('blur', 'input[name="billing_email"], select#billing_state', function () {
            refreshCart();
        });
    }

    function refreshCart() {
        $('body').trigger('update_checkout');
    }

    $(document).ready(function ($) {
        function init_events() {
            if (awdr_params.enable_update_price_with_qty == 'show_dynamically') {
                function getWDRDPTarget(form, target, is_variable){
                    let $price_place = '';
                    if (form.find(target).length) {
                        $price_place = form.find(target).first();
                        if(is_variable === true){
                            if (!form.find(target+' .price').length) {
                                $price_place.html("<div class='price'></div>");
                            }
                            $price_place = form.find(target+' .price').first();
                        }
                    } else {
                        $price_place = $(target).first();
                        if(is_variable === true){
                            if (!$(target+' .price').length) {
                                $price_place.html("<div class='price'></div>");
                            }
                            $price_place = $(target+' .price').first();
                        }
                    }
                    return $price_place;
                }
                $(document).on('change', '[name="quantity"]', function (){
                    var awdr_qty_object = $(this);
                    setTimeout(function(){
                        var $qty = awdr_qty_object.val();
                        var $product_id = 0;
                        var $price_place = "";
                        var form = awdr_qty_object.closest("form");
                        if (form.find('button[name="add-to-cart"]').length) {
                            $product_id = form.find('button[name="add-to-cart"]').first().val();
                            var target = 'div.product p.price';
                            if(awdr_params.custom_target_simple_product != undefined){
                                if(awdr_params.custom_target_simple_product != ""){
                                    target = awdr_params.custom_target_simple_product;
                                }
                            }
                            $price_place = getWDRDPTarget(form, target, false);
                        } else if (form.find('input[name="variation_id"]').length) {
                            $product_id = form.find('input[name="variation_id"]').val();
                            var target = 'div.product .woocommerce-variation-price';
                            if(awdr_params.custom_target_variable_product != undefined){
                                if(awdr_params.custom_target_variable_product != ""){
                                    target = awdr_params.custom_target_variable_product;
                                }
                            }
                            $price_place = getWDRDPTarget(form, target, true);
                        } else if (form.find('input[name="add-to-cart"]').length) {
                            $product_id = form.find('input[name="add-to-cart"]').first().val();
                            var target = 'div.product p.price';
                            if(awdr_params.custom_target_simple_product != undefined){
                                if(awdr_params.custom_target_simple_product != ""){
                                    target = awdr_params.custom_target_simple_product;
                                }
                            }
                            $price_place = getWDRDPTarget(form, target, false);
                        }
                        if(!$product_id || $product_id == 0){
                            if(awdr_params.custom_simple_product_id_selector != undefined){
                                if(awdr_params.custom_simple_product_id_selector != ""){
                                    let simple_product_id_selector = awdr_params.custom_simple_product_id_selector;
                                    $product_id = $(simple_product_id_selector).val();
                                    let target = 'div.product p.price';
                                    if(awdr_params.custom_target_simple_product != undefined){
                                        if(awdr_params.custom_target_simple_product != ""){
                                            target = awdr_params.custom_target_simple_product;
                                        }
                                    }
                                    $price_place = getWDRDPTarget(form, target, false);
                                }
                            }

                            if(awdr_params.custom_variable_product_id_selector != undefined){
                                if(awdr_params.custom_variable_product_id_selector != ""){
                                    let variable_product_id_selector = awdr_params.custom_variable_product_id_selector;
                                    $product_id = $(variable_product_id_selector).val();
                                    let target = 'div.product .woocommerce-variation-price';
                                    if(awdr_params.custom_target_variable_product != undefined){
                                        if(awdr_params.custom_target_variable_product != ""){
                                            target = awdr_params.custom_target_variable_product;
                                        }
                                    }
                                    $price_place = getWDRDPTarget(form, target, true);
                                }
                            }
                        }

                        if (!$product_id || !$price_place || $product_id == 0) {
                            return;
                        }

                        var data = {
                            action: 'wdr_ajax',
                            method: 'get_price_html',
                            product_id: $product_id,
                            qty: $qty,
                            awdr_nonce: awdr_params.nonce,
                        };
                        $.ajax({
                            url: awdr_params.ajaxurl,
                            data: data,
                            type: 'POST',
                            success: function (response) {
                                if (response.price_html) {
                                    $price_place.html(response.price_html)
                                } else {
                                    if(response.original_price_html != undefined){
                                        $price_place.html(response.original_price_html)
                                    }
                                }
                                // Trigger the custom price_updated event
                                $(document).trigger('wdr_dynamic_price_update', [response]);
                            },
                            error: function (response) {
                                $price_place.html("")
                            }
                        });
                    }, 0);
                });
            }
        }

        if (awdr_params.js_init_trigger) {
            $(document).on(awdr_params.js_init_trigger, function () {
                init_events();
            });
        }
        init_events();

        if (awdr_params.awdr_dynamic_bulk_table_status == "1") {
            if(awdr_params.awdr_dynamic_bulk_table_off == "on"){
                function awdr_load_variation_table(variation_id){
                    setTimeout(function(){
                        if(variation_id != '' && variation_id != '0'){
                            var data = {
                                action: 'wdr_ajax',
                                method: 'get_variable_product_bulk_table',
                                product_id: variation_id,
                                awdr_nonce: awdr_params.nonce,
                            };

                            let awdr_opacity = 'div.awdr-bulk-customizable-table';

                            if(awdr_params.awdr_opacity_to_bulk_table != undefined){
                                if(awdr_params.awdr_opacity_to_bulk_table != ""){
                                    awdr_opacity = awdr_params.awdr_opacity_to_bulk_table;
                                }
                            }

                            $.ajax({
                                url: awdr_params.ajaxurl,
                                data: data,
                                type: 'POST',
                                beforeSend: function () {
                                    $(awdr_opacity).css('opacity','0.5');
                                },
                                complete: function () {
                                    $(awdr_opacity).css('opacity','1');
                                },
                                success: function (response) {
                                    if (response.bulk_table) {
                                        $('.awdr-bulk-customizable-table').html(response.bulk_table);
                                    }
                                },
                                error: function (response) {
                                    $('.awdr-bulk-customizable-table').html("")
                                }
                            });
                        }
                    }, 100);
                }
                $( ".single_variation_wrap" ).on( "hide_variation", function ( event ) {
                    let variation_id = $(this).closest('form').find('input[name="product_id"]').val();
                    awdr_load_variation_table(variation_id);
                });
                $( ".single_variation_wrap" ).on( "show_variation", function ( event, variation, purchasable ) {
                    let variation_id = variation.variation_id;
                    if(variation.is_bundled != undefined){
                        if(variation.is_bundled == true){
                            return;
                        }
                    }
                    awdr_load_variation_table(variation_id);
                });
            }
        }
    });
})(jQuery);
// source --> https://mfrash.com/wp-content/plugins/woo-discount-rules/v2/Assets/Js/awdr-dynamic-price.js?ver=2.6.15 
(function ($) {
    $.extend({
        AdvanceWooDiscountRules: {
            form: null,
            product_id: null,
            quantity: 0,
            options: [],
            target: null,
            getDynamicDiscountPriceFromCartForm: function($form, $target, $options){
                if (typeof $options !== 'undefined') {
                    this.options = $options;
                }
                if (typeof $target !== 'undefined') {
                    this.target = $target;
                }
                if (typeof $form !== 'undefined' && $form.is('form')) {
                    this.form = $form;
                } else {
                    this.logError("Incorrect form provided");
                }
                this.product_id = this.getProductIdFromForm();

                this.quantity = this.getProductQuantityFromForm();
                this.getDiscountPriceForProduct();
            },
            getDiscountPriceForProduct: function () {
                if(this.product_id === null || this.product_id == 0){
                    this.logError("Invalid product");
                    return [];
                }
                var data = {
                    action: 'awdr_get_product_discount',
                    product_id: this.product_id,
                    qty: this.quantity,
                    awdr_nonce: awdr_params.nonce,
                };
                if (typeof this.options.custom_price !== 'undefined') {
                    data.custom_price = this.options.custom_price;
                }
                var $target = this.target;
                var $options = this.options;
                $.ajax({
                    url: awdr_params.ajaxurl,
                    data: data,
                    type: 'POST',
                    success: function (response) {
                        $(document.body).trigger("advanced_woo_discount_rules_on_get_response_for_dynamic_discount", [ response, $target, $options ]);
                        //return response;
                    },
                    error: function (response) {
                    }
                });
            },
            getProductIdFromForm: function () {
                var variationIdEl = this.form.find('[name="variation_id"]');
                var productIdEl = this.form.find('[name="add-to-cart"]');

                if (variationIdEl.length) {
                    return parseInt(variationIdEl.val());
                } else if (productIdEl.length) {
                    return parseInt(productIdEl.val());
                }

                return false;
            },
            getProductQuantityFromForm: function () {
                var $input = this.form.find('input[name="quantity"]');
                if ($input.length === 0) {
                    return 0;
                }

                return $input.val();
            },
            logError: function($text) {
                console.error("Advance discount rule error: %s", $text);
            }
        }
    });
})(jQuery);
// source --> https://mfrash.com/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-ecommerce-generic.js?ver=1.22.3 
"use strict";function gtm4wp_make_sure_is_float(e){return"string"==typeof e?(e=parseFloat(e),isNaN(e)&&(e=0)):"number"!=typeof e&&(e=0),e=e.toFixed(2)}function gtm4wp_push_ecommerce(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3],a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:2e3,r=r||{},t=(r.items=t,gtm4wp_clear_ecommerce&&window[gtm4wp_datalayer_name].push({ecommerce:null}),{event:e,ecommerce:r});n&&(t.eventCallback=n,t.eventTimeout=a),window[gtm4wp_datalayer_name].push(t)}function gtm4wp_read_from_json(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:["productlink","internal_id"];try{var r=JSON.parse(e);if(r){if(r.price&&(r.price=gtm4wp_make_sure_is_float(r.price)),t&&0<t.length)for(var n=0;n<t.length;n++)delete r[t[n]];return r}}catch(e){console&&console.error&&console.error(e.message)}return!1}function gtm4wp_read_json_from_node(e,t){return!!(e&&e.dataset&&e.dataset[t])&&gtm4wp_read_from_json(e.dataset[t],2<arguments.length&&void 0!==arguments[2]?arguments[2]:["productlink","internal_id"])}function gtm4wp_update_json_in_node(e,t,r,n){if(e&&e.dataset&&e.dataset[t])try{var a=JSON.parse(e.dataset[t]);if(a)return a.price&&(a.price=gtm4wp_make_sure_is_float(a.price)),a[r]=n,e.dataset[t]=JSON.stringify(a),!0}catch(e){console&&console.error&&console.error(e.message)}return!1};
// source --> https://mfrash.com/wp-content/plugins/duracelltomi-google-tag-manager/dist/js/gtm4wp-woocommerce.js?ver=1.22.3 
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var gtm4wp_last_selected_product_variation;function gtm4wp_woocommerce_console_log(e){var t;"undefined"!=typeof console&&console.log&&("object"===_typeof(e)&&(e=JSON.stringify(e)),e=(t=new Date).getHours()+":"+t.getMinutes()+":"+t.getSeconds()+"."+t.getMilliseconds()+" - "+e,console.log("[GTM4WP debug]: "+e))}function gtm4wp_woocommerce_handle_cart_qty_change(){document.querySelectorAll(".product-quantity input.qty").forEach(function(e){var t=e.defaultValue,o=parseInt(e.value);if(t!=(o=isNaN(o)?t:o)){var e=e.closest(".cart_item"),e=e&&e.querySelector(".remove");if(e)return!(e=gtm4wp_read_json_from_node(e,"gtm4wp_product_data"))||void(t<o?(e.quantity=o-t,e.price=e.price,gtm4wp_push_ecommerce("add_to_cart",[e],{currency:gtm4wp_currency,value:e.price*e.quantity})):(e.quantity=t-o,e.price=e.price,gtm4wp_push_ecommerce("remove_from_cart",[e],{currency:gtm4wp_currency,value:e.price*e.quantity})))}})}function gtm4wp_woocommerce_handle_payment_method_change(){var e,t;-1<gtm4wp_checkout_step_fired.indexOf("payment_method")||"complete"==document.readyState&&(e="(payment type not found)",(t=(t=document.querySelector(".payment_methods input:checked"))||document.querySelector("input[name^=payment_method]"))&&(e=t.value),gtm4wp_push_ecommerce("add_payment_info",window.gtm4wp_checkout_products,{currency:gtm4wp_currency,payment_type:e,value:window.gtm4wp_checkout_value}),gtm4wp_checkout_step_fired.push("payment_method"))}function gtm4wp_woocommerce_handle_shipping_method_change(){var e,t;-1<gtm4wp_checkout_step_fired.indexOf("shipping_method")||"complete"==document.readyState&&(e="(shipping tier not found)",(t=(t=document.querySelector("input[name^=shipping_method]:checked"))||document.querySelector("input[name^=shipping_method]"))&&(e=t.value),gtm4wp_push_ecommerce("add_shipping_info",window.gtm4wp_checkout_products,{currency:gtm4wp_currency,shipping_tier:e,value:window.gtm4wp_checkout_value}),gtm4wp_checkout_step_fired.push("shipping_method"))}function gtm4wp_woocommerce_process_pages(){var n={"wp-block-handpicked-products":{displayname:"Handpicked Products",counter:1},"wp-block-product-best-sellers":{displayname:"Best Selling Products",counter:1},"wp-block-product-category":{displayname:"Product Category List",counter:1},"wp-block-product-new":{displayname:"New Products",counter:1},"wp-block-product-on-sale":{displayname:"Sale Products",counter:1},"wp-block-products-by-attribute":{displayname:"Products By Attribute",counter:1},"wp-block-product-tag":{displayname:"Products By Tag",counter:1},"wp-block-product-top-rated":{displayname:"Top Rated Products",counter:1}};if(document.querySelectorAll(".wc-block-grid .wc-block-grid__product").forEach(function(e){var t=e.closest(".wc-block-grid"),o=e.querySelector(".gtm4wp_productdata");if(t&&o){var r=t.classList;if(r)for(var c in n)r.contains(c)&&(gtm4wp_update_json_in_node(o,"gtm4wp_product_data","item_list_name",n[c].displayname),gtm4wp_update_json_in_node(o,"gtm4wp_product_data","index",n[c].counter),n[c].counter++)}}),0<document.querySelectorAll(".gtm4wp_productdata,.widget-product-item").length){var e,t=[];if(document.querySelectorAll(".gtm4wp_productdata,.widget-product-item").forEach(function(e){e=gtm4wp_read_json_from_node(e,"gtm4wp_product_data");if(!e)return!0;t.push(e)}),0<gtm4wp_product_per_impression)for(;t.length;)e=t.splice(0,gtm4wp_product_per_impression),gtm4wp_push_ecommerce("view_item_list",e,{currency:gtm4wp_currency});else gtm4wp_push_ecommerce("view_item_list",t,{currency:gtm4wp_currency})}document.addEventListener("click",function(e){var t=e.target;if(!t)return!0;if(t.closest(".add_to_cart_button:not(.product_type_variable, .product_type_grouped, .single_add_to_cart_button)")){var o=t.closest(".product,.wc-block-grid__product"),o=o&&o.querySelector(".gtm4wp_productdata");if(!o)return!0;o=gtm4wp_read_json_from_node(o,"gtm4wp_product_data");if(!o)return!0;if("variable"===o.product_type||"grouped"===o.product_type)return!0;o.productlink&&delete o.productlink,delete o.product_type,o.quantity=1,gtm4wp_push_ecommerce("add_to_cart",[o],{currency:gtm4wp_currency,value:o.price})}o=t.closest(".single_add_to_cart_button");if(o){if(o.classList.contains("disabled")||o.disabled)return!0;o=t.closest("form.cart");if(!o)return!0;var r=o.querySelectorAll("[name=variation_id]"),c=o.classList&&o.classList.contains("grouped_form");if(0<r.length)gtm4wp_last_selected_product_variation&&(r=o.querySelector("[name=quantity]"),gtm4wp_last_selected_product_variation.quantity=r&&r.value||1,gtm4wp_push_ecommerce("add_to_cart",[gtm4wp_last_selected_product_variation],{currency:gtm4wp_currency,value:(gtm4wp_last_selected_product_variation.price*gtm4wp_last_selected_product_variation.quantity).toFixed(2)}));else if(c){var r=document.querySelectorAll(".grouped_form .gtm4wp_productdata"),n=[],a=0;if(r.forEach(function(e){var t,o,e=gtm4wp_read_json_from_node(e,"gtm4wp_product_data",["productlink"]);return!(e&&(t=0)<(o=document.querySelectorAll("input[name=quantity\\["+e.internal_id+"\\]]")).length&&0!=(t=o[0]&&o[0].value||1))||(e.quantity=t,delete e.internal_id,n.push(e),void(a+=e.price*e.quantity))}),0==n.length)return!0;gtm4wp_push_ecommerce("add_to_cart",n,{currency:gtm4wp_currency,value:a.toFixed(2)})}else{c=o.querySelector("[name=gtm4wp_product_data]");if(!c)return!0;r=gtm4wp_read_from_json(c.value);r.quantity=o.querySelector("[name=quantity]")&&o.querySelector("[name=quantity]").value,isNaN(r.quantity)&&(r.quantity=1),gtm4wp_push_ecommerce("add_to_cart",[r],{currency:gtm4wp_currency,value:r.price*r.quantity})}}if(t.closest(".mini_cart_item a.remove,.product-remove a.remove")){c=t&&t.closest(".mini_cart_item a.remove,.product-remove a.remove");if(!c)return!0;o=gtm4wp_read_json_from_node(c,"gtm4wp_product_data");if(!o)return!0;var r=0,_=c.closest(".cart_item"),_=_&&_.querySelectorAll(".product-quantity input.qty");if(_&&0!==_.length?r=_[0].value:(_=(c=c.closest(".mini_cart_item"))&&c.querySelectorAll(".quantity"))&&0<_.length&&(r=parseInt(_[0].textContent),Number.isNaN(r))&&(r=0),0===r)return!0;o.quantity=r,gtm4wp_push_ecommerce("remove_from_cart",[o],{currency:gtm4wp_currency,value:o.price*o.quantity})}c=t.closest(".products li:not(.product-category) a:not(.add_to_cart_button):not(.quick-view-button),.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button):not(.quick-view-button),.products>div:not(.product-category) a:not(.add_to_cart_button):not(.quick-view-button),.widget-product-item,.woocommerce-grouped-product-list-item__label a");if(c){if("undefined"==typeof google_tag_manager)return!0;var i,_=e.target,r=_.closest(".product,.wc-block-grid__product"),o=(r=(r=r||((r=_.closest(".products li"))||_.closest(".products>div")))||_.closest(".woocommerce-grouped-product-list-item__label"))?r.querySelector(".gtm4wp_productdata"):_,t=gtm4wp_read_json_from_node(o,"gtm4wp_product_data",["internal_id"]);if(!t)return!0;if(t.productlink!=c.getAttribute("href"))return!0;for(i in window.google_tag_manager)if("gtm-"==i.substring(0,4).toLowerCase()){window.gtm4wp_first_container_id=i;break}if(""===window.gtm4wp_first_container_id)return!0;var u,d,p,m,r=2e3;0<(r="undefined"!=typeof gtm4wp_datalayer_max_timeout?gtm4wp_datalayer_max_timeout:r)?(u=e.ctrlKey||e.metaKey,d="_blank"===c.target,(p=e.defaultPrevented)||e.preventDefault(),(u||d)&&(window.productpage_window=window.open("about:blank","_blank")),m=t.productlink,delete t.productlink,gtm4wp_push_ecommerce("select_item",[t],{currency:gtm4wp_currency},function(e){if(void 0!==e&&window.gtm4wp_first_container_id!=e)return!0;p||((d||u)&&productpage_window?productpage_window.location.href=m:document.location.href=m)},r)):(delete t.productlink,gtm4wp_push_ecommerce("select_item",[t],{currency:gtm4wp_currency}))}},{capture:!0}),jQuery(document).on("found_variation",function(e,t){if(void 0!==t&&("interactive"!==document.readyState||!gtm4wp_view_item_fired_during_pageload)){e=e.target;if(!e)return!0;var o,e=e.querySelector("[name=gtm4wp_product_data]");if(!e)return!0;try{o=JSON.parse(e.value)}catch(e){return console&&console.error&&console.error(e.message),!0}o.price=gtm4wp_make_sure_is_float(o.price),o.item_group_id=o.id,o.id=t.variation_id,o.item_id=t.variation_id,o.sku=t.sku,gtm4wp_use_sku_instead&&t.sku&&""!==t.sku&&(o.id=t.sku,o.item_id=t.sku),o.price=gtm4wp_make_sure_is_float(t.display_price);var r,c=[];for(r in t.attributes)c.push(t.attributes[r]);o.item_variant=c.join(","),delete(gtm4wp_last_selected_product_variation=o).internal_id,gtm4wp_push_ecommerce("view_item",[o],{currency:gtm4wp_currency,value:o.price}),"interactive"===document.readyState&&(gtm4wp_view_item_fired_during_pageload=!0)}}),jQuery(".variations select").trigger("change"),jQuery(document).ajaxSuccess(function(e,t,o){void 0!==o&&-1<o.url.indexOf("wc-api=WC_Quick_View")&&setTimeout(function(){var e=document.querySelector("#gtm4wp_quickview_data");if(e&&e.dataset&&e.dataset.gtm4wp_datalayer)try{var t=JSON.parse(e.dataset.gtm4wp_datalayer);t&&window.dataLayer&&window.dataLayer.push(t)}catch(e){console&&console.error&&console.error(e.message)}},500)});var o=!1,r=!1,c=document.querySelector("body");c&&(o=c.classList&&c.classList.contains("woocommerce-cart"),r=c.classList&&c.classList.contains("woocommerce-checkout")),o&&(document.addEventListener("click",function(e){e=e.target;return!e||!e.closest("[name=update_cart]")||void gtm4wp_woocommerce_handle_cart_qty_change()}),document.addEventListener("keypress",function(e){e=e.target;return!e||!e.closest(".woocommerce-cart-form input[type=number]")||void gtm4wp_woocommerce_handle_cart_qty_change()})),r&&(window.gtm4wp_checkout_value=window.gtm4wp_checkout_value||0,window.gtm4wp_checkout_products=window.gtm4wp_checkout_products||[],window.gtm4wp_checkout_products_ga4=window.gtm4wp_checkout_products_ga4||[],document.addEventListener("change",function(e){e=e.target;return!e||!e.closest("input[name^=shipping_method]")||void gtm4wp_woocommerce_handle_shipping_method_change()}),document.addEventListener("change",function(e){e=e.target;return!e||!e.closest("input[name=payment_method]")||void gtm4wp_woocommerce_handle_payment_method_change()}),jQuery("form.checkout").on("checkout_place_order",function(){-1==gtm4wp_checkout_step_fired.indexOf("shipping_method")&&gtm4wp_woocommerce_handle_shipping_method_change(),-1==gtm4wp_checkout_step_fired.indexOf("payment_method")&&gtm4wp_woocommerce_handle_payment_method_change()}))}function gtm4wp_woocommerce_page_loading_completed(){document.removeEventListener("DOMContentLoaded",gtm4wp_woocommerce_page_loading_completed),window.removeEventListener("load",gtm4wp_woocommerce_page_loading_completed),gtm4wp_woocommerce_process_pages()}window.gtm4wp_view_item_fired_during_pageload=!1,window.gtm4wp_checkout_step_fired=[],window.gtm4wp_first_container_id="","loading"!==document.readyState?window.setTimeout(gtm4wp_woocommerce_process_pages):(document.addEventListener("DOMContentLoaded",gtm4wp_woocommerce_page_loading_completed),window.addEventListener("load",gtm4wp_woocommerce_page_loading_completed));
// source --> https://mfrash.com/wp-content/plugins/wc-otp-msegat/assets/popup.js?ver=1.1.19 
/* WC OTP Msegat - Popup JS */
(function ($) {
    'use strict';

    var phone     = '';
    var countdown = null;

    /* -------------------------------------------------------
       Open / Close
    ------------------------------------------------------- */
    function openPopup() {
        $('#wc-otp-overlay').fadeIn(200);
        $('body').addClass('wc-otp-open');
        setTimeout(function () { $('#wc-otp-phone-input').focus(); }, 250);
    }

    function closePopup() {
        $('#wc-otp-overlay').fadeOut(200);
        $('body').removeClass('wc-otp-open');
    }

    // Expose globally
    window.wcOtpPopupOpen = openPopup;

    // Auto-open if PHP flagged it before JS loaded
    if (window._wcOtpAutoOpen) {
        $(function () { openPopup(); });
    }

    $(document).ready(function () {

        /* ---- Close handlers — always go back to previous page ---- */
        $('#wc-otp-overlay').on('click', function (e) {
            if ($(e.target).is('#wc-otp-overlay')) { window.history.back(); }
        });
        $('#wc-otp-close-btn').on('click', function () {
            window.history.back();
        });
        $(document).on('keydown', function (e) {
            if (e.key === 'Escape') { window.history.back(); }
        });

        /* ---- Login triggers on page ---- */
        $(document).on('click', '.woocommerce-form-login__submit, .login-trigger, [data-otp-trigger]', function (e) {
            e.preventDefault();
            openPopup();
        });

        /* ---- Back ---- */
        $('#wc-otp-back-btn').on('click', function () { showStep('phone'); });

        /* ====================================================
           STEP 1 — Phone
        ==================================================== */
        $('#wc-otp-phone-input').on('keypress', function (e) {
            if (e.which === 13) { e.preventDefault(); $('#wc-otp-send-btn').trigger('click'); }
        });

        // Only allow digits
        $('#wc-otp-phone-input').on('input', function () {
            var v = $(this).val().replace(/\D/g, '');
            $(this).val(v);
        });

        $('#wc-otp-send-btn').on('click', function () {
            var raw = $('#wc-otp-phone-input').val().replace(/\D/g, '');
            if (!raw || raw.length < 9) {
                setMsg('phone', 'يرجى إدخال رقم جوال صحيح (9 أرقام على الأقل).', 'error');
                return;
            }

            $(this).prop('disabled', true).text(wcOtpPopup.sendingText);
            setMsg('phone', '', '');

            $.ajax({
                url:  wcOtpPopup.ajaxUrl,
                type: 'POST',
                data: { action: 'wc_otp_send_login', nonce: wcOtpPopup.nonce, phone: raw },
                success: function (res) {
                    if (res.success) {
                        phone = res.data.phone;
                        $('#wc-otp-sent-to').text('تم إرسال رمز التحقق إلى: +' + phone);
                        showStep('verify');
                        resetDigits();
                        startCountdown(res.data.cooldown || 30);
                        $('.wc-otp-digit').first().focus();
                    } else {
                        setMsg('phone', res.data.message, 'error');
                    }
                    $('#wc-otp-send-btn').prop('disabled', false).text(wcOtpPopup.sendText);
                },
                error: function () {
                    setMsg('phone', 'حدث خطأ، يرجى المحاولة مرة أخرى.', 'error');
                    $('#wc-otp-send-btn').prop('disabled', false).text(wcOtpPopup.sendText);
                }
            });
        });

        /* ====================================================
           STEP 2 — OTP digit inputs
           Supports: typing, backspace, paste, SMS auto-fill
        ==================================================== */

        // Mobile SMS auto-fill: when browser fills the first box with the full code
        $(document).on('input', '.wc-otp-digit', function () {
            var $this = $(this);
            var val   = $this.val().replace(/\D/g, '');

            // Handle auto-fill: if more than 1 digit pasted into one box
            if (val.length > 1) {
                distributeDigits(val);
                return;
            }

            $this.val(val.slice(0, 1));
            if (val) $this.next('.wc-otp-digit').focus();
            updateCombined();
        });

        $(document).on('keydown', '.wc-otp-digit', function (e) {
            if (e.key === 'Backspace' && !$(this).val()) {
                $(this).prev('.wc-otp-digit').focus();
            }
            // Allow: numbers, backspace, tab, arrows
            if (!/^\d$/.test(e.key) && !['Backspace','Tab','ArrowLeft','ArrowRight','Delete'].includes(e.key)) {
                e.preventDefault();
            }
        });

        // Paste support — works from any digit box
        $(document).on('paste', '.wc-otp-digit', function (e) {
            e.preventDefault();
            var pasted = (e.originalEvent.clipboardData || window.clipboardData).getData('text').replace(/\D/g, '');
            if (pasted) distributeDigits(pasted);
        });

        function distributeDigits(digits) {
            var $digits = $('.wc-otp-digit');
            $digits.each(function (i) { $(this).val(digits[i] || ''); });
            // Focus last filled or last box
            var lastIdx = Math.min(digits.length, 4) - 1;
            $digits.eq(lastIdx < 0 ? 0 : lastIdx).focus();
            updateCombined();
        }

        function updateCombined() {
            var code = '';
            $('.wc-otp-digit').each(function () { code += $(this).val(); });
            $('#wc-otp-combined').val(code);
            $('#wc-otp-verify-btn').prop('disabled', code.length < 4);
            // Auto-submit when all 4 filled
            if (code.length === 4) {
                setTimeout(function () { $('#wc-otp-verify-btn').trigger('click'); }, 300);
            }
        }

        function resetDigits() {
            $('.wc-otp-digit').val('');
            $('#wc-otp-combined').val('');
            $('#wc-otp-verify-btn').prop('disabled', true);
        }

        /* ====================================================
           STEP 2 — Verify
        ==================================================== */
        $('#wc-otp-verify-btn').on('click', function () {
            var code = $('#wc-otp-combined').val();
            if (code.length < 4) return;

            $(this).prop('disabled', true).text(wcOtpPopup.verifyingText);
            setMsg('verify', '', '');

            var isAccount = wcOtpPopup.isAccountArea === 'yes' || window.location.href.indexOf('my-account') !== -1 || window.location.href.indexOf('my-account-2') !== -1;

            $.ajax({
                url:  wcOtpPopup.ajaxUrl,
                type: 'POST',
                data: {
                    action:     'wc_otp_verify_login',
                    nonce:      wcOtpPopup.nonce,
                    phone:      phone,
                    otp_code:   code,
                    is_account: isAccount ? 1 : 0,
                    redirect_url: wcOtpPopup.redirectUrl || window.location.href
                },
                success: function (res) {
                    if (res.success) {
                        clearInterval(countdown);
                        showStep('success');
                        setTimeout(function () {
                            window.location.href = res.data.redirect_url || wcOtpPopup.redirectUrl || window.location.href;
                        }, 1200);
                    } else {
                        setMsg('verify', res.data.message, 'error');
                        resetDigits();
                        $('.wc-otp-digit').first().focus();
                        $('#wc-otp-verify-btn').prop('disabled', false).text(wcOtpPopup.verifyText);
                    }
                },
                error: function () {
                    setMsg('verify', 'حدث خطأ، يرجى المحاولة مرة أخرى.', 'error');
                    $('#wc-otp-verify-btn').prop('disabled', false).text(wcOtpPopup.verifyText);
                }
            });
        });

        /* ---- Resend ---- */
        $('#wc-otp-resend-btn').on('click', function () {
            $(this).hide();
            setMsg('verify', '', '');
            resetDigits();

            var raw = phone; // already normalized
            $.ajax({
                url:  wcOtpPopup.ajaxUrl,
                type: 'POST',
                data: { action: 'wc_otp_send_login', nonce: wcOtpPopup.nonce, phone: raw },
                success: function (res) {
                    if (res.success) {
                        setMsg('verify', res.data.message, 'success');
                        startCountdown(res.data.cooldown || 30);
                    } else {
                        setMsg('verify', res.data.message, 'error');
                        $('#wc-otp-resend-btn').show();
                    }
                },
                error: function () {
                    setMsg('verify', 'حدث خطأ.', 'error');
                    $('#wc-otp-resend-btn').show();
                }
            });
        });

        /* ====================================================
           Helpers
        ==================================================== */
        function showStep(step) {
            $('.wc-otp-step').hide().removeClass('active');
            $('#wc-otp-step-' + step).show().addClass('active');
        }

        function setMsg(area, msg, type) {
            var $el = area === 'phone' ? $('#wc-otp-phone-msg') : $('#wc-otp-verify-msg');
            $el.removeClass('success error').text(msg);
            if (type) $el.addClass(type);
        }

        function startCountdown(seconds) {
            clearInterval(countdown);
            var remaining = seconds;
            $('#wc-otp-resend-btn').hide();
            $('#wc-otp-countdown-text').text('إعادة الإرسال بعد ' + remaining + wcOtpPopup.seconds);
            countdown = setInterval(function () {
                remaining--;
                if (remaining <= 0) {
                    clearInterval(countdown);
                    $('#wc-otp-countdown-text').text('');
                    $('#wc-otp-resend-btn').show();
                } else {
                    $('#wc-otp-countdown-text').text('إعادة الإرسال بعد ' + remaining + wcOtpPopup.seconds);
                }
            }, 1000);
        }

        function isBlockedPage() {
            var href = window.location.href;
            var blocked = wcOtpPopup.blockGuest === 'yes';
            return blocked && (href.indexOf('checkout') !== -1 || href.indexOf('my-account') !== -1);
        }

    });

})(jQuery);
// source --> https://mfrash.com/wp-includes/js/underscore.min.js?ver=1.13.8 
/*! This file is auto-generated */
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.8",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+i];switch(i){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(i+1),r=0;r<i;r++)e[r]=arguments[r];return e[i]=t,u.apply(this,e)}}function i(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function o(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=o("String"),Y=o("Number"),Z=o("Date"),nn=o("RegExp"),tn=o("Error"),rn=o("Symbol"),en=o("ArrayBuffer"),a=o("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=o("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=o("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,c=U||o("Array");function v(n,t){return null!=n&&q.call(n,t)}var on=o("Arguments"),an=(!function(){on(arguments)||(on=function(n){return v(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var y=sn("byteLength"),pn=ln(y),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),d=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,i="constructor";for(v(n,i)&&!t.contains(i)&&t.push(i);r--;)(i=J[r])in n&&n[i]!==u[i]&&!t.contains(i)&&t.push(i)}function g(n){if(!i(n))return[];if(W)return W(n);var t,r=[];for(t in n)v(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=g(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0}function b(n){return n instanceof b?n:this instanceof b?void(this._wrapped=n):new b(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,y(n))}b.VERSION=n,b.prototype.valueOf=b.prototype.toJSON=b.prototype.value=function(){return this._wrapped},b.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function m(n){if(!i(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function mn(e){var u=d(e);return function(n){if(null==n)return!1;var t=m(n);if(d(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==wn||!p(n[jn])}}var jn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(jn,u),wn=t.concat(u),r=["add"].concat(t,jn,"has"),u=a?mn(U):o("Map"),t=a?mn(wn):o("WeakMap"),U=a?mn(r):o("Set"),a=o("WeakSet");function j(n){for(var t=g(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function _n(n){for(var t={},r=g(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function An(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function xn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),i=u.length,o=0;o<i;o++){var a=u[o];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var Sn=xn(m),w=xn(g),On=xn(m,!0);function Mn(n){var t;return i(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function En(n){return c(n)?n:[n]}function _(n){return b.toPath(n)}function Bn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function Nn(n,t,r){n=Bn(n,_(t));return H(n)?r:n}function kn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function In(t){return t=_(t),function(n){return Bn(n,t)}}function x(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,t,r){return u.call(i,n,t,r)};case 4:return function(n,t,r,e){return u.call(i,n,t,r,e)}}return function(){return u.apply(i,arguments)}}function Tn(n,t,r){return null==n?kn:p(n)?x(n,t,r):(i(n)&&!c(n)?A:In)(n)}function Dn(n,t){return Tn(n,t,1/0)}function S(n,t,r){return b.iteratee!==Dn?b.iteratee(n,t):Tn(n,t,r)}function Rn(){}function Vn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}b.toPath=En,b.iteratee=Dn;var O=Date.now||function(){return(new Date).getTime()};function Fn(t){function r(n){return t[n]}var n="(?:"+g(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Pn=Fn(r),r=Fn(_n(r)),qn=b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Un=/(.)^/,Wn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},zn=/\\|'|\r|\n|\u2028|\u2029/g;function Ln(n){return"\\"+Wn[n]}var $n=/^\s*(\w|\$)+\s*$/;var Cn=0;function Kn(n,t,r,e,u){return e instanceof t?(e=Mn(n.prototype),i(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,i){function o(){for(var n=0,t=i.length,r=Array(t),e=0;e<t;e++)r[e]=i[e]===a?arguments[n++]:i[e];for(;n<arguments.length;)r.push(arguments[n++]);return Kn(u,o,this,this,r)}var a=M.placeholder;return o}),Jn=(M.placeholder=b,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Kn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(d);function B(n,t,r){t||0===t||(t=1/0);for(var e=[],u=0,i=0,o=d(n)||0,a=[];;){if(o<=i){if(a.length){var f=a.pop(),i=f.i,o=d(n=f.v);continue}break}f=n[i++];t<=a.length?e[u++]=f:E(f)&&(c(f)||an(f))?(a.push({i:i,v:n}),i=0,o=d(n=f)):r||(e[u++]=f)}return e}var Gn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Jn(n[e],n)}return n});var Hn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Qn=M(Hn,b,1);function Xn(n){return function(){return!n.apply(this,arguments)}}function Yn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var Zn=M(Yn,2);function nt(n,t,r){t=S(t,r);for(var e,u=g(n),i=0,o=u.length;i<o;i++)if(t(n[e=u[i]],e,n))return e}function tt(i){return function(n,t,r){t=S(t,r);for(var e=d(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(t(n[u],u,n))return u;return-1}}var rt=tt(1),et=tt(-1);function ut(n,t,r,e){for(var u=(r=S(r,e,1))(t),i=0,o=d(n);i<o;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i}function it(i,o,a){return function(n,t,r){var e=0,u=d(n);if("number"==typeof r)0<i?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=o(f.call(n,e,u),fn))?r+e:-1;for(r=0<i?e:u-1;0<=r&&r<u;r+=i)if(n[r]===t)return r;return-1}}var ot=it(1,rt,ut),at=it(-1,et);function ft(n,t,r){t=(E(n)?rt:nt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,i=n.length;u<i;u++)t(n[u],u,n);else for(var e=g(n),u=0,i=e.length;u<i;u++)t(n[e[u]],e[u],n);return n}function k(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i}function ct(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&g(n),i=(u||n).length,o=0<f?0:i-1;for(e||(r=n[u?u[o]:o],o+=f);0<=o&&o<i;o+=f){var a=u?u[o]:o;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var lt=ct(1),st=ct(-1);function I(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function pt(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1}function T(n,t,r,e){return E(n)||(n=j(n)),0<=ot(n,t,r="number"==typeof r&&!e?r:0)}var vt=l(function(n,r,e){var u,i;return p(r)?i=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),k(n,function(n){var t=i;if(!t){if(null==(n=u&&u.length?Bn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function yt(n,t){return k(n,In(t))}function dt(n,e,t){var r,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&i<r&&(i=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i}var gt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function bt(n){return n?c(n)?f.call(n):X(n)?n.match(gt):E(n)?k(n,kn):j(n):[]}function mt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Vn(n.length-1)];for(var e=bt(n),r=d(e),u=(t=Math.max(Math.min(t,r),0),r-1),i=0;i<t;i++){var o=Vn(i,u),a=e[i];e[i]=e[o],e[o]=a}return e.slice(0,t)}function D(i,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);i(u,n,t)}),u}}var jt=D(function(n,t,r){v(n,r)?n[r].push(t):n[r]=[t]}),wt=D(function(n,t,r){n[r]=t}),_t=D(function(n,t,r){v(n,r)?n[r]++:n[r]=1}),At=D(function(n,t,r){n[r?0:1].push(t)},!0);function xt(n,t,r){return t in r}var St=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=m(n)):(e=xt,t=B(t,!1,!1),n=Object(n));for(var u=0,i=t.length;u<i;u++){var o=t[u],a=n[o];e(a,o,n)&&(r[o]=a)}}return r}),Ot=l(function(n,r){var t,e=r[0];return p(e)?(e=Xn(e),1<r.length&&(t=r[1])):(r=k(B(r,!1,!1),String),e=function(n,t){return!T(r,t)}),St(n,e,t)});function Mt(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Et(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Mt(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Bt=l(function(n,t){return t=B(t,!0,!0),I(n,function(n){return!T(t,n)})}),Nt=l(function(n,t){return Bt(n,t)});function kt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],i=[],o=0,a=d(n);o<a;o++){var f=n[o],c=r?r(f,o,n):f;t&&!r?(o&&i===c||u.push(f),i=c):r?T(i,c)||(i.push(c),u.push(f)):T(u,f)||u.push(f)}return u}var It=l(function(n){return kt(B(n,!0,!0))});function Tt(n){for(var t=n&&dt(n,d).length||0,r=Array(t),e=0;e<t;e++)r[e]=yt(n,e);return r}var Dt=l(Tt);function Rt(n,t){return n._chain?b(t).chain():t}function Vt(r){return N(An(r),function(n){var t=b[n]=r[n];b.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Rt(this,t.apply(b,n))}}),b}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];b.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Rt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];b.prototype[n]=function(){var n=this._wrapped;return Rt(this,n=null!=n?t.apply(n,arguments):n)}});n=Vt({__proto__:null,VERSION:n,restArguments:l,isObject:i,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:c,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=d(n))&&(c(n)||X(n)||an(n))?0===t:0===d(g(n)))},isMatch:dn,isEqual:function(n,t){for(var r=[{a:n,b:t}],e=[],u=[];r.length;){var i=r.pop();if(!0===i)e.pop(),u.pop();else{if((n=i.a)===(t=i.b)){if(0!==n||1/n==1/t)continue;return!1}if(null==n||null==t)return!1;if(n!=n){if(t!=t)continue;return!1}i=typeof n;if("function"!=i&&"object"!=i&&"object"!=typeof t)return!1;n instanceof b&&(n=n._wrapped),t instanceof b&&(t=t._wrapped);i=s.call(n);if(i!==s.call(t))return!1;if(un&&"[object Object]"==i&&h(n)){if(!h(t))return!1;i=bn}switch(i){case"[object RegExp]":case"[object String]":if(""+n==""+t)continue;return!1;case"[object Number]":r.push({a:+n,b:+t});continue;case"[object Date]":case"[object Boolean]":if(+n==+t)continue;return!1;case"[object Symbol]":if(F.valueOf.call(n)===F.valueOf.call(t))continue;return!1;case"[object ArrayBuffer]":case bn:r.push({a:gn(n),b:gn(t)});continue}i="[object Array]"===i;if(!i&&vn(n)){if(y(n)!==y(t))return!1;if(n.buffer===t.buffer&&n.byteOffset===t.byteOffset)continue;i=!0}if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(p(o)&&o instanceof o&&p(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}for(var f=e.length;f--;)if(e[f]===n){if(u[f]===t)break;return!1}if(!(0<=f))if(e.push(n),u.push(t),r.push(!0),i){if((f=n.length)!==t.length)return!1;for(;f--;)r.push({a:n[f],b:t[f]})}else{var c,l=g(n),f=l.length;if(g(t).length!==f)return!1;for(;f--;){if(!v(t,c=l[f]))return!1;r.push({a:n[c],b:t[c]})}}}}return!0},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:g,allKeys:m,values:j,pairs:function(n){for(var t=g(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:_n,functions:An,methods:An,extend:Sn,extendOwn:w,assign:w,defaults:On,create:function(n,t){return n=Mn(n),t&&w(n,t),n},clone:function(n){return i(n)?c(n)?n.slice():Sn({},n):n},tap:function(n,t){return t(n),n},get:Nn,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!v(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=g(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=t(n[a],a,n)}return i},identity:kn,constant:cn,noop:Rn,toPath:En,property:In,propertyOf:function(t){return null==t?Rn:function(n){return Nn(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Vn,now:O,escape:Pn,unescape:r,templateSettings:qn,template:function(i,n,t){n=On({},n=!n&&t?t:n,b.templateSettings);var r,t=RegExp([(n.escape||Un).source,(n.interpolate||Un).source,(n.evaluate||Un).source].join("|")+"|$","g"),o=0,a="__p+='";if(i.replace(t,function(n,t,r,e,u){return a+=i.slice(o,u).replace(zn,Ln),o=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!$n.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,b)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var i=null==n?void 0:n[t[u]];void 0===i&&(i=r,u=e),n=p(i)?i.call(n):i}return n},uniqueId:function(n){var t=++Cn+"";return n?n+t:t},chain:function(n){return(n=b(n))._chain=!0,n},iteratee:Dn,partial:M,bind:Jn,bindAll:Gn,memoize:function(e,u){function i(n){var t=i.cache,r=""+(u?u.apply(this,arguments):n);return v(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return i.cache={},i},delay:Hn,defer:Qn,throttle:function(r,e,u){function i(){l=!1===u.leading?0:O(),o=null,c=r.apply(a,f),o||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(o&&(clearTimeout(o),o=null),l=n,c=r.apply(a,f),o||(a=f=null)):o||!1===u.trailing||(o=setTimeout(i,t)),c}var o,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(o),l=0,o=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-o;n<r?i=setTimeout(u,r-n):(i=null,e||(f=t.apply(c,a)),i||(a=c=null))}var i,o,a,f,c,n=l(function(n){return c=this,a=n,o=O(),i||(i=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(i),i=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Xn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Yn,once:Zn,findKey:nt,findIndex:rt,findLastIndex:et,sortedIndex:ut,indexOf:ot,lastIndexOf:at,find:ft,detect:ft,findWhere:function(n,t){return ft(n,A(t))},each:N,forEach:N,map:k,collect:k,reduce:lt,foldl:lt,inject:lt,reduceRight:st,foldr:st,filter:I,select:I,reject:function(n,t,r){return I(n,Xn(S(t)),r)},every:pt,all:pt,some:ht,any:ht,contains:T,includes:T,include:T,invoke:vt,pluck:yt,where:function(n,t){return I(n,A(t))},max:dt,min:function(n,e,t){var r,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<i&&(i=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},shuffle:function(n){return mt(n,1/0)},sample:mt,sortBy:function(n,e,t){var u=0;return e=S(e,t),yt(k(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:jt,indexBy:wt,countBy:_t,partition:At,toArray:bt,size:function(n){return null==n?0:(E(n)?n:g(n)).length},pick:St,omit:Ot,first:Et,head:Et,take:Et,initial:Mt,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return I(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:Nt,uniq:kt,unique:kt,union:It,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=d(n);e<u;e++){var i=n[e];if(!T(t,i)){for(var o=1;o<r&&T(arguments[o],i);o++);o===r&&t.push(i)}}return t},difference:Bt,unzip:Tt,transpose:Tt,zip:Dt,object:function(n,t){for(var r={},e=0,u=d(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;i<e;i++,n+=r)u[i]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Vt,default:b});return n._=n});
// source --> https://mfrash.com/wp-includes/js/wp-util.min.js?ver=5b32367ce761e01957c426b07f07b37a 
/*! This file is auto-generated */
window.wp=window.wp||{},function(r){var t="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(a){var n,s={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(t){var e=document.querySelector("script#tmpl-"+a);if(e)return(n=n||_.template(r(e).html(),s))(t);throw new Error("Template not found: #tmpl-"+a)}}),wp.ajax={settings:t.ajax||{},post:function(t,e){return wp.ajax.send({data:_.isObject(t)?t:_.extend(e||{},{action:t})})},send:function(n,t){var e,a;return _.isObject(n)?t=n:(t=t||{}).data=_.extend(t.data||{},{action:n}),t=_.defaults(t||{},{type:"POST",url:wp.ajax.settings.url,context:this}),(e=(a=r.Deferred(function(a){t.success&&a.done(t.success),t.error&&a.fail(t.error),delete t.success,delete t.error,a.jqXHR=r.ajax(t).done(function(t){var e;"1"!==t&&1!==t||(t={success:!0}),_.isObject(t)&&!_.isUndefined(t.success)?(e=this,a.done(function(){n&&n.data&&"query-attachments"===n.data.action&&a.jqXHR.hasOwnProperty("getResponseHeader")&&a.jqXHR.getResponseHeader("X-WP-Total")?e.totalAttachments=parseInt(a.jqXHR.getResponseHeader("X-WP-Total"),10):e.totalAttachments=0}),a[t.success?"resolveWith":"rejectWith"](this,[t.data])):a.rejectWith(this,[t])}).fail(function(){a.rejectWith(this,arguments)})})).promise()).abort=function(){return a.jqXHR.abort(),this},e}}}(jQuery);
// source --> https://mfrash.com/wp-includes/js/api-request.min.js?ver=5b32367ce761e01957c426b07f07b37a 
/*! This file is auto-generated */
!function(c){var w=window.wpApiSettings;function t(e){return e=t.buildAjaxOptions(e),t.transport(e)}t.buildAjaxOptions=function(e){var t,n,a,p,o,r,i=e.url,d=e.path,s=e.method;for(r in"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(t=e.namespace.replace(/^\/|\/$/g,""),d=(n=e.endpoint.replace(/^\//,""))?t+"/"+n:t),"string"==typeof d&&(n=w.root,d=d.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(d=d.replace("?","&")),i=n+d),p=!(e.data&&e.data._wpnonce),o=!0,a=e.headers||{})if(a.hasOwnProperty(r))switch(r.toLowerCase()){case"x-wp-nonce":p=!1;break;case"accept":o=!1}return p&&(a=c.extend({"X-WP-Nonce":w.nonce},a)),o&&(a=c.extend({Accept:"application/json, */*;q=0.1"},a)),"string"!=typeof s||"PUT"!==(s=s.toUpperCase())&&"DELETE"!==s||(a=c.extend({"X-HTTP-Method-Override":s},a),s="POST"),delete(e=c.extend({},e,{headers:a,url:i,method:s})).path,delete e.namespace,delete e.endpoint,e},t.transport=c.ajax,window.wp=window.wp||{},window.wp.apiRequest=t}(jQuery);
// source --> https://mfrash.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d 
"use strict";var wp;(wp||={}).hooks=(()=>{var v=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var w=(e,n)=>{for(var s in n)v(e,s,{get:n[s],enumerable:!0})},D=(e,n,s,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of g(n))!I.call(e,t)&&t!==s&&v(e,t,{get:()=>n[t],enumerable:!(r=S(n,t))||r.enumerable});return e};var T=e=>D(v({},"__esModule",{value:!0}),e);var le={};w(le,{actions:()=>ae,addAction:()=>J,addFilter:()=>K,applyFilters:()=>N,applyFiltersAsync:()=>ee,createHooks:()=>F,currentAction:()=>te,currentFilter:()=>re,defaultHooks:()=>b,didAction:()=>ie,didFilter:()=>se,doAction:()=>X,doActionAsync:()=>Y,doingAction:()=>ne,doingFilter:()=>oe,filters:()=>ce,hasAction:()=>P,hasFilter:()=>Q,removeAction:()=>L,removeAllActions:()=>U,removeAllFilters:()=>W,removeFilter:()=>M});function z(e){return typeof e!="string"||e===""?(console.error("The namespace must be a non-empty string."),!1):/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)?!0:(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)}var m=z;function E(e){return typeof e!="string"||e===""?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)?!0:(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}var f=E;function Z(e,n){return function(r,t,a,i=10){let c=e[n];if(!f(r)||!m(t))return;if(typeof a!="function"){console.error("The hook callback must be a function.");return}if(typeof i!="number"){console.error("If specified, the hook priority must be a number.");return}let l={callback:a,priority:i,namespace:t};if(c[r]){let o=c[r].handlers,d;for(d=o.length;d>0&&!(i>=o[d-1].priority);d--);d===o.length?o[d]=l:o.splice(d,0,l),c.__current.forEach(h=>{h.name===r&&h.currentIndex>=d&&h.currentIndex++})}else c[r]={handlers:[l],runs:0};r!=="hookAdded"&&e.doAction("hookAdded",r,t,a,i)}}var H=Z;function C(e,n,s=!1){return function(t,a){let i=e[n];if(!f(t)||!s&&!m(a))return;if(!i[t])return 0;let c=0;if(s)c=i[t].handlers.length,i[t]={runs:i[t].runs,handlers:[]};else{let l=i[t].handlers;for(let o=l.length-1;o>=0;o--)l[o].namespace===a&&(l.splice(o,1),c++,i.__current.forEach(d=>{d.name===t&&d.currentIndex>=o&&d.currentIndex--}))}return t!=="hookRemoved"&&e.doAction("hookRemoved",t,a),c}}var p=C;function O(e,n){return function(r,t){let a=e[n];return typeof t<"u"?r in a&&a[r].handlers.some(i=>i.namespace===t):r in a}}var _=O;function j(e,n,s,r){return function(a,...i){let c=e[n];c[a]||(c[a]={handlers:[],runs:0}),c[a].runs++;let l=c[a].handlers;if(!l||!l.length)return s?i[0]:void 0;let o={name:a,currentIndex:0};async function d(){try{c.__current.add(o);let u=s?i[0]:void 0;for(;o.currentIndex<l.length;)u=await l[o.currentIndex].callback.apply(null,i),s&&(i[0]=u),o.currentIndex++;return s?u:void 0}finally{c.__current.delete(o)}}function h(){try{c.__current.add(o);let u=s?i[0]:void 0;for(;o.currentIndex<l.length;)u=l[o.currentIndex].callback.apply(null,i),s&&(i[0]=u),o.currentIndex++;return s?u:void 0}finally{c.__current.delete(o)}}return(r?d:h)()}}var A=j;function $(e,n){return function(){let r=e[n];return Array.from(r.__current).at(-1)?.name??null}}var y=$;function V(e,n){return function(r){let t=e[n];return typeof r>"u"?t.__current.size>0:Array.from(t.__current).some(a=>a.name===r)}}var k=V;function q(e,n){return function(r){let t=e[n];if(f(r))return t[r]&&t[r].runs?t[r].runs:0}}var x=q;var B=class{actions;filters;addAction;addFilter;removeAction;removeFilter;hasAction;hasFilter;removeAllActions;removeAllFilters;doAction;doActionAsync;applyFilters;applyFiltersAsync;currentAction;currentFilter;doingAction;doingFilter;didAction;didFilter;constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=H(this,"actions"),this.addFilter=H(this,"filters"),this.removeAction=p(this,"actions"),this.removeFilter=p(this,"filters"),this.hasAction=_(this,"actions"),this.hasFilter=_(this,"filters"),this.removeAllActions=p(this,"actions",!0),this.removeAllFilters=p(this,"filters",!0),this.doAction=A(this,"actions",!1,!1),this.doActionAsync=A(this,"actions",!1,!0),this.applyFilters=A(this,"filters",!0,!1),this.applyFiltersAsync=A(this,"filters",!0,!0),this.currentAction=y(this,"actions"),this.currentFilter=y(this,"filters"),this.doingAction=k(this,"actions"),this.doingFilter=k(this,"filters"),this.didAction=x(this,"actions"),this.didFilter=x(this,"filters")}};function G(){return new B}var F=G;var b=F(),{addAction:J,addFilter:K,removeAction:L,removeFilter:M,hasAction:P,hasFilter:Q,removeAllActions:U,removeAllFilters:W,doAction:X,doActionAsync:Y,applyFilters:N,applyFiltersAsync:ee,currentAction:te,currentFilter:re,doingAction:ne,doingFilter:oe,didAction:ie,didFilter:se,actions:ae,filters:ce}=b;return T(le);})();
// source --> https://mfrash.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec 
"use strict";var wp;(wp||={}).i18n=(()=>{var nt=Object.create;var L=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var it=Object.getOwnPropertyNames;var ut=Object.getPrototypeOf,lt=Object.prototype.hasOwnProperty;var ft=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),ot=(t,r)=>{for(var e in r)L(t,e,{get:r[e],enumerable:!0})},O=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of it(r))!lt.call(t,u)&&u!==e&&L(t,u,{get:()=>r[u],enumerable:!(n=at(r,u))||n.enumerable});return t};var st=(t,r,e)=>(e=t!=null?nt(ut(t)):{},O(r||!t||!t.__esModule?L(e,"default",{value:t,enumerable:!0}):e,t)),pt=t=>O(L({},"__esModule",{value:!0}),t);var $=ft((It,M)=>{M.exports=window.wp.hooks});var yt={};ot(yt,{__:()=>Z,_n:()=>G,_nx:()=>B,_x:()=>q,createI18n:()=>R,defaultI18n:()=>H,getLocaleData:()=>j,hasTranslation:()=>Q,isRTL:()=>J,resetLocaleData:()=>U,setLocaleData:()=>z,sprintf:()=>P,subscribe:()=>X});var ct=/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;function T(t,...r){var e=0;return Array.isArray(r[0])&&(r=r[0]),t.replace(ct,function(){var n,u,l,o,f;return n=arguments[3],u=arguments[5],l=arguments[7],o=arguments[9],o==="%"?"%":(l==="*"&&(l=r[e],e++),u===void 0?(n===void 0&&(n=e+1),e++,f=r[n-1]):r[0]&&typeof r[0]=="object"&&r[0].hasOwnProperty(u)&&(f=r[0][u]),o==="f"?f=parseFloat(f)||0:o==="d"&&(f=parseInt(f)||0),l!==void 0&&(o==="f"?f=f.toFixed(l):o==="s"&&(f=f.substr(0,l))),f??"")})}function P(t,...r){return T(t,...r)}var D,I,h,N;D={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1};I=["(","?"];h={")":["("],":":["?","?:"]};N=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;function b(t){for(var r=[],e=[],n,u,l,o;n=t.match(N);){for(u=n[0],l=t.substr(0,n.index).trim(),l&&r.push(l);o=e.pop();){if(h[u]){if(h[u][0]===o){u=h[u][1]||u;break}}else if(I.indexOf(o)>=0||D[o]<D[u]){e.push(o);break}r.push(o)}h[u]||e.push(u),t=t.substr(n.index+u.length)}return t=t.trim(),t&&r.push(t),r.concat(e.reverse())}var dt={"!":function(t){return!t},"*":function(t,r){return t*r},"/":function(t,r){return t/r},"%":function(t,r){return t%r},"+":function(t,r){return t+r},"-":function(t,r){return t-r},"<":function(t,r){return t<r},"<=":function(t,r){return t<=r},">":function(t,r){return t>r},">=":function(t,r){return t>=r},"==":function(t,r){return t===r},"!=":function(t,r){return t!==r},"&&":function(t,r){return t&&r},"||":function(t,r){return t||r},"?:":function(t,r,e){if(t)throw r;return e}};function g(t,r){var e=[],n,u,l,o,f,_;for(n=0;n<t.length;n++){if(f=t[n],o=dt[f],o){for(u=o.length,l=Array(u);u--;)l[u]=e.pop();try{_=o.apply(null,l)}catch(v){return v}}else r.hasOwnProperty(f)?_=r[f]:_=+f;e.push(_)}return e[0]}function A(t){var r=b(t);return function(e){return g(r,e)}}function E(t){var r=A(t);return function(e){return+r({n:e})}}var S={contextDelimiter:"",onMissingKey:null};function _t(t){var r,e,n;for(r=t.split(";"),e=0;e<r.length;e++)if(n=r[e].trim(),n.indexOf("plural=")===0)return n.substr(7)}function x(t,r){var e;this.data=t,this.pluralForms={},this.options={};for(e in S)this.options[e]=r!==void 0&&e in r?r[e]:S[e]}x.prototype.getPluralForm=function(t,r){var e=this.pluralForms[t],n,u,l;return e||(n=this.data[t][""],l=n["Plural-Forms"]||n["plural-forms"]||n.plural_forms,typeof l!="function"&&(u=_t(n["Plural-Forms"]||n["plural-forms"]||n.plural_forms),l=E(u)),e=this.pluralForms[t]=l),e(r)};x.prototype.dcnpgettext=function(t,r,e,n,u){var l,o,f;return u===void 0?l=0:l=this.getPluralForm(t,u),o=e,r&&(o=r+this.options.contextDelimiter+e),f=this.data[t][o],f&&f[l]?f[l]:(this.options.onMissingKey&&this.options.onMissingKey(e,t),l===0?e:n)};var K={"":{plural_forms(t){return t===1?0:1}}},vt=/^i18n\.(n?gettext|has_translation)(_|$)/,R=(t,r,e)=>{let n=new x({}),u=new Set,l=()=>{u.forEach(a=>a())},o=a=>(u.add(a),()=>u.delete(a)),f=(a="default")=>n.data[a],_=(a,i="default")=>{n.data[i]={...n.data[i],...a},n.data[i][""]={...K[""],...n.data[i]?.[""]},delete n.pluralForms[i]},v=(a,i)=>{_(a,i),l()},V=(a,i="default")=>{n.data[i]={...n.data[i],...a,"":{...K[""],...n.data[i]?.[""],...a?.[""]}},delete n.pluralForms[i],l()},W=(a,i)=>{n.data={},n.pluralForms={},v(a,i)},m=(a="default",i,s,c,d)=>(n.data[a]||_(void 0,a),n.dcnpgettext(a,i,s,c,d)),y=a=>a||"default",Y=(a,i)=>{let s=m(i,void 0,a);return e?(s=e.applyFilters("i18n.gettext",s,a,i),e.applyFilters("i18n.gettext_"+y(i),s,a,i)):s},w=(a,i,s)=>{let c=m(s,i,a);return e?(c=e.applyFilters("i18n.gettext_with_context",c,a,i,s),e.applyFilters("i18n.gettext_with_context_"+y(s),c,a,i,s)):c},k=(a,i,s,c)=>{let d=m(c,void 0,a,i,s);return e?(d=e.applyFilters("i18n.ngettext",d,a,i,s,c),e.applyFilters("i18n.ngettext_"+y(c),d,a,i,s,c)):d},tt=(a,i,s,c,d)=>{let F=m(d,c,a,i,s);return e?(F=e.applyFilters("i18n.ngettext_with_context",F,a,i,s,c,d),e.applyFilters("i18n.ngettext_with_context_"+y(d),F,a,i,s,c,d)):F},rt=()=>w("ltr","text direction")==="rtl",et=(a,i,s)=>{let c=i?i+""+a:a,d=!!n.data?.[s??"default"]?.[c];return e&&(d=e.applyFilters("i18n.has_translation",d,a,i,s),d=e.applyFilters("i18n.has_translation_"+y(s),d,a,i,s)),d};if(t&&v(t,r),e){let a=i=>{vt.test(i)&&l()};e.addAction("hookAdded","core/i18n",a),e.addAction("hookRemoved","core/i18n",a)}return{getLocaleData:f,setLocaleData:v,addLocaleData:V,resetLocaleData:W,subscribe:o,__:Y,_x:w,_n:k,_nx:tt,isRTL:rt,hasTranslation:et}};var C=st($(),1),p=R(void 0,void 0,C.defaultHooks),H=p,j=p.getLocaleData.bind(p),z=p.setLocaleData.bind(p),U=p.resetLocaleData.bind(p),X=p.subscribe.bind(p),Z=p.__.bind(p),q=p._x.bind(p),G=p._n.bind(p),B=p._nx.bind(p),J=p.isRTL.bind(p),Q=p.hasTranslation.bind(p);return pt(yt);})();