{"id":263,"date":"2026-10-14T04:47:33","date_gmt":"2026-10-14T04:47:33","guid":{"rendered":"https:\/\/ongroundmedia.com\/?page_id=263"},"modified":"2026-10-14T04:52:24","modified_gmt":"2026-10-14T04:52:24","slug":"keyword-research-tools","status":"publish","type":"page","link":"https:\/\/ongroundmedia.com\/?page_id=263","title":{"rendered":"Keyword Research Tools"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"263\" class=\"elementor elementor-263\">\n\t\t\t\t<div class=\"elementor-element elementor-element-506e6cc e-con e-atomic-element e-flexbox-base e-default-div e-3fca1f3 \" data-id=\"506e6cc\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"506e6cc\">\n    \t\t<div class=\"elementor-element elementor-element-6632503 elementor-widget elementor-widget-html\" data-id=\"6632503\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"utf-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\r\n<title>SEO Keyword Tools \u2013 Onground Media<\/title>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Bricolage+Grotesque:wght@600;700;800&family=DM+Sans:wght@400;500;700&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n:root{--primary:#4F46E5;--navy:#0F172A;--accent:#FF6B35;--green:#10B981;--bg:#F8FAFC;--surface:#FFFFFF;--text:#1E293B;--muted:#64748B;--border:#E2E8F0;--soft:#EEF2FF;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}\r\n@media (prefers-color-scheme:dark){:root:not([data-theme=\"light\"]){--bg:#0B1120;--surface:#111A2E;--text:#E2E8F0;--muted:#94A3B8;--border:#243049;--soft:#1B2150;--navy:#020617}}\r\n:root[data-theme=\"dark\"]{--bg:#0B1120;--surface:#111A2E;--text:#E2E8F0;--muted:#94A3B8;--border:#243049;--soft:#1B2150;--navy:#020617}\r\n*,*::before,*::after{box-sizing:inherit}\r\nhtml{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);scroll-behavior:smooth}\r\nbody{margin:0;background:var(--bg);color:var(--text);font:400 16px\/1.55 \"DM Sans\",system-ui,sans-serif}\r\nh1,h2,h3{font-family:\"Bricolage Grotesque\",\"DM Sans\",system-ui,sans-serif;margin:0;line-height:1.12;letter-spacing:-.02em}\r\na{color:var(--primary)}\r\n:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}\r\n.wrap{max-width:1180px;margin:0 auto;padding:0 20px}\r\nheader{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff}\r\n.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}\r\n.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 18px \"Bricolage Grotesque\",sans-serif}\r\n.brand img{height:36px;width:auto;background:#fff;border-radius:8px;padding:2px}\r\n.nav small{color:#CBD5E1}\r\n.top{padding:36px 0 20px}\r\n.top h1{font-size:clamp(30px,4.4vw,46px);font-weight:800}\r\n.top p{color:var(--muted);max-width:62ch;margin:10px 0 0}\r\n.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:14px;color:var(--muted)}\r\n.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline}\r\n.lv-e{background:var(--green)}.lv-m{background:var(--primary)}.lv-h{background:var(--accent)}\r\n.app{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start;padding-bottom:56px}\r\naside{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}\r\naside input{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:9px 12px;margin-bottom:8px}\r\n.item{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:9px 10px;border-radius:9px}\r\n.item:hover{background:var(--soft)}\r\n.item[aria-current=\"true\"]{background:var(--primary);color:#fff}\r\n.item b{display:block;font-weight:700;font-size:15px}\r\n.item span{display:block;font-size:12.5px;opacity:.78;line-height:1.35}\r\n.item .dot{margin-right:8px}\r\n.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;min-width:0}\r\n.panel h2{font-size:28px;font-weight:700}\r\n.badge{display:inline-flex;align-items:center;font-size:13px;font-weight:700;border:1px solid var(--border);padding:3px 11px;border-radius:99px;margin-left:10px;vertical-align:middle;font-family:\"DM Sans\",sans-serif;letter-spacing:0}\r\n.panel .d{color:var(--muted);margin:8px 0 18px;max-width:70ch}\r\n.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px}\r\n.form .full{grid-column:1\/-1}\r\nlabel{display:block;font-weight:500;font-size:14px;margin-bottom:4px}\r\ninput[type=text],input[type=number],textarea,select{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px 12px}\r\ntextarea{resize:vertical;min-height:110px}\r\ninput:focus,textarea:focus,select:focus{border-color:var(--primary)}\r\n.chk{display:flex;gap:8px;align-items:center;font-size:14px}\r\n.chk input{width:auto}\r\n.btn{border:0;cursor:pointer;font:700 14px \"DM Sans\",sans-serif;padding:10px 16px;border-radius:10px;background:var(--accent);color:#fff}\r\n.btn:hover{filter:brightness(.92)}\r\n.btn.alt{background:var(--primary)}\r\n.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}\r\n.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 10px}\r\n.sum{color:var(--muted);font-size:14px;flex:1;min-width:200px}\r\n.sum b{color:var(--text)}\r\n.tw{overflow:auto;max-height:520px;border:1px solid var(--border);border-radius:12px}\r\ntable{width:100%;border-collapse:collapse;font-size:14.5px}\r\nth{position:sticky;top:0;background:var(--soft);text-align:left;font-weight:700;padding:10px 12px;white-space:nowrap}\r\ntd{padding:9px 12px;border-top:1px solid var(--border);vertical-align:top}\r\ntr:hover td{background:color-mix(in srgb,var(--soft) 50%,transparent)}\r\n.pill{display:inline-block;font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--soft);color:var(--primary);white-space:nowrap}\r\n.pill.g{background:rgba(16,185,129,.15);color:#047857}.pill.o{background:rgba(255,107,53,.16);color:#C2410C}\r\n.meter{display:inline-block;width:70px;height:7px;background:var(--border);border-radius:9px;margin-left:8px;vertical-align:middle;overflow:hidden}\r\n.meter i{display:block;height:100%;background:var(--accent)}\r\n.empty{padding:28px;text-align:center;color:var(--muted)}\r\n.note{font-size:13.5px;color:var(--muted);margin-top:10px}\r\n.toast{color:var(--green);font-size:14px;font-weight:500}\r\nfooter{border-top:1px solid var(--border);padding:24px 0;color:var(--muted);font-size:14px}\r\n@media (max-width:900px){.app{grid-template-columns:1fr}aside{position:static;max-height:none;display:flex;flex-direction:column}aside .list{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.item{min-width:170px;border:1px solid var(--border)}.panel{padding:18px}}\r\n@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<header><div class=\"wrap nav\"><a class=\"brand\" href=\"#\"><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB0CAIAAACNAq5DAABCp0lEQVR42r19eZxcVbX12ufequohSaczDx0IIRASQojMQ5BBJaBMMkhQQED9QEF9iAOioD5Bn+AEMgoqgxB8TGKAgGGGBAIkBEKQJEDmgYydsbur6p71\/XHuOffcW9XdlaCv\/QlNdQ237j5nn73XXntt0VrD\/ZAQASAiJPFv+hER0Ly7\/U+AJCAQiPlk8\/dta7BlBVqXcP37aF2MrSuxvZXb1kppM3QZBAUqLKCuB+qaUeitewxEz6GqeXf2HSk9h6JxIMJC+uuYtwYQ\/yrus0Rqv353N\/6Nd2ZH38r7Ktk3yjwNxXYsfw9vvYADjgurP7XGDxbp9pkCAUFARAQgSVJERIQAykVuXobVc7HqdXz0Njd+gG2rpLgVUTm+VnddYi9fgG2ABggxFlMKuQZd11+adkX\/MTJ4PwzeH31GSqGHeQntCoK7R\/abVhraXF7mkcxfP46N3cs7exN3AamFBSFoHjUPiojZI8nPxtVYMFu\/8xIWvILFbyNXrw47WaIocrtq5663axubK\/O2LgCwYwvWzMWiZ\/nBc1j7DravEWc8kWStml\/pmTZZpc5eAvMRmsbqAKSuF\/uMRMthGH6UtByKXkPsB3smTi5s53fVf2LjVhhYAHr3Wdx9EIDFNqz4APOmc87zeO81rF+CcgQFANzv6ODqpyTlotNLutIndHNxIulNYp9MQAkAoebqt\/Gvv3PBE1z7tpQ7JDFq9tPi1QqCEBGC8dsnnxKvGO8zY18BahKIACXotauMOAZjTsewCSj0hO+l462cNXRnX7MW81c6gJ119ZJdiyLJ2t7wEd6fg7dfwDsvYfE73NoKDQSQnIhSJFHSmHQ5LvhlhYF39ACo+AKS8iH267Zv4oKpnHOPLHlJilsQAAKK29QCMN5QQoldr0CsHxP7\/pkL8nY7SLF\/oHlBvP4JDYSh7jtW7T0Je5+B5hHwDdz5je7CWv9HW9\/\/9GIHVryv506Xt57DgtexZomUyxRI6D1NAUoJqYvElQ\/KEad2auCMRb3IqMrTKsxv4yoAm1dg3oOYc49eOUsIBAAgSiCxHcU\/8wn3QuuYAEmis8wed9ZJrCrZU9O8BwHRmhrSawj3+ryM\/4oM+oSzYnyW0VtJ\/2FH3U3UIt79XL+KC2bh3Vdk\/iv8cK7esE4IKUACBQLa3DWIEuvIyIisa5brp8uuo9MGtjeslv2aeZp\/pMWrYctqzvoz5tyBjYsEgIrfPD4ElJgwIdlBxqQ2LIrfXNKHpUjqGI6PaPEjMmdegVDSVytApBkB9U0y5gw5+NvoP5adBJW1b9+dC8I7XUYi0tHGJfO4YLa8\/TzffVWvXSSECkAl0PY5iqD5SkQ6G9ElcuQB4fXTkc+H2QN4R35YZcMKBCxuxZy7Of33WL9QQkApQEPi81iU3VPe1dEdr0zCKRfq+h\/pImrPMKlvmHLjmVtHUERCoLQZs+\/gew9zn\/NxyLelaZhUBMyZUNb8UynVdSydOacqg\/DuVwPA1jW84VL91stSgIQI8gIBIwKQILkVNFGK+PudIERD9j4Q+Txh4q3OLFfT+hVASMZRgAAfPMO7P8spF0vrQskHUAGhGe80gVJQQoE5XxlHSExCJbH\/Yf0Dk5BLKpeh3cl0zhYmCRNUhGz2bc0aCQK0b+CM3\/DuoznnTuhyZ8ewu\/VxVNFdklOLITt7DkmQHLirXHUfJ55ZAhhAAiUiEKHbB+LOk\/g2xttZBAqSh4w60FxHrUFWpy7FHowUYPMKvvRLzP6zlNqgXGwMai0mnrKuNI6N48wu2Wpigy1nS7vxzCd4h7a4QNr9Ee4wdceugzpiAzPjrswfSaWw5+flqGvQd5QflP\/f50ipp5ZL0QO\/xsO\/CDq2UhQ0mYTSblPACx4AEdHU+Xq57gXscUDWwN1\/vAtDnJ0sGsV3\/86nfogN7yG0sa1IkpYbm6V9idgjn35iZ63scmBJzBU7JYpnNUlvCG9p2G3t4WWsdsIo4wA1erXgk9fIuHMlcfXcIbO5ULTy\/N6B1Mt+dHwcvP6EvvW\/5KOF8dFm7hnd6SSC9CouabbsKb9\/BT37gFTdOo0KT+c8vT1zS236n1fyb2fJxvcktKlpEnZTUC1acUmtEhHrgozrNv+jXRrmlxjSSD44\/tUcWul3jb87VZIrMwnOUzmSiAFKRAm2LpcnvsJp30bHFkrqPJfUGdGpW3YOXBKkjF3f22pOMb4urTUBOfCzmHih1mKsSe85gIiCfz9AIAKH7ys9ml3eVFMYVbmaY8Sxdam+70y8cLWgXQKFFOjkEBPvrsYxlMTbSmxk772veNGROEcvKShbqoCwYmI9pvIj8SPu5O9eNE4vz4ZE8voN+qHTsGGhPVNimMUZowsco8YHu86RkghCKZZK0d+uk8n\/rRT9MNaaN4sLmV\/U6EPcB6turs9f9f6Nh0BEL52p7z5BFk6RvEAJocVbXQAptFtTKKnN479bcosd7uhOATLefvRXQHJZTGOX9K0qtIvKj90kwUTjx+JMOF52oWDxND54ElfMRBxYdQMG7JC9uzY5vUhRbd7AX\/8\/3vF9KW8WZbMGJtl6fE6K86kUMMqF2OMAurC\/Ngwy\/Zt563f\/zntPkTVzkXMbQ+wZ6czmm5HJ7rZPYObY8SLotONwWLVUJk8iQruC421qfQPtYvfT5NSaTWHcNjgIRTa+h7+fhkVPe2nYjqEfnQXJXv2gq9vNxe\/wv0+V5+5UeVdscVdO74uIf+W6TOk7WIaOdI+qWkAy+nYwj8++mw+eK22rkRPv7+LSkQorEZWYb3K1YtamEJ6dWXEoxIezpp\/\/epdnX5MFtiU5wpMQVOCFXuLyjfglgcK2FZzyRS6c4nbuzhm1puPPeTQREeiXH9FXfg7zXkCdGIgKCawL72oq3kMDu45B38HIGNhfWRatyJ43Elf8wFdu5pSLpLxFlLs7AmXCnTi+MrGLF2ybcFW5OhfJBO4gxUOX3dkX7yfn3KFN1KbskhaCdIVDIO0zkq0ery6ChLgoQPwo2k+6QUBTRKRjLZ88Hx8+ydpOUs8GsmMWtkUVlIr82zX47dnSuhQFEUUqc4UCZcNMl3mQEmkDC5oTRgWQvQ6k52yqn8F2H6Qyx9jxvnornrhUojYod9NYmUvRc3jw6n0i3jGd1Gjp5e9+tuN2tE3l3ebLPDXBr+mw5QQUywRj9nyWGA9PRWHppyppX8\/Hz8eylzNrvZatLDu0m0WwZgmvPYv3\/RjcLrn4vBFJRUP2o4VlaslH\/XfVESVQogTUWimM2M\/3j6oGj+PtxTf\/iqcuE1WCUnHdx30ks04xdWdt2YdJDgNCMwlf3RuQBuSKtC5DR9RlskSUIGWgDGrqstZRRK0BHWM6Qih3DkuyHJFgKeZT3AmN2CFLklNmID+CmhCRttV44stc+664Nwe73aZd4\/m+B4GIKMHrU\/nTiXjtYckrCSSJyFQcLdoYiwAQkb36y8W3yrUv8ohJ1GUokiwXmtiyV2rZdItkOQvqd\/\/BB85W5S1UomzmkBx3kq49JHiz\/1eXlfo1IHGWZQQAklOsa0b9YN2rBb2HSmN\/yTWKykEJohLbN3LbGmxaIdtXYfsqKbbCvCoAVBBnzcrz8L5PSjDpbP0f1QsbljUSUQ89LDj9UdT3S5IlVokqaixRiINtBCy28+\/XyUO\/Ysc2hJLeFKCmOZ2SGKtIvft4ueQW7HWIACgX9b0\/5YPXSbGsRx4Q\/Pp51je60F+qc7IqaoVc9kZ050mqbZUEFkpUHqKVWbRSUWlNh8UUb39rMoKEwsZBesB4tesRMvRANO3CxgFS17vqPjAgpBQ3YetqbniPy6Zz+Qysnavat0BBFCBCUTZTc\/u1YoPRj8OrF3bsYiAjyL5fw8SbocLKgGtHS0+u9CkrP+Cdl+o3pqjAS\/YzUT9BDdGkBjXkyLPkq79B38FgjGNpQl6aLHd8B\/ufhG\/f5gfGaaiyyt0UCKR1mb7zRPnoLYQKpAihbMIqfiFHqoXvzFYjk31EEmzsj+HHyJhTMfQQ9BwKFaRfx058n3iwGlBux\/p\/yYdP44MpXPWqlEsIRURVRtheRTRTZUqXlGM6SQyu2YcDTrxd9vkybXDBrsHLLqh9JnKY8Yi+67tq3YfIB\/Fa1HEOYaMSawMtLEaR5HD6D4MvXiG5Qjo6FlEiC99gR7uMneCvZtFad5IEW2C43KHvmYR3\/67yIglK4KIdWlcGLwtJIEF\/K9vnEZoUYNAYGXce9jrNUCxcsuJviK53hg+yxw+Vi1jxMt+6Ax8+Ju1bJAChBPZ2x76xepZN3x7i15oNSYEA2WOYnPE0+u5JsiqrqyZ6mgi2bdJ\/+zme\/IOwaE5cV+injpFad10iCmXNQSN57rU89PMghFRK\/PQnDaEk9qx6BjsOJAjg+Wv14z+QMI45RSkLHZCZirAr9oj3Ccp6Q\/NHc6IM3h8HfgN7nYL6Pp3VoX0G4Q4g\/i6mXvk6Z92ABQ+pchtUSOqEhMhUZSLhtcGdHW4R0F+vIpoRuOfn5eT7ofKpHKyWc9flbfNf5V2XcuGrEgDKZI3iMnPSWtp4OE1dQnDA8er\/3YDBI22cRd+iPlc1A493GWSJ8IMXcPcpUt5sTCRCMf+3MQiTKjxijygV55sJXKlZBJoGyIQfyPivoK5pR5GBqqddZ+4nNtWS5\/DKNVj0DASiYmCemrZMlTqc3Uns4EnjbcTAwhaR0RQ54W7s\/SWkMSl2G1GLSLGdT1yPKb\/ilo3IOTieomPujU3jVJz2l6MoqOPJ31GnXa7qe3a9iIwpHU+hSwOb3bZtrf7jcbJ6tuSCZKn6OZBzzt7ehQV2HY4voogISulRZ6ijfoJ+ox2kXAvdrdKENdMTRQQstXHmb\/TMXwelTQjyossOeXZRsHgly9QaAQjtsGsLfGkOGCeTnkFdvyyOniaDpQimAD94E\/f+APOmmY2bLA5tEfOEIQyBoKwxbG+e+xvsN1Fr6ki3btpYLpXMkae1ji9cRCmlVNDc3DsMQqZrd0Kts6Gu\/bN+8kr882rJOwDYlQFsKhmfyUyqhxbIYoKDkxHQa5A69hcY92VAufyz232Kj01qFFdMXPYyXviBrJghNLQgFS9GneIHWZgofcg772lQEQVq4JNXy6FXdEJEFB9bFyVSLvKft+hHfiGta6QgceVAJ9GfGJKpqzmWERHhhEnqy9ei7zDzeFtb29e\/\/vWFCxfWFQpimUNaa60jQHr37v2HG2\/cdZddfKYHgJDZmMWmFcvn4OWbJLTxZ9yKIJYS5c4e2FjTD1hN0V6goctkyyeCk27l0IOkc7ZU9fPK8pt2GgQ2x5gIZNgEnvYPPnWRnvugCkVEUWt7wgi8qnmSycV+LKHlxrgIAWH0xg3B6DOl9+6Va8uFnzRx0IezcP9VeOcJEaAglmbiSA2uQmJNXkTUq3\/whatw7IUMc86NBUGwedPmDRvWFwp1SikbJJFal8vlUqlYKhYr70VYrVwF6DKf+rls24h8uvHDZ1KYQFpbpJh+NdbyKSKtxp6KE\/6AnkPSkX+tFEbHhPoYJBi7puv78rN3St0AzLmVUBIj2364nGGUmlgioQxY\/EkglC0f4c1bcdS1Xp+AV+g07qCjjVNviP5xrdq6QRVEKcnE3gRFJUEKqaGBTxyXO+d\/MHxfktQaNnQSkVw+F4ZhENfdY+8gQaiUCoOgaqwa+vUAsbRDzp3CeVMkUKJT6F2M1OuYRRnfC00HUokoS43VLEMOOFdOuAn5HvS39w4SVLtt9KiVRgNIrlGOvZ49BsnLP6PWsa1s0GzjzsQn+842gaqpdUTV0AARMgJCEfFKYKABTT+YyYd+gneeCggW4taEGN5nTMaI\/8s8UtJo6s+Tf6g+83Xk6lxeF\/MZlQn1AuVCxVS3lQRBaPx21sDJserw946t0bRfq6gUk6qQ4UgYn2xWqbJuBXEW6aL9EuWAL+PEW5Crr+UElZ3IiLp8vCpHH6CoEBOuZGkrX7o2yClCSZJ50x474pUrvM8S6JKOBDLyc8HhP5SWw7UmqOOA3K2ATWv55HV84VZp3yJ1IhqMQG1XT5xVJ3czinRUZjj2mOCc38jw8dUpAyRIZelNcYjioF6tNavHNWEmmACgZz8si16VAgwcIZLiYsGeueIwR7FxlnOGkcb+X5KTbmKuvhazdW3dLtr9utj6Xf4JPOK\/pW0D5\/wJQcCo5Fi3sK5JKqt6JCJi0Hh16PfVXqdLkIO37WmY\/ADefhyPXsXFs0VBQgEIZQE1bWI0sXsJ1EBZS69B4fGX4jMX6\/pGqWYlc2EpsoDYdNkl9lpXTUrC1P0VoGMLX7xROda8gHE1Iw6oYr+lTUAZOzRXwiXBssaen1In3IRcY9U0KGkf7Y6Q1m1ttYs+z64MDyAsqE\/\/jts+woIpcYubGG5gmlcUV6q0jiB9h+GgS2XceahrdlCJjXSEAq56l0\/9Gm\/+DeXtqiFgWcdEV1BUUl2grXXqkiagDj1DnfrfGLKXJqA1XeEfYvYRWYnZkklQJD51qdMd7JyYfucJWf4Gwji9oEd+NSGCpa8yQ8sQQ8eINHvvqk68yeAYXSe6O7d9q9q4VvdOr90p30M+87vymrmyYbFxffZo8yNFMiLqm2Tcl3HId6Rp15hs7aBaQ2Vt3yIv3FR+7reqda3KAYGCQELFshYNTaq46qegbfZRpu67m5x0BY88TwUhABUjA17jDaqxLSzV1O1dsx5UJ7cpFFvBMO3Y8sqd0IRpQXRrWdPPeGnxjdjS5hHD7sg1qpP\/gP6jKpuma9l2VTd6F6ba4S4xj\/VCUvfeHZ\/8pX70XKW0dwwRNqRFEMjYk3HoDzH4ADEbLO7eA2PfC\/3ek5h6DRa\/HAhQALXt2YAgsCituViCpC6CQU596qvBCT9Av12pvc6JakwCraksV4Ja02V+SJBXQ0pjehGngqz4Oy+eiYUvQuIOJ+MlkihSW4jDLuGkpimg6d078r9k9ImZ+tHOtXB1g0d2vnFr2dPxiaQpe58hi57CvLuoQhhQTxSiCAK2HCKHXY5RJ\/mfldR3ROGj+Xj6l5w1WaKi5JR5Q0vtijEmBCLaUrs1ocERB6oTf4wDT3LZ1e233\/723Lfr8gVLmY0\/rqOjo2+fvt+57Ds9evRwwYPXBSmODW0yPlbS8DIumjPuRtt2yXlWSSloILFrppFQg2XolvHBkZelWXr\/nh6QCu5\/N+B+5jDu1NgCJQGP\/AmWvyCtS2KKLiH9RuOgS9S4LyPXyIqqCgFsXYeZf8T0G7lhlQgQWGxehMrsftqcU8UEjDLRNBif+U5w1IW6ric0NWjwijlz5jz11FP5fE5EBUEQQ1RRVCyVdtll2De\/\/S2HEVI70JA+M5QeHzzzfUOHUuh1SznnCaVMY7wjYUkadmOcOHr6CXGapfLq0z9BfXMtB6rvtHe0VJ6hO7lWvspmgtTzq5k53o1Nw\/X4C\/W0y4XQ9U3qwIvkoP9Cj0FwHeQOwVACXeas+\/nM\/8hH8ySEhAkgQlKUEhrUQpvVItCMqMMcDviCHPcjNXQ0gMAml6ZWm8\/nGxoacrlcmoIXqkDV19ertHCKZTMm1GMTeCsb6Ga+ZgJV8q2psn4l6hBXUBQNDZOSqRAnNXKL6Am0lv1Ok3EnccdJh5VHsvIigMpFUNnzg4+jMWLu0bjz8M7fdPPuctjlGLp\/3NKUNFQIlAggi16Jpv0C7z4mYlMgW\/mRuL2GUKbcpqCpyyiXqYYfrD73Exl7vK0m0AEeJgDSWnvfl64Up0SCIPSrvKmGBvrcCumMB2jTpKiEOY\/GVQLjhTQRMzeqAK0JpUILRbO+lxzzPcQgelf7tdstWwXa7Q7nqnGJVP2U+NEeA9Wkf0iPQVqF1HQUWlG2UXP9h3zxBs78E7ZvVTmTyxrCDAy7NGnXAaEsutd3VznsYkz4mjT0dvmyCFL1ebIcRVEU0fbUJRGUClT6bngyNvAhNtfTWs3A5iVrF2HxTITwMgBTlGJc+POaCj2ymVDIEnDA6TLkEx6FQ7rdc7UjU5Xv03W+W+keWI1C5YLUGEHs1SKJ80z0I7B9I2fchhk3o3UZ4AQxBNRxHwfiW2QqQqRmiWjopQ7+enDExbp5mHHfFuRzhLSEBe74n66C6vykrgLpZNvi4v7gzpCs2HHPf162bpDQxRNioVWJK5d+i26CwxMkGnrKhItQQyddZ5XdGjvvas+IaoRQ\/MKWc55KiTbru9iu336Iz16rVr0Nwz5PMhFbpFJiOY8CEUSaKqfHflZ96nIOP8T1xicmEcs4EK8oYTsB4PUwi8SuO2Gl2nqiLfDScVJtCN0JkkUS855OKvp0sj0uTYpDLdFJidwC75C9Pi3D9tuZYLjzBp5aCFkfEwFNIdQ65gDEwmoCLngW037F96cp0HCmrIhBbDV78Ems4hORIEdMUMdcIaOO1SoQt0GlyofSa6Jk0iurvRY7aK21aRuF62mw2zUhr+k4AHChZ0UeDGxdiw9nifJ5keIcNX0RrlRjoGGIAftOggT4D8jS7IR1fRy0JhjctL\/EFBMlAFf9C89cy7cekNI2UWICCwcvMSHwQ6BARGUtGtIyjkd8C+MnodAogCJbW1vb2raLKAI6imBibHthffv2q6srGL+tqU3p3kMvjB01qTOkHE2zGul4bubJmhU6NS5N4sr3pHWFX9qOpcvEAJA0BH8\/74rR74jsN0LtcdT\/mV1rRC673b5+91Oc\/kCwcTmfv1nPuF22rlMFEaXEZ94wBRYKFHRULoH9dguO\/CYOOl\/qe7vDUIncedddk++7t7GxRxSVy+UyyUCpIMyRWqng5ptvHjNmTNJkYzxvmtwVR9fCFENWa6+TzHU82O6eCr5pCICLZqOtAwUvNjE1tHSTUUI4ZYxvsgQZ\/VnpOaB22Ymd05\/KFHczFO6u1SWrkmm8EFSMIKC8NpnTfsU1C1QAhDExz7CP6DIRFUsW0CS4zS1qv3Nx+IXSZxfxioHmn9u3bVuzZm1DwzazOwGaSp8Icrk8LUHOeFfaHesAGJM9aU0\/T7U7WCdntikaas20Z5aUi140G44i5GS44rYDj0cc2ztmXFEThVD2\/Sx3RAdvpw2feY7t+rDsyFqXTorpRxEpl\/jOY\/qZ69Xil0UiKQSekI5LJxIqGiPNMqSpvz74XDn8G+g7wvLwLCHS3mXHqjFsGwcHak0RqEAhfdxGkav3iSACGCPP6cKl8dCMdYtiK5vTunLpAwjRvhWrFtoM2OZVOqme0Qup\/XskEdh3mOy6P7zmR3aZztZSnK\/qhA3i00WA5sdl1Smr6dpWnLQsmsXHr9HzHlXUMSJg3YTBcYTKc3yaJegefdQBZ8vhF2LQmBh8jkttil6fsVlzOt671gEwkfHwL1NTm92aHIAOG6Nf5RWS1NQ6ovYImKAmIx2ZA5vZKHrTWr1uWZAcLTGp3cuHvdiMjoEFrYGhn2DP\/hWV8Zryk67rBDsXXqFCgjdFwY\/rmhAAaxdj2u858y7Z3hqERkGOMejs1rmoWOsp0iSkd3\/Z9\/TgiK\/LkH1s6KuNyxVRHy5a1NSrV58+fby8y5ThtSTNrto0Lngt7PZwhY5bTHRMwBcbfGW+Y0QtkbYsACvn6O3gijRp3RJpXetiw7hYpBw3Oo1iOVubTTv8QPjtv91mvehqi6NzlZNaybMVIgIVKomQLev43O184RbZsAx5wFSB7Klq+Ry0vAaNCLp5oBxwNiZ8DQNH0cMajMzRypUrJ0+ePHny5FtuvbVv376+GLDLmFXcKQ9tU6JUkxlJvxykY6RUa10uRxlwkJpatDgxJaOjpDtNGUJ+9KGUi8j5AoECHds4XbNIfifBIJBd9\/f0ENgtK4o7UfBJQ1qsFiimz6gMquruoqB9O169D8\/cgKVzEQCBiJEcjpseaCMwTQq0JiGDRuKgL6oDz5EBI10qHNf5FZYuXfrggw9MmfLY0iVLjdt0B4pSinEYrAHoyGO8UJfLZZf\/EDCeXFv7xluTEkVRFJUzOp1aRwaI9TpBJQ7CWdXAqz5wzQn0w2YLdyTwaZKkAQR69EH\/ERnb7Rw3o6qxfXNW9T9SAYnYCp0F\/12fEom50\/jo1Vj4kqFKxRoSGq6TWETIADrSZWhSDR0tR3wFB31RmgYneYiKGRzLVyx\/8IEH77\/\/\/lWrVtbV1eUL+SiKisWiIyIAaG\/b3t7WFijlSUOIwacs99QALOxob29vb0u3TpNEVC4DohxXkmxvb29ra8\/nI8AkcfGLtNaR1qjm+UJsWBOv3Yw3o9fI4LaDslSRCNLUgh79ulYMTyWOtbnZqg6ga2kq8RUSfVKV+XXxHP7jV5z9sOiiBAk8CB0T9qEILRBIFLFQkFGHBweew3EnsFe\/RJ2Jse7ckqVLJ9933z+mTPlo1SoJVF1dnYlsRVAsdtgqAgA0NfUaMnRoz5497IajRcF0XX1DQ0N9TNOMdL9+\/VqGDmtobLB5AS1FVXbbbbekQqx1v379hrW05AsFpSQIQgBRFJFaRPVubi7k81U2lf75CZjzGHKSuDK\/TSMmpMXUf1GxN9YlYt\/j1GWP0+\/B3alKfrfARS3JlR1pkIg3AMBHH+Kff8Ar92LTWoYxbYkO2rCOgQQ0VO9+2Pd4OexcjPwkwzwJUMPKywKYP3\/+ww8\/POWxKStXrMjl8ibzcTUcrfVNN9187LHHuh3Y1t7W3t6hVOD6PN2VK6UaGxuN4bXW27dvL5fLSqmMJLNSSilVXx8zU3Wkt7dtN\/7f3T7j2VWglKiGhoZABZkoJETblrhpIq0LGqMZPqUvDqLtd+810GDtHweirJr8qBQjjF0Vcl29zMEX5g23bOA\/b+O0G7FxpSpA8sqwLMxxG3cngaJR0uCAEcEBp2PCOWgZm7AYaHAJaK3feuut+ydPnvb0tE2bNgdBUFdXb3dknFikLtOW2hoaGhsaGru9A0qpnj171uLSgiDo1atXtzsmmwdz+xaJm9UdJSDNfEqR+SxqR6D3wCxw8DF2amfVwC4L9YkYqrbzAVjq4MsPyJO\/x5JZImAIT6yGrj2EEVhXJ3tNyB38Je4zkc2DdaxNaxUAlWzf3vbyyy898MADM1+buXXLllwul8vlRFzCmLACbcKaPmzTBCOfReqTBpFUn9nZfahKakgilXSvLtKirCHatjigtUKI2fZJebBRIkTaNMCVFWsJgGvh8ey4B4jBidjbvPU0H74W856WECofUGsD1xuBWiFZZimC9B8SHngKDj4LIw+WIEfDvpPkStasWfPMM888\/PDDb855s1wqFwqFQqFAv+Tglf5sphNDMUqJAaCSr1yVc5KRrq8mzVQr6p55afplIUrtImktZcvXIJPHbf1XLPWdDOuYudzOFK5r2LjZBV4te05LaKTuDxe\/hUeujV55UJWLkkvYnKb7VlMLwfoGjjokOPALMv449N\/VE\/tz4zxkzUdrbrn1lueee3bF8hUEgiAI64JEpCvRpWC1ZF05rwvgsSmPPff8c0EQWKl4I5aUMN3S3RM2hGC1ST9INHctU10hkbg1iimJtrP5IK11Y2OP0AsUmGoQZiXPVNycFB35vAR8\/Dirc\/6zpyadZYeJAFy3nFOux3N3Yvu6QMDQpJZgmRBImSVCBgwPDz4Zh01Sw\/dnmEtK7khanE3ktWDhgttuva2hoT7Mx\/WARPuz6mlib2wQhHV1Bd8hzZo96+67766rqwsC5aO4\/nAcVMx+SZTpmcoRrKJycrPdiqjQeYv9tI6i5ubeoWFv2\/QttWu9AkP8OsIvxkiSUXWKK33soq9UC5vNbdi2WU\/7C574g6z5gAEkDEQ0I2pAyqQCmvvI3keFB54hY45E8+BUsdMLzpgezNDQ2CCAjiKfABU376QJ5z4VJJfL9erV5Ip6SqkgCBoaGurqCk7wJK1nz3Q+X+VbZ\/R4fYeV2lN+nTdFN2W+UAgRFpy0tr+UUiIz1onGYKlp8I8idgYpVeBWPjunsjGpcxsnABn8SRJa47XH8dD\/8L0ZooCcEtjBECVEhTqO3C849DQc+DkMGqXighpFKhWss+ytLZs3U2sJgs7gsrSSmDgAsi6X69Gj0V+FtkAiHr01jl9cv4n9+omoTxzEeeK9jsMq\/txFeOQpXy49uaUxMBMi10ANI2\/GKpqbtgxMh3XRMAG4fbP40u81FwNqATFSKqbuXyYvWfQW770arz0iEqn6gOVIlzXLQEi12z446KTwEyfIbuNRqEt\/bucBQaJRK2vXrStHUSEMLUcuKxBvxa9SY0sY6bq6+kKhkIoqsnKHTGSWJWVdplUkvG5l8ZCnlFa3d3DRNVG4LeMOEFESoq4nvDAKiZqKOB1tcaqwPljZujpA9clh\/BjtKikY3lNYEAg3rOLDv8Ozf5bN66FAQtojyUk0cITa59NyyMkYfZg0NolHUeyeuAmhJ5y1sXWjlcFNtIRclJ4NduP8ByR79erZ0NCQSnBFuepuxZwuj3aSYlnCCSolG7+iXiMV7roTt2egysYmB3AnUlYijJmCrroOT+6AILB5Q2fhVWVbUdbknQyU8\/VBXRFDiaDYpp++G4\/8Xpa9Z\/ryEYjus4vsc6QcenI4+gj07i+AP9BG3NQVb+9W4X7Y2Yjmm65ds1Yk7vAUb0xi1WTQdf2T7N27uUdjD99RKaWS4oGv0pOJiXwOrXXXfonHi6fc\/UzpTMQ+usp5KQIJ0WsgzSglU+H3x23476x9rXEIIBtXoVxGGKI2iYU0slhD9qxN+A\/OeR73\/YxvPi8E65Xut4sac4Qc9vlgzGHSPLBzxCtpAqhk\/HiAA2iEyCCR1qtXrxZJxhK50LNaiSqJ6rXWAwcOyOVzqQVkVXOzwX82RXDCntUETFxHcTzi0zWdpQaAVbu1sWcP0auf5T7Hqb4nS+Ixop2Yjnl1AG5Yim0bDNzRRahVa62\/MrVVgpXv42\/X6Sf\/zGKZLbsEnzhGDjs1t9fB7D2AndUIa\/9Ah93Zilmxo2P16lWBQXo9bDsVDaV9kDmpSY7YffdsZp8eTlDRpU2rvZIdXe3ZyWpopse9VaKNpF+LSi2jEINHCDKabQlZJ0WVFgcNKopm60eyeY00DWAX+UzFI0wTHzNcHOcq0bYFj\/2RD96AQHDsOXLA8cHYCdJ3sEPNd4K9l9lesQ4XYvgJwNq1a9evX6\/i6o1ISk4hM6vL10FmEAS7ewa2fQy2+iqVzpkpYVl2tkqZAsHos9HS1fpK52yD61Ba9mCQA8veHHbxAEnbwOBFA\/GVFLdy1XwZNrYKI64rvmq3G0vjg7cw9c8Qpb53O\/bcD736+RmnP9MNO9387+O99j2WLVvW2rrJ7mBUZKuZf7nmbjY0NA4fPrwSBJEqRBdfyy5tcS+a9hmOTsqJfl+\/ixBTNY\/059DwovsMjeqagrZ1iYizQ7WYSRU9zNCswA9n8aDTIN3vmC66j7Jes9iGXIFf+rHqM9CV4lIglmSKwVJj54tUP+GSS\/3ggw86Ojry+bz3ZKkAilLohACR1v0H9B82bJdMpgzbtJ8SH5eUxDYrwHwHzIvjxVWsAuf6M+N2PT19cWOEFJv6Sp8h1NDG\/VGS4Yfaey\/aR3QCy8qCGSiXJCkjd4KG18DIcW5I5xu46xgY65IJpFzz+VrrXKOK7TVnzluqCsLs+LDOoaZqblFUHrn77r2bmjw5npS+ryeNFXtEerqUzPrkZDKSOwL8al4FPpNhvIunogWlRKFnHzVwN6EbuhTHftDJJZhmYX9QqHFg5SVz5aMP4A2kqb1zMGOSNP\/XG2xXs+W6KFd08vzUAtvU2jp37tsSBP7EEF+3w+EbaYVaRFG0116jlREm8m624UUzEcDWyR+ZjsjJLPqYMPMkczql+P7eXfJvmH2cYRgqiOLwcSwjmTjB7AimZHwJvZIERFo38N3pfhG0M6t0wcro4pDuZJfvFKbdGVpm7\/fC999ftmxpoJQIJS2QIMkI21ScZVLSXD4\/duxYL0iUjPVA7aHYmUky1hSmiSGeCZUUjkAdE3hI5z7ilwrSkyeYGpgFkMjnCwqAjDwgFvSW1DiyNLqZ1k5woy9m\/YOWM9i1omRVU+1ER2jXD+6YGoT3\/OkzpheLpWy9jsgMScv4AK11v779nIH9ayiVSoYqqZnM50v6A5GaZ+mmcdLJhdp5Qzq2ue2acSgOnbtn6r0TGhnr6uoUAAzfh70HEKkuccmE9XQIuRBCLSAkELz7IpbNcy0bgpqUYT\/mdOUuvPEO6CF62FBbW9vzzz0vlToIbjKbCCmJ\/Jhdn6VSafTo0QMGDHQ7x12SLsd9+w549DJjySY4buhbsnvpHVZM9Bs8wSTx\/KqkB0iZ3+vr60IB2L8Fw\/fB2x+Zo9Yr3tMDqCuqVBQocHMrZvyv7DqOWZxnZxBpS4pQO619VzttyO0hEfnXv\/41f\/6CIFSOtJMWZSDFJijar7lS6+iQgw\/O5UK6CWAeZNbWtp3UQRDYyVBkGov2OLIOvaVHMIrbvcMwqKurTyTHfQCFSBpQ6BtISDQ0NIYkJMjJPkdxztNKbCWCftYm\/qV55gU0RIEzHsDnvo1e\/TNgVu1mqBTxwH\/gpxOuiAB44okn2tvb8vlcZqoNrcaYpEvujtPYs1fPCUdMqIr5n3zKKSP3GCkiSgIVSHwI06r1wGdL2F6mRJNfAGqtzTSVJUuW3HXXXZGOVGoMmmXIp+6a9aMktW7u0xzG32KfI5krgEVB3HmWAdTF6bf5IAABBVm5kDMekuMuohLZKfPsxFLY0U7UVAUargGLIli9evWTTz4ZBIHr\/00SzGR4hwMoEk28KIr23nPsyJF7VF6lJvfff\/\/999\/\/37I0n3322TvuuCN2bOI4PEjKtfQBKmFMQkS\/vn2txOHwfdmyNyOmSpdMxX3wJV4044GSRhhg6h+wZV3GuvKf3IU7uoz8\/ilJf5snpk5dvny5Usp4KUpKEtzPeunh0iRL5fKEwyfU1dVl5TE8RgM\/xo+XoM+J6dASNxhawQcmaRgSeRUTeSmlhg5tUXFM19AT+05kKTlE6YPeRCaIhp9KicLidzntL92atUYC3r9l91f2vfk5jIOXW1tbJ993XxAoJ5CfiGRL6gsnwU7cZhD16NHj6GOOQeesh1rAuy4XJY2fmDNnTgp4ER+ppi+9RJfwkErUsGHDEpFSOfQkFOoT4zndFsLDsLwRzvH4RtuN+OjvsGx+19u22++2c1N2avms7LawHm3KlCkLFswPgsAloMnTtHupEVPQSNIVFIvF8ePH7z1mTKXMb7dAW416BOYCli1b9u6774ZBSKbaOJN8K9l+cCmV1lFdff3QoUOVw8Bk1H4YczhKRAVzAUzBWOkkwgrOr1vF+64UXc5M6Jaa99\/HGb6xwzve8p\/vvPNOoyFIpLJRVkynTqYJiTIByQknnFgoFDKF2W5Fwbre2WInzbuc7blnn\/1o9WqkY9DqGtKxqnycoA8cNHDgwEEq8VdhXo6cpCM4qmo8Sk\/bSVLetNG4G1G70YlEDvqVh\/jM3ZL9YvJxysQ7FH9VgcFT9y672m695daFCxeaLq4EPSRT0YdfeY7rNoiiaMiQIZ86+uiuS2Q1EvozT\/MoaFIsFp+YOtXwqX1QJD0AvMr4zijSw4YNa2pqUuJPGTzkJBmyJ4xSajytKR7PDaOxaY1qgFVxvGBtNBs1\/3oFFs3JpJvs3Mg7KgRQuT+q6um54BfecDP6KIDIy9On\/\/Wv9+TCMJ53wORl1vVROyAproQYZ61LpdLxxx8\/cNAgVA5DrLj4HQssJPXaN2a9MXfu2\/l8wcxHiqXRbCWSntl17H\/id4miaPTo0SJQ9GcS9O4vnz7Xyox6WZGrQmqBmcpM8WtTFvcQtH6kb7mIrWtYDdmXj+eiK1t0KgPOSsys6k3fsGHD1T+\/uq29zQggdBJ3JzcwAYTJKIr69u131llfrFpl+TjKbagoY\/zlz3\/Zvr0NieAKMyNX\/MXs398wDMbtMw7pCeACQD71pajvUJZ1BlhzACc0YfrWtYAi2k3wArRIoOTdmbj5G2jfZmtsIulTufYdXFUTvAv8uTJyTpXRbflNa\/2b3\/z2nXfmFgqFhNJuVbU9WNcJrDtBQSFQLhWPO+64PffcsyrHYUejhOoLQiAizz777DPPPJMLc4knsKrxNvDTjgJtFbpAMtLRgAEDxowZExtYJOEmceBwfPJsdjg4zqMKucBDEqDH5k62OUYTIfjSQ\/zLDySKHNJX49KuDC87a7WrGpF2+hHizSYVufPOOydPvs\/kr\/Q42Mlk0iRaZjrAJMnGHj3OPPPMf1dmX3VRAti0adMNN9xQLpdsKxSSO2xl5f22IV\/orlwujR49eujQobGB3fyvuJB5woUyeFiK36Vp6\/zmjJJOxS+NA89BHr+Jf7kc5VIXVeGuSwW1RChVqULVHIZjVeKxxx6\/5pprjJ4GvXQDftaRDKRKyneaWlO3tbUdd9xx48aN+zdiN1UfvummG998c3Yul\/fEPdKZkZupxURv1orhccKEI5RSAJVX\/bM\/g3eTE7+BiM4hu1mUcd3DzWyIjcoknI4LG0oU+MivefM3pX1bZ5rdXetC10jEqbJi0otPPLD3ueeeu+JHV5RKJVGmvd9XErRBleeTkyYE0gTPffv1u+iir2fKIcnzdwLJyeiTQETksccf\/9Of\/pTL5TzvyZQqdEXZ302L0Vr36tnz8MMPh9NLqvJz\/Ff1sLEsZVIFSU\/ISkpdDg\/xknARAR67jdedy9a1zDI9pSqguUM3qFMMKxOO2seff\/75Sy+9tHXjxlwYZj7b50n5lXOf1iNAqVQ6++yzR40aBVYnI3xMJMccqLNmzfrxj35cKpZirRYmrRfikY08Rj59uLFULO47fvyee+4Z++OsqzDLv6mfTPox45EdSaHXi6spFGjPruaFJubSQkPvyoHTH+bPTsS\/ZnrciLTiQc3ZcjcAUHp0rwMmzd1\/4IEHLr744g0bNgRBoL39Rk\/3McWycNvC7uqOYseoPfc6\/7zzAXw83YrqX8pc5zvvzLvkkkvWrF0ThqH1LGnn7A4Rd+n0K8daU3\/+5FNyubgypqrdHwKQo06Twz+PIh26nnZ9blYHU\/s4uzFFckrem8mrPod\/3AwzD1FEUMG\/qYFR1Y1CsBsfGPfBxjXwjo6O66677nvf++7mzZuDMHAcqGQCVgIfOJqD2BMndt5a61wu\/O73vjtgwADqbuxbUziJhCDl7sbs2bMvvPD\/LVm8uJDPudvteg\/TyZ+PcYjNgVkuRyNG7P7pz3zG\/VF1di8RhLjg6nKfYShrK33Giuglg1fHoYw\/iwkEAsHW9bzlYvz8C\/jw7Rg16aRxPC1nUjs9w7saj1nxwfvvf\/WrX\/3tb38DMgwDbyxNNvBwBIoUuclGbcVS8fTTv3D88cdXpns7xyrx2p3i65k6deoFF1ywaNGHhUIBaZ+cRiQRr1\/NhIdn93WxVDz11FON4F78Dp1pHMZt0VPvxu++IkGU6KBmjq9k\/FZqrENFX5xANEtAUz987mJ14oXoMzjTsF6pzcBsFssulG3TEtBoa2u77777br755hUrVhQKBa87IKGyGk\/SWVeB01UolUu77z7y\/vvvHzx4sNv\/\/ihlIM1v7oKRnxH9NU3JW7bceNONt\/\/x9o729ni4johUx\/HFr+ynpnKAUbk8cPDgR\/\/+aEtLi1tBYVd7gpDjztELXsejN0qdcrpopkM5+VpJcYJpcMHbV6aFIyfYug73\/Uw\/f58c9zUc80X0H5rqh023jxqWgXh5DioYnH5Obm5LuVx+5plnbr755pkzZwZBUCgUEmmLZKuKnz4xiycn+7AclYIwuOKKKwYPHmyjcceWhqPTCaUy83HKrolJKubXvfjii9dde91rr8\/M5wthLiQSaqvrzI7ZOFJxjrr7KwClVC6fd955LS0tqWwzs4OzCasINm\/QPzpJ\/jVd5QM3h6NTeFncjXQTRLyNJfHwEZS1LgGDdpUjJ8nRZ2L4WIS5VF9vaqqm0cFhJaUv4x63bNnywgsv3HvvX2dMn1Eql3Jhzhbtk92dimng17\/T\/sYykdva2r572fe+\/4Pvk0YOTx5\/\/IkZM2ace+45o0aNSiV4REr6MdFEAX2MKJac1K+99tqdd9311NQn29q35wuFVF7hNxsm8a2kWlw8kFlEisXSXnuNeuihh5qb+3Rl4OqZ+Idzox+dGKxfImEQhxiVwuu+eIXy1liqJ8qjlRjRBQ009OKeh6jDTpHxR+shuyFXkHQTZOIVVeymM5ugWCy+N3\/+M08\/PXXqE\/PmvVuOyoVc3lfTkM78uJ3x7fHKE30MAsWOjmMnTrz11tvq6+sMp2Lx4sWnnX76gvnzW1paJk6ceMLnTtjvgP37NDcje2R16qvXrFkzffr0Bx98cMaM6du3t+VyOSXCjFeW1PrwA56UmlXC82MU6VtuueXkk0\/OQmPdG9hgsDOnyi8nSfsWX7ok1fiYyWyl6jf2vL\/zQJqMIAL06svBe8mYQ2XMITJkdzYP1g29VF19pacol8tbtmxZsWLFgoUL35w9+\/U3Xn\/\/\/fc3b9ocBEEYhvBbMgkkMjp0SpWdatV6O6RYLI4ZM\/ruu+9paWkxXZDbtm0\/\/\/zzp037Z0N9PYFyuSwiu40YcdCBBx588MF77rlnS0tLU1NToVAIw3icTRRFpVKptbV12bJl8+fPnz59+qzZs5cuXaIjXSjkrfISU2I\/8FqTs3uJ3mmVbOz29vZJZ066\/vfXq0DVamDJlPYFnPonueHroks0Stl+V7kkSy5tVaZzJm8qEGwURkDFY5gZQQgphCz01Pme6Ds0aBn+Twx9bmtDqCMA7e3tra2t69evX7169bp16zZv3hSVoyAMwjBnhGDtOef6uiii6AnyqZhrJ0wFd\/Hr3M0pFjv69e179z337Lff\/sa6IvLTn\/3097\/7fV1dQanAIalRFJXLJa3Z1NTU3Nzc3Ny7V1NTn+Y+dfV1He0d5mo3btiwZevWtrY2O5op8JRckJ5o5gU0kAolBGYbiYFSuTRitxF\/+9v\/DhvWUgUPtoKc7KatyHyfyf+DP18hAQVBOstgSigmVcqhf\/yxamHJ9wWmqz8ynFEEOVy1uOE3yxoKErmvHQZBrNSpJKNOkni2CnJTlZPb02dGwleFpq6vr7\/xhj9MPO44c3+UUpMnT77ssss0tRKPZC5ixOLdGa51VCqXjVy4w8aDQIVhTikV834qC9t+I03CSE\/015GQrjybC7RmEAZ3\/PH2YydOrDrjIKyVWWJcxqQfsFTEX38KRe+gt0QHes2W9Ms4lUat2N8eY9EorgehmIlUEYJ8LqwP827qQTpGh6dtDXeC+Hpjfl5hB4N6VAA6Dax4Z9fX11937XUTjzsuRvuUeuGFF6+66ipNHVizuVhA00v5iSAIg0SFSfwA3pTr0xMSvOA0DV4krDD7qKbfu+CAydJll\/3w2IkTK9HTuDBcJaRiJwqjJETUOVdRhHf\/xIjae7fZ6g75Mluuid6N+bPDP3Sm394X\/2ISfEqqQuuuIu4HYVLITGco4ombM71d3dnAtB48NIlSuRwGwU+u+ukpp5zirDtv3rxLL720dVNrPpf3hNaFSU9Ccga4Am0WErIKVClvS6bmhjId6aVE8NyqSjL6tvb2c7509iXf\/CacBFLFj6osxVTQSzM2hpxzJb5yrWYekYbXOyv+rY43k1RkUV4Pj9dMKX7\/bPyICAEVhJbUikQow3VJ+0VRZjhUkuKc+EQ6wkKQHuimoijKBeE11\/zi7HPOdrDokiVLLr744mXLl9rCO4Ve8h+Dcqnai2N1+QRspiFGy1b0BlMyoViI93X8hjF6gG1bW9vEYydeffU1+Vyuk7mF6R1cq4iv2WyTvit9Buub\/0ttXceckhQlh5Wta0irPjFTtkllUOkYT4wMvg+TisfMZ1ZcganJq4n\/cwpNnvSCJH360Lrcu3fvX\/zil6eeeqqONIEgUCtXrrzooovmzXsnl887YMsfneGkqivRxATiqWyHcZcqTCfe8CNXzw3QDbA0j3V0tB999NHXX399z149k2+GLndwrZi+23PHfkn97BEOG812HYMpdshMKmtKKPIifgurk1mj909HAPLuh9Y+8Uq8w5cVLF47ZcInmjmysJNriJv1LIeduq1t+8CBA2+99bZTTz0VgCgx1r3gggteeWVGmMtRu+3n0kKvS5\/pqmr1kmayFWNnkplZ53sbpvsVKL7j3t62\/eijj77pppsGDBiAClQgE06pnaQOmdrDvhPkl0\/wkBNYNm9WEb16VcsEa9Qet97HmzU98wsdg5NZbSn6bQaWzZp8nNCrOWSEdBNWsVhqyratW8fts8\/d9\/z1qKOOcl922bJl55335enTpxcKdTFrOFVkT3X4uSO2KlnZm2cWK0sjoT8RnqU9Ep+\/Rj2+FdDe3v75k0+54447Bg0a5DO4OyOY1mrgqntakxw0PPjZA\/KVX7C+F8pRHFsqh8FIHFlopkgBMbdIYq4I3WDVmPYNIqaUEMpvOvFbK9xNtt8x9lUUX0cjia79NacBINIRyfO+fN4DDzy477hxWmszmnfBggXnnX\/+66+\/0djY6OkcpMtfTJytvTSxvCDxe7QT7RSBz2oWWwQSr03EdR65om9csdQ0Ey4vvvjim26+pbm5uQsxBZ+6FO40VSzpxcvX4Ys\/xNgJ0a3fl\/deVXlShXDjEp1Usj\/ClF7WHv\/D1RwSKQpJ2L8wc3LdPU7Jz8QjxSgOynTWdQ6fnlQfQepiW8eQIUMv\/8HlZ599tiijoitKyYxXZnzrm99avHhxXX0dNVOlItphznAlkCoFVEFKxSEWafanH7ijmUm90GfFZsAiAh0d7c29m6+86qoLzj+\/ap21M3urbr1xdTVYj3MTa+GMOyK47in52i\/RaxBKZdsp7YzquIuul91Fj9oXnLDqPv4+YJpv4EPGrm6f0axJRC6cIZxkpplx9JlPf+bBBx8859xzTLeuKCmXS\/fee+9Zk85asHBBGIZ20JVUxCeeGHASC7k2PUsR8DpA\/Oja6ZG5Kr0\/J9gxDNwMLoLtbW3jx4+fPHlybN1OQuaqXjbcOedcSYECicZe6qzLechJ+v5f4KX\/VcUSAuUEapxRE+0xv84IlYCfqW6LpIgvld0nfpEg0VF2ffN2Tl28fnQURaX20siRe1xyySWTJk2KOz+tETds2HDPPfesWrW6oaG+KmM33oxuYmdKRoupYq34f0rPRfCWt6RQANrZCnFFVohiqdSzZ49vXPSNS775rb59+3Q9d6x68FRTsWEneKBvPYeHb8AbU9nWISFgpqlqS\/xwyoDe+NZM7d7MZ5Qw+NHShhtW1TUEyXj1pNyTbgf1hQwsYB9bT2tdLHb0bup91hfP+tY3vz14yGDEc5PECYyQbG1t\/fNf\/vLH225bvXp1oZC3YK24iqwkfF4gkbJCBp71heq8nMgX9klkKulhGA6AKxY7oig64ohP\/uhHPzr00EN3lEGcMrA\/GXCnZzinDw4RAbTm7KejR26Qt55V7W0IBVRIuGOSYLo+JuTXZAEVqh8vb7xhZV19AH9we0pMzheORGasDMvlcrFY6t+\/34knnvSVr3x1n33Ger4hAzbEopVLliy9886\/3HvvX5cvX5Ev5PO5vNUHT4th0M3hSMZqiHhmk4zhs3Urb60kSUYURQT2HjPmq1\/92hlnnOFkqJM+0FhDW7qY\/5gQIv4tO7j6sjA3RWuZ\/wafvpcvP8SPVhgJY08swB+cR5vumMVOCCQMrlze84bVhXrRcUrr3EQsgJwl+cSjB8hSuUytW1qGnXDC584++2wjdlQ7M3f+\/Pl33nnXI39\/5KPVq0SU0Xjwy2ySlJxTSqtuxjYyvoRZ4lNC3YCQLBaLAEfvNfr88y844wtnNDc3J2x+7CSRc2cMXKXnIF3WEhGaqNVqHBPgmuV87Um8\/IgsfE02r0OUiGO6CZHp0JqigHzuyiWN16\/K14lmdpekmcmAJsvlsvlGPXv23HfffU897dTPHv\/ZQYMGZQ6q6sgPISqJ3EzwtXr16mnTpj388MOvvvrq5i2b82EuCMNkuByqlEc91wTNbI9eXO9Kqo26VCqRuk+fvocffviZZ5559NFHxxPOkvgxNa92h7xsYuCd6XXc8bNZtObqxZj7EmY\/rf81E2uXYnuHCJQCFUTZKNNcTCDIBVcsqr9+Zb4hiCsEZuKc1WhMfkynQp8+fcbuPfaYTx1z5JFH7733GKMs2plkexdnTIo9A5SKxbnvzHv++edeevGlt+e+vXbtWgBBEIgSM3PQmzTihs7DNZTATqJ3mE8URVprpaS5uXnUnqM+9elPT5w4ce+993ZLJxn80x2Rr2vDJQauUVSy9hVQ3av4L9+yEcsW6PffkgWzsPw9vWFVsHEVSttNPZhlQCEI8f1FhetXFXrkQyUSWaEhrQ1DioVC3eBBg4btssuYMWMOPOjAT4z\/xLBhw0Lbu9AlD7N71qOfKJgNHUXRokWLZs+e\/casN95+e+7SJUvWrVtnIAh4+pT+W5g7bDAUJZLP5Xo39x4yeOjYffY+7NDD9j\/ggBEjRsQMkBgtqMmutZiD5I4ZeAe2K3zGXOfBtlsKpRJa16J1jaz6gB8txvrlXLcCm9arctvvFrTdsrjco5Crr6+vr68v1NU1NTX169N30JDBu48YscceewweNLj\/gP7OqG757\/S5Vc3ASYzrfjo6OlavXr1y5ar5C+Z\/8P77a9as2bhx45YtW7Zt27a9rS0qRypQhUKhR2NjY2Nj7+be\/fr2Gz58+OjRY4YP33XAgIFmDM+OEqq7PTczdvz\/hs4wVppBD7oAAAAASUVORK5CYII=\" alt=\"\">Onground Media<\/a><small>SEO keyword tools<\/small><\/div><\/header>\r\n<div class=\"wrap\">\r\n  <div class=\"top\">\r\n    <h1>Keyword research tools<\/h1>\r\n    <p>Twelve free tools to find, expand, sort and clean keywords. Pick a tool on the left, change the example, and results update as you type.<\/p>\r\n    <div class=\"legend\">\r\n      <span><i class=\"dot lv-e\"><\/i>Easy: works fully in your browser<\/span>\r\n      <span><i class=\"dot lv-m\"><\/i>Medium: smart rules, results are ideas or estimates<\/span>\r\n      <span><i class=\"dot lv-h\"><\/i>Needs data: uses numbers you paste in, no live data<\/span>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"app\">\r\n    <aside aria-label=\"Tools\"><input id=\"q\" type=\"search\" placeholder=\"Search tools\" aria-label=\"Search tools\"><div class=\"list\" id=\"list\"><\/div><\/aside>\r\n    <main class=\"panel\" id=\"panel\" aria-live=\"polite\"><\/main>\r\n  <\/div>\r\n<\/div>\r\n<footer><div class=\"wrap\">\u00a9 2026 Onground Media. Nothing you type here leaves your browser.<\/div><\/footer>\r\n<script>\r\nconst $=s=>document.querySelector(s);\r\nconst esc=s=>String(s).replace(\/[&<>\"]\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]));\r\nconst lines=s=>(s||'').split(\/\\r?\\n\/).map(x=>x.trim()).filter(Boolean);\r\nconst uniq=a=>[...new Set(a)];\r\nconst G=q=>({a:'https:\/\/www.google.com\/search?q='+encodeURIComponent(q),t:'Open in Google'});\r\nconst E=m=>({e:m});\r\nconst wc=s=>s.trim().split(\/\\s+\/).length;\r\nconst LV={e:['Easy','lv-e'],m:['Medium','lv-m'],h:['Needs data','lv-h']};\r\nconst STOP=new Set('a an the of for in on to and or with at by from is are be your my our how what why best top vs near me'.split(' '));\r\nconst stem=w=>w.length>4?w.replace(\/(ing|ed|es|s)$\/,''):w;\r\nconst TRANS=\/\\b(buy|price|prices|pricing|cheap|discount|coupon|deal|deals|order|purchase|hire|book|booking|quote|near me|for sale|shop|subscribe|download|sign up|trial)\\b\/;\r\nconst COMM=\/\\b(best|top|review|reviews|vs|versus|compare|comparison|alternative|alternatives|better|recommended|rated|ranking|cost)\\b\/;\r\nconst INFO=\/\\b(how|what|why|when|where|who|guide|tutorial|tips|examples|meaning|definition|ideas|learn|checklist|template|steps)\\b\/;\r\nfunction intent(k){k=k.toLowerCase();let m;\r\n if(m=k.match(TRANS))return['Transactional',m[0]];\r\n if(m=k.match(COMM))return['Commercial',m[0]];\r\n if(m=k.match(INFO))return['Informational',m[0]];\r\n return['Informational','no buying signal found'];}\r\nconst MONTHS=['January','February','March','April','May','June','July','August','September','October','November','December'];\r\nconst EV=[\r\n [['Makar Sankranti, Pongal and Lohri','Mid Jan'],['Republic Day sale','26 Jan'],['New year fitness and goals','All month'],['Winter wedding season','All month']],\r\n [['Valentine\u2019s Day','14 Feb'],['Union Budget','Around 1 Feb'],['Maha Shivratri','Feb or Mar, varies'],['Board exam season','Feb\u2013Mar']],\r\n [['Holi','Early to mid Mar, varies'],['Eid al-Fitr','Mar or Apr, varies'],['Ugadi and Gudi Padwa','Late Mar or Apr'],['Financial year end','31 Mar'],['IPL season','Late Mar onward']],\r\n [['Baisakhi, Vishu and Tamil New Year','Mid Apr'],['Ram Navami','Mar or Apr, varies'],['Summer vacation','Apr\u2013Jun'],['Akshaya Tritiya','Apr or May, varies']],\r\n [['Summer travel','All month'],['Mother\u2019s Day','2nd Sunday'],['Exam results season','May\u2013Jun'],['Buddha Purnima','Apr or May, varies']],\r\n [['International Yoga Day','21 Jun'],['Father\u2019s Day','3rd Sunday'],['Monsoon arrival','Jun'],['School reopening','Jun'],['Rath Yatra','Jun or Jul, varies']],\r\n [['Monsoon season','All month'],['Guru Purnima','Jul, varies'],['Income tax filing deadline','31 Jul usually'],['Kanwar Yatra and Sawan','Jul or Aug, varies']],\r\n [['Independence Day sale','15 Aug'],['Raksha Bandhan','Aug, varies'],['Janmashtami','Aug or Sep, varies'],['Friendship Day','1st Sunday']],\r\n [['Ganesh Chaturthi','Aug or Sep, varies'],['Onam','Aug or Sep, varies'],['Teachers\u2019 Day','5 Sep'],['Festive season sale prep','Late Sep']],\r\n [['Navratri and Durga Puja','Sep or Oct, varies'],['Dussehra','Oct, varies'],['Gandhi Jayanti','2 Oct'],['Karwa Chauth','Oct or Nov, varies'],['Big festive sales','Oct']],\r\n [['Diwali and Dhanteras','Oct or Nov, varies'],['Bhai Dooj','Nov, varies'],['Children\u2019s Day','14 Nov'],['Black Friday','Late Nov'],['Wedding season starts','Nov']],\r\n [['Christmas','25 Dec'],['New Year\u2019s Eve','31 Dec'],['Winter holidays and travel','All month'],['Year in review','Late Dec']]];\r\n\r\nconst T=[\r\n{id:'suggest',n:'Keyword Suggestion Tool',lv:'m',d:'Autocomplete-style ideas from a seed',\r\n long:'Builds the prefixes, suffixes and A\u2013Z patterns that Google Autocomplete responds to. This page cannot read Google\u2019s live suggestions, so use the \u201cOpen in Google\u201d links to see the real ones.',\r\n f:[{k:'seed',l:'Seed keyword',v:'digital marketing'}],\r\n run(v){const s=v.seed.trim().toLowerCase();if(!s)return E('Enter a seed keyword to start.');const y=new Date().getFullYear();const r=[];\r\n  ['best','top','how to','why','what is','free','cheap','online','is','can','does','which'].forEach(x=>r.push([x+' '+s,'Prefix']));\r\n  ['near me','online','price','cost','for beginners','tutorial','review','vs','tools','services','in india','free','examples','guide','alternative',y].forEach(x=>r.push([s+' '+x,'Suffix']));\r\n  'abcdefghijklmnopqrstuvwxyz'.split('').forEach(c=>r.push([s+' '+c,'A\u2013Z']));\r\n  return{h:['Keyword idea','Pattern','Real suggestions'],r:r.map(a=>[...a,G(a[0])])}}},\r\n{id:'longtail',n:'Long-Tail Keyword Generator',lv:'e',d:'Expand a seed with modifiers',\r\n long:'Adds buyer, audience and location modifiers to your seed and keeps phrases of three or more words.',\r\n f:[{k:'seed',l:'Seed keyword',v:'seo services'},{k:'loc',l:'City or area (optional)',v:'Lucknow'}],\r\n run(v){const s=v.seed.trim().toLowerCase(),loc=v.loc.trim().toLowerCase();if(!s)return E('Enter a seed keyword to start.');\r\n  const pre=['best','cheap','affordable','top','trusted','professional','easy','quick','free'],\r\n  suf=['for beginners','for small business','for startups','for students','near me','online','price','cost','checklist','template','step by step','examples','tips','without investment','for ecommerce','for local business'];\r\n  let a=[];pre.forEach(x=>a.push([x+' '+s,'Quality modifier']));suf.forEach(x=>a.push([s+' '+x,'Audience or format']));\r\n  if(loc){a.push([s+' in '+loc,'Location'],['best '+s+' in '+loc,'Location'],[s+' near '+loc,'Location'],['affordable '+s+' in '+loc,'Location'],['top '+s+' company in '+loc,'Location']);}\r\n  const seen=new Set(),r=[];a.forEach(([k,p])=>{if(wc(k)>=3&&!seen.has(k)){seen.add(k);r.push([k,wc(k),p])}});\r\n  return{h:['Long-tail keyword','Words','Type'],r}}},\r\n{id:'questions',n:'Question Keyword Finder',lv:'m',d:'Who, what, why and how queries',\r\n long:'Turns a topic into question keywords that people commonly search. Good for FAQ sections, blog titles and voice search.',\r\n f:[{k:'seed',l:'Topic',v:'email marketing'}],\r\n run(v){const s=v.seed.trim().toLowerCase();if(!s)return E('Enter a topic to start.');return{h:['Question','Type','Check it'],r:Q(s).map(q=>[...q,G(q[0])])}}},\r\n{id:'paa',n:'\u201cPeople Also Ask\u201d Finder',lv:'h',d:'Collect and organise related questions',\r\n long:'Google\u2019s People Also Ask box can\u2019t be read from this page. Open Google for your topic, copy the questions from the box, and paste them below. The tool cleans, groups and de-duplicates them. If you paste nothing, it shows likely questions instead.',\r\n f:[{k:'seed',l:'Topic',v:'seo'},{k:'paste',l:'Paste questions from Google (one per line)',t:'area',v:'What is SEO and how does it work?\\nhow much does seo cost\\nIs SEO worth it for small business?\\nwhat is seo and how does it work'}],\r\n run(v){const s=v.seed.trim().toLowerCase();const p=lines(v.paste);\r\n  if(p.length){const seen=new Set(),r=[];p.forEach(x=>{x=x.replace(\/\\s+\/g,' ').replace(\/[?.!]+$\/,'');const k=x.toLowerCase();if(!seen.has(k)){seen.add(k);r.push([x.charAt(0).toUpperCase()+x.slice(1)+'?',qt(k)])}});\r\n   r.sort((a,b)=>a[1].localeCompare(b[1]));return{h:['Question','Group'],r,n:p.length-r.length+' duplicate(s) removed.'}}\r\n  if(!s)return E('Enter a topic, or paste questions to organise.');\r\n  return{h:['Likely question','Group','Find real ones'],r:Q(s).map(q=>[q[0]+'?',q[1],G(q[0])]),n:'These are generated, not scraped. Open Google, copy the real box, and paste it above.'}}},\r\n{id:'permute',n:'Keyword Permutation Tool',lv:'e',d:'Combine word lists into every variation',\r\n long:'Enter up to three lists, one word or phrase per line. The tool joins one item from each list in order. Leave a list empty to skip it.',\r\n f:[{k:'a',l:'List 1',t:'area',v:'best\\ntop\\naffordable'},{k:'b',l:'List 2',t:'area',v:'seo\\nsocial media\\nppc'},{k:'c',l:'List 3',t:'area',v:'agency\\nservices\\ncompany'}],\r\n run(v){const L=[lines(v.a),lines(v.b),lines(v.c)].filter(x=>x.length);if(!L.length)return E('Add words to at least one list.');\r\n  let r=[''];L.forEach(l=>{const n=[];r.forEach(p=>l.forEach(w=>n.push((p+' '+w).trim())));r=n});\r\n  const tot=r.length,cap=r.length>5000;if(cap)r=r.slice(0,5000);\r\n  return{h:['Keyword'],r:r.map(x=>[x]),n:cap?'Showing the first 5,000 of '+tot.toLocaleString()+' combinations.':''}}},\r\n{id:'cluster',n:'Keyword Grouping \/ Clustering Tool',lv:'m',d:'Group similar keywords together',\r\n long:'Groups keywords that share the same core word, ignoring plurals and filler words. Each group can become one page or one article.',\r\n f:[{k:'kw',l:'Keywords (one per line)',t:'area',v:'seo services\\nseo agency in lucknow\\nbest seo company\\nppc services\\nppc agency pricing\\ngoogle ads management\\nsocial media marketing services\\nsocial media agency\\nsocial media tips for beginners\\nhow to do seo\\nseo tips for beginners\\nlocal seo checklist'}],\r\n run(v){const k=uniq(lines(v.kw).map(x=>x.toLowerCase()));if(k.length<2)return E('Add at least two keywords.');\r\n  const tk=k.map(x=>x.split(\/[^a-z0-9]+\/).filter(w=>w&&!STOP.has(w)).map(w=>[stem(w),w]));\r\n  const df={},orig={};tk.forEach(t=>uniq(t.map(x=>x[0])).forEach(s=>df[s]=(df[s]||0)+1));tk.forEach(t=>t.forEach(([s,w])=>orig[s]=orig[s]||w));\r\n  let ok=Object.keys(df).filter(s=>df[s]>=2&&df[s]<=0.8*k.length);if(!ok.length)ok=Object.keys(df).filter(s=>df[s]>=2);\r\n  const g={};k.forEach((kw,i)=>{const c=tk[i].map(x=>x[0]).filter(s=>ok.includes(s)).sort((a,b)=>df[b]-df[a]||b.length-a.length)[0];const name=c?orig[c]:'Ungrouped';(g[name]=g[name]||[]).push(kw)});\r\n  const r=[];Object.entries(g).sort((a,b)=>(a[0]==='Ungrouped')-(b[0]==='Ungrouped')||b[1].length-a[1].length).forEach(([n,a])=>a.forEach(x=>r.push([n,x,intent(x)[0]])));\r\n  return{h:['Group','Keyword','Intent'],r,n:Object.keys(g).length+' group(s) from '+k.length+' keywords.',c:1}}},\r\n{id:'intent',n:'Keyword Intent Classifier',lv:'m',d:'Informational, commercial or transactional',\r\n long:'Tags each keyword by what the searcher likely wants, using signal words such as \u201cbuy\u201d, \u201cbest\u201d and \u201chow to\u201d. Check borderline cases by hand.',\r\n f:[{k:'kw',l:'Keywords (one per line)',t:'area',v:'how to start a blog\\nbest seo tools\\nbuy backlinks online\\nseo agency pricing\\nwhat is a meta description\\nahrefs vs semrush\\nweb design near me\\nseo checklist'}],\r\n run(v){const k=uniq(lines(v.kw));if(!k.length)return E('Add keywords to classify.');const c={};\r\n  const r=k.map(x=>{const[i,s]=intent(x);c[i]=(c[i]||0)+1;return[x,i,s]});\r\n  return{h:['Keyword','Intent','Signal'],r,n:Object.entries(c).map(([a,b])=>a+': '+b).join(' \u00b7 ')}}},\r\n{id:'difficulty',n:'Keyword Difficulty Estimator',lv:'h',d:'Rough difficulty score from the keyword',\r\n long:'A rough score from the keyword\u2019s length, intent and the volume you provide (optional, after a comma). It is not a ranking prediction: real difficulty depends on who ranks today, so confirm in Google or a paid tool.',\r\n f:[{k:'kw',l:'Keywords, optional monthly volume after a comma',t:'area',v:'seo, 90000\\nseo services, 12000\\nbest seo agency in lucknow, 90\\nhow to do local seo for a small shop, 70\\nbuy backlinks, 2400'}],\r\n run(v){const rows=lines(v.kw);if(!rows.length)return E('Add keywords to score.');\r\n  const r=rows.map(l=>{const m=l.match(\/^(.*?)[\\t,;]+\\s*([\\d,]+)\\s*$\/);const k=(m?m[1]:l).trim(),vol=m?parseInt(m[2].replace(\/,\/g,'')):null;\r\n   let s=50;const n=wc(k);s+=n===1?30:n===2?15:n===3?0:n===4?-10:-20;const i=intent(k)[0];s+=i==='Transactional'?10:i==='Commercial'?8:-5;\r\n   if(vol!=null)s+=vol>=1e5?15:vol>=1e4?8:vol>=1e3?0:vol>=100?-8:-12;s=Math.max(1,Math.min(100,s));\r\n   return[k,vol==null?'\u2013':vol.toLocaleString(),{bar:s},s<30?'Easy':s<50?'Moderate':s<70?'Hard':'Very hard']});\r\n  return{h:['Keyword','Volume','Score (0\u2013100)','Level'],r,n:'Estimate only. Short, high-volume, commercial keywords score higher.'}}},\r\n{id:'volume',n:'Search Volume Checker',lv:'h',d:'Sort and size volumes you paste in',\r\n long:'Live volume needs a paid API or a Google Ads account. Get numbers free from Google Keyword Planner or Search Console, paste them as \u201ckeyword, volume\u201d, and this tool ranks them and estimates the clicks you could win.',\r\n html:'<a href=\"https:\/\/ads.google.com\/home\/tools\/keyword-planner\/\" target=\"_blank\" rel=\"noopener\">Google Keyword Planner<\/a> \u00b7 <a href=\"https:\/\/trends.google.com\/trends\/\" target=\"_blank\" rel=\"noopener\">Google Trends<\/a> \u00b7 <a href=\"https:\/\/search.google.com\/search-console\" target=\"_blank\" rel=\"noopener\">Search Console<\/a>',\r\n f:[{k:'kw',l:'Keyword, monthly volume (one per line)',t:'area',v:'seo services, 12,000\\nseo agency, 5400\\nlocal seo, 8100\\nseo for small business, 1300\\nbest seo company in lucknow, 90'}],\r\n run(v){const r=[];let tot=0;lines(v.kw).forEach(l=>{const m=l.match(\/^(.*?)[\\t,;]+\\s*([\\d.,]+)\\s*([kKmM]?)\\s*$\/);if(!m)return;let n=parseFloat(m[2].replace(\/,\/g,''));if(\/k\/i.test(m[3]))n*=1e3;if(\/m\/i.test(m[3]))n*=1e6;if(isNaN(n))return;\r\n   tot+=n;r.push([m[1].trim(),n])});\r\n  if(!r.length)return E('Paste lines like: seo services, 12000');\r\n  r.sort((a,b)=>b[1]-a[1]);\r\n  return{h:['Keyword','Monthly volume','Tier','Est. clicks at #1','Est. clicks at #3'],r:r.map(([k,n])=>[k,n.toLocaleString(),n>=1e4?'High':n>=1e3?'Medium':'Low',Math.round(n*.28).toLocaleString(),Math.round(n*.11).toLocaleString()]),n:'Total volume: '+tot.toLocaleString()+'. Click estimates use rough average CTRs (28% at #1, 11% at #3).'}}},\r\n{id:'related',n:'Related Keywords Finder',lv:'m',d:'Synonyms, topics and variants',\r\n long:'Suggests semantic terms: synonyms, supporting topics and word variants. These come from built-in rules, not a search engine, so use them as a starting list and verify in Google\u2019s \u201cRelated searches\u201d.',\r\n f:[{k:'seed',l:'Seed keyword',v:'cheap seo services'}],\r\n run(v){const s=v.seed.trim().toLowerCase();if(!s)return E('Enter a seed keyword to start.');const r=[],SY={cheap:['affordable','low cost','budget'],best:['top','leading','recommended'],buy:['purchase','order','get'],services:['solutions','packages','agency'],service:['solution','package'],agency:['company','firm','consultant'],company:['agency','firm'],tips:['tricks','best practices','advice'],guide:['tutorial','handbook','how-to'],tools:['software','apps','platforms'],tool:['software','app'],marketing:['promotion','advertising'],seo:['search engine optimization'],free:['no cost','without paying'],online:['digital','web-based'],course:['training','classes','certification'],jobs:['careers','vacancies','openings']};\r\n  const w=s.split(\/\\s+\/);w.forEach((x,i)=>(SY[x]||[]).forEach(y=>{const c=[...w];c[i]=y;r.push([c.join(' '),'Synonym'])}));\r\n  ['guide','tips','benefits','examples','tools','cost','process','mistakes','checklist','strategy','trends','case study','statistics','software','templates','best practices'].forEach(x=>r.push([s+' '+x,'Supporting topic']));\r\n  const l=w[w.length-1],alt=l.endsWith('s')?l.slice(0,-1):l+'s';r.push([[...w.slice(0,-1),alt].join(' '),'Singular or plural']);\r\n  if(w.length===2)r.push([w[1]+' '+w[0],'Reordered']);\r\n  r.push([s+' '+new Date().getFullYear(),'Year'],['what is '+s,'Question'],['how to choose '+s,'Question']);\r\n  return{h:['Related term','Type','Real related searches'],r:uniq(r.map(a=>a[0])).map(k=>{const a=r.find(x=>x[0]===k);return[k,a[1],G(k)]})}}},\r\n{id:'clean',n:'Keyword Cleaner \/ Deduplicator',lv:'e',d:'Remove duplicates and junk',\r\n long:'Paste a messy list and choose what to clean. Handy before importing keywords into a tool or spreadsheet.',\r\n f:[{k:'kw',l:'Keywords (one per line)',t:'area',v:'SEO Services\\nseo services \\nseo  services\\nbest seo!!!\\n@@@\\nseo\\nSEO Agency\\nseo agency\\n#seo tips'},\r\n  {k:'low',l:'Make lowercase',t:'chk',v:true},{k:'sp',l:'Trim and collapse extra spaces',t:'chk',v:true},{k:'jk',l:'Remove symbols and junk',t:'chk',v:true},{k:'dp',l:'Remove duplicates',t:'chk',v:true},{k:'one',l:'Remove one-word keywords',t:'chk',v:false},{k:'so',l:'Sort A\u2013Z',t:'chk',v:false}],\r\n run(v){const a=(v.kw||'').split(\/\\r?\\n\/);let r=a.map(x=>x);\r\n  if(v.jk)r=r.map(x=>x.replace(\/[^\\p{L}\\p{N}\\s'&-]\/gu,' '));\r\n  if(v.low)r=r.map(x=>x.toLowerCase());\r\n  if(v.sp)r=r.map(x=>x.replace(\/\\s+\/g,' ').trim());else r=r.map(x=>x.trim());\r\n  r=r.filter(Boolean);if(v.one)r=r.filter(x=>wc(x)>1);if(v.dp)r=uniq(r.map(x=>x.toLowerCase()).length&&v.low?r:r.filter((x,i)=>r.findIndex(y=>y.toLowerCase()===x.toLowerCase())===i));\r\n  if(v.so)r.sort((x,y)=>x.localeCompare(y));\r\n  if(!a.join('').trim())return E('Paste a keyword list to clean.');\r\n  return{h:['Clean keyword'],r:r.map(x=>[x]),n:'Before: '+lines(v.kw).length+' lines. After: '+r.length+'. Removed: '+(lines(v.kw).length-r.length)+'.'}}},\r\n{id:'seasonal',n:'Seasonal Keyword Calendar',lv:'e',d:'India festivals and seasons to plan around',\r\n long:'Shows Indian festivals and seasons with a suggested time to start publishing (about two months ahead) and a keyword idea. Lunar-calendar dates shift every year, so confirm exact dates in a panchang.',\r\n f:[{k:'niche',l:'Your product or niche (optional)',v:'jewellery'},{k:'m',l:'Show',t:'sel',v:'next',o:[['next','Next 3 months'],['all','Whole year'],...MONTHS.map((m,i)=>[String(i),m])]}],\r\n run(v){const cur=new Date().getMonth(),n=v.niche.trim().toLowerCase();let ms=v.m==='next'?[cur,(cur+1)%12,(cur+2)%12]:v.m==='all'?[...Array(12).keys()]:[+v.m];\r\n  const r=[];ms.forEach(m=>EV[m].forEach(([e,t])=>{const d=(m-cur+12)%12;const st=d<=2?'Start now':MONTHS[(m+10)%12];\r\n   r.push([MONTHS[m],e,t,st,(n?e.toLowerCase().split(\/,| and \/)[0]+' '+n+' offers':e.toLowerCase().split(\/,| and \/)[0]+' ideas')])}));\r\n  return{h:['Month','Event or season','Typical timing','Start publishing','Keyword idea'],r,c:4,n:'Start dates assume about 8 weeks of lead time.'}}}\r\n];\r\nfunction qt(k){const f=k.split(' ')[0];return['what','why','how','who','when','where','which','can','is','are','does','do','should','will'].includes(f)?f.charAt(0).toUpperCase()+f.slice(1):'Other'}\r\nfunction Q(s){return['what is {s}','what are the benefits of {s}','what does {s} mean','why is {s} important','why use {s}','how to {s}','how does {s} work','how much does {s} cost','how long does {s} take','when to use {s}','where to find {s}','who needs {s}','which {s} is best','can {s} help my business','is {s} worth it','are {s} effective','does {s} work','should i use {s}','will {s} work for me','do i need {s}'].map(t=>{const q=t.replace('{s}',s);return[q,qt(q)]})}\r\n\r\nlet cur=null,res=null,timer;\r\nconst PILL={Informational:'',Commercial:'o',Transactional:'g',Easy:'g',Moderate:'',Hard:'o','Very hard':'o',High:'g',Medium:'',Low:'o'};\r\nfunction list(){const q=$('#q').value.trim().toLowerCase();const t=T.filter(x=>!q||(x.n+x.d).toLowerCase().includes(q));\r\n $('#list').innerHTML=t.length?t.map(x=>`<button class=\"item\" data-id=\"${x.id}\" aria-current=\"${cur&&cur.id===x.id}\"><b><i class=\"dot ${LV[x.lv][1]}\"><\/i>${esc(x.n)}<\/b><span>${esc(x.d)}<\/span><\/button>`).join(''):'<div class=\"empty\">No tool matches that search.<\/div>'}\r\nfunction open(id){cur=T.find(x=>x.id===id)||T[0];history.replaceState(null,'','#'+cur.id);list();\r\n const f=cur.f.map(x=>{const id='f-'+x.k;\r\n  if(x.t==='chk')return`<label class=\"chk\"><input type=\"checkbox\" id=\"${id}\" ${x.v?'checked':''}>${esc(x.l)}<\/label>`;\r\n  const c=x.t==='area'?`<textarea id=\"${id}\" rows=\"6\">${esc(x.v)}<\/textarea>`:x.t==='sel'?`<select id=\"${id}\">${x.o.map(o=>`<option value=\"${o[0]}\" ${o[0]===x.v?'selected':''}>${esc(o[1])}<\/option>`).join('')}<\/select>`:`<input type=\"text\" id=\"${id}\" value=\"${esc(x.v)}\" autocomplete=\"off\">`;\r\n  return`<div class=\"${x.t==='area'?'full':''}\"><label for=\"${id}\">${esc(x.l)}<\/label>${c}<\/div>`}).join('');\r\n $('#panel').innerHTML=`<h2>${esc(cur.n)}<span class=\"badge\"><i class=\"dot ${LV[cur.lv][1]}\"><\/i>${LV[cur.lv][0]}<\/span><\/h2><p class=\"d\">${esc(cur.long)}<\/p>${cur.html?`<p class=\"note\" style=\"margin:-8px 0 14px\">${cur.html}<\/p>`:''}<div class=\"form\">${f}<\/div>\r\n <div class=\"bar\"><div class=\"sum\" id=\"sum\"><\/div><span class=\"toast\" id=\"toast\" role=\"status\"><\/span><button class=\"btn\" id=\"copy\">Copy list<\/button><button class=\"btn alt\" id=\"csv\">Download CSV<\/button><button class=\"btn ghost\" id=\"reset\">Reset example<\/button><\/div><div id=\"out\"><\/div>`;\r\n $('#panel').oninput=()=>{clearTimeout(timer);timer=setTimeout(run,200)};$('#panel').onchange=run;\r\n $('#copy').onclick=copy;$('#csv').onclick=csv;$('#reset').onclick=()=>open(cur.id);run()}\r\nfunction vals(){const v={};cur.f.forEach(x=>{const e=$('#f-'+x.k);v[x.k]=x.t==='chk'?e.checked:e.value});return v}\r\nfunction cell(c){if(c&&typeof c==='object'){if(c.a)return`<a href=\"${esc(c.a)}\" target=\"_blank\" rel=\"noopener\">${esc(c.t)}<\/a>`;if('bar'in c)return`${c.bar}<span class=\"meter\"><i style=\"width:${c.bar}%\"><\/i><\/span>`}\r\n return c in PILL&&typeof c==='string'?`<span class=\"pill ${PILL[c]}\">${esc(c)}<\/span>`:esc(c)}\r\nfunction run(){res=cur.run(vals());const o=$('#out'),s=$('#sum');\r\n if(res.e){o.innerHTML=`<div class=\"empty\">${esc(res.e)}<\/div>`;s.textContent='';return}\r\n const rows=res.r.slice(0,400);\r\n s.innerHTML=`<b>${res.r.length.toLocaleString()}<\/b> result${res.r.length===1?'':'s'}${res.n?' \u00b7 '+esc(res.n):''}`;\r\n o.innerHTML=res.r.length?`<div class=\"tw\"><table><thead><tr>${res.h.map(h=>`<th>${esc(h)}<\/th>`).join('')}<\/tr><\/thead><tbody>${rows.map(r=>`<tr>${r.map(c=>`<td>${cell(c)}<\/td>`).join('')}<\/tr>`).join('')}<\/tbody><\/table><\/div>${res.r.length>400?'<p class=\"note\">Showing the first 400 rows. Copy or download to get all of them.<\/p>':''}`:'<div class=\"empty\">Nothing left after cleaning. Loosen the options above.<\/div>'}\r\nfunction toast(m){const t=$('#toast');t.textContent=m;setTimeout(()=>t.textContent='',2200)}\r\nasync function copy(){if(!res||res.e||!res.r.length)return toast('Nothing to copy yet.');const t=uniq(res.r.map(r=>r[res.c||0])).join('\\n');\r\n try{await navigator.clipboard.writeText(t);toast('Copied '+res.r.length+' rows')}catch(e){const a=document.createElement('textarea');a.value=t;document.body.appendChild(a);a.select();try{document.execCommand('copy');toast('Copied')}catch(x){toast('Copy failed. Select the table text instead.')}a.remove()}}\r\nfunction csv(){if(!res||res.e||!res.r.length)return toast('Nothing to download yet.');\r\n const q=c=>'\"'+String(c&&typeof c==='object'?(c.a||c.bar):c).replace(\/\"\/g,'\"\"')+'\"';\r\n const t=[res.h,...res.r].map(r=>r.map(q).join(',')).join('\\r\\n');\r\n const a=document.createElement('a');a.href=URL.createObjectURL(new Blob(['\\ufeff'+t],{type:'text\/csv'}));a.download=cur.id+'.csv';document.body.appendChild(a);a.click();a.remove();toast('Download started')}\r\n$('#list').onclick=e=>{const b=e.target.closest('.item');if(b){open(b.dataset.id);if(innerWidth<900)$('#panel').scrollIntoView()}};\r\n$('#q').oninput=list;\r\nopen(location.hash.slice(1));\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SEO Keyword Tools \u2013 Onground Media Onground MediaSEO keyword tools Keyword research tools Twelve free tools to find, expand, sort [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-263","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=263"}],"version-history":[{"count":3,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/263\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=\/wp\/v2\/pages\/263\/revisions\/266"}],"wp:attachment":[{"href":"https:\/\/ongroundmedia.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}