{"id":194,"date":"2026-05-11T07:33:00","date_gmt":"2026-05-11T07:33:00","guid":{"rendered":"https:\/\/interno.vebses.io\/?page_id=194"},"modified":"2026-05-11T07:33:17","modified_gmt":"2026-05-11T07:33:17","slug":"wishlist","status":"publish","type":"page","link":"https:\/\/interno.vebses.io\/en\/wishlist\/","title":{"rendered":"Wishlist"},"content":{"rendered":"\n    <style>\n\n        :root {\n            --iwl-bg-color: #F5F5F5;\n            --iwl-text-color: #1A1A1A;\n            --iwl-line-color: rgba(26, 26, 26, 0.15);\n            --iwl-title-font: 'LGV Anastasia 2025 Geo', 'Noto Serif Georgian', serif;\n            --iwl-body-font: 'FiraGo', 'Noto Sans Georgian', sans-serif;\n            --iwl-accent-color: #8c3b28;\n        }\n\n        .interno-wishlist-wrap, .interno-wishlist-wrap * { box-sizing: border-box; }\n        .interno-wishlist-wrap {\n            background-color: var(--iwl-bg-color);\n            color: var(--iwl-text-color);\n            font-family: var(--iwl-body-font);\n            font-weight: 400;\n            line-height: 1.6;\n            -webkit-font-smoothing: antialiased;\n            -moz-osx-font-smoothing: grayscale;\n            text-rendering: optimizeLegibility;\n            \/* Break out *\/\n            width: 100vw;\n            margin-left: calc(50% - 50vw);\n            margin-right: calc(50% - 50vw);\n            max-width: 100vw;\n            overflow: hidden;\n        }\n        .interno-wishlist-wrap h1,\n        .interno-wishlist-wrap h2,\n        .interno-wishlist-wrap h3 { font-family: var(--iwl-title-font); font-weight: normal; margin: 0; }\n        .interno-wishlist-wrap p { margin: 0; }\n        .interno-wishlist-wrap a { text-decoration: none; color: inherit; }\n        .interno-wishlist-wrap img { display: block; max-width: 100%; }\n        .interno-wishlist-wrap button { background: none; border: 0; cursor: pointer; color: inherit; font-family: inherit; padding: 0; }\n\n        \/* \u2550\u2550\u2550 HERO \u2550\u2550\u2550 *\/\n        .interno-wishlist-wrap .iwl-hero {\n            padding: 5rem 3rem 3rem;\n            border-bottom: 1px solid var(--iwl-line-color);\n            display: flex; justify-content: space-between; align-items: flex-end;\n            gap: 2rem; flex-wrap: wrap;\n        }\n        .interno-wishlist-wrap .iwl-breadcrumbs {\n            font-size: .8rem; opacity: .55; letter-spacing: .04em;\n            margin-bottom: 1.5rem;\n            display: flex; gap: .6rem;\n        }\n        .interno-wishlist-wrap .iwl-breadcrumbs a:not(:last-child)::after,\n        .interno-wishlist-wrap .iwl-breadcrumbs span:not(:last-child)::after {\n            content: '\/'; margin-left: .6rem; opacity: .5;\n        }\n        .interno-wishlist-wrap .iwl-title { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }\n        .interno-wishlist-wrap .iwl-count {\n            font-size: .95rem; opacity: .7; padding-bottom: 1rem;\n        }\n        .interno-wishlist-wrap .iwl-count strong { font-weight: 500; opacity: 1; }\n\n        \/* \u2550\u2550\u2550 GRID \u2550\u2550\u2550 *\/\n        .interno-wishlist-wrap .iwl-products {\n            padding: 3rem;\n            min-height: 400px;\n        }\n        .interno-wishlist-wrap .iwl-grid {\n            display: grid;\n            grid-template-columns: repeat(4, 1fr);\n            gap: 2.5rem 2rem;\n        }\n\n        \/* \u2550\u2550\u2550 PRODUCT CARD (matches bestsellers carousel) \u2550\u2550\u2550 *\/\n        .interno-wishlist-wrap .iwl-card {\n            cursor: pointer;\n            display: flex; flex-direction: column;\n            color: inherit;\n            opacity: 1;\n            transform: scale(1);\n            transition: opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1);\n        }\n        .interno-wishlist-wrap .iwl-card.iwl-removing {\n            opacity: 0;\n            transform: scale(.95);\n            pointer-events: none;\n        }\n        .interno-wishlist-wrap .iwl-card-img-wrapper {\n            position: relative;\n            aspect-ratio: 3\/4;\n            overflow: hidden;\n            margin-bottom: 1.2rem;\n            border-radius: 6px;\n            background: rgba(26,26,26,.05);\n        }\n        .interno-wishlist-wrap .iwl-card-badge {\n            position: absolute; top: 1rem; left: 1rem;\n            background: var(--iwl-text-color); color: var(--iwl-bg-color);\n            font-size: .75rem; padding: .3rem .8rem;\n            border-radius: 50px; z-index: 10;\n        }\n        .interno-wishlist-wrap .iwl-card-badge.iwl-card-badge-sale {\n            background: var(--iwl-accent-color); color: #fff; font-weight: 500;\n        }\n        .interno-wishlist-wrap .iwl-card-remove {\n            position: absolute; top: 1rem; right: 1rem;\n            width: 36px; height: 36px;\n            border-radius: 50%;\n            background: rgba(245, 245, 245,.92);\n            backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);\n            display: flex; align-items: center; justify-content: center;\n            cursor: pointer; border: none;\n            color: var(--iwl-text-color);\n            opacity: 0;\n            transform: scale(.9);\n            transition: opacity .3s ease, transform .3s ease, background .3s ease, color .3s ease;\n            z-index: 10;\n        }\n        .interno-wishlist-wrap .iwl-card:hover .iwl-card-remove {\n            opacity: 1;\n            transform: scale(1);\n        }\n        .interno-wishlist-wrap .iwl-card-remove:hover {\n            background: var(--iwl-accent-color);\n            color: #fff;\n        }\n        .interno-wishlist-wrap .iwl-card-remove svg { width: 14px; height: 14px; stroke-width: 1.8; }\n\n        .interno-wishlist-wrap .iwl-card-img-wrapper img {\n            position: absolute; inset: 0;\n            width: 100%; height: 100%; object-fit: cover;\n            transition: opacity .6s cubic-bezier(.4,0,.2,1), transform 1.2s cubic-bezier(.22,1,.36,1);\n        }\n        .interno-wishlist-wrap .iwl-img-hover { opacity: 0; z-index: 2; }\n        .interno-wishlist-wrap .iwl-card:hover .iwl-img-hover { opacity: 1; }\n        .interno-wishlist-wrap .iwl-card:hover .iwl-img-main { transform: scale(1.04); }\n\n        .interno-wishlist-wrap .iwl-card-info { display: flex; flex-direction: column; gap: .3rem; }\n        .interno-wishlist-wrap .iwl-card-category {\n            font-size: .72rem; opacity: .55;\n            text-transform: uppercase; letter-spacing: 1px;\n        }\n        .interno-wishlist-wrap .iwl-card-title {\n            font-size: 1.15rem; font-family: var(--iwl-title-font);\n            line-height: 1.25;\n            transition: opacity .5s ease;\n        }\n        .interno-wishlist-wrap .iwl-card:hover .iwl-card-title { opacity: .7; }\n        .interno-wishlist-wrap .iwl-card-price-row {\n            display: flex; align-items: baseline; gap: .7rem;\n            margin-top: .3rem; flex-wrap: wrap;\n        }\n        .interno-wishlist-wrap .iwl-card-new-price { font-size: 1.1rem; font-weight: 500; }\n        .interno-wishlist-wrap .iwl-card-old-price {\n            font-size: .9rem; text-decoration: line-through; opacity: .5;\n        }\n        .interno-wishlist-wrap .iwl-card-unit { font-size: .8rem; opacity: .55; }\n\n        \/* \u2550\u2550\u2550 STATES (loading, empty) \u2550\u2550\u2550 *\/\n        .interno-wishlist-wrap .iwl-loader {\n            display: flex; flex-direction: column; align-items: center; justify-content: center;\n            padding: 4rem 2rem; text-align: center; gap: 1.2rem;\n            opacity: .5;\n        }\n        .interno-wishlist-wrap .iwl-loader-spinner {\n            width: 32px; height: 32px;\n            border: 2px solid var(--iwl-line-color);\n            border-top-color: var(--iwl-text-color);\n            border-radius: 50%;\n            animation: iwl-spin .8s linear infinite;\n        }\n        @keyframes iwl-spin { to { transform: rotate(360deg); } }\n\n        .interno-wishlist-wrap .iwl-empty {\n            text-align: center;\n            padding: 5rem 2rem;\n            display: flex; flex-direction: column; align-items: center;\n            gap: 1.5rem;\n        }\n        .interno-wishlist-wrap .iwl-empty-icon {\n            width: 80px; height: 80px;\n            opacity: .25;\n        }\n        .interno-wishlist-wrap .iwl-empty-icon svg {\n            width: 100%; height: 100%; stroke-width: 1; fill: none; stroke: currentColor;\n        }\n        .interno-wishlist-wrap .iwl-empty-title {\n            font-family: var(--iwl-title-font); font-size: 2rem; line-height: 1.1;\n        }\n        .interno-wishlist-wrap .iwl-empty-text {\n            font-size: 1rem; opacity: .65; max-width: 480px; line-height: 1.7;\n        }\n        .interno-wishlist-wrap .iwl-empty-btn {\n            display: inline-flex; align-items: center; justify-content: center;\n            gap: .5rem;\n            background: var(--iwl-text-color) !important; color: var(--iwl-bg-color) !important;\n            border: none !important;\n            padding: 0 1.6rem; height: 48px; border-radius: 50px;\n            font-size: .95rem; text-decoration: none;\n            margin-top: 1rem;\n            transition: opacity .4s, transform .4s;\n        }\n        .interno-wishlist-wrap .iwl-empty-btn:hover { opacity: .9; transform: translateY(-1px); }\n        .interno-wishlist-wrap .iwl-empty-btn svg { width: 14px; height: 14px; stroke-width: 1.5; }\n\n        \/* \u2550\u2550\u2550 RESPONSIVE \u2550\u2550\u2550 *\/\n        @media (max-width: 1200px) {\n            .interno-wishlist-wrap .iwl-grid { grid-template-columns: repeat(3, 1fr); }\n        }\n        @media (max-width: 1024px) {\n            .interno-wishlist-wrap .iwl-hero { padding: 4rem 2rem 2.5rem; }\n            .interno-wishlist-wrap .iwl-products { padding: 2.5rem 2rem; }\n        }\n        @media (max-width: 768px) {\n            .interno-wishlist-wrap .iwl-hero {\n                padding: 2.5rem 1.2rem 2rem;\n                flex-direction: column; align-items: flex-start;\n            }\n            .interno-wishlist-wrap .iwl-products { padding: 1.5rem 1.2rem 2.5rem; }\n            .interno-wishlist-wrap .iwl-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 1rem; }\n            .interno-wishlist-wrap .iwl-card-title { font-size: 1rem; }\n            .interno-wishlist-wrap .iwl-card-new-price { font-size: 1rem; }\n            .interno-wishlist-wrap .iwl-card-remove {\n                width: 32px; height: 32px; opacity: 1; \/* always visible on mobile *\/\n            }\n            .interno-wishlist-wrap .iwl-empty-title { font-size: 1.6rem; }\n        }\n        @media (max-width: 480px) {\n            .interno-wishlist-wrap .iwl-grid { grid-template-columns: 1fr; gap: 1.5rem; }\n        }\n    <\/style>\n\n    <div class=\"interno-wishlist-wrap\" id=\"iwl1\">\n\n        <!-- HERO -->\n        <section class=\"iwl-hero\">\n            <div>\n                <div class=\"iwl-breadcrumbs\">\n                    <a href=\"https:\/\/interno.vebses.io\/en\/\">\u10db\u10d7\u10d0\u10d5\u10d0\u10e0\u10d8<\/a>\n                    <span>\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8<\/span>\n                <\/div>\n                <h1 class=\"iwl-title\">\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8<\/h1>\n            <\/div>\n            <div class=\"iwl-count\" data-count>\n                <strong data-count-num>0<\/strong> \u10de\u10e0\u10dd\u10d3\u10e3\u10e5\u10e2\u10d8\n            <\/div>\n        <\/section>\n\n        <!-- PRODUCTS AREA -->\n        <section class=\"iwl-products\">\n\n            <!-- Loading state -->\n            <div class=\"iwl-loader\" data-loader>\n                <div class=\"iwl-loader-spinner\"><\/div>\n                <div>\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8 \u10d8\u10e2\u10d5\u10d8\u10e0\u10d7\u10d4\u10d1\u10d0...<\/div>\n            <\/div>\n\n            <!-- Empty state -->\n            <div class=\"iwl-empty\" data-empty style=\"display:none;\">\n                <div class=\"iwl-empty-icon\">\n                    <svg viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z\"\/>\n                    <\/svg>\n                <\/div>\n                <h2 class=\"iwl-empty-title\">\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8 \u10ea\u10d0\u10e0\u10d8\u10d4\u10da\u10d8\u10d0<\/h2>\n                <p class=\"iwl-empty-text\">\u10d2\u10d0\u10d3\u10d0\u10d3\u10d8\u10d7 \u10d9\u10d0\u10e2\u10d0\u10da\u10dd\u10d2\u10e8\u10d8 \u10d3\u10d0 \u10d3\u10d0\u10d2\u10e3\u10da\u10d4\u10d7 \u10de\u10e0\u10dd\u10d3\u10e3\u10e5\u10e2\u10d4\u10d1\u10d8, \u10e0\u10dd\u10db\u10d4\u10da\u10d8\u10ea \u10db\u10dd\u10d2\u10ec\u10dd\u10dc\u10d7 \u2014 \u10d8\u10e1\u10d8\u10dc\u10d8 \u10d0\u10e5 \u10e8\u10d4\u10dc\u10d0\u10ee\u10e3\u10da\u10d0\u10d3 \u10d3\u10d0\u10e0\u10e9\u10d4\u10d1\u10d0.<\/p>\n                <a href=\"https:\/\/interno.vebses.io\/en\/catalog\/\" class=\"iwl-empty-btn\">\n                    \u10d9\u10d0\u10e2\u10d0\u10da\u10dd\u10d2\u10d8\n                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25\"\/><\/svg>\n                <\/a>\n            <\/div>\n\n            <!-- Grid -->\n            <div class=\"iwl-grid\" data-grid style=\"display:none;\"><\/div>\n\n        <\/section>\n    <\/div>\n\n    <script>\n    (function(){\n        var wrap = document.getElementById('iwl1');\n        if (!wrap || wrap.__inited) return;\n        wrap.__inited = true;\n\n        var ajaxUrl = 'https:\/\/interno.vebses.io\/wp-admin\/admin-ajax.php';\n        var nonce   = 'd5084edbd7';\n\n        var loaderEl = wrap.querySelector('[data-loader]');\n        var emptyEl  = wrap.querySelector('[data-empty]');\n        var gridEl   = wrap.querySelector('[data-grid]');\n        var countEl  = wrap.querySelector('[data-count]');\n        var numEl    = wrap.querySelector('[data-count-num]');\n\n        function showLoader()  { loaderEl.style.display = ''; emptyEl.style.display = 'none'; gridEl.style.display = 'none'; }\n        function showEmpty()   { loaderEl.style.display = 'none'; emptyEl.style.display = ''; gridEl.style.display = 'none'; if (countEl) countEl.style.display = 'none'; }\n        function showGrid()    { loaderEl.style.display = 'none'; emptyEl.style.display = 'none'; gridEl.style.display = ''; if (countEl) countEl.style.display = ''; }\n\n        function escHtml(s) {\n            return String(s == null ? '' : s).replace(\/[&<>\"']\/g, function(c){\n                return ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'})[c];\n            });\n        }\n\n        function renderCard(p) {\n            var badgeHtml = '';\n            if (p.badge) {\n                var badgeClass = 'iwl-card-badge' + (p.badge_is_sale ? ' iwl-card-badge-sale' : '');\n                badgeHtml = '<div class=\"' + badgeClass + '\">' + escHtml(p.badge) + '<\/div>';\n            }\n            var imgMain  = p.main  ? '<img decoding=\"async\" src=\"' + escHtml(p.main)  + '\" alt=\"' + escHtml(p.title) + '\" class=\"iwl-img-main\" loading=\"lazy\">' : '';\n            var imgHover = (p.hover && p.hover !== p.main) ? '<img decoding=\"async\" src=\"' + escHtml(p.hover) + '\" alt=\"\" class=\"iwl-img-hover\" loading=\"lazy\">' : '';\n            var subHtml  = p.subname ? '<span class=\"iwl-card-category\">' + escHtml(p.subname) + '<\/span>' : '';\n            var priceRow = '';\n            if (p.new_price) {\n                priceRow = '<div class=\"iwl-card-price-row\">' +\n                    '<span class=\"iwl-card-new-price\">' + escHtml(p.new_price) + '<\/span>' +\n                    (p.old_price ? '<del class=\"iwl-card-old-price\">' + escHtml(p.old_price) + '<\/del>' : '') +\n                    (p.unit ? '<span class=\"iwl-card-unit\">\/ ' + escHtml(p.unit) + '<\/span>' : '') +\n                '<\/div>';\n            }\n\n            return '<a href=\"' + escHtml(p.url) + '\" class=\"iwl-card\" data-id=\"' + p.id + '\">' +\n                '<div class=\"iwl-card-img-wrapper\">' +\n                    badgeHtml +\n                    '<button type=\"button\" class=\"iwl-card-remove\" data-remove=\"' + p.id + '\" aria-label=\"\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8\u10d3\u10d0\u10dc \u10ec\u10d0\u10e8\u10da\u10d0\" title=\"\u10e4\u10d0\u10d5\u10dd\u10e0\u10d8\u10e2\u10d4\u10d1\u10d8\u10d3\u10d0\u10dc \u10ec\u10d0\u10e8\u10da\u10d0\">' +\n                        '<svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\"\/><\/svg>' +\n                    '<\/button>' +\n                    imgMain + imgHover +\n                '<\/div>' +\n                '<div class=\"iwl-card-info\">' +\n                    subHtml +\n                    '<h3 class=\"iwl-card-title\">' + escHtml(p.title) + '<\/h3>' +\n                    priceRow +\n                '<\/div>' +\n            '<\/a>';\n        }\n\n        function fetchAndRender() {\n            var ids = (window.InternoWishlist ? window.InternoWishlist.get() : []);\n\n            if (numEl) numEl.textContent = ids.length;\n\n            if (ids.length === 0) {\n                showEmpty();\n                return;\n            }\n\n            showLoader();\n\n            \/\/ AJAX request\n            var form = new FormData();\n            form.append('action', 'interno_wishlist_get');\n            form.append('nonce', nonce);\n            ids.forEach(function(id){ form.append('ids[]', id); });\n\n            fetch(ajaxUrl, { method: 'POST', body: form, credentials: 'same-origin' })\n                .then(function(r){ return r.json(); })\n                .then(function(res){\n                    if (!res || !res.success) {\n                        showEmpty();\n                        return;\n                    }\n                    var products = res.data || [];\n\n                    \/\/ Update count (server may return fewer if some were deleted)\n                    if (numEl) numEl.textContent = products.length;\n\n                    if (products.length === 0) {\n                        showEmpty();\n                        return;\n                    }\n\n                    gridEl.innerHTML = products.map(renderCard).join('');\n                    showGrid();\n                    attachCardHandlers();\n                })\n                .catch(function(err){\n                    console.warn('Wishlist load failed:', err);\n                    showEmpty();\n                });\n        }\n\n        function attachCardHandlers() {\n            gridEl.querySelectorAll('[data-remove]').forEach(function(btn){\n                btn.addEventListener('click', function(e){\n                    e.preventDefault();\n                    e.stopPropagation();\n                    var id = btn.getAttribute('data-remove');\n                    var card = btn.closest('.iwl-card');\n                    if (!card) return;\n\n                    \/\/ Visual: fade out\n                    card.classList.add('iwl-removing');\n\n                    \/\/ Remove from localStorage (this dispatches the event globally)\n                    if (window.InternoWishlist) {\n                        window.InternoWishlist.remove(id);\n                    }\n\n                    setTimeout(function(){\n                        card.remove();\n                        var remaining = gridEl.querySelectorAll('.iwl-card').length;\n                        if (numEl) numEl.textContent = remaining;\n                        if (remaining === 0) showEmpty();\n                    }, 350);\n                });\n            });\n        }\n\n        \/\/ Initial load\n        if (window.InternoWishlist) {\n            fetchAndRender();\n        } else {\n            \/\/ Wait briefly for helper script to load\n            var tries = 0;\n            var timer = setInterval(function(){\n                tries++;\n                if (window.InternoWishlist || tries > 40) {\n                    clearInterval(timer);\n                    fetchAndRender();\n                }\n            }, 50);\n        }\n\n        \/\/ Cross-tab \/ cross-component sync \u2014 re-fetch when wishlist changes elsewhere\n        window.addEventListener('interno:wishlist-changed', function(e){\n            \/\/ Only re-render if the change came from another tab \/ component (not our own remove)\n            var currentIds = gridEl.querySelectorAll('.iwl-card').length;\n            var newIds = (e.detail && e.detail.list) ? e.detail.list.length : 0;\n            if (newIds !== currentIds) {\n                fetchAndRender();\n            }\n        });\n    })();\n    <\/script>\n\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-194","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/pages\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":4,"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/pages\/194\/revisions"}],"predecessor-version":[{"id":198,"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/pages\/194\/revisions\/198"}],"wp:attachment":[{"href":"https:\/\/interno.vebses.io\/en\/wp-json\/wp\/v2\/media?parent=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}