{"id":83,"date":"2025-07-09T11:34:28","date_gmt":"2025-07-09T11:34:28","guid":{"rendered":"https:\/\/invest.alphabusiness.media\/?page_id=83"},"modified":"2025-07-09T13:03:14","modified_gmt":"2025-07-09T13:03:14","slug":"investor-dashboard","status":"publish","type":"page","link":"https:\/\/invest.alphabusiness.media\/index.php\/investor-dashboard\/","title":{"rendered":"Investor Dashboard"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"83\" class=\"elementor elementor-83\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f028a1 e-flex e-con-boxed e-con e-parent\" data-id=\"1f028a1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4811cfe elementor-widget elementor-widget-shortcode\" data-id=\"4811cfe\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Investor Dashboard<\/title>\n    <!-- Tailwind CSS -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <!-- ethers.js -->\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/ethers\/5.7.2\/ethers.umd.min.js\" xintegrity=\"sha512-FDcVY+g7vc5CXANbrTSg1K5qLy9dG9SjCpinBK2LeNiGhodGz2ctiSSQ96chETpUvQG4GA7A3M\/sSgM36rXWpA==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"><\/script>\n    <style>\n        \/* Custom Styles for Typography and Components *\/\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Open+Sans:wght@400;600;700;900&display=swap');\n        body {\n          \n            font-family: 'Open Sans', sans-serif;\n        }\n        \n        \/* Text Styles *\/\n        .main-title {\n            font-size: 3.25rem;\n            line-height: 1.1em;\n            font-weight: 700;\n            color: #191B1D;\n        }\n        .subtitle {\n            margin-top: 0.9rem;\n            color: #191B1D;\n        }\n        .description {\n            margin-top: 1rem;\n            font-size: 0.875rem;\n            color: #191B1D;\n        }\n        .info-card-header {\n            color: #33629a;\n            font-weight: 600;\n            font-size: 1.5rem;\n            line-height: 1em;\n            margin-bottom: 0.5rem;\n        }\n        .card-value {\n            margin-top: 0rem;\n            font-weight: 600;\n            font-size: 2.5rem;\n            line-height: 1em;\n            word-break: break-all;\n        }\n        @media (min-width: 768px) {\n            .main-title {\n                font-size: 3rem;\n                line-height: 1em;\n            }\n            .card-value {\n                font-size: 3rem;\n            }\n        }\n\n        \/* Button Styles *\/\n        .btn-outline {\n            background-color: transparent;\n            border: 1px solid #88888826;\n            color: #000;\n            transition: all 0.3s ease;\n            font-weight: 700;\n            border-radius: 8px;\n            padding: 0.75rem 1.5rem;\n        }\n        .btn-outline:hover {\n            background-color: #374151;\n            color: #ffffff;\n        }\n        .btn-outline:disabled {\n            background: #4b5563;\n            cursor: not-allowed;\n        }\n\n        \/* Other Component Styles *\/\n        .project-title-block {\n            background-color: #f9fafb;\n            color: #1f2937;\n        }\n        .project-link {\n            background-color: #e5e7eb;\n            color: #1f2937;\n        }\n        .project-link:hover {\n            background-color: #d1d5db;\n        }\n       .tab-button {\n            border-radius: 5px;\n            margin-top: 5px;\n        }\n        \n        .tab-button.active {\n            background-color: #33629a;\n            color: white;\n        }\n        .news-item {\n            background-color: #f9fafb;\n            color: #1f2937;\n        }\n        .hidden {\n            display: none;\n        }\n    <\/style>\n<\/head>\n<body class=\"text-white\">\n\n    <div id=\"app\" class=\"container mx-auto px-1.5 py-6\">\n        \n        <!-- #################### INVESTOR DASHBOARD #################### -->\n        <div id=\"investor-dashboard\">\n            <header class=\"text-left mb-10\">\n                <h1 class=\"main-title\">Investor Dashboard<\/h1>\n                <p class=\"subtitle\">Your personal dashboard to track project investments.<\/p>\n                <p class=\"description\">This dashboard provides a transparent overview of your token holdings and their current valuation based on the latest project assessment. All data is fetched directly from the blockchain and combined with off-chain records managed by the project administration.<\/p>\n            <\/header>\n\n            <div id=\"connect-wallet-section\" class=\"text-center py-10\">\n                <button id=\"connect-wallet-button\" class=\"btn-outline text-black-xl\">\n                    <span id=\"connect-wallet-text\">Connect Wallet<\/span>\n                    <span id=\"connect-wallet-spinner\" class=\"hidden\">Connecting...<\/span>\n                <\/button>\n                <p id=\"connect-wallet-message\" class=\"text-gray-500 mt-4\">Please connect your <a href=\"https:\/\/metamask.io\/download\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-blue-400 hover:underline\">MetaMask wallet<\/a> to access your data.<\/p>\n            <\/div>\n\n            <div id=\"main-content\" class=\"hidden\">\n                <div class=\"project-title-block p-4 rounded-lg mb-10\">\n                    <h2 class=\"text-3xl font-bold\">Alpha Business Media Global<\/h2>\n                    <div class=\"flex items-center space-x-2 mt-3\">\n                        <div class=\"project-link flex items-center text-sm font-mono px-3 py-1 rounded-full\">\n                            <span>0x5c89...1c46<\/span>\n                        <\/div>\n                        <a href=\"https:\/\/polygonscan.com\/token\/0x5c89f486b15b3e52b38649343F656B8222051c46\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"project-link flex items-center text-sm px-3 py-1 rounded-full\">\n                            <span>Polygonscan<\/span>\n                            <svg class=\"w-4 h-4 ml-1.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"><\/path><\/svg>\n                        <\/a>\n                    <\/div>\n                <\/div>\n\n                <div class=\"grid grid-cols-1 md:grid-cols-3 gap-2.5 mb-2.5\">\n                    <div class=\"border border-gray-300 rounded-lg p-6 md:col-span-2\">\n                        <h3 class=\"info-card-header\">Your Balance<\/h3>\n                        <div class=\"flex items-center mt-2 space-x-4\">\n                             <img decoding=\"async\" src=\"https:\/\/alphabusiness.media\/wp-content\/uploads\/2025\/07\/ABMG_Token_Round.png\" alt=\"Token Icon\" class=\"h-12 w-12 rounded-full\">\n                             <p id=\"investor-balance\" class=\"card-value whitespace-nowrap\">0<\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header\">Current Token Price<\/h3>\n                        <p id=\"token-price\" class=\"card-value\">$0.00<\/p>\n                    <\/div>\n                <\/div>\n                 <div class=\"grid grid-cols-1 md:grid-cols-3 gap-2.5 mb-2.5\">\n                     <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header\">Total Project Valuation<\/h3>\n                        <p id=\"project-valuation\" class=\"card-value\">$0<\/p>\n                    <\/div>\n                    <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header\">Your Stake Percentage<\/h3>\n                        <p id=\"investor-share-percentage\" class=\"card-value\">0.00%<\/p>\n                    <\/div>\n                     <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header\">Your Stake Value<\/h3>\n                        <p id=\"investor-stake-value\" class=\"card-value\">$0<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"grid grid-cols-1 md:grid-cols-2 gap-2.5 mb-2.5\">\n                    <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header mb-4\">Key Dates<\/h3>\n                        <div class=\"segmented-control mb-4\">\n                            <button id=\"tab-invest-date\" class=\"tab-button py-2 px-4\">Investment History<\/button>\n                            <button id=\"tab-dividend-date\" class=\"tab-button py-2 px-4\">Dividend History<\/button>\n                        <\/div>\n                        <div id=\"dates-content\" class=\"min-h-[100px] space-y-3\"><\/div>\n                    <\/div>\n                    <div class=\"border border-gray-300 rounded-lg p-6\">\n                        <h3 class=\"info-card-header mb-4\">Important Documents<\/h3>\n                        <ul id=\"documents-list\" class=\"space-y-4\"><\/ul>\n                    <\/div>\n                <\/div>\n\n                <div class=\"border border-gray-300 rounded-lg p-6 mb-10\">\n                    <h3 class=\"info-card-header mb-4\">Project Updates<\/h3>\n                    <ul id=\"news-list\" class=\"space-y-4\"><\/ul>\n                <\/div>\n\n                <div class=\"mt-12 text-sm\">\n                    <div class=\"mb-6\">\n                        <p class=\"text-gray-500\">Your Investor Alpha Code:<\/p>\n                        <p id=\"investor-code\" class=\"font-mono text-lg\">#000<\/p>\n                    <\/div>\n                    <div class=\"mb-6\">\n                        <p class=\"text-black-500\">Connected Wallet:<\/p>\n                        <p id=\"wallet-address\" class=\"font-mono break-all\"><\/p>\n                    <\/div>\n                    <a href=\"#\" id=\"logout-button\" class=\"text-red-500 hover:underline transition\">Disconnect Wallet<\/a>\n                <\/div>\n\n                <div class=\"mt-10 pt-6 border-t border-gray-300 text-black-400 text-base\">\n                    <h4 class=\"font-bold text-black-600 mb-2\">Dashboard Features:<\/h4>\n                    <ul class=\"list-disc list-inside space-y-1\">\n                        <li>View your token balance in real-time.<\/li>\n                        <li>Track the current valuation of your stake based on the latest funding round.<\/li>\n                        <li>Access your personal investment history and dividend records.<\/li>\n                        <li>Download important legal documents securely.<\/li>\n                        <li>Stay informed with the latest project updates.<\/li>\n                        <li>For any questions or support, please <a href=\"mailto:support@example.com\" class=\"text-blue-400 hover:underline\">contact our support team<\/a>.<\/li>\n                    <\/ul>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n<script>\n    \/\/ #################### CONFIGURATION ####################\n    const TOKEN_CONTRACT_ADDRESS = \"0x5c89f486b15b3e52b38649343F656B8222051c46\"; \n    const TOKEN_SYMBOL = \"ABMG\";\n    const TOTAL_SUPPLY = 10000000; \n    const CORRECT_NETWORK_ID = '137'; \n    const CORRECT_NETWORK_HEX_ID = '0x89'; \n    const TOKEN_ABI = [\"function balanceOf(address owner) view returns (uint256)\", \"function decimals() view returns (uint8)\"];\n\n    let provider, signer, userAddress, tokenContract;\n    \n    const db = {\n        data: {},\n        load() {\n            const storedData = localStorage.getItem('investorDB_v6');\n            this.data = storedData ? JSON.parse(storedData) : { tokenPrice: 0.07, investors: {}, news: [] };\n        },\n        save() {\n            localStorage.setItem('investorDB_v6', JSON.stringify(this.data));\n        },\n        getInvestor(address) {\n            const normalizedAddress = address.toLowerCase();\n            if (!this.data.investors[normalizedAddress]) {\n                const investorCodes = Object.values(this.data.investors).map(inv => inv.investorCode);\n                const maxCode = investorCodes.length > 0 ? Math.max(...investorCodes) : 0;\n                this.data.investors[normalizedAddress] = {\n                    investorCode: maxCode + 1,\n                    investmentTransactions: [],\n                    dividendRecords: [],\n                    documents: []\n                };\n                \/\/ THE BUG FIX IS HERE:\n                this.save();\n            }\n            return this.data.investors[normalizedAddress];\n        }\n    };\n    db.load();\n\n    \/\/ #################### DOM ELEMENTS & RENDER FUNCTIONS ####################\n    const mainContent = document.getElementById('main-content');\n\n    async function connectWallet() {\n        const btn = document.getElementById('connect-wallet-button');\n        btn.disabled = true;\n        document.getElementById('connect-wallet-text').classList.add('hidden');\n        document.getElementById('connect-wallet-spinner').classList.remove('hidden');\n\n        try {\n            if (typeof window.ethereum === 'undefined') throw new Error(\"MetaMask is not installed.\");\n            provider = new ethers.providers.Web3Provider(window.ethereum, \"any\");\n            await provider.send(\"eth_requestAccounts\", []);\n            signer = provider.getSigner();\n            userAddress = await signer.getAddress();\n            \n            const network = await provider.getNetwork();\n            if (network.chainId.toString() !== CORRECT_NETWORK_ID) {\n                 await window.ethereum.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: CORRECT_NETWORK_HEX_ID }]});\n                 provider = new ethers.providers.Web3Provider(window.ethereum, \"any\");\n                 signer = provider.getSigner();\n                 userAddress = await signer.getAddress();\n            }\n\n            tokenContract = new ethers.Contract(TOKEN_CONTRACT_ADDRESS, TOKEN_ABI, signer);\n            \n            document.getElementById('connect-wallet-section').classList.add('hidden');\n            mainContent.classList.remove('hidden');\n            \n            db.getInvestor(userAddress);\n            updateDashboard();\n\n        } catch (error) {\n            console.error(\"CONNECTION ERROR:\", error);\n            alert(\"Could not connect wallet. Check console (F12) for details.\");\n        } finally {\n            btn.disabled = false;\n            document.getElementById('connect-wallet-text').classList.remove('hidden');\n            document.getElementById('connect-wallet-spinner').classList.add('hidden');\n        }\n    }\n\n    async function updateDashboard() {\n        if (!tokenContract || !userAddress) return;\n        try {\n            const balanceWei = await tokenContract.balanceOf(userAddress);\n            const decimals = await tokenContract.decimals();\n            const balance = parseFloat(ethers.utils.formatUnits(balanceWei, decimals));\n            const stakeValue = balance * db.data.tokenPrice;\n            const sharePercentage = (balance \/ TOTAL_SUPPLY) * 100;\n            const projectValuation = TOTAL_SUPPLY * db.data.tokenPrice;\n\n            document.getElementById('token-price').textContent = `$${db.data.tokenPrice.toFixed(4)}`;\n            document.getElementById('project-valuation').textContent = `$${projectValuation.toLocaleString('en-US', {maximumFractionDigits: 0})}`;\n            document.getElementById('investor-balance').textContent = `${balance.toLocaleString('en-US')} ${TOKEN_SYMBOL}`;\n            document.getElementById('investor-stake-value').textContent = `$${stakeValue.toLocaleString('en-US', {maximumFractionDigits: 0})}`;\n            document.getElementById('investor-share-percentage').textContent = `${sharePercentage.toFixed(2)}%`;\n            document.getElementById('wallet-address').textContent = userAddress;\n            \n            const investorData = db.getInvestor(userAddress);\n            document.getElementById('investor-code').textContent = `#${String(investorData.investorCode).padStart(3, '0')}`;\n\n            renderDates('invest');\n            renderDocuments();\n            renderNews();\n        } catch (error) {\n            console.error(\"DASHBOARD UPDATE ERROR:\", error);\n            alert(\"Could not load data from the contract. Please check the contract address.\");\n        }\n    }\n    \n    function renderDates(activeTab) {\n        const investor = db.getInvestor(userAddress);\n        const datesContentEl = document.getElementById('dates-content');\n        datesContentEl.innerHTML = '';\n\n        document.getElementById('tab-invest-date').classList.toggle('active', activeTab === 'invest');\n        document.getElementById('tab-dividend-date').classList.toggle('active', activeTab === 'dividend');\n\n        const list = document.createElement('ul');\n        list.className = 'space-y-2 text-sm';\n\n        if (activeTab === 'invest') {\n            if (investor.investmentTransactions.length > 0) {\n                [...investor.investmentTransactions].sort((a,b) => new Date(b.date) - new Date(a.date)).forEach(tx => {\n                    const item = document.createElement('li');\n                    item.className = 'flex justify-between items-center';\n                    const date = new Date(tx.date).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\n                    item.innerHTML = `<span>${date}<\/span><span class=\"font-semibold\">${Number(tx.amount).toLocaleString('en-US')} ${TOKEN_SYMBOL}<\/span>`;\n                    list.appendChild(item);\n                });\n            } else {\n                list.innerHTML = `<li class=\"text-gray-400\">No investment history.<\/li>`;\n            }\n        } else {\n             if (investor.dividendRecords.length > 0) {\n                [...investor.dividendRecords].sort((a,b) => new Date(b.date) - new Date(a.date)).forEach(rec => {\n                    const item = document.createElement('li');\n                    item.className = 'flex justify-between items-center';\n                    const date = new Date(rec.date).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\n                    item.innerHTML = `<span>${date}<\/span><span class=\"font-semibold\">$${Number(rec.amount).toLocaleString('en-US')}<\/span>`;\n                    list.appendChild(item);\n                });\n            } else {\n                list.innerHTML = `<li class=\"text-gray-400\">No dividend history.<\/li>`;\n            }\n        }\n        datesContentEl.appendChild(list);\n    }\n    \n    function renderDocuments() {\n        const investor = db.getInvestor(userAddress);\n        const documentsListEl = document.getElementById('documents-list');\n        documentsListEl.innerHTML = '';\n        if (investor.documents.length > 0) {\n            investor.documents.forEach((doc, index) => {\n                const item = document.createElement('li');\n                item.className = 'flex justify-between items-center p-3 rounded-md';\n                item.innerHTML = `\n                    <div class=\"flex items-center\">\n                        <span class=\"text-gray-500 mr-3\">${index + 1}.<\/span>\n                        <div>\n                            <p class=\"font-semibold cursor-default\">${doc.name}<\/p>\n                            <p class=\"text-xs text-gray-500\">Added: ${new Date(doc.addedDate).toLocaleDateString('en-US')}<\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"flex items-center space-x-4\">\n                        <a href=\"mailto:?subject=Project Document: ${doc.name}&body=Hello, please find the document here: ${doc.url}\" title=\"Share via Email\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"h-6 w-6 text-blue-400 hover:text-blue-300\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path d=\"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z\" \/><path d=\"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z\" \/><\/svg>\n                        <\/a>\n                        <a href=\"${doc.url}\" download title=\"Download\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"h-6 w-6 text-blue-400 hover:text-blue-300\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\" clip-rule=\"evenodd\" \/><\/svg>\n                        <\/a>\n                    <\/div>\n                `;\n                documentsListEl.appendChild(item);\n            });\n        } else {\n            documentsListEl.innerHTML = `<li class=\"text-gray-400\">No documents uploaded.<\/li>`;\n        }\n    }\n\n    function renderNews() {\n        const newsListEl = document.getElementById('news-list');\n        newsListEl.innerHTML = '';\n        const sortedNews = [...db.data.news].sort((a,b) => new Date(b.date) - new Date(a.date));\n        if (sortedNews.length > 0) {\n            sortedNews.forEach(item => {\n                const li = document.createElement('li');\n                li.className = 'news-item';\n                const dateString = new Date(item.date).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });\n                li.innerHTML = `\n                    <p class=\"font-bold text-lg\">${item.title}<\/p>\n                    <p class=\"text-gray-700 mt-1\">${item.text}<\/p>\n                    <p class=\"text-xs text-gray-500 mt-2\">${dateString}<\/p>\n                `;\n                newsListEl.appendChild(li);\n            });\n        } else {\n            newsListEl.innerHTML = `<li class=\"text-gray-400\">No project updates yet.<\/li>`;\n        }\n    }\n\n    function logout() {\n        userAddress = null; tokenContract = null;\n        mainContent.classList.add('hidden');\n        document.getElementById('connect-wallet-section').classList.remove('hidden');\n    }\n\n    \/\/ #################### INITIALIZATION ####################\n    window.addEventListener('load', () => {\n        document.getElementById('connect-wallet-button').addEventListener('click', connectWallet);\n        document.getElementById('logout-button').addEventListener('click', logout);\n        \n        document.getElementById('tab-invest-date').addEventListener('click', () => renderDates('invest'));\n        document.getElementById('tab-dividend-date').addEventListener('click', () => renderDates('dividend'));\n\n        if (window.ethereum) {\n            window.ethereum.on('accountsChanged', logout);\n            window.ethereum.on('chainChanged', logout);\n        }\n    });\n<\/script>\n\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-83","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/pages\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/comments?post=83"}],"version-history":[{"count":12,"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/pages\/83\/revisions"}],"predecessor-version":[{"id":197,"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/pages\/83\/revisions\/197"}],"wp:attachment":[{"href":"https:\/\/invest.alphabusiness.media\/index.php\/wp-json\/wp\/v2\/media?parent=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}