{"id":5091,"date":"2026-02-21T07:52:45","date_gmt":"2026-02-21T07:52:45","guid":{"rendered":"https:\/\/www.sasthahouse.com\/?page_id=5091"},"modified":"2026-04-14T11:34:59","modified_gmt":"2026-04-14T11:34:59","slug":"testing","status":"publish","type":"page","link":"https:\/\/www.sasthahouse.com\/?page_id=5091","title":{"rendered":"Testing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5091\" class=\"elementor elementor-5091\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4e0f3c e-flex e-con-boxed e-con e-parent\" data-id=\"e4e0f3c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3618ae9 elementor-widget elementor-widget-html\" data-id=\"3618ae9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div style=\"width: 100vw; height: 30vh; display: flex; justify-content: center; align-items: center; background: #5C9EFF; position: relative; overflow: hidden; margin: 0; box-shadow: 0 8px 30px rgba(0,0,0,0.3);\">\n  \n  <canvas id=\"canvas\" width=\"1200\" height=\"520\" \n          style=\"display: block; max-height: 100%; width: auto; background: #5C9EFF; border: 8px solid #000; border-radius: 12px; image-rendering: pixelated;\">\n  <\/canvas>\n\n  <!-- Mobile Controls -->\n  <div id=\"mobileControls\" style=\"display: none; position: absolute; bottom: 10px; left: 15px; z-index: 200;\">\n    <div style=\"display: flex; gap: 10px; align-items: flex-end;\">\n      <div>\n        <button id=\"leftBtn\" style=\"width: 58px; height: 58px; font-size: 24px; background: rgba(0,0,0,0.55); color: white; border: none; border-radius: 10px; touch-action: none;\">\u2190<\/button>\n      <\/div>\n      <div style=\"display: flex; flex-direction: column; gap: 5px;\">\n        <button id=\"leftBtn2\" style=\"width: 58px; height: 58px; font-size: 24px; background: rgba(0,0,0,0.55); color: white; border: none; border-radius: 10px; touch-action: none;\">\u2190<\/button>\n        <button id=\"rightBtn\" style=\"width: 58px; height: 58px; font-size: 24px; background: rgba(0,0,0,0.55); color: white; border: none; border-radius: 10px; touch-action: none;\">\u2192<\/button>\n      <\/div>\n      <button id=\"jumpBtn\" style=\"width: 78px; height: 78px; font-size: 17px; background: rgba(0,0,0,0.65); color: white; border: none; border-radius: 50%; margin-left: 20px; touch-action: none;\">\n        JUMP<br>\u2191\n      <\/button>\n    <\/div>\n  <\/div>\n\n  <!-- End Screen -->\n  <div id=\"endScreen\" style=\"display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.88); color: white; flex-direction: column; align-items: center; justify-content: center; font-family: 'Press Start 2P', Arial; text-align: center; z-index: 100; border-radius: 12px;\">\n    <h1 style=\"font-size: 32px; margin: 0 0 15px 0; color: #FFCC00;\">LEVEL COMPLETE!<\/h1>\n    <p id=\"scoreText\" style=\"font-size: 22px; margin: 8px 0 20px 0; color: #FFCC00;\"><\/p>\n    <p style=\"font-size: 16px; margin-bottom: 20px; max-width: 85%;\">You collected <span id=\"coinsCollected\" style=\"color:#FFCC00; font-size:26px;\"><\/span> coins!<br>Choose where to invest:<\/p>\n    \n    <div style=\"display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 90%;\">\n      <button onclick=\"invest('farmlands')\" style=\"padding: 10px 18px; font-size: 15px; background: #4CAF50; color: white; border: none; border-radius: 8px; cursor: pointer;\">\ud83c\udf3e Farmlands<\/button>\n      <button onclick=\"invest('villas')\" style=\"padding: 10px 18px; font-size: 15px; background: #E91E63; color: white; border: none; border-radius: 8px; cursor: pointer;\">\ud83c\udfe1 Villas<\/button>\n      <button onclick=\"invest('apartments')\" style=\"padding: 10px 18px; font-size: 15px; background: #2196F3; color: white; border: none; border-radius: 8px; cursor: pointer;\">\ud83c\udfe2 Apartments<\/button>\n      <button onclick=\"invest('plots')\" style=\"padding: 10px 18px; font-size: 15px; background: #FF9800; color: white; border: none; border-radius: 8px; cursor: pointer;\">\ud83d\udccd Plots<\/button>\n      <button onclick=\"invest('commercial')\" style=\"padding: 10px 18px; font-size: 15px; background: #9C27B0; color: white; border: none; border-radius: 8px; cursor: pointer;\">\ud83c\udfec Commercial<\/button>\n    <\/div>\n    <button onclick=\"restartGame()\" style=\"margin-top: 25px; padding: 10px 25px; font-size: 16px; background: #FFCC00; color: #000; border: none; border-radius: 8px; cursor: pointer;\">PLAY AGAIN<\/button>\n  <\/div>\n<\/div>\n\n<script>\n\/\/ ==================== GAME VARIABLES ====================\nconst canvas = document.getElementById('canvas');\nconst ctx = canvas.getContext('2d');\nlet score = 0;\nlet gameOver = false;\nlet won = false;\nlet isDarkMode = false;\n\nconst player = {\n  x: 80, y: 300, width: 36, height: 54,\n  vx: 0, vy: 0, speed: 6, jump: -15,\n  grounded: false, facingRight: true,\n  animTimer: 0, walkFrame: 0\n};\n\nconst keys = {};\n\n\/\/ Mobile Detection\nconst isMobile = \/iPhone|iPad|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini\/i.test(navigator.userAgent) || \n                 (window.innerWidth <= 900 && 'ontouchstart' in window);\n\nif (isMobile) document.getElementById('mobileControls').style.display = 'block';\n\n\/\/ Mobile Controls\nfunction setupMobileControls() {\n  const leftBtn = document.getElementById('leftBtn');\n  const leftBtn2 = document.getElementById('leftBtn2');\n  const rightBtn = document.getElementById('rightBtn');\n  const jumpBtn = document.getElementById('jumpBtn');\n\n  const setLeft = (pressed) => { keys['ArrowLeft'] = pressed; };\n\n  [leftBtn, leftBtn2].forEach(btn => {\n    btn.addEventListener('touchstart', e => { e.preventDefault(); setLeft(true); });\n    btn.addEventListener('touchend', e => { e.preventDefault(); setLeft(false); });\n  });\n\n  rightBtn.addEventListener('touchstart', e => { e.preventDefault(); keys['ArrowRight'] = true; });\n  rightBtn.addEventListener('touchend', e => { e.preventDefault(); keys['ArrowRight'] = false; });\n\n  jumpBtn.addEventListener('touchstart', e => {\n    e.preventDefault();\n    if (player.grounded) {\n      player.vy = player.jump;\n      player.grounded = false;\n    }\n  });\n}\n\n\/\/ Keyboard with scroll prevention\nwindow.addEventListener('keydown', e => {\n  keys[e.key] = true;\n  if (['ArrowUp', 'ArrowDown', ' '].includes(e.key)) {\n    e.preventDefault();\n  }\n});\n\nwindow.addEventListener('keyup', e => keys[e.key] = false);\n\n\/\/ Level Data (same as before)\nconst platforms = [\n  {x: 0, y: 440, w: 3000, h: 80},\n  {x: 280, y: 320, w: 200, h: 20},\n  {x: 580, y: 240, w: 180, h: 20},\n  {x: 920, y: 300, w: 150, h: 20},\n  {x: 1250, y: 180, w: 220, h: 20},\n  {x: 1600, y: 280, w: 180, h: 20},\n  {x: 1950, y: 220, w: 160, h: 20},\n  {x: 2300, y: 340, w: 200, h: 20},\n];\n\nconst pipes = [\n  {x: 450, y: 370, w: 70, h: 90},\n  {x: 780, y: 350, w: 65, h: 110},\n  {x: 1150, y: 380, w: 75, h: 80},\n  {x: 1480, y: 340, w: 60, h: 120},\n  {x: 2100, y: 360, w: 70, h: 100},\n];\n\nlet coins = [];\nfor (let i = 0; i < 55; i++) {\n  coins.push({ x: 180 + i * 48 + Math.random() * 30, y: 120 + Math.random() * 220, r: 16, collected: false });\n}\n\nlet cameraX = 0;\n\n\/\/ Character style, draw functions (same)\nfunction getCharacterStyle() {\n  if (score >= 8) return 'business';\n  if (score >= 4) return 'investor';\n  return 'casual';\n}\n\nfunction drawArm(shoulderX, shoulderY, angle, isLeft, style) {\n  const dir = isLeft ? -1 : 1;\n  const elbowX = shoulderX + Math.cos(angle) * 9 * dir;\n  const elbowY = shoulderY + Math.sin(angle) * 9;\n  const handX = elbowX + Math.cos(angle * 1.35) * 14 * dir;\n  const handY = elbowY + Math.sin(angle * 1.35) * 14;\n\n  ctx.strokeStyle = style === 'business' ? '#f1d9c0' : '#f8d9b8';\n  ctx.lineWidth = 5.5;\n  ctx.lineCap = 'round';\n\n  ctx.beginPath(); ctx.moveTo(shoulderX, shoulderY); ctx.lineTo(elbowX, elbowY); ctx.stroke();\n  ctx.beginPath(); ctx.moveTo(elbowX, elbowY); ctx.lineTo(handX, handY); ctx.stroke();\n\n  ctx.fillStyle = '#f8d9b8';\n  ctx.fillRect(handX - 3.5, handY - 3.5, 7, 7);\n}\n\nfunction drawPlayer() {\n  const px = player.x - cameraX;\n  const py = player.y;\n  const style = getCharacterStyle();\n  const isMoving = Math.abs(player.vx) > 0.4;\n  const isRunning = Math.abs(player.vx) > 5;\n  const isIdle = !isMoving && player.grounded;\n\n  player.animTimer++;\n  const factor = isRunning ? 3 : 5;\n  player.walkFrame = isMoving ? (player.animTimer \/ factor) % (Math.PI*2) : 0;\n\n  const legAngle = isMoving ? Math.sin(player.walkFrame) * (isRunning ? 0.95 : 0.62) : (isIdle ? Math.sin(player.animTimer\/25)*0.08 : 0);\n  const armSwing = isMoving ? Math.sin(player.walkFrame + 1.6) * (isRunning ? 1.3 : 0.9) : (isIdle ? Math.sin(player.animTimer\/20)*0.16 : 0);\n  const lean = isRunning ? (player.vx > 0 ? 5 : -5) : 0;\n\n  ctx.strokeStyle = '#1a252f'; ctx.lineWidth = 7;\n  ctx.beginPath(); ctx.moveTo(px + 17 + lean, py + 42); ctx.lineTo(px + 13 + Math.sin(legAngle)*13, py + 53); ctx.stroke();\n  ctx.beginPath(); ctx.moveTo(px + 22 + lean, py + 42); ctx.lineTo(px + 27 - Math.sin(legAngle)*13, py + 53); ctx.stroke();\n\n  ctx.fillStyle = style === 'business' ? '#0f172a' : '#1c2526';\n  ctx.fillRect(px + 8 + Math.sin(legAngle)*9, py + 51, 13, 6);\n  ctx.fillRect(px + 19 - Math.sin(legAngle)*9, py + 51, 13, 6);\n\n  if (style === 'business') {\n    ctx.fillStyle = '#1e3a5f'; ctx.fillRect(px + 10, py + 22, 19, 25);\n    ctx.fillStyle = '#c8102e'; ctx.fillRect(px + 18, py + 26, 5, 15);\n  } else {\n    ctx.fillStyle = style === 'investor' ? '#2563eb' : '#3b82f6';\n    ctx.fillRect(px + 10, py + 22, 19, 25);\n  }\n\n  const shoulderY = py + 29;\n  drawArm(px + 12, shoulderY, -armSwing - 0.7, true, style);\n  drawArm(px + 27, shoulderY, armSwing - 0.7, false, style);\n\n  ctx.fillStyle = '#f8d9b8';\n  ctx.beginPath(); ctx.arc(px + 20, py + 17, 11.5, 0, Math.PI*2); ctx.fill();\n\n  ctx.fillStyle = style === 'business' ? '#1f2937' : '#334155';\n  ctx.beginPath(); ctx.ellipse(px + 20, py + 9.5, 12, 8.5, 0, 0, Math.PI*2); ctx.fill();\n  if (style === 'business') ctx.fillRect(px + 12, py + 7, 14, 6);\n\n  ctx.fillStyle = '#1e2937';\n  const eyeShift = player.facingRight ? 2 : -2;\n  ctx.fillRect(px + 15 + eyeShift, py + 15, 3.5, 4);\n  ctx.fillRect(px + 23 + eyeShift, py + 15, 3.5, 4);\n\n  ctx.strokeStyle = '#1e2937'; ctx.lineWidth = 1.3;\n  ctx.beginPath();\n  if (isIdle) {\n    ctx.moveTo(px + 16, py + 23);\n    ctx.quadraticCurveTo(px + 20, py + 25.5, px + 24, py + 23);\n  } else {\n    ctx.moveTo(px + 16.5, py + 23); ctx.lineTo(px + 23.5, py + 23);\n  }\n  ctx.stroke();\n}\n\nfunction drawBackground() {\n  ctx.fillStyle = isDarkMode ? '#1a1a2e' : '#5C9EFF';\n  ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n  ctx.fillStyle = isDarkMode ? '#0f3460' : '#6EBE4A';\n  ctx.beginPath();\n  ctx.moveTo(-200 - cameraX*0.25, 440);\n  ctx.quadraticCurveTo(300 - cameraX*0.25, 280, 700 - cameraX*0.25, 440);\n  ctx.quadraticCurveTo(1200 - cameraX*0.25, 310, 1800 - cameraX*0.25, 440);\n  ctx.lineTo(2200, 440); ctx.fill();\n\n  ctx.fillStyle = isDarkMode ? '#16213e' : '#4CAF50';\n  ctx.beginPath();\n  ctx.moveTo(-100 - cameraX*0.4, 440);\n  ctx.quadraticCurveTo(400 - cameraX*0.4, 320, 850 - cameraX*0.4, 440);\n  ctx.quadraticCurveTo(1400 - cameraX*0.4, 290, 1900 - cameraX*0.4, 440);\n  ctx.lineTo(2500, 440); ctx.fill();\n\n  ctx.fillStyle = isDarkMode ? 'rgba(255,255,255,0.65)' : '#FFFFFF';\n  function drawCloud(baseX, baseY, scale, speed) {\n    const x = baseX - cameraX * speed;\n    ctx.globalAlpha = isDarkMode ? 0.65 : 0.95;\n    ctx.beginPath();\n    ctx.ellipse(x, baseY, 55*scale, 26*scale, 0, 0, Math.PI*2);\n    ctx.ellipse(x + 32*scale, baseY - 12*scale, 42*scale, 29*scale, 0, 0, Math.PI*2);\n    ctx.ellipse(x + 68*scale, baseY - 6*scale, 38*scale, 24*scale, 0, 0, Math.PI*2);\n    ctx.ellipse(x + 95*scale, baseY - 10*scale, 28*scale, 22*scale, 0, 0, Math.PI*2);\n    ctx.fill();\n    ctx.globalAlpha = 1;\n  }\n\n  drawCloud(120, 90, 1.05, 0.08);\n  drawCloud(480, 65, 0.85, 0.09);\n  drawCloud(850, 115, 1.15, 0.07);\n  drawCloud(1250, 75, 0.95, 0.085);\n  drawCloud(1720, 105, 1.1, 0.08);\n  drawCloud(2150, 55, 0.9, 0.095);\n  drawCloud(2600, 130, 1.0, 0.075);\n}\n\nfunction drawGround() {\n  const groundY = 440;\n  ctx.fillStyle = isDarkMode ? '#444' : '#C68C4F';\n  ctx.fillRect(0, groundY, canvas.width, 80);\n\n  ctx.strokeStyle = isDarkMode ? '#222' : '#A67B44';\n  ctx.lineWidth = 3;\n  const brickWidth = 40;\n\n  for (let x = -cameraX % brickWidth; x < canvas.width + brickWidth; x += brickWidth) {\n    ctx.fillStyle = isDarkMode ? '#555' : '#D49A5E';\n    ctx.fillRect(x, groundY, brickWidth - 4, 40);\n    ctx.strokeRect(x + 2, groundY + 2, brickWidth - 8, 36);\n  }\n}\n\nfunction drawPlatforms() {\n  ctx.fillStyle = '#4CAF50';\n  platforms.forEach(p => {\n    if (p.y < 440) {\n      ctx.fillRect(p.x - cameraX, p.y, p.w, p.h);\n      ctx.fillStyle = '#3D8C40';\n      ctx.fillRect(p.x - cameraX + 8, p.y + 6, p.w - 16, p.h - 12);\n      ctx.fillStyle = '#4CAF50';\n    }\n  });\n}\n\nfunction drawPipes() {\n  pipes.forEach(pipe => {\n    const px = pipe.x - cameraX;\n    ctx.fillStyle = '#2E7D32';\n    ctx.fillRect(px, pipe.y, pipe.w, pipe.h);\n    ctx.fillStyle = '#4CAF50';\n    ctx.fillRect(px + 8, pipe.y + 8, pipe.w - 16, pipe.h - 16);\n    ctx.fillStyle = '#1B5E20';\n    ctx.fillRect(px - 8, pipe.y - 16, pipe.w + 16, 20);\n  });\n}\n\nfunction drawCoins() {\n  ctx.shadowBlur = 15; ctx.shadowColor = '#FFCC00';\n  coins.forEach(coin => {\n    if (coin.collected) return;\n    ctx.fillStyle = '#FFCC00';\n    ctx.beginPath(); ctx.arc(coin.x - cameraX, coin.y, coin.r, 0, Math.PI*2); ctx.fill();\n    ctx.shadowBlur = 0;\n    ctx.fillStyle = '#1f2937'; ctx.font = 'bold 18px Arial'; ctx.textAlign = 'center';\n    ctx.fillText('\u20b9', coin.x - cameraX, coin.y + 6);\n  });\n}\n\nfunction drawScore() {\n  ctx.fillStyle = '#FFCC00';\n  ctx.font = 'bold 28px Arial';\n  ctx.fillText('COINS: ' + score + '\/55', 30, 50);\n  if (isDarkMode) {\n    ctx.font = 'bold 12px Arial';\n    ctx.fillText('DARK MODE', 30, 75);\n  }\n}\n\nfunction checkPlatformCollision() {\n  player.grounded = false;\n  [...platforms, ...pipes].forEach(p => {\n    if (player.x < p.x + p.w && player.x + player.width > p.x &&\n        player.y < p.y + p.h && player.y + player.height > p.y) {\n      let overlapX = (player.x + player.width \/ 2 < p.x + p.w \/ 2) ? (player.x + player.width) - p.x : (p.x + p.w) - player.x;\n      let overlapY = (player.y + player.height \/ 2 < p.y + p.h \/ 2) ? (player.y + player.height) - p.y : (p.y + p.h) - player.y;\n\n      if (overlapX < overlapY) {\n        player.x = (player.x + player.width \/ 2 < p.x + p.w \/ 2) ? p.x - player.width : p.x + p.w;\n        player.vx = 0;\n      } else {\n        if (player.y + player.height \/ 2 < p.y + p.h \/ 2) {\n          player.y = p.y - player.height;\n          player.vy = 0;\n          player.grounded = true;\n        } else {\n          player.y = p.y + p.h;\n          player.vy = 5;\n        }\n      }\n    }\n  });\n}\n\nfunction checkPipeWarp() {\n  if (keys['ArrowDown']) {\n    pipes.forEach(p => {\n      if (player.x + player.width > p.x && player.x < p.x + p.w &&\n          Math.abs((player.y + player.height) - p.y) < 5) {\n        isDarkMode = !isDarkMode;\n        keys['ArrowDown'] = false;\n      }\n    });\n  }\n}\n\nfunction checkCoinCollision() {\n  coins.forEach(coin => {\n    if (coin.collected) return;\n    const dx = player.x + player.width\/2 - coin.x;\n    const dy = player.y + player.height\/2 - coin.y;\n    if (dx*dx + dy*dy < 900) {\n      coin.collected = true;\n      score++;\n    }\n  });\n}\n\nfunction gameLoop() {\n  if (gameOver || won) return;\n\n  ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n  player.vx = 0;\n  if (keys['ArrowLeft'] || keys['a'] || keys['A']) player.vx = -player.speed;\n  if (keys['ArrowRight'] || keys['d'] || keys['D']) player.vx = player.speed;\n\n  if ((keys[' '] || keys['ArrowUp']) && player.grounded) {\n    player.vy = player.jump;\n    player.grounded = false;\n  }\n\n  player.vy += 0.85;\n  player.x += player.vx;\n  player.y += player.vy;\n\n  if (player.vx !== 0) player.facingRight = player.vx > 0;\n\n  checkPlatformCollision();\n  checkPipeWarp();\n  checkCoinCollision();\n\n  if (player.x - cameraX > 700) cameraX = player.x - 700;\n  if (cameraX < 0) cameraX = 0;\n\n  drawBackground();\n  drawPlatforms();\n  drawPipes();\n  drawGround();\n  drawCoins();\n  drawPlayer();\n  drawScore();\n\n  if (score >= 55) {\n    won = true;\n    document.getElementById('endScreen').style.display = 'flex';\n    document.getElementById('scoreText').innerHTML = `Collected <span style=\"color:#FFCC00\">${score}<\/span> coins!`;\n    document.getElementById('coinsCollected').textContent = score;\n  }\n\n  if (player.y > 800) {\n    gameOver = true;\n    alert(\"Game Over! Refresh to try again.\");\n  }\n\n  requestAnimationFrame(gameLoop);\n}\n\n\/\/ Initialize\nif (isMobile) setupMobileControls();\n\nwindow.invest = function(type) {\n  const urls = {\n    farmlands: '\/farmlands',\n    villas: '\/luxury-villas',\n    apartments: '\/apartments',\n    plots: '\/residential-plots',\n    commercial: '\/commercial-properties'\n  };\n  window.location.href = urls[type] || '#';\n};\n\nwindow.restartGame = function() { location.reload(); };\n\ngameLoop();\n<\/script>\t\t\t\t<\/div>\n\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":"<p>\u2190 \u2190 \u2192 JUMP\u2191 LEVEL COMPLETE! You collected coins!Choose where to invest: \ud83c\udf3e Farmlands \ud83c\udfe1 Villas \ud83c\udfe2 Apartments \ud83d\udccd Plots \ud83c\udfec Commercial PLAY AGAIN<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_eb_attr":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-5091","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/pages\/5091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5091"}],"version-history":[{"count":25,"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/pages\/5091\/revisions"}],"predecessor-version":[{"id":6709,"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=\/wp\/v2\/pages\/5091\/revisions\/6709"}],"wp:attachment":[{"href":"https:\/\/www.sasthahouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}