[object Object]

← back to Consulting Rentv Com

auto-save: 2026-07-20T11:01:36 (1 files) — data/audit-video/

06e256f2eccb283a7ba043ca2500938f4f5945bd · 2026-07-20 11:01:44 -0700 · Steve Abrams

Files touched

Diff

commit 06e256f2eccb283a7ba043ca2500938f4f5945bd
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Jul 20 11:01:44 2026 -0700

    auto-save: 2026-07-20T11:01:36 (1 files) — data/audit-video/
---
 .../315fa21edf3048048ba7aa24de23a7c4.mp4           | Bin 0 -> 91661470 bytes
 data/audit-video/capture.mjs                       | 112 +++++++++++++++++++++
 data/audit-video/chips/00.png                      | Bin 0 -> 6195 bytes
 data/audit-video/chips/01.png                      | Bin 0 -> 5373 bytes
 data/audit-video/chips/02.png                      | Bin 0 -> 6195 bytes
 data/audit-video/chips/03.png                      | Bin 0 -> 7092 bytes
 data/audit-video/chips/04.png                      | Bin 0 -> 5150 bytes
 data/audit-video/chips/05.png                      | Bin 0 -> 6260 bytes
 data/audit-video/chips/06.png                      | Bin 0 -> 5524 bytes
 data/audit-video/chips/07.png                      | Bin 0 -> 5253 bytes
 data/audit-video/chips/08.png                      | Bin 0 -> 7112 bytes
 data/audit-video/chips/09.png                      | Bin 0 -> 5393 bytes
 data/audit-video/chips/10.png                      | Bin 0 -> 5055 bytes
 data/audit-video/chips/11.png                      | Bin 0 -> 5217 bytes
 data/audit-video/chips/12.png                      | Bin 0 -> 4380 bytes
 data/audit-video/chips/13.png                      | Bin 0 -> 6316 bytes
 data/audit-video/chips/14.png                      | Bin 0 -> 4240 bytes
 data/audit-video/chips/15.png                      | Bin 0 -> 5969 bytes
 data/audit-video/compose.py                        |  74 ++++++++++++++
 data/audit-video/concat.txt                        |   3 +
 data/audit-video/final.mp4                         | Bin 0 -> 97789623 bytes
 data/audit-video/main.mp4                          | Bin 0 -> 97659822 bytes
 data/audit-video/maptest.mjs                       |  12 +++
 data/audit-video/narration.json                    |  26 +++++
 data/audit-video/narration.wav                     | Bin 0 -> 11957668 bytes
 data/audit-video/outro.mp4                         | Bin 0 -> 64993 bytes
 data/audit-video/outro.png                         | Bin 0 -> 52609 bytes
 .../rec/page@6c20ddf9cc708f07df90d176f7630239.webm | Bin 0 -> 10747904 bytes
 data/audit-video/shots/01-summary.png              | Bin 0 -> 1893068 bytes
 data/audit-video/shots/02-swot.png                 | Bin 0 -> 174957 bytes
 data/audit-video/shots/03-reputation.png           | Bin 0 -> 144814 bytes
 data/audit-video/shots/04-empire.png               | Bin 0 -> 202676 bytes
 data/audit-video/shots/05-competitors.png          | Bin 0 -> 122957 bytes
 data/audit-video/shots/06-advertising.png          | Bin 0 -> 142396 bytes
 data/audit-video/shots/07-timing.png               | Bin 0 -> 130214 bytes
 data/audit-video/shots/08-audit.png                | Bin 0 -> 140872 bytes
 data/audit-video/shots/09-teardown.png             | Bin 0 -> 314126 bytes
 data/audit-video/shots/10-social.png               | Bin 0 -> 164042 bytes
 data/audit-video/shots/11-suggested.png            | Bin 0 -> 123277 bytes
 data/audit-video/shots/12-partners.png             | Bin 0 -> 159401 bytes
 data/audit-video/shots/13-revenue.png              | Bin 0 -> 147020 bytes
 data/audit-video/shots/14-videos.png               | Bin 0 -> 192658 bytes
 data/audit-video/shots/15-dealdesk.png             | Bin 0 -> 107985 bytes
 data/audit-video/shots/16-roadmap.png              | Bin 0 -> 153750 bytes
 data/audit-video/steve-narration.mp4               | Bin 0 -> 91661470 bytes
 data/audit-video/timing.json                       |   1 +
 data/audit-video/title.mp4                         | Bin 0 -> 65798 bytes
 data/audit-video/title.png                         | Bin 0 -> 43141 bytes
 data/audit-video/va-prompt.txt                     |  41 ++++++++
 data/audit-video/verify/maptest.png                | Bin 0 -> 315223 bytes
 data/audit-video/verify/t_audit.png                | Bin 0 -> 559761 bytes
 data/audit-video/verify/t_dealdesk.png             | Bin 0 -> 428022 bytes
 data/audit-video/verify/t_outro.png                | Bin 0 -> 130734 bytes
 data/audit-video/verify/t_title.png                | Bin 0 -> 119198 bytes
 data/audit-video/words.json                        |   1 +
 55 files changed, 270 insertions(+)

diff --git a/data/audit-video/315fa21edf3048048ba7aa24de23a7c4.mp4 b/data/audit-video/315fa21edf3048048ba7aa24de23a7c4.mp4
new file mode 100644
index 0000000..ddf239a
Binary files /dev/null and b/data/audit-video/315fa21edf3048048ba7aa24de23a7c4.mp4 differ
diff --git a/data/audit-video/capture.mjs b/data/audit-video/capture.mjs
new file mode 100644
index 0000000..00618d9
--- /dev/null
+++ b/data/audit-video/capture.mjs
@@ -0,0 +1,112 @@
+// RENTV portal walkthrough capture harness.
+//   node capture.mjs --shots            -> per-tab screenshots into ./shots/
+//   node capture.mjs --record           -> timed screen recording into ./rec/, driven by timing.json
+// Playwright resolved from the global install (symlinked into node_modules); drives system Chrome.
+import { chromium } from 'playwright';
+import fs from 'fs';
+import path from 'path';
+
+const PORTAL_URL = 'http://localhost:9701/portal';
+const CREDS = { username: 'admin', password: 'DW2024!' };
+const HERE = path.dirname(new URL(import.meta.url).pathname);
+const NAR = JSON.parse(fs.readFileSync(path.join(HERE, 'narration.json'), 'utf8'));
+const SEGS = NAR.segments;
+const mode = process.argv[2] || '--shots';
+
+const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
+
+async function openOnly(page, id) {
+  await page.evaluate((id) => {
+    if (typeof window.setAll === 'function') { try { window.setAll(false); } catch (e) {} }
+    document.querySelectorAll('section.open').forEach((s) => {
+      if (s.id !== id) { const h = s.querySelector('.acchead'); if (h) h.click(); }
+    });
+    const s = document.getElementById(id);
+    if (s) {
+      const head = s.querySelector('.acchead');
+      if (head && !s.classList.contains('open')) head.click();
+      const anchor = s.querySelector('.eyebrow') || s;
+      anchor.scrollIntoView({ behavior: 'instant', block: 'start' });
+      window.scrollBy(0, -70);
+      // force Leaflet/charts that init inside a just-revealed accordion to lay out
+      window.dispatchEvent(new Event('resize'));
+      setTimeout(() => window.dispatchEvent(new Event('resize')), 400);
+    }
+  }, id);
+}
+
+// slowly scroll through a tall panel until absolute time `until`, so the whole tab is read
+async function readScroll(page, id, until) {
+  const info = await page.evaluate((id) => {
+    const s = document.getElementById(id);
+    const r = s.getBoundingClientRect();
+    return { top: window.scrollY + r.top - 70, height: s.scrollHeight };
+  }, id);
+  const overflow = Math.max(0, info.height - 1080);
+  const segStart = Date.now();
+  const segLen = Math.max(1, until - segStart);
+  while (Date.now() < until) {
+    if (overflow > 0) {
+      const frac = Math.min(1, (Date.now() - segStart) / segLen);
+      const e = frac < 0.15 ? 0 : frac > 0.9 ? 1 : (frac - 0.15) / 0.75; // linger top & bottom
+      await page.evaluate((y) => window.scrollTo(0, y), info.top + overflow * e);
+    }
+    await sleep(180);
+  }
+}
+
+async function main() {
+  const record = mode === '--record';
+  const recDir = path.join(HERE, 'rec');
+  const shotsDir = path.join(HERE, 'shots');
+  fs.mkdirSync(record ? recDir : shotsDir, { recursive: true });
+
+  const browser = await chromium.launch({ channel: 'chrome', headless: false });
+  const ctx = await browser.newContext({
+    viewport: { width: 1920, height: 1080 },
+    deviceScaleFactor: 1,
+    httpCredentials: CREDS,
+    ...(record ? { recordVideo: { dir: recDir, size: { width: 1920, height: 1080 } } } : {}),
+  });
+  const page = await ctx.newPage();
+  await page.goto(PORTAL_URL, { waitUntil: 'load', timeout: 45000 });
+  await sleep(1200);
+
+  if (!record) {
+    for (let i = 0; i < SEGS.length; i++) {
+      await openOnly(page, SEGS[i].id);
+      await sleep(1100);
+      const f = path.join(shotsDir, String(i + 1).padStart(2, '0') + '-' + SEGS[i].id + '.png');
+      await page.screenshot({ path: f });
+      console.log('shot', f);
+    }
+    await ctx.close();
+    await browser.close();
+    return;
+  }
+
+  // ---- record mode: absolute timeline from timing.json (zero drift) ----
+  const timing = JSON.parse(fs.readFileSync(path.join(HERE, 'timing.json'), 'utf8'));
+  const starts = timing.starts;      // {id: narration start seconds}
+  const audioEnd = timing.audio_end; // total seconds
+  await openOnly(page, SEGS[0].id);  // summary already on screen at t=0
+  await sleep(300);
+  const T0 = Date.now();
+  for (let i = 0; i < SEGS.length; i++) {
+    const id = SEGS[i].id;
+    const offset = (i === 0 ? 0 : starts[id]) * 1000;
+    const nextOffset = (i + 1 < SEGS.length ? starts[SEGS[i + 1].id] * 1000 : audioEnd * 1000);
+    while (Date.now() - T0 < offset) await sleep(50);
+    if (i !== 0) await openOnly(page, id);
+    await readScroll(page, id, T0 + nextOffset);
+    console.log(`tab ${id}: ${(offset / 1000).toFixed(1)}s -> ${(nextOffset / 1000).toFixed(1)}s`);
+  }
+  const video = page.video();
+  await ctx.close();
+  const vp = await video.path();
+  const dest = path.join(recDir, 'portal-walk.webm');
+  fs.renameSync(vp, dest);
+  console.log('VIDEO', dest);
+  await browser.close();
+}
+main().catch((e) => { console.error(e); process.exit(1); });
diff --git a/data/audit-video/chips/00.png b/data/audit-video/chips/00.png
new file mode 100644
index 0000000..01abb78
Binary files /dev/null and b/data/audit-video/chips/00.png differ
diff --git a/data/audit-video/chips/01.png b/data/audit-video/chips/01.png
new file mode 100644
index 0000000..b07f8ef
Binary files /dev/null and b/data/audit-video/chips/01.png differ
diff --git a/data/audit-video/chips/02.png b/data/audit-video/chips/02.png
new file mode 100644
index 0000000..504b84e
Binary files /dev/null and b/data/audit-video/chips/02.png differ
diff --git a/data/audit-video/chips/03.png b/data/audit-video/chips/03.png
new file mode 100644
index 0000000..2ef3483
Binary files /dev/null and b/data/audit-video/chips/03.png differ
diff --git a/data/audit-video/chips/04.png b/data/audit-video/chips/04.png
new file mode 100644
index 0000000..d56b870
Binary files /dev/null and b/data/audit-video/chips/04.png differ
diff --git a/data/audit-video/chips/05.png b/data/audit-video/chips/05.png
new file mode 100644
index 0000000..4bbb9b3
Binary files /dev/null and b/data/audit-video/chips/05.png differ
diff --git a/data/audit-video/chips/06.png b/data/audit-video/chips/06.png
new file mode 100644
index 0000000..12756f7
Binary files /dev/null and b/data/audit-video/chips/06.png differ
diff --git a/data/audit-video/chips/07.png b/data/audit-video/chips/07.png
new file mode 100644
index 0000000..fd8cd69
Binary files /dev/null and b/data/audit-video/chips/07.png differ
diff --git a/data/audit-video/chips/08.png b/data/audit-video/chips/08.png
new file mode 100644
index 0000000..8d90bc0
Binary files /dev/null and b/data/audit-video/chips/08.png differ
diff --git a/data/audit-video/chips/09.png b/data/audit-video/chips/09.png
new file mode 100644
index 0000000..90481d9
Binary files /dev/null and b/data/audit-video/chips/09.png differ
diff --git a/data/audit-video/chips/10.png b/data/audit-video/chips/10.png
new file mode 100644
index 0000000..51b2823
Binary files /dev/null and b/data/audit-video/chips/10.png differ
diff --git a/data/audit-video/chips/11.png b/data/audit-video/chips/11.png
new file mode 100644
index 0000000..45505a7
Binary files /dev/null and b/data/audit-video/chips/11.png differ
diff --git a/data/audit-video/chips/12.png b/data/audit-video/chips/12.png
new file mode 100644
index 0000000..d3588b6
Binary files /dev/null and b/data/audit-video/chips/12.png differ
diff --git a/data/audit-video/chips/13.png b/data/audit-video/chips/13.png
new file mode 100644
index 0000000..ad3678a
Binary files /dev/null and b/data/audit-video/chips/13.png differ
diff --git a/data/audit-video/chips/14.png b/data/audit-video/chips/14.png
new file mode 100644
index 0000000..d842565
Binary files /dev/null and b/data/audit-video/chips/14.png differ
diff --git a/data/audit-video/chips/15.png b/data/audit-video/chips/15.png
new file mode 100644
index 0000000..3d31e2c
Binary files /dev/null and b/data/audit-video/chips/15.png differ
diff --git a/data/audit-video/compose.py b/data/audit-video/compose.py
new file mode 100644
index 0000000..a10329f
--- /dev/null
+++ b/data/audit-video/compose.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python3
+# Composites: portal A-roll + Steve avatar PIP (gold frame) + per-tab lower-third chip (PNG overlays)
+# + narration audio. Then prepends title card and appends outro card. Writes final.mp4.
+# This ffmpeg build has no drawtext, so chips are pre-rendered PNGs overlaid with enable=between().
+import json, subprocess, os
+from PIL import Image, ImageDraw, ImageFont
+HERE = os.path.dirname(os.path.abspath(__file__)); os.chdir(HERE)
+nar = json.load(open("narration.json")); tim = json.load(open("timing.json"))
+starts = tim["starts"]; audio_end = tim["audio_end"]; segs = nar["segments"]
+ids = [s["id"] for s in segs]
+ARIAL = "/System/Library/Fonts/Supplemental/Arial Bold.ttf"
+GOLD = (200,161,90); BG = (12,16,22); INK = (238,241,246)
+labels = {
+ "summary":"EXECUTIVE SUMMARY","swot":"SWOT ANALYSIS","reputation":"REPUTATION & AUTHORITY",
+ "empire":"THE EMPIRE & SUBLEASE.COM","competitors":"COMPETITORS","advertising":"WHERE TO ADVERTISE",
+ "timing":"TIMING & CADENCE","audit":"WEBSITE AUDIT","teardown":"PAGE-BY-PAGE TEARDOWN",
+ "social":"SOCIAL MEDIA AUDIT","suggested":"SUGGESTED NEW WEBSITES","partners":"UNLIKELY PARTNERS",
+ "revenue":"UNLIKELY REVENUE","videos":"VIDEO & BRAND FILMS","dealdesk":"LIVE DEAL DESK",
+ "roadmap":"90-DAY ROADMAP",
+}
+os.makedirs("chips", exist_ok=True)
+fnum = ImageFont.truetype(ARIAL, 30); ftxt = ImageFont.truetype(ARIAL, 30)
+padx, pady, gap = 26, 16, 16
+chip_paths = []
+tmp = ImageDraw.Draw(Image.new("RGBA",(10,10)))
+for i, id in enumerate(ids):
+    num = f"{i+1:02d}"; title = labels[id]
+    wn = tmp.textlength(num, font=fnum); wt = tmp.textlength(title, font=ftxt)
+    W = int(padx + wn + gap + wt + padx); H = 62
+    im = Image.new("RGBA", (W, H), (0,0,0,0)); d = ImageDraw.Draw(im)
+    d.rounded_rectangle([0,0,W-1,H-1], radius=8, fill=BG+(210,), outline=GOLD+(120,), width=1)
+    ty = (H-30)//2 - 4
+    d.text((padx, ty), num, font=fnum, fill=GOLD+(255,))
+    d.text((padx+wn+gap, ty), title, font=ftxt, fill=INK+(255,))
+    p = f"chips/{i:02d}.png"; im.save(p); chip_paths.append(p)
+print("chips:", len(chip_paths))
+
+# ---- main body filtergraph ----
+inputs = ["-i","rec/portal-walk.webm","-i","steve-narration.mp4"]
+for p in chip_paths: inputs += ["-i", p]
+fc = [
+    "[0:v]scale=1920:1080,setsar=1,fps=25[bg]",
+    "[1:v]scale=-2:420,setsar=1[av]",
+    f"[av]pad=iw+8:ih+8:4:4:color=0x{GOLD[0]:02x}{GOLD[1]:02x}{GOLD[2]:02x}[avb]",
+    "[bg][avb]overlay=W-w-36:H-h-36[base]",
+]
+prev = "base"
+for i, id in enumerate(ids):
+    s = 0.0 if i == 0 else starts[id]
+    e = starts[ids[i+1]] if i+1 < len(ids) else audio_end
+    inp = 2 + i
+    out = f"o{i}"
+    fc.append(f"[{prev}][{inp}:v]overlay=48:H-h-44:enable='between(t,{s:.2f},{e:.2f})'[{out}]")
+    prev = out
+fc_str = ";".join(fc)
+cmd = ["ffmpeg","-y",*inputs,"-filter_complex",fc_str,
+       "-map",f"[{prev}]","-map","1:a",
+       "-c:v","libx264","-pix_fmt","yuv420p","-crf","19","-preset","medium","-r","25",
+       "-c:a","aac","-b:a","160k","-ar","48000","-ac","2","-shortest","main.mp4"]
+print("== main body =="); subprocess.run(cmd, check=True)
+
+def card(png, out, dur):
+    subprocess.run(["ffmpeg","-y","-loop","1","-i",png,"-f","lavfi","-i","anullsrc=r=48000:cl=stereo",
+        "-t",str(dur),"-vf",f"scale=1920:1080,fps=25,fade=in:0:15,fade=out:st={dur-0.6:.2f}:d=0.6",
+        "-c:v","libx264","-pix_fmt","yuv420p","-r","25","-c:a","aac","-b:a","160k","-shortest",out], check=True)
+print("== title / outro =="); card("title.png","title.mp4",4.0); card("outro.png","outro.mp4",4.0)
+
+open("concat.txt","w").write("file 'title.mp4'\nfile 'main.mp4'\nfile 'outro.mp4'\n")
+print("== concat ==")
+r = subprocess.run(["ffmpeg","-y","-f","concat","-safe","0","-i","concat.txt","-c","copy","final.mp4"])
+if r.returncode != 0:
+    subprocess.run(["ffmpeg","-y","-f","concat","-safe","0","-i","concat.txt",
+        "-c:v","libx264","-pix_fmt","yuv420p","-crf","19","-r","25","-c:a","aac","-b:a","160k","final.mp4"], check=True)
+print("DONE -> final.mp4")
diff --git a/data/audit-video/concat.txt b/data/audit-video/concat.txt
new file mode 100644
index 0000000..5240ac3
--- /dev/null
+++ b/data/audit-video/concat.txt
@@ -0,0 +1,3 @@
+file 'title.mp4'
+file 'main.mp4'
+file 'outro.mp4'
diff --git a/data/audit-video/final.mp4 b/data/audit-video/final.mp4
new file mode 100644
index 0000000..c7948fe
Binary files /dev/null and b/data/audit-video/final.mp4 differ
diff --git a/data/audit-video/main.mp4 b/data/audit-video/main.mp4
new file mode 100644
index 0000000..525085f
Binary files /dev/null and b/data/audit-video/main.mp4 differ
diff --git a/data/audit-video/maptest.mjs b/data/audit-video/maptest.mjs
new file mode 100644
index 0000000..5e22893
--- /dev/null
+++ b/data/audit-video/maptest.mjs
@@ -0,0 +1,12 @@
+import { chromium } from 'playwright';
+const b=await chromium.launch({channel:'chrome',headless:false});
+const c=await b.newContext({viewport:{width:1920,height:1080},httpCredentials:{username:'admin',password:'DW2024!'}});
+const p=await c.newPage();
+await p.goto('http://localhost:9701/portal',{waitUntil:'load',timeout:45000});
+await p.waitForTimeout(1200);
+await p.evaluate(()=>{const s=document.getElementById('dealdesk');const h=s.querySelector('.acchead');if(h)h.click();s.querySelector('.eyebrow').scrollIntoView({block:'start'});window.scrollBy(0,-70);});
+await p.waitForTimeout(1200);
+await p.evaluate(()=>{ if(window.__deskMap&&window.__deskMap.invalidateSize)window.__deskMap.invalidateSize(); window.dispatchEvent(new Event('resize')); });
+await p.waitForTimeout(4500);
+await p.screenshot({path:'verify/maptest.png'});
+await b.close(); console.log('OK');
diff --git a/data/audit-video/narration.json b/data/audit-video/narration.json
new file mode 100644
index 0000000..b17ac86
--- /dev/null
+++ b/data/audit-video/narration.json
@@ -0,0 +1,26 @@
+{
+  "meta": {
+    "title": "RENTV Strategy Portal — Full Audit Walkthrough",
+    "subtitle": "Every tab, in detail — narrated by Steve",
+    "portal_url": "http://localhost:9701/portal",
+    "note": "Each segment begins with the literal tab title as a spoken anchor for transcription-based sync."
+  },
+  "segments": [
+    { "id": "summary",     "title": "Executive Summary",        "text": "Executive Summary. Steve Bloom has quietly built a commercial real estate media empire — the RENTV news brand since 1998, the State of the Market conference franchise, the CRE Talk interview show, the REview video platform, an active email operation, and the sublease dot com domain. What's missing is one modern web presence that unifies it all, captures the audience, and monetizes the whole." },
+    { "id": "swot",        "title": "SWOT Analysis",            "text": "SWOT Analysis. The whole board on one screen. Strengths — a twenty-five year brand and archive, a real conference franchise, nineteen-plus sponsored CEO episodes. Weaknesses — a dated, pre-mobile website and dormant social. The agent runs four lenses so the strategy that follows starts from one honest picture." },
+    { "id": "reputation",  "title": "Reputation and Authority", "text": "Reputation and Authority. A trusted name, under-leveraged. RENTV has covered Western U.S. commercial real estate since 1998 and runs a live events franchise most competitors would pay dearly for. The gap isn't credibility — it's distribution and modernization." },
+    { "id": "empire",      "title": "The Empire and Sublease",  "text": "The Empire and Sublease dot com. You're not a website — you're a media company. Three web properties and four content franchises: RENTV, the REview video platform, CRE Talk, the conferences, and the email operation — plus sublease dot com, the internet's most valuable vacant address in real estate. Today they live in silos; unified, they're a regional media company with a marketplace attached." },
+    { "id": "competitors", "title": "Competitors",              "text": "Competitors. The regional authority versus the national machines. RENTV's edge is regional depth plus events. The threats are national newsletter and data machines like Bisnow and CoStar, with huge email reach and modern product. The model to study — free newsletters, feeding events, feeding sponsorship." },
+    { "id": "advertising", "title": "Where to Advertise",       "text": "Where to Advertise and Grow. Build the owned audience first. Ranked by return for a regional CRE-news brand: LinkedIn and email first — your company page has eight hundred eighteen followers sitting dormant — then search and sponsorship. Newsletter plus LinkedIn before you ever spend on paid." },
+    { "id": "timing",      "title": "Timing and Cadence",       "text": "Timing and Cadence. Ride the deal and conference calendar. Demand tracks the transaction and events calendar — year-ahead outlooks in January, earnings in February, the spring and fall conference seasons, year-end roundups. Publish daily, and spike your coverage on the peaks." },
+    { "id": "audit",       "title": "Website Audit",            "text": "Website Audit. A 1998 site for a 2026 audience. The live audit of RENTV dot com finds a legacy, table-based layout with pop-ups, no modern hero, no mobile responsiveness, and no newsletter capture above the fold. Brokers read on phones between meetings — that's lost readership every single day." },
+    { "id": "teardown",    "title": "Page-by-Page Teardown",    "text": "Page-by-Page Teardown. Every page, graded, with the fix. We captured every page live and ran an adversarial review. The headline finding — the site still runs Universal Analytics, which Google shut off in 2023, so there's been no traffic data for roughly three years. Every decision is being made blind." },
+    { "id": "social",      "title": "Social Media Audit",       "text": "Social Media Audit. Real accounts, dormant and hidden. RENTV runs a real email operation and produces a real video show — yet the LinkedIn page with eight hundred eighteen followers sits idle, nothing links from the site, there's no X or Instagram, and zero paid distribution. The content engine exists; the distribution engine was never plugged in." },
+    { "id": "suggested",   "title": "Suggested New Websites",   "text": "Suggested New Websites. Six directions, each modeled on a CRE-news leader — The Wire after The Real Deal, Dispatch after Bisnow, The Observer after Commercial Observer, and more. Each one opens as a working, mobile-first front-page concept with real layout and motion. Pick a direction, and we build it out." },
+    { "id": "partners",    "title": "Unlikely Partners",        "text": "Unlikely Partners. Ten referral engines hiding in the industry — the major brokerages, CRE associations like NAIOP and ULI, data providers, law and finance firms, conference operators, PropTech startups, universities, and the listing platforms. Your readers and sponsors already sit inside these organizations; content and data swaps turn them into a low-cost pipeline." },
+    { "id": "revenue",     "title": "Unlikely Revenue",         "text": "Unlikely Revenue Streams. The audience is the asset, and it can earn eight ways — premium subscriptions, expanded conferences, sponsored content, newsletter sponsorships, data and market reports, a CRE job board, webinars, and video sponsorships. News is the draw; the brand, the list, and the events each throw off high-margin recurring revenue." },
+    { "id": "videos",      "title": "Video and Brand Films",    "text": "Video and Brand Films. You already make video — now package it to sell. CRE Talk with Steve and Arnie is a sponsored-content library most outlets would kill for. Standardize it into short, mobile-first formats — Deal of the Week, Market Minute, Conference Recap — and add a presenter-led brand film over your own footage." },
+    { "id": "dealdesk",    "title": "Live Deal Desk",           "text": "The Live Deal Desk. This isn't a mockup — it's a working demo on real Los Angeles listings, with real cap rates, a transparent zero-to-one-hundred deal score, a clustered map, and real Census market data. A modernized RENTV pairs your deal reporting with live deal data — the product wedge none of the news competitors ship regionally." },
+    { "id": "roadmap",     "title": "The Ninety-Day Roadmap",   "text": "The Ninety-Day Roadmap. What to do, in order. Weeks one and two — cross-link the empire, wire up social, and put a newsletter capture on every page. Weeks three to six — ship the mobile-first front page and launch the free RENTV Daily newsletter. Weeks six to ten — open sponsor packages and sign your first partner swaps. That's the plan." }
+  ]
+}
diff --git a/data/audit-video/narration.wav b/data/audit-video/narration.wav
new file mode 100644
index 0000000..333d215
Binary files /dev/null and b/data/audit-video/narration.wav differ
diff --git a/data/audit-video/outro.mp4 b/data/audit-video/outro.mp4
new file mode 100644
index 0000000..0c5fc55
Binary files /dev/null and b/data/audit-video/outro.mp4 differ
diff --git a/data/audit-video/outro.png b/data/audit-video/outro.png
new file mode 100644
index 0000000..0f44a02
Binary files /dev/null and b/data/audit-video/outro.png differ
diff --git a/data/audit-video/rec/page@6c20ddf9cc708f07df90d176f7630239.webm b/data/audit-video/rec/page@6c20ddf9cc708f07df90d176f7630239.webm
new file mode 100644
index 0000000..c711772
Binary files /dev/null and b/data/audit-video/rec/page@6c20ddf9cc708f07df90d176f7630239.webm differ
diff --git a/data/audit-video/shots/01-summary.png b/data/audit-video/shots/01-summary.png
new file mode 100644
index 0000000..a5f5fa8
Binary files /dev/null and b/data/audit-video/shots/01-summary.png differ
diff --git a/data/audit-video/shots/02-swot.png b/data/audit-video/shots/02-swot.png
new file mode 100644
index 0000000..f65864e
Binary files /dev/null and b/data/audit-video/shots/02-swot.png differ
diff --git a/data/audit-video/shots/03-reputation.png b/data/audit-video/shots/03-reputation.png
new file mode 100644
index 0000000..c4a4f81
Binary files /dev/null and b/data/audit-video/shots/03-reputation.png differ
diff --git a/data/audit-video/shots/04-empire.png b/data/audit-video/shots/04-empire.png
new file mode 100644
index 0000000..a4beed4
Binary files /dev/null and b/data/audit-video/shots/04-empire.png differ
diff --git a/data/audit-video/shots/05-competitors.png b/data/audit-video/shots/05-competitors.png
new file mode 100644
index 0000000..533bf31
Binary files /dev/null and b/data/audit-video/shots/05-competitors.png differ
diff --git a/data/audit-video/shots/06-advertising.png b/data/audit-video/shots/06-advertising.png
new file mode 100644
index 0000000..181e1e5
Binary files /dev/null and b/data/audit-video/shots/06-advertising.png differ
diff --git a/data/audit-video/shots/07-timing.png b/data/audit-video/shots/07-timing.png
new file mode 100644
index 0000000..86ef942
Binary files /dev/null and b/data/audit-video/shots/07-timing.png differ
diff --git a/data/audit-video/shots/08-audit.png b/data/audit-video/shots/08-audit.png
new file mode 100644
index 0000000..7213722
Binary files /dev/null and b/data/audit-video/shots/08-audit.png differ
diff --git a/data/audit-video/shots/09-teardown.png b/data/audit-video/shots/09-teardown.png
new file mode 100644
index 0000000..19be756
Binary files /dev/null and b/data/audit-video/shots/09-teardown.png differ
diff --git a/data/audit-video/shots/10-social.png b/data/audit-video/shots/10-social.png
new file mode 100644
index 0000000..b76dd4f
Binary files /dev/null and b/data/audit-video/shots/10-social.png differ
diff --git a/data/audit-video/shots/11-suggested.png b/data/audit-video/shots/11-suggested.png
new file mode 100644
index 0000000..7e29b47
Binary files /dev/null and b/data/audit-video/shots/11-suggested.png differ
diff --git a/data/audit-video/shots/12-partners.png b/data/audit-video/shots/12-partners.png
new file mode 100644
index 0000000..fd4fc01
Binary files /dev/null and b/data/audit-video/shots/12-partners.png differ
diff --git a/data/audit-video/shots/13-revenue.png b/data/audit-video/shots/13-revenue.png
new file mode 100644
index 0000000..9916db9
Binary files /dev/null and b/data/audit-video/shots/13-revenue.png differ
diff --git a/data/audit-video/shots/14-videos.png b/data/audit-video/shots/14-videos.png
new file mode 100644
index 0000000..58ffcc2
Binary files /dev/null and b/data/audit-video/shots/14-videos.png differ
diff --git a/data/audit-video/shots/15-dealdesk.png b/data/audit-video/shots/15-dealdesk.png
new file mode 100644
index 0000000..4d99575
Binary files /dev/null and b/data/audit-video/shots/15-dealdesk.png differ
diff --git a/data/audit-video/shots/16-roadmap.png b/data/audit-video/shots/16-roadmap.png
new file mode 100644
index 0000000..da465a9
Binary files /dev/null and b/data/audit-video/shots/16-roadmap.png differ
diff --git a/data/audit-video/steve-narration.mp4 b/data/audit-video/steve-narration.mp4
new file mode 100644
index 0000000..ddf239a
Binary files /dev/null and b/data/audit-video/steve-narration.mp4 differ
diff --git a/data/audit-video/timing.json b/data/audit-video/timing.json
new file mode 100644
index 0000000..04882b3
--- /dev/null
+++ b/data/audit-video/timing.json
@@ -0,0 +1 @@
+{"durs": {"summary": 35.7, "swot": 17.94, "reputation": 17.72, "empire": 28.3, "competitors": 20.16, "advertising": 17.8, "timing": 17.98, "audit": 23.5, "teardown": 21.34, "social": 23.08, "suggested": 21.76, "partners": 28.74, "revenue": 26.9, "videos": 22.16, "dealdesk": 25.98, "roadmap": 24.08}, "audio_end": 373.14, "starts": {"summary": 1.7, "swot": 35.7, "reputation": 53.64, "empire": 71.36, "competitors": 99.66, "advertising": 119.82, "timing": 137.62, "audit": 155.6, "teardown": 179.1, "social": 200.44, "suggested": 223.52, "partners": 245.28, "revenue": 274.02, "videos": 300.92, "dealdesk": 323.08, "roadmap": 349.06}}
\ No newline at end of file
diff --git a/data/audit-video/title.mp4 b/data/audit-video/title.mp4
new file mode 100644
index 0000000..8d1aa7e
Binary files /dev/null and b/data/audit-video/title.mp4 differ
diff --git a/data/audit-video/title.png b/data/audit-video/title.png
new file mode 100644
index 0000000..d2adf88
Binary files /dev/null and b/data/audit-video/title.png differ
diff --git a/data/audit-video/va-prompt.txt b/data/audit-video/va-prompt.txt
new file mode 100644
index 0000000..c771b64
--- /dev/null
+++ b/data/audit-video/va-prompt.txt
@@ -0,0 +1,41 @@
+The selected presenter delivers a confident, warm, advisory consulting brief — a strategist walking a client through a 16-section audit of the RENTV commercial-real-estate media business. Speak all sixteen sections below IN THIS EXACT ORDER. Begin each section by clearly speaking its title, then deliver its content. Keep every stated fact and number.
+
+SECTION 1 — Executive Summary: Executive Summary. Steve Bloom has quietly built a commercial real estate media empire — the RENTV news brand since 1998, the State of the Market conference franchise, the CRE Talk interview show, the REview video platform, an active email operation, and the sublease dot com domain. What's missing is one modern web presence that unifies it all, captures the audience, and monetizes the whole.
+
+SECTION 2 — SWOT Analysis: SWOT Analysis. The whole board on one screen. Strengths — a twenty-five year brand and archive, a real conference franchise, nineteen-plus sponsored CEO episodes. Weaknesses — a dated, pre-mobile website and dormant social. The agent runs four lenses so the strategy that follows starts from one honest picture.
+
+SECTION 3 — Reputation and Authority: Reputation and Authority. A trusted name, under-leveraged. RENTV has covered Western U.S. commercial real estate since 1998 and runs a live events franchise most competitors would pay dearly for. The gap isn't credibility — it's distribution and modernization.
+
+SECTION 4 — The Empire and Sublease: The Empire and Sublease dot com. You're not a website — you're a media company. Three web properties and four content franchises: RENTV, the REview video platform, CRE Talk, the conferences, and the email operation — plus sublease dot com, the internet's most valuable vacant address in real estate. Today they live in silos; unified, they're a regional media company with a marketplace attached.
+
+SECTION 5 — Competitors: Competitors. The regional authority versus the national machines. RENTV's edge is regional depth plus events. The threats are national newsletter and data machines like Bisnow and CoStar, with huge email reach and modern product. The model to study — free newsletters, feeding events, feeding sponsorship.
+
+SECTION 6 — Where to Advertise: Where to Advertise and Grow. Build the owned audience first. Ranked by return for a regional CRE-news brand: LinkedIn and email first — your company page has eight hundred eighteen followers sitting dormant — then search and sponsorship. Newsletter plus LinkedIn before you ever spend on paid.
+
+SECTION 7 — Timing and Cadence: Timing and Cadence. Ride the deal and conference calendar. Demand tracks the transaction and events calendar — year-ahead outlooks in January, earnings in February, the spring and fall conference seasons, year-end roundups. Publish daily, and spike your coverage on the peaks.
+
+SECTION 8 — Website Audit: Website Audit. A 1998 site for a 2026 audience. The live audit of RENTV dot com finds a legacy, table-based layout with pop-ups, no modern hero, no mobile responsiveness, and no newsletter capture above the fold. Brokers read on phones between meetings — that's lost readership every single day.
+
+SECTION 9 — Page-by-Page Teardown: Page-by-Page Teardown. Every page, graded, with the fix. We captured every page live and ran an adversarial review. The headline finding — the site still runs Universal Analytics, which Google shut off in 2023, so there's been no traffic data for roughly three years. Every decision is being made blind.
+
+SECTION 10 — Social Media Audit: Social Media Audit. Real accounts, dormant and hidden. RENTV runs a real email operation and produces a real video show — yet the LinkedIn page with eight hundred eighteen followers sits idle, nothing links from the site, there's no X or Instagram, and zero paid distribution. The content engine exists; the distribution engine was never plugged in.
+
+SECTION 11 — Suggested New Websites: Suggested New Websites. Six directions, each modeled on a CRE-news leader — The Wire after The Real Deal, Dispatch after Bisnow, The Observer after Commercial Observer, and more. Each one opens as a working, mobile-first front-page concept with real layout and motion. Pick a direction, and we build it out.
+
+SECTION 12 — Unlikely Partners: Unlikely Partners. Ten referral engines hiding in the industry — the major brokerages, CRE associations like NAIOP and ULI, data providers, law and finance firms, conference operators, PropTech startups, universities, and the listing platforms. Your readers and sponsors already sit inside these organizations; content and data swaps turn them into a low-cost pipeline.
+
+SECTION 13 — Unlikely Revenue: Unlikely Revenue Streams. The audience is the asset, and it can earn eight ways — premium subscriptions, expanded conferences, sponsored content, newsletter sponsorships, data and market reports, a CRE job board, webinars, and video sponsorships. News is the draw; the brand, the list, and the events each throw off high-margin recurring revenue.
+
+SECTION 14 — Video and Brand Films: Video and Brand Films. You already make video — now package it to sell. CRE Talk with Steve and Arnie is a sponsored-content library most outlets would kill for. Standardize it into short, mobile-first formats — Deal of the Week, Market Minute, Conference Recap — and add a presenter-led brand film over your own footage.
+
+SECTION 15 — Live Deal Desk: The Live Deal Desk. This isn't a mockup — it's a working demo on real Los Angeles listings, with real cap rates, a transparent zero-to-one-hundred deal score, a clustered map, and real Census market data. A modernized RENTV pairs your deal reporting with live deal data — the product wedge none of the news competitors ship regionally.
+
+SECTION 16 — The Ninety-Day Roadmap: The Ninety-Day Roadmap. What to do, in order. Weeks one and two — cross-link the empire, wire up social, and put a newsletter capture on every page. Weeks three to six — ship the mobile-first front page and launch the free RENTV Daily newsletter. Weeks six to ten — open sponsor packages and sign your first partner swaps. That's the plan.
+
+DELIVERY & FORMAT (critical, English directives):
+- Single presenter only (the selected presenter), medium close-up, centered, head-and-shoulders, in a clean neutral professional studio with soft even lighting.
+- TALKING-HEAD ONLY the entire time. Do NOT add b-roll, stock footage, charts, motion graphics, icons, lower-thirds, on-screen text, captions, logos, or scene changes. Keep one consistent plain background from start to finish. The presenter is on camera continuously.
+- Target length about five minutes. Cover every one of the sixteen sections fully — do not cut any section short and do not summarize the list.
+- Tone: seasoned management consultant presenting to the business owner — credible, direct, encouraging.
+
+This script is the content and order to convey — you have freedom to lightly expand for natural pacing, but preserve the sixteen sections, their order, their titles, and their facts. Do not pad with silence or pauses.
\ No newline at end of file
diff --git a/data/audit-video/verify/maptest.png b/data/audit-video/verify/maptest.png
new file mode 100644
index 0000000..ae44261
Binary files /dev/null and b/data/audit-video/verify/maptest.png differ
diff --git a/data/audit-video/verify/t_audit.png b/data/audit-video/verify/t_audit.png
new file mode 100644
index 0000000..3c569a4
Binary files /dev/null and b/data/audit-video/verify/t_audit.png differ
diff --git a/data/audit-video/verify/t_dealdesk.png b/data/audit-video/verify/t_dealdesk.png
new file mode 100644
index 0000000..dbedaa7
Binary files /dev/null and b/data/audit-video/verify/t_dealdesk.png differ
diff --git a/data/audit-video/verify/t_outro.png b/data/audit-video/verify/t_outro.png
new file mode 100644
index 0000000..475363e
Binary files /dev/null and b/data/audit-video/verify/t_outro.png differ
diff --git a/data/audit-video/verify/t_title.png b/data/audit-video/verify/t_title.png
new file mode 100644
index 0000000..813f33e
Binary files /dev/null and b/data/audit-video/verify/t_title.png differ
diff --git a/data/audit-video/words.json b/data/audit-video/words.json
new file mode 100644
index 0000000..18f9cce
--- /dev/null
+++ b/data/audit-video/words.json
@@ -0,0 +1 @@
+[{"w": "Section", "s": 0.0, "e": 0.22}, {"w": "1.", "s": 0.22, "e": 0.66}, {"w": "Executive", "s": 1.7, "e": 2.0}, {"w": "summary.", "s": 2.0, "e": 2.56}, {"w": "Executive", "s": 3.32, "e": 3.62}, {"w": "summary.", "s": 3.62, "e": 4.24}, {"w": "Steve", "s": 5.06, "e": 5.3}, {"w": "Bloom", "s": 5.3, "e": 5.6}, {"w": "has", "s": 5.6, "e": 5.9}, {"w": "quietly", "s": 5.9, "e": 6.2}, {"w": "built", "s": 6.2, "e": 6.58}, {"w": "a", "s": 6.58, "e": 6.68}, {"w": "commercial", "s": 6.68, "e": 6.9}, {"w": "real", "s": 6.9, "e": 7.28}, {"w": "estate", "s": 7.28, "e": 7.52}, {"w": "media", "s": 7.52, "e": 7.8}, {"w": "empire.", "s": 7.8, "e": 8.32}, {"w": "The", "s": 8.92, "e": 8.96}, {"w": "R", "s": 8.96, "e": 9.18}, {"w": "-E", "s": 9.18, "e": 9.46}, {"w": "-N", "s": 9.46, "e": 9.74}, {"w": "-T", "s": 9.74, "e": 9.98}, {"w": "-V", "s": 9.98, "e": 10.24}, {"w": "news", "s": 10.24, "e": 10.46}, {"w": "brand", "s": 10.46, "e": 10.8}, {"w": "since", "s": 10.8, "e": 11.06}, {"w": "1998.", "s": 11.06, "e": 11.82}, {"w": "The", "s": 12.64, "e": 12.7}, {"w": "State", "s": 12.7, "e": 12.88}, {"w": "of", "s": 12.88, "e": 13.02}, {"w": "the", "s": 13.02, "e": 13.1}, {"w": "Market", "s": 13.1, "e": 13.36}, {"w": "Conference", "s": 13.36, "e": 13.72}, {"w": "franchise.", "s": 13.72, "e": 14.06}, {"w": "The", "s": 14.94, "e": 14.96}, {"w": "C", "s": 14.96, "e": 15.1}, {"w": "-R", "s": 15.1, "e": 15.4}, {"w": "-E", "s": 15.4, "e": 15.66}, {"w": "Talk", "s": 15.66, "e": 15.94}, {"w": "interview", "s": 15.94, "e": 16.26}, {"w": "show.", "s": 16.26, "e": 16.68}, {"w": "The", "s": 17.26, "e": 17.28}, {"w": "review", "s": 17.28, "e": 17.48}, {"w": "video", "s": 17.48, "e": 17.88}, {"w": "platform.", "s": 17.88, "e": 18.36}, {"w": "An", "s": 18.94, "e": 18.96}, {"w": "active", "s": 18.96, "e": 19.36}, {"w": "email", "s": 19.36, "e": 19.66}, {"w": "operation.", "s": 19.66, "e": 20.16}, {"w": "And", "s": 20.96, "e": 20.98}, {"w": "the", "s": 20.98, "e": 21.14}, {"w": "sub", "s": 21.14, "e": 21.38}, {"w": "-least", "s": 21.38, "e": 21.64}, {"w": ".com", "s": 21.64, "e": 22.08}, {"w": "domain.", "s": 22.08, "e": 22.44}, {"w": "What's", "s": 23.42, "e": 23.52}, {"w": "missing", "s": 23.52, "e": 23.76}, {"w": "is", "s": 23.76, "e": 24.12}, {"w": "one", "s": 24.12, "e": 24.4}, {"w": "modern", "s": 24.4, "e": 24.84}, {"w": "web", "s": 24.84, "e": 25.08}, {"w": "presence", "s": 25.08, "e": 25.48}, {"w": "that", "s": 25.48, "e": 25.72}, {"w": "unifies", "s": 25.72, "e": 26.16}, {"w": "it", "s": 26.16, "e": 26.4}, {"w": "all.", "s": 26.4, "e": 26.6}, {"w": "Captures", "s": 26.6, "e": 27.32}, {"w": "the", "s": 27.32, "e": 27.44}, {"w": "audience", "s": 27.44, "e": 27.76}, {"w": "and", "s": 27.76, "e": 28.28}, {"w": "monetizes", "s": 28.28, "e": 28.94}, {"w": "the", "s": 28.94, "e": 29.12}, {"w": "whole.", "s": 29.12, "e": 29.38}, {"w": "Section", "s": 30.06, "e": 30.14}, {"w": "2.", "s": 30.14, "e": 30.68}, {"w": "Swat", "s": 31.26, "e": 31.5}, {"w": "Analysis.", "s": 31.5, "e": 31.8}, {"w": "Swat", "s": 32.5, "e": 32.66}, {"w": "Analysis.", "s": 32.66, "e": 33.02}, {"w": "The", "s": 33.96, "e": 33.96}, {"w": "whole", "s": 33.96, "e": 34.14}, {"w": "board", "s": 34.14, "e": 34.5}, {"w": "on", "s": 34.5, "e": 34.64}, {"w": "one", "s": 34.64, "e": 34.8}, {"w": "screen.", "s": 34.8, "e": 35.22}, {"w": "Strengths.", "s": 35.7, "e": 36.32}, {"w": "A", "s": 36.84, "e": 36.84}, {"w": "25", "s": 36.84, "e": 37.1}, {"w": "year", "s": 37.1, "e": 37.62}, {"w": "brand", "s": 37.62, "e": 37.94}, {"w": "and", "s": 37.94, "e": 38.18}, {"w": "archive.", "s": 38.18, "e": 38.58}, {"w": "A", "s": 39.2, "e": 39.26}, {"w": "real", "s": 39.26, "e": 39.5}, {"w": "conference", "s": 39.5, "e": 39.92}, {"w": "franchise.", "s": 39.92, "e": 40.48}, {"w": "19", "s": 40.96, "e": 41.1}, {"w": "plus", "s": 41.1, "e": 41.56}, {"w": "sponsored", "s": 41.56, "e": 41.94}, {"w": "CEO", "s": 41.94, "e": 42.56}, {"w": "episodes.", "s": 42.56, "e": 43.16}, {"w": "Weaknesses.", "s": 44.08, "e": 44.3}, {"w": "A", "s": 44.96, "e": 44.98}, {"w": "dated", "s": 44.98, "e": 45.28}, {"w": "pre", "s": 45.28, "e": 45.66}, {"w": "-mobile", "s": 45.66, "e": 45.94}, {"w": "website", "s": 45.94, "e": 46.48}, {"w": "and", "s": 46.48, "e": 46.76}, {"w": "dormant", "s": 46.76, "e": 47.02}, {"w": "social.", "s": 47.02, "e": 47.46}, {"w": "The", "s": 48.08, "e": 48.1}, {"w": "agent", "s": 48.1, "e": 48.3}, {"w": "runs", "s": 48.3, "e": 48.56}, {"w": "four", "s": 48.56, "e": 48.84}, {"w": "lenses", "s": 48.84, "e": 49.06}, {"w": "so", "s": 49.06, "e": 49.44}, {"w": "the", "s": 49.44, "e": 49.56}, {"w": "strategy", "s": 49.56, "e": 49.88}, {"w": "that", "s": 49.88, "e": 50.2}, {"w": "follows", "s": 50.2, "e": 50.52}, {"w": "starts", "s": 50.52, "e": 50.88}, {"w": "from", "s": 50.88, "e": 51.18}, {"w": "one", "s": 51.18, "e": 51.4}, {"w": "honest", "s": 51.4, "e": 51.74}, {"w": "picture.", "s": 51.74, "e": 52.1}, {"w": "Section", "s": 52.66, "e": 52.74}, {"w": "3.", "s": 52.74, "e": 53.2}, {"w": "Reputation", "s": 53.64, "e": 53.98}, {"w": "and", "s": 53.98, "e": 54.24}, {"w": "Authority.", "s": 54.24, "e": 54.5}, {"w": "Reputation", "s": 54.98, "e": 55.5}, {"w": "and", "s": 55.5, "e": 55.78}, {"w": "Authority.", "s": 55.78, "e": 56.06}, {"w": "A", "s": 56.74, "e": 56.78}, {"w": "trusted", "s": 56.78, "e": 57.02}, {"w": "name.", "s": 57.02, "e": 57.44}, {"w": "Underleveraged.", "s": 57.86, "e": 58.42}, {"w": "R", "s": 58.66, "e": 58.78}, {"w": "-E", "s": 58.78, "e": 58.92}, {"w": "-N", "s": 58.92, "e": 59.1}, {"w": "-T", "s": 59.1, "e": 59.28}, {"w": "-V", "s": 59.28, "e": 59.5}, {"w": "has", "s": 59.5, "e": 59.7}, {"w": "covered", "s": 59.7, "e": 59.96}, {"w": "western", "s": 59.96, "e": 60.2}, {"w": "US", "s": 60.2, "e": 60.68}, {"w": "commercial", "s": 60.68, "e": 61.14}, {"w": "real", "s": 61.14, "e": 61.48}, {"w": "estate", "s": 61.48, "e": 61.8}, {"w": "since", "s": 61.8, "e": 62.04}, {"w": "1998", "s": 62.04, "e": 62.7}, {"w": "and", "s": 62.7, "e": 63.24}, {"w": "runs", "s": 63.24, "e": 63.4}, {"w": "a", "s": 63.4, "e": 63.58}, {"w": "live", "s": 63.58, "e": 63.78}, {"w": "events", "s": 63.78, "e": 64.06}, {"w": "franchise", "s": 64.06, "e": 64.34}, {"w": "most", "s": 64.34, "e": 64.86}, {"w": "competitors", "s": 64.86, "e": 65.22}, {"w": "would", "s": 65.22, "e": 65.6}, {"w": "pay", "s": 65.6, "e": 65.76}, {"w": "dearly", "s": 65.76, "e": 66.02}, {"w": "for.", "s": 66.02, "e": 66.36}, {"w": "The", "s": 66.88, "e": 66.9}, {"w": "gap", "s": 66.9, "e": 67.08}, {"w": "isn't", "s": 67.08, "e": 67.42}, {"w": "credibility.", "s": 67.42, "e": 67.72}, {"w": "It's", "s": 68.44, "e": 68.54}, {"w": "distribution", "s": 68.54, "e": 68.84}, {"w": "and", "s": 68.84, "e": 69.34}, {"w": "modernization.", "s": 69.34, "e": 69.64}, {"w": "Section", "s": 70.56, "e": 70.68}, {"w": "4.", "s": 70.68, "e": 71.06}, {"w": "The", "s": 71.34, "e": 71.36}, {"w": "Empire", "s": 71.36, "e": 71.66}, {"w": "and", "s": 71.66, "e": 71.98}, {"w": "Sub", "s": 71.98, "e": 72.16}, {"w": "-least.", "s": 72.16, "e": 72.42}, {"w": "The", "s": 72.8, "e": 72.8}, {"w": "Empire", "s": 72.8, "e": 72.98}, {"w": "and", "s": 72.98, "e": 73.32}, {"w": "Sub", "s": 73.32, "e": 73.5}, {"w": "-least", "s": 73.5, "e": 73.72}, {"w": ".com.", "s": 73.72, "e": 74.14}, {"w": "You're", "s": 74.62, "e": 74.72}, {"w": "not", "s": 74.72, "e": 74.86}, {"w": "a", "s": 74.86, "e": 74.96}, {"w": "website,", "s": 74.96, "e": 75.16}, {"w": "you're", "s": 75.62, "e": 75.8}, {"w": "a", "s": 75.8, "e": 75.88}, {"w": "media", "s": 75.88, "e": 76.06}, {"w": "company.", "s": 76.06, "e": 76.42}, {"w": "Three", "s": 76.98, "e": 77.08}, {"w": "web", "s": 77.08, "e": 77.3}, {"w": "properties", "s": 77.3, "e": 77.74}, {"w": "and", "s": 77.74, "e": 78.12}, {"w": "four", "s": 78.12, "e": 78.36}, {"w": "content", "s": 78.36, "e": 78.8}, {"w": "franchises.", "s": 78.8, "e": 79.32}, {"w": "Rent", "s": 79.98, "e": 80.3}, {"w": "-TV.", "s": 80.3, "e": 80.66}, {"w": "The", "s": 81.12, "e": 81.2}, {"w": "review", "s": 81.2, "e": 81.36}, {"w": "video", "s": 81.36, "e": 81.82}, {"w": "platform.", "s": 81.82, "e": 82.16}, {"w": "C", "s": 82.78, "e": 83.04}, {"w": "-R", "s": 83.04, "e": 83.26}, {"w": "-E", "s": 83.26, "e": 83.46}, {"w": "Talk.", "s": 83.46, "e": 83.7}, {"w": "The", "s": 84.3, "e": 84.32}, {"w": "conferences.", "s": 84.32, "e": 84.7}, {"w": "And", "s": 85.48, "e": 85.48}, {"w": "the", "s": 85.48, "e": 85.58}, {"w": "email", "s": 85.58, "e": 85.82}, {"w": "operation.", "s": 85.82, "e": 86.22}, {"w": "Plus", "s": 86.98, "e": 87.22}, {"w": "Sub", "s": 87.22, "e": 87.76}, {"w": "-least", "s": 87.76, "e": 88.02}, {"w": ".com.", "s": 88.02, "e": 88.52}, {"w": "The", "s": 89.12, "e": 89.22}, {"w": "internet's", "s": 89.22, "e": 89.76}, {"w": "most", "s": 89.76, "e": 89.94}, {"w": "valuable", "s": 89.94, "e": 90.48}, {"w": "vacant", "s": 90.48, "e": 90.98}, {"w": "address", "s": 90.98, "e": 91.32}, {"w": "in", "s": 91.32, "e": 91.66}, {"w": "real", "s": 91.66, "e": 91.82}, {"w": "estate.", "s": 91.82, "e": 92.14}, {"w": "Today", "s": 92.74, "e": 93.06}, {"w": "they", "s": 93.06, "e": 93.42}, {"w": "live", "s": 93.42, "e": 93.58}, {"w": "in", "s": 93.58, "e": 93.72}, {"w": "silos.", "s": 93.72, "e": 94.28}, {"w": "Unified.", "s": 94.6, "e": 94.78}, {"w": "They're", "s": 95.54, "e": 95.6}, {"w": "a", "s": 95.6, "e": 95.68}, {"w": "regional", "s": 95.68, "e": 96.02}, {"w": "media", "s": 96.02, "e": 96.3}, {"w": "company", "s": 96.3, "e": 96.76}, {"w": "with", "s": 96.76, "e": 97.0}, {"w": "a", "s": 97.0, "e": 97.08}, {"w": "marketplace", "s": 97.08, "e": 97.38}, {"w": "attached.", "s": 97.38, "e": 97.92}, {"w": "Section", "s": 98.5, "e": 98.66}, {"w": "5.", "s": 98.66, "e": 99.14}, {"w": "Competitors.", "s": 99.66, "e": 100.0}, {"w": "Competitors.", "s": 100.3, "e": 100.72}, {"w": "The", "s": 101.0, "e": 101.04}, {"w": "regional", "s": 101.04, "e": 101.26}, {"w": "authority", "s": 101.26, "e": 101.64}, {"w": "versus", "s": 101.64, "e": 102.04}, {"w": "the", "s": 102.04, "e": 102.4}, {"w": "national", "s": 102.4, "e": 102.7}, {"w": "machines.", "s": 102.7, "e": 102.98}, {"w": "R", "s": 103.84, "e": 103.94}, {"w": "-E", "s": 103.94, "e": 104.18}, {"w": "-N", "s": 104.18, "e": 104.42}, {"w": "-T", "s": 104.42, "e": 104.68}, {"w": "-V's", "s": 104.68, "e": 105.06}, {"w": "edge", "s": 105.06, "e": 105.32}, {"w": "is", "s": 105.32, "e": 105.68}, {"w": "regional", "s": 105.68, "e": 105.98}, {"w": "depth", "s": 105.98, "e": 106.3}, {"w": "plus", "s": 106.3, "e": 106.7}, {"w": "events.", "s": 106.7, "e": 107.0}, {"w": "The", "s": 107.64, "e": 107.7}, {"w": "threats", "s": 107.7, "e": 107.94}, {"w": "are", "s": 107.94, "e": 108.16}, {"w": "national", "s": 108.16, "e": 108.34}, {"w": "newsletter", "s": 108.34, "e": 108.88}, {"w": "and", "s": 108.88, "e": 109.24}, {"w": "data", "s": 109.24, "e": 109.4}, {"w": "machines", "s": 109.4, "e": 109.7}, {"w": "like", "s": 109.7, "e": 110.1}, {"w": "Bizno", "s": 110.1, "e": 110.52}, {"w": "and", "s": 110.52, "e": 110.7}, {"w": "co", "s": 110.7, "e": 110.86}, {"w": "-star", "s": 110.86, "e": 111.16}, {"w": "with", "s": 111.16, "e": 111.72}, {"w": "huge", "s": 111.72, "e": 111.94}, {"w": "email", "s": 111.94, "e": 112.3}, {"w": "reach", "s": 112.3, "e": 112.66}, {"w": "and", "s": 112.66, "e": 112.98}, {"w": "modern", "s": 112.98, "e": 113.16}, {"w": "product.", "s": 113.16, "e": 113.72}, {"w": "The", "s": 114.2, "e": 114.26}, {"w": "model", "s": 114.26, "e": 114.4}, {"w": "to", "s": 114.4, "e": 114.64}, {"w": "study.", "s": 114.64, "e": 114.94}, {"w": "Free", "s": 115.44, "e": 115.58}, {"w": "newsletters.", "s": 115.58, "e": 115.86}, {"w": "Feeding", "s": 116.64, "e": 116.8}, {"w": "events.", "s": 116.8, "e": 116.96}, {"w": "Feeding", "s": 117.54, "e": 117.7}, {"w": "sponsorship.", "s": 117.7, "e": 117.86}, {"w": "Section", "s": 118.84, "e": 118.84}, {"w": "6.", "s": 118.84, "e": 119.2}, {"w": "Where", "s": 119.68, "e": 119.68}, {"w": "to", "s": 119.68, "e": 119.82}, {"w": "advertise.", "s": 119.82, "e": 120.1}, {"w": "Where", "s": 120.54, "e": 120.56}, {"w": "to", "s": 120.56, "e": 120.68}, {"w": "advertise", "s": 120.68, "e": 121.0}, {"w": "and", "s": 121.0, "e": 121.28}, {"w": "grow.", "s": 121.28, "e": 121.46}, {"w": "Build", "s": 121.94, "e": 121.94}, {"w": "the", "s": 121.94, "e": 122.06}, {"w": "owned", "s": 122.06, "e": 122.26}, {"w": "audience", "s": 122.26, "e": 122.66}, {"w": "first.", "s": 122.66, "e": 123.04}, {"w": "Ranked", "s": 123.56, "e": 123.8}, {"w": "by", "s": 123.8, "e": 124.04}, {"w": "return", "s": 124.04, "e": 124.3}, {"w": "for", "s": 124.3, "e": 124.66}, {"w": "a", "s": 124.66, "e": 124.76}, {"w": "regional", "s": 124.76, "e": 125.06}, {"w": "C", "s": 125.06, "e": 125.4}, {"w": "-R", "s": 125.4, "e": 125.66}, {"w": "-E", "s": 125.66, "e": 125.88}, {"w": "news", "s": 125.88, "e": 126.04}, {"w": "brand", "s": 126.04, "e": 126.42}, {"w": "linked", "s": 126.42, "e": 127.0}, {"w": "in", "s": 127.0, "e": 127.22}, {"w": "an", "s": 127.22, "e": 127.32}, {"w": "email", "s": 127.32, "e": 127.54}, {"w": "first.", "s": 127.54, "e": 127.98}, {"w": "Your", "s": 128.38, "e": 128.42}, {"w": "company", "s": 128.42, "e": 128.66}, {"w": "page", "s": 128.66, "e": 129.0}, {"w": "has", "s": 129.0, "e": 129.16}, {"w": "818", "s": 129.16, "e": 129.64}, {"w": "followers", "s": 129.64, "e": 130.4}, {"w": "sitting", "s": 130.4, "e": 130.72}, {"w": "dormant.", "s": 130.72, "e": 131.0}, {"w": "Then", "s": 131.66, "e": 131.68}, {"w": "search", "s": 131.68, "e": 131.86}, {"w": "in", "s": 131.86, "e": 132.06}, {"w": "sponsorship.", "s": 132.06, "e": 132.42}, {"w": "Newsletter", "s": 133.12, "e": 133.52}, {"w": "plus", "s": 133.52, "e": 133.74}, {"w": "linked", "s": 133.74, "e": 134.0}, {"w": "in", "s": 134.0, "e": 134.18}, {"w": "before", "s": 134.18, "e": 134.4}, {"w": "you", "s": 134.4, "e": 134.62}, {"w": "ever", "s": 134.62, "e": 134.76}, {"w": "spend", "s": 134.76, "e": 134.98}, {"w": "on", "s": 134.98, "e": 135.16}, {"w": "paid.", "s": 135.16, "e": 135.42}, {"w": "Section", "s": 135.92, "e": 136.02}, {"w": "7.", "s": 136.02, "e": 136.52}, {"w": "Timing", "s": 136.94, "e": 137.46}, {"w": "and", "s": 137.46, "e": 137.62}, {"w": "cadence.", "s": 137.62, "e": 138.12}, {"w": "Timing", "s": 138.58, "e": 139.18}, {"w": "and", "s": 139.18, "e": 139.38}, {"w": "cadence.", "s": 139.38, "e": 139.86}, {"w": "Ride", "s": 140.2, "e": 140.46}, {"w": "the", "s": 140.46, "e": 140.7}, {"w": "deal", "s": 140.7, "e": 140.9}, {"w": "and", "s": 140.9, "e": 141.2}, {"w": "conference", "s": 141.2, "e": 141.54}, {"w": "calendar.", "s": 141.54, "e": 141.86}, {"w": "Demand", "s": 142.52, "e": 142.78}, {"w": "tracks", "s": 142.78, "e": 143.18}, {"w": "the", "s": 143.18, "e": 143.44}, {"w": "transaction", "s": 143.44, "e": 144.02}, {"w": "and", "s": 144.02, "e": 144.28}, {"w": "events", "s": 144.28, "e": 144.48}, {"w": "calendar.", "s": 144.48, "e": 144.86}, {"w": "Year", "s": 145.48, "e": 145.6}, {"w": "ahead", "s": 145.6, "e": 145.88}, {"w": "outlooks", "s": 145.88, "e": 146.38}, {"w": "in", "s": 146.38, "e": 146.46}, {"w": "January.", "s": 146.46, "e": 146.8}, {"w": "Earnings", "s": 147.36, "e": 147.64}, {"w": "in", "s": 147.64, "e": 147.8}, {"w": "February.", "s": 147.8, "e": 148.24}, {"w": "The", "s": 148.74, "e": 148.74}, {"w": "spring", "s": 148.74, "e": 148.9}, {"w": "and", "s": 148.9, "e": 149.12}, {"w": "fall", "s": 149.12, "e": 149.3}, {"w": "conference", "s": 149.3, "e": 149.68}, {"w": "seasons.", "s": 149.68, "e": 150.06}, {"w": "Year", "s": 150.72, "e": 150.76}, {"w": "end", "s": 150.76, "e": 151.0}, {"w": "roundups.", "s": 151.0, "e": 151.44}, {"w": "Publish", "s": 151.9, "e": 152.28}, {"w": "daily", "s": 152.28, "e": 152.46}, {"w": "and", "s": 152.46, "e": 152.76}, {"w": "spike", "s": 152.76, "e": 152.94}, {"w": "your", "s": 152.94, "e": 153.18}, {"w": "coverage", "s": 153.18, "e": 153.44}, {"w": "on", "s": 153.44, "e": 153.62}, {"w": "the", "s": 153.62, "e": 153.72}, {"w": "peaks.", "s": 153.72, "e": 153.84}, {"w": "Section", "s": 154.58, "e": 154.58}, {"w": "8.", "s": 154.58, "e": 154.94}, {"w": "Website", "s": 155.6, "e": 156.12}, {"w": "audit.", "s": 156.12, "e": 156.4}, {"w": "Website", "s": 157.08, "e": 157.2}, {"w": "audit.", "s": 157.2, "e": 157.68}, {"w": "A", "s": 158.42, "e": 158.46}, {"w": "1998", "s": 158.46, "e": 158.84}, {"w": "site", "s": 158.84, "e": 159.6}, {"w": "for", "s": 159.6, "e": 159.86}, {"w": "a", "s": 159.86, "e": 159.98}, {"w": "2026", "s": 159.98, "e": 160.66}, {"w": "audience.", "s": 160.66, "e": 161.34}, {"w": "The", "s": 161.34, "e": 161.84}, {"w": "live", "s": 161.84, "e": 162.06}, {"w": "audit", "s": 162.06, "e": 162.44}, {"w": "of", "s": 162.44, "e": 162.68}, {"w": "rentv", "s": 162.68, "e": 163.1}, {"w": ".com", "s": 163.1, "e": 163.84}, {"w": "finds", "s": 163.84, "e": 164.22}, {"w": "a", "s": 164.22, "e": 164.4}, {"w": "legacy", "s": 164.4, "e": 164.7}, {"w": "table", "s": 164.7, "e": 165.14}, {"w": "-based", "s": 165.14, "e": 165.48}, {"w": "layout", "s": 165.48, "e": 165.86}, {"w": "with", "s": 165.86, "e": 166.08}, {"w": "pop", "s": 166.08, "e": 166.28}, {"w": "-ups,", "s": 166.28, "e": 166.62}, {"w": "no", "s": 166.94, "e": 167.24}, {"w": "modern", "s": 167.24, "e": 167.48}, {"w": "hero,", "s": 167.48, "e": 167.86}, {"w": "no", "s": 168.24, "e": 168.34}, {"w": "mobile", "s": 168.34, "e": 168.66}, {"w": "responsiveness,", "s": 168.66, "e": 169.18}, {"w": "and", "s": 169.7, "e": 169.92}, {"w": "no", "s": 169.92, "e": 170.1}, {"w": "newsletter", "s": 170.1, "e": 170.5}, {"w": "capture", "s": 170.5, "e": 170.86}, {"w": "above", "s": 170.86, "e": 171.28}, {"w": "the", "s": 171.28, "e": 171.48}, {"w": "fold.", "s": 171.48, "e": 171.7}, {"w": "Brokers", "s": 172.22, "e": 172.52}, {"w": "read", "s": 172.52, "e": 172.74}, {"w": "on", "s": 172.74, "e": 172.9}, {"w": "phones", "s": 172.9, "e": 173.18}, {"w": "between", "s": 173.18, "e": 173.54}, {"w": "meetings.", "s": 173.54, "e": 173.86}, {"w": "That's", "s": 174.52, "e": 174.64}, {"w": "lost", "s": 174.64, "e": 174.8}, {"w": "readership", "s": 174.8, "e": 175.3}, {"w": "every", "s": 175.3, "e": 175.54}, {"w": "single", "s": 175.54, "e": 175.72}, {"w": "day.", "s": 175.72, "e": 176.06}, {"w": "Section", "s": 176.62, "e": 176.62}, {"w": "9.", "s": 176.62, "e": 177.1}, {"w": "Page", "s": 177.82, "e": 177.82}, {"w": "by", "s": 177.82, "e": 178.12}, {"w": "page.", "s": 178.12, "e": 178.36}, {"w": "Tear", "s": 179.1, "e": 179.6}, {"w": "down.", "s": 179.6, "e": 179.76}, {"w": "Page", "s": 180.24, "e": 180.34}, {"w": "by", "s": 180.34, "e": 180.64}, {"w": "page", "s": 180.64, "e": 180.92}, {"w": "tear", "s": 180.92, "e": 181.22}, {"w": "down.", "s": 181.22, "e": 181.52}, {"w": "Every", "s": 181.96, "e": 182.0}, {"w": "page", "s": 182.0, "e": 182.44}, {"w": "graded", "s": 182.44, "e": 182.88}, {"w": "with", "s": 182.88, "e": 183.42}, {"w": "the", "s": 183.42, "e": 183.6}, {"w": "fix.", "s": 183.6, "e": 183.76}, {"w": "We", "s": 184.5, "e": 184.52}, {"w": "captured", "s": 184.52, "e": 184.7}, {"w": "every", "s": 184.7, "e": 185.08}, {"w": "page", "s": 185.08, "e": 185.46}, {"w": "live", "s": 185.46, "e": 185.74}, {"w": "and", "s": 185.74, "e": 186.16}, {"w": "ran", "s": 186.16, "e": 186.32}, {"w": "an", "s": 186.32, "e": 186.52}, {"w": "adversarial", "s": 186.52, "e": 187.16}, {"w": "review.", "s": 187.16, "e": 187.4}, {"w": "The", "s": 187.4, "e": 187.96}, {"w": "headline", "s": 187.96, "e": 188.5}, {"w": "finding.", "s": 188.5, "e": 189.12}, {"w": "The", "s": 189.64, "e": 189.7}, {"w": "site", "s": 189.7, "e": 189.88}, {"w": "still", "s": 189.88, "e": 190.2}, {"w": "runs", "s": 190.2, "e": 190.56}, {"w": "universal", "s": 190.56, "e": 190.8}, {"w": "analytics,", "s": 190.8, "e": 191.42}, {"w": "which", "s": 192.06, "e": 192.28}, {"w": "Google", "s": 192.28, "e": 192.48}, {"w": "shut", "s": 192.48, "e": 192.82}, {"w": "off", "s": 192.82, "e": 193.02}, {"w": "in", "s": 193.02, "e": 193.18}, {"w": "2023.", "s": 193.18, "e": 193.96}, {"w": "So", "s": 194.36, "e": 194.5}, {"w": "there's", "s": 194.5, "e": 194.68}, {"w": "been", "s": 194.68, "e": 194.8}, {"w": "no", "s": 194.8, "e": 194.98}, {"w": "traffic", "s": 194.98, "e": 195.22}, {"w": "data", "s": 195.22, "e": 195.48}, {"w": "for", "s": 195.48, "e": 195.7}, {"w": "roughly", "s": 195.7, "e": 195.9}, {"w": "three", "s": 195.9, "e": 196.22}, {"w": "years.", "s": 196.22, "e": 196.56}, {"w": "Every", "s": 197.28, "e": 197.44}, {"w": "decision", "s": 197.44, "e": 197.78}, {"w": "is", "s": 197.78, "e": 198.04}, {"w": "being", "s": 198.04, "e": 198.22}, {"w": "made", "s": 198.22, "e": 198.44}, {"w": "blind.", "s": 198.44, "e": 198.7}, {"w": "Section", "s": 199.42, "e": 199.52}, {"w": "10.", "s": 199.52, "e": 200.0}, {"w": "Social", "s": 200.44, "e": 200.72}, {"w": "media", "s": 200.72, "e": 201.02}, {"w": "audit.", "s": 201.02, "e": 201.38}, {"w": "Social", "s": 201.8, "e": 201.84}, {"w": "media", "s": 201.84, "e": 202.16}, {"w": "audit.", "s": 202.16, "e": 202.52}, {"w": "Real", "s": 203.0, "e": 203.1}, {"w": "accounts.", "s": 203.1, "e": 203.4}, {"w": "Dormant", "s": 203.96, "e": 204.26}, {"w": "and", "s": 204.26, "e": 204.44}, {"w": "hidden.", "s": 204.44, "e": 204.66}, {"w": "RENTV", "s": 205.5, "e": 206.1}, {"w": "runs", "s": 206.1, "e": 206.48}, {"w": "a", "s": 206.48, "e": 206.64}, {"w": "real", "s": 206.64, "e": 206.86}, {"w": "email", "s": 206.86, "e": 207.18}, {"w": "operation", "s": 207.18, "e": 207.72}, {"w": "and", "s": 207.72, "e": 208.0}, {"w": "produces", "s": 208.0, "e": 208.26}, {"w": "a", "s": 208.26, "e": 208.58}, {"w": "real", "s": 208.58, "e": 208.82}, {"w": "video", "s": 208.82, "e": 209.1}, {"w": "show.", "s": 209.1, "e": 209.52}, {"w": "Yet", "s": 210.16, "e": 210.16}, {"w": "the", "s": 210.16, "e": 210.32}, {"w": "LinkedIn", "s": 210.32, "e": 210.5}, {"w": "page", "s": 210.5, "e": 210.94}, {"w": "with", "s": 210.94, "e": 211.14}, {"w": "818", "s": 211.14, "e": 211.7}, {"w": "followers", "s": 211.7, "e": 212.64}, {"w": "sits", "s": 212.64, "e": 212.98}, {"w": "idle.", "s": 212.98, "e": 213.3}, {"w": "Nothing", "s": 213.88, "e": 214.12}, {"w": "links", "s": 214.12, "e": 214.3}, {"w": "from", "s": 214.3, "e": 214.56}, {"w": "the", "s": 214.56, "e": 214.66}, {"w": "site.", "s": 214.66, "e": 214.9}, {"w": "There's", "s": 214.9, "e": 215.62}, {"w": "no", "s": 215.62, "e": 215.76}, {"w": "X", "s": 215.76, "e": 216.02}, {"w": "or", "s": 216.02, "e": 216.4}, {"w": "Instagram", "s": 216.4, "e": 216.88}, {"w": "and", "s": 216.88, "e": 217.36}, {"w": "zero", "s": 217.36, "e": 217.68}, {"w": "paid", "s": 217.68, "e": 218.04}, {"w": "distribution.", "s": 218.04, "e": 218.44}, {"w": "The", "s": 219.2, "e": 219.26}, {"w": "content", "s": 219.26, "e": 219.56}, {"w": "engine", "s": 219.56, "e": 219.9}, {"w": "exists.", "s": 219.9, "e": 220.28}, {"w": "The", "s": 220.88, "e": 220.9}, {"w": "distribution", "s": 220.9, "e": 221.14}, {"w": "engine", "s": 221.14, "e": 221.62}, {"w": "was", "s": 221.62, "e": 221.82}, {"w": "never", "s": 221.82, "e": 222.04}, {"w": "plugged", "s": 222.04, "e": 222.32}, {"w": "in.", "s": 222.32, "e": 222.6}, {"w": "Section", "s": 223.0, "e": 223.12}, {"w": "11", "s": 223.12, "e": 223.52}, {"w": "suggested", "s": 223.52, "e": 223.98}, {"w": "new", "s": 223.98, "e": 224.3}, {"w": "websites,", "s": 224.3, "e": 224.6}, {"w": "suggested", "s": 224.8, "e": 225.24}, {"w": "new", "s": 225.24, "e": 225.54}, {"w": "websites,", "s": 225.54, "e": 225.88}, {"w": "six", "s": 226.32, "e": 226.58}, {"w": "directions,", "s": 226.58, "e": 226.96}, {"w": "each", "s": 227.42, "e": 227.52}, {"w": "modeled", "s": 227.52, "e": 227.82}, {"w": "on", "s": 227.82, "e": 228.06}, {"w": "a", "s": 228.06, "e": 228.16}, {"w": "CRE", "s": 228.16, "e": 228.42}, {"w": "news", "s": 228.42, "e": 228.92}, {"w": "leader,", "s": 228.92, "e": 229.3}, {"w": "the", "s": 229.68, "e": 229.78}, {"w": "wire", "s": 229.78, "e": 230.0}, {"w": "after", "s": 230.0, "e": 230.32}, {"w": "the", "s": 230.32, "e": 230.5}, {"w": "real", "s": 230.5, "e": 230.68}, {"w": "deal,", "s": 230.68, "e": 230.94}, {"w": "dispatch", "s": 231.46, "e": 231.76}, {"w": "after", "s": 231.76, "e": 232.26}, {"w": "biz", "s": 232.26, "e": 232.48}, {"w": "know,", "s": 232.48, "e": 232.68}, {"w": "the", "s": 233.12, "e": 233.28}, {"w": "observer", "s": 233.28, "e": 233.58}, {"w": "after", "s": 233.58, "e": 233.9}, {"w": "commercial", "s": 233.9, "e": 234.18}, {"w": "observer,", "s": 234.18, "e": 234.68}, {"w": "and", "s": 235.04, "e": 235.2}, {"w": "more.", "s": 235.2, "e": 235.44}, {"w": "Each", "s": 236.28, "e": 236.44}, {"w": "one", "s": 236.44, "e": 236.66}, {"w": "opens", "s": 236.66, "e": 236.88}, {"w": "as", "s": 236.88, "e": 237.14}, {"w": "a", "s": 237.14, "e": 237.22}, {"w": "working", "s": 237.22, "e": 237.5}, {"w": "mobile", "s": 237.5, "e": 238.0}, {"w": "first", "s": 238.0, "e": 238.4}, {"w": "front", "s": 238.4, "e": 238.76}, {"w": "page", "s": 238.76, "e": 239.0}, {"w": "concept", "s": 239.0, "e": 239.46}, {"w": "with", "s": 239.46, "e": 239.84}, {"w": "real", "s": 239.84, "e": 240.08}, {"w": "layout", "s": 240.08, "e": 240.44}, {"w": "and", "s": 240.44, "e": 240.76}, {"w": "motion.", "s": 240.76, "e": 240.94}, {"w": "Pick", "s": 241.56, "e": 241.66}, {"w": "a", "s": 241.66, "e": 241.96}, {"w": "correction", "s": 241.96, "e": 242.16}, {"w": "and", "s": 242.16, "e": 242.44}, {"w": "we", "s": 242.44, "e": 242.58}, {"w": "build", "s": 242.58, "e": 242.82}, {"w": "it", "s": 242.82, "e": 242.96}, {"w": "out.", "s": 242.96, "e": 243.12}, {"w": "Section", "s": 243.48, "e": 243.54}, {"w": "12.", "s": 243.54, "e": 243.96}, {"w": "Unlikely", "s": 244.72, "e": 245.28}, {"w": "partners.", "s": 245.28, "e": 245.5}, {"w": "Unlikely", "s": 246.9, "e": 247.46}, {"w": "partners.", "s": 247.46, "e": 247.7}, {"w": "Ten", "s": 248.76, "e": 249.32}, {"w": "referral", "s": 249.32, "e": 249.52}, {"w": "engines", "s": 249.52, "e": 250.0}, {"w": "hiding", "s": 250.0, "e": 250.34}, {"w": "in", "s": 250.34, "e": 250.56}, {"w": "the", "s": 250.56, "e": 250.66}, {"w": "industry.", "s": 250.66, "e": 251.06}, {"w": "The", "s": 251.78, "e": 251.88}, {"w": "major", "s": 251.88, "e": 252.1}, {"w": "brokerages.", "s": 252.1, "e": 252.9}, {"w": "CRE", "s": 253.24, "e": 253.68}, {"w": "associations", "s": 253.68, "e": 254.4}, {"w": "like", "s": 254.4, "e": 254.96}, {"w": "N", "s": 254.96, "e": 255.22}, {"w": "-A", "s": 255.22, "e": 255.4}, {"w": "-I", "s": 255.4, "e": 255.68}, {"w": "-O", "s": 255.68, "e": 255.82}, {"w": "-P", "s": 255.82, "e": 256.04}, {"w": "and", "s": 256.04, "e": 256.28}, {"w": "U", "s": 256.28, "e": 256.42}, {"w": "-L", "s": 256.42, "e": 256.64}, {"w": "-I.", "s": 256.64, "e": 256.96}, {"w": "Data", "s": 257.38, "e": 257.48}, {"w": "providers,", "s": 257.48, "e": 257.74}, {"w": "law", "s": 258.16, "e": 258.24}, {"w": "and", "s": 258.24, "e": 258.4}, {"w": "finance", "s": 258.4, "e": 258.7}, {"w": "firms,", "s": 258.7, "e": 259.06}, {"w": "conference", "s": 259.54, "e": 259.82}, {"w": "operators,", "s": 259.82, "e": 260.36}, {"w": "prop", "s": 260.96, "e": 261.08}, {"w": "tech", "s": 261.08, "e": 261.32}, {"w": "startups,", "s": 261.32, "e": 261.6}, {"w": "universities,", "s": 262.24, "e": 262.46}, {"w": "and", "s": 263.4, "e": 263.44}, {"w": "the", "s": 263.44, "e": 263.54}, {"w": "listing", "s": 263.54, "e": 263.78}, {"w": "platforms.", "s": 263.78, "e": 264.18}, {"w": "Your", "s": 264.94, "e": 264.96}, {"w": "readers", "s": 264.96, "e": 265.16}, {"w": "and", "s": 265.16, "e": 265.42}, {"w": "sponsors", "s": 265.42, "e": 265.7}, {"w": "already", "s": 265.7, "e": 266.22}, {"w": "sit", "s": 266.22, "e": 266.54}, {"w": "inside", "s": 266.54, "e": 266.72}, {"w": "these", "s": 266.72, "e": 267.08}, {"w": "organizations.", "s": 267.08, "e": 267.42}, {"w": "Content", "s": 268.32, "e": 268.38}, {"w": "and", "s": 268.38, "e": 268.72}, {"w": "data", "s": 268.72, "e": 268.92}, {"w": "swaps", "s": 268.92, "e": 269.28}, {"w": "turn", "s": 269.28, "e": 269.6}, {"w": "them", "s": 269.6, "e": 269.78}, {"w": "into", "s": 269.78, "e": 269.98}, {"w": "a", "s": 269.98, "e": 270.1}, {"w": "low", "s": 270.1, "e": 270.26}, {"w": "cost", "s": 270.26, "e": 270.56}, {"w": "pipeline.", "s": 270.56, "e": 270.88}, {"w": "Section", "s": 271.26, "e": 271.58}, {"w": "13.", "s": 271.58, "e": 272.32}, {"w": "Unlikely", "s": 273.38, "e": 274.02}, {"w": "revenue.", "s": 274.02, "e": 274.2}, {"w": "Unlikely", "s": 275.2, "e": 275.84}, {"w": "revenue", "s": 275.84, "e": 276.08}, {"w": "streams.", "s": 276.08, "e": 276.48}, {"w": "The", "s": 277.58, "e": 277.78}, {"w": "audience", "s": 277.78, "e": 278.1}, {"w": "is", "s": 278.1, "e": 278.42}, {"w": "the", "s": 278.42, "e": 278.56}, {"w": "asset", "s": 278.56, "e": 278.86}, {"w": "and", "s": 278.86, "e": 279.56}, {"w": "it", "s": 279.56, "e": 279.66}, {"w": "can", "s": 279.66, "e": 279.82}, {"w": "earn", "s": 279.82, "e": 280.1}, {"w": "eight", "s": 280.1, "e": 280.54}, {"w": "ways.", "s": 280.54, "e": 281.12}, {"w": "Premium", "s": 281.58, "e": 281.88}, {"w": "subscriptions,", "s": 281.88, "e": 282.56}, {"w": "expanded", "s": 283.1, "e": 283.44}, {"w": "conferences,", "s": 283.44, "e": 284.1}, {"w": "sponsored", "s": 284.72, "e": 285.0}, {"w": "content,", "s": 285.0, "e": 285.52}, {"w": "newsletter", "s": 286.06, "e": 286.36}, {"w": "sponsorships,", "s": 286.36, "e": 287.2}, {"w": "data", "s": 287.52, "e": 287.8}, {"w": "and", "s": 287.8, "e": 288.08}, {"w": "market", "s": 288.08, "e": 288.32}, {"w": "reports,", "s": 288.32, "e": 288.7}, {"w": "a", "s": 289.24, "e": 289.3}, {"w": "CRE", "s": 289.3, "e": 289.6}, {"w": "job", "s": 289.6, "e": 290.22}, {"w": "board,", "s": 290.22, "e": 290.54}, {"w": "webinars,", "s": 290.84, "e": 291.3}, {"w": "and", "s": 291.78, "e": 291.92}, {"w": "video", "s": 291.92, "e": 292.2}, {"w": "sponsorships.", "s": 292.2, "e": 292.96}, {"w": "News", "s": 293.72, "e": 294.04}, {"w": "is", "s": 294.04, "e": 294.22}, {"w": "the", "s": 294.22, "e": 294.38}, {"w": "draw,", "s": 294.38, "e": 294.56}, {"w": "the", "s": 294.96, "e": 295.24}, {"w": "brand,", "s": 295.24, "e": 295.44}, {"w": "the", "s": 295.84, "e": 295.94}, {"w": "list,", "s": 295.94, "e": 296.1}, {"w": "and", "s": 296.42, "e": 296.44}, {"w": "the", "s": 296.44, "e": 296.56}, {"w": "events", "s": 296.56, "e": 296.78}, {"w": "each", "s": 296.78, "e": 297.0}, {"w": "throw", "s": 297.0, "e": 297.34}, {"w": "off", "s": 297.34, "e": 297.56}, {"w": "high", "s": 297.56, "e": 297.78}, {"w": "margin", "s": 297.78, "e": 298.18}, {"w": "recurring", "s": 298.18, "e": 298.4}, {"w": "revenue.", "s": 298.4, "e": 298.96}, {"w": "Section", "s": 298.96, "e": 299.5}, {"w": "14.", "s": 299.5, "e": 299.88}, {"w": "Video", "s": 300.42, "e": 300.74}, {"w": "and", "s": 300.74, "e": 300.92}, {"w": "brand", "s": 300.92, "e": 301.08}, {"w": "films.", "s": 301.08, "e": 301.36}, {"w": "Video", "s": 301.58, "e": 301.74}, {"w": "and", "s": 301.74, "e": 301.92}, {"w": "brand", "s": 301.92, "e": 302.1}, {"w": "films.", "s": 302.1, "e": 302.38}, {"w": "You", "s": 302.8, "e": 302.86}, {"w": "already", "s": 302.86, "e": 303.04}, {"w": "make", "s": 303.04, "e": 303.32}, {"w": "video.", "s": 303.32, "e": 303.56}, {"w": "Now", "s": 304.06, "e": 304.16}, {"w": "package", "s": 304.16, "e": 304.46}, {"w": "it", "s": 304.46, "e": 304.64}, {"w": "to", "s": 304.64, "e": 304.76}, {"w": "sell.", "s": 304.76, "e": 304.96}, {"w": "CRE", "s": 305.86, "e": 305.86}, {"w": "talk", "s": 305.86, "e": 306.42}, {"w": "with", "s": 306.42, "e": 306.68}, {"w": "Steven", "s": 306.68, "e": 306.98}, {"w": "Arnie", "s": 306.98, "e": 307.4}, {"w": "is", "s": 307.4, "e": 307.6}, {"w": "a", "s": 307.6, "e": 307.68}, {"w": "sponsored", "s": 307.68, "e": 308.02}, {"w": "content", "s": 308.02, "e": 308.36}, {"w": "library", "s": 308.36, "e": 308.82}, {"w": "most", "s": 308.82, "e": 309.34}, {"w": "outlets", "s": 309.34, "e": 309.8}, {"w": "would", "s": 309.8, "e": 310.04}, {"w": "kill", "s": 310.04, "e": 310.24}, {"w": "for.", "s": 310.24, "e": 310.58}, {"w": "Standardize", "s": 311.18, "e": 311.72}, {"w": "it", "s": 311.72, "e": 311.9}, {"w": "into", "s": 311.9, "e": 312.02}, {"w": "short", "s": 312.02, "e": 312.34}, {"w": "mobile", "s": 312.34, "e": 312.66}, {"w": "first", "s": 312.66, "e": 312.96}, {"w": "formats,", "s": 312.96, "e": 313.44}, {"w": "deal", "s": 313.94, "e": 314.02}, {"w": "of", "s": 314.02, "e": 314.22}, {"w": "the", "s": 314.22, "e": 314.34}, {"w": "week,", "s": 314.34, "e": 314.52}, {"w": "market", "s": 314.9, "e": 315.12}, {"w": "minute,", "s": 315.12, "e": 315.42}, {"w": "conference", "s": 315.84, "e": 316.22}, {"w": "recap,", "s": 316.22, "e": 316.6}, {"w": "you", "s": 317.2, "e": 317.2}, {"w": "know,", "s": 317.2, "e": 317.3}, {"w": "mochiahumwahum.", "s": 317.44, "e": 318.36}, {"w": "And", "s": 318.7, "e": 318.84}, {"w": "add", "s": 318.84, "e": 319.02}, {"w": "a", "s": 319.02, "e": 319.12}, {"w": "presenter", "s": 319.12, "e": 319.34}, {"w": "led", "s": 319.34, "e": 319.72}, {"w": "brand", "s": 319.72, "e": 319.98}, {"w": "film", "s": 319.98, "e": 320.26}, {"w": "over", "s": 320.26, "e": 320.5}, {"w": "your", "s": 320.5, "e": 320.7}, {"w": "own", "s": 320.7, "e": 320.88}, {"w": "footage.", "s": 320.88, "e": 321.08}, {"w": "Section", "s": 321.62, "e": 321.62}, {"w": "15.", "s": 321.62, "e": 322.16}, {"w": "Live", "s": 322.94, "e": 323.08}, {"w": "deal", "s": 323.08, "e": 323.32}, {"w": "desk,", "s": 323.32, "e": 323.6}, {"w": "the", "s": 324.18, "e": 324.26}, {"w": "live", "s": 324.26, "e": 324.44}, {"w": "deal", "s": 324.44, "e": 324.74}, {"w": "desk.", "s": 324.74, "e": 325.1}, {"w": "This", "s": 325.8, "e": 326.04}, {"w": "isn't", "s": 326.04, "e": 326.34}, {"w": "a", "s": 326.34, "e": 326.42}, {"w": "mock", "s": 326.42, "e": 326.6}, {"w": "up.", "s": 326.6, "e": 326.82}, {"w": "It's", "s": 327.08, "e": 327.44}, {"w": "a", "s": 327.44, "e": 327.5}, {"w": "working", "s": 327.5, "e": 327.68}, {"w": "demo", "s": 327.68, "e": 328.18}, {"w": "on", "s": 328.18, "e": 328.38}, {"w": "real", "s": 328.38, "e": 328.56}, {"w": "Los", "s": 328.56, "e": 328.84}, {"w": "Angeles", "s": 328.84, "e": 329.16}, {"w": "listings", "s": 329.16, "e": 329.64}, {"w": "with", "s": 329.64, "e": 329.96}, {"w": "real", "s": 329.96, "e": 330.14}, {"w": "cap", "s": 330.14, "e": 330.44}, {"w": "rates.", "s": 330.44, "e": 330.72}, {"w": "A", "s": 331.62, "e": 331.7}, {"w": "transparent", "s": 331.7, "e": 332.04}, {"w": "zero", "s": 332.04, "e": 332.52}, {"w": "to", "s": 332.52, "e": 332.76}, {"w": "100", "s": 332.76, "e": 333.1}, {"w": "deal", "s": 333.1, "e": 333.4}, {"w": "score,", "s": 333.4, "e": 333.74}, {"w": "a", "s": 334.24, "e": 334.34}, {"w": "clustered", "s": 334.34, "e": 334.64}, {"w": "map,", "s": 334.64, "e": 334.92}, {"w": "and", "s": 335.36, "e": 335.58}, {"w": "real", "s": 335.58, "e": 335.78}, {"w": "census", "s": 335.78, "e": 336.24}, {"w": "market", "s": 336.24, "e": 336.62}, {"w": "data.", "s": 336.62, "e": 336.96}, {"w": "A", "s": 337.96, "e": 338.1}, {"w": "modernized", "s": 338.1, "e": 338.82}, {"w": "R", "s": 338.82, "e": 339.06}, {"w": "-E", "s": 339.06, "e": 339.32}, {"w": "-N", "s": 339.32, "e": 339.6}, {"w": "-T", "s": 339.6, "e": 339.86}, {"w": "-V", "s": 339.86, "e": 340.16}, {"w": "pairs", "s": 340.16, "e": 340.52}, {"w": "your", "s": 340.52, "e": 340.74}, {"w": "deal", "s": 340.74, "e": 340.92}, {"w": "reporting", "s": 340.92, "e": 341.32}, {"w": "with", "s": 341.32, "e": 341.54}, {"w": "live", "s": 341.54, "e": 341.78}, {"w": "deal", "s": 341.78, "e": 342.06}, {"w": "data.", "s": 342.06, "e": 342.44}, {"w": "The", "s": 343.3, "e": 343.52}, {"w": "product", "s": 343.52, "e": 343.8}, {"w": "wedged", "s": 343.8, "e": 344.22}, {"w": "none", "s": 344.22, "e": 344.38}, {"w": "of", "s": 344.38, "e": 344.56}, {"w": "the", "s": 344.56, "e": 344.64}, {"w": "news", "s": 344.64, "e": 344.78}, {"w": "competitors", "s": 344.78, "e": 345.18}, {"w": "ship", "s": 345.18, "e": 345.58}, {"w": "regionally.", "s": 345.58, "e": 346.12}, {"w": "Section", "s": 347.1, "e": 347.46}, {"w": "16.", "s": 347.46, "e": 348.0}, {"w": "The", "s": 348.62, "e": 348.64}, {"w": "90", "s": 348.64, "e": 348.84}, {"w": "day", "s": 348.84, "e": 349.06}, {"w": "road", "s": 349.06, "e": 349.28}, {"w": "map,", "s": 349.28, "e": 349.52}, {"w": "the", "s": 349.82, "e": 349.9}, {"w": "90", "s": 349.9, "e": 350.08}, {"w": "day", "s": 350.08, "e": 350.34}, {"w": "road", "s": 350.34, "e": 350.54}, {"w": "map,", "s": 350.54, "e": 350.76}, {"w": "what", "s": 351.14, "e": 351.24}, {"w": "to", "s": 351.24, "e": 351.4}, {"w": "do", "s": 351.4, "e": 351.54}, {"w": "in", "s": 351.54, "e": 351.84}, {"w": "order.", "s": 351.84, "e": 352.02}, {"w": "Weeks", "s": 352.78, "e": 352.84}, {"w": "one", "s": 352.84, "e": 353.18}, {"w": "and", "s": 353.18, "e": 353.38}, {"w": "two.", "s": 353.38, "e": 353.6}, {"w": "Cross", "s": 354.16, "e": 354.38}, {"w": "link", "s": 354.38, "e": 354.66}, {"w": "the", "s": 354.66, "e": 354.84}, {"w": "empire,", "s": 354.84, "e": 355.06}, {"w": "wire", "s": 355.52, "e": 355.78}, {"w": "up", "s": 355.78, "e": 355.96}, {"w": "social,", "s": 355.96, "e": 356.18}, {"w": "and", "s": 356.62, "e": 356.66}, {"w": "put", "s": 356.66, "e": 356.82}, {"w": "a", "s": 356.82, "e": 356.92}, {"w": "newsletter", "s": 356.92, "e": 357.12}, {"w": "capture", "s": 357.12, "e": 357.56}, {"w": "on", "s": 357.56, "e": 357.92}, {"w": "every", "s": 357.92, "e": 358.1}, {"w": "page.", "s": 358.1, "e": 358.5}, {"w": "Weeks", "s": 359.74, "e": 359.94}, {"w": "three", "s": 359.94, "e": 360.22}, {"w": "to", "s": 360.22, "e": 360.34}, {"w": "six.", "s": 360.34, "e": 360.62}, {"w": "Ship", "s": 361.1, "e": 361.14}, {"w": "the", "s": 361.14, "e": 361.32}, {"w": "mobile", "s": 361.32, "e": 361.48}, {"w": "first", "s": 361.48, "e": 361.78}, {"w": "front", "s": 361.78, "e": 362.0}, {"w": "page", "s": 362.0, "e": 362.26}, {"w": "and", "s": 362.26, "e": 362.72}, {"w": "launch", "s": 362.72, "e": 362.88}, {"w": "the", "s": 362.88, "e": 363.1}, {"w": "free", "s": 363.1, "e": 363.32}, {"w": "R", "s": 363.32, "e": 363.54}, {"w": "-E", "s": 363.54, "e": 363.54}, {"w": "-N", "s": 363.54, "e": 363.62}, {"w": "-T", "s": 363.62, "e": 363.78}, {"w": "-V", "s": 363.78, "e": 363.9}, {"w": "daily", "s": 363.9, "e": 364.04}, {"w": "newsletter.", "s": 364.04, "e": 364.42}, {"w": "Weeks", "s": 365.3, "e": 365.36}, {"w": "six", "s": 365.36, "e": 365.68}, {"w": "to", "s": 365.68, "e": 365.88}, {"w": "ten.", "s": 365.88, "e": 366.1}, {"w": "Open", "s": 366.66, "e": 366.84}, {"w": "sponsor", "s": 366.84, "e": 367.08}, {"w": "packages", "s": 367.08, "e": 367.64}, {"w": "and", "s": 367.64, "e": 367.92}, {"w": "sign", "s": 367.92, "e": 368.1}, {"w": "your", "s": 368.1, "e": 368.28}, {"w": "first", "s": 368.28, "e": 368.5}, {"w": "partner", "s": 368.5, "e": 368.86}, {"w": "swaps.", "s": 368.86, "e": 369.06}, {"w": "That", "s": 370.16, "e": 370.26}, {"w": "is", "s": 370.26, "e": 370.38}, {"w": "the", "s": 370.38, "e": 370.5}, {"w": "complete", "s": 370.5, "e": 370.78}, {"w": "road", "s": 370.78, "e": 371.06}, {"w": "map", "s": 371.06, "e": 371.28}, {"w": "for", "s": 371.28, "e": 371.54}, {"w": "R", "s": 371.54, "e": 371.66}, {"w": "-E", "s": 371.66, "e": 371.68}, {"w": "-N", "s": 371.68, "e": 371.72}, {"w": "-T", "s": 371.72, "e": 371.84}, {"w": "-V.", "s": 371.84, "e": 372.0}, {"w": "That's", "s": 372.54, "e": 372.84}, {"w": "the", "s": 372.84, "e": 372.96}, {"w": "plan.", "s": 372.96, "e": 373.14}]
\ No newline at end of file

← 7fe9ea2 rentv videos: generate the 3 missing tile films (advertising  ·  back to Consulting Rentv Com  ·  RENTV audit walkthrough video: portal screen-capture + Steve 35e7e99 →