1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Wild News Beyond the Headlines, CNN's Future & Elon Musk's Next Move - NewVideos.com</title> 7 <meta name="description" content="Dan returns to "I Allegedly Live" with a no-holds-barred look at the alleged Trump assassination attempt, questioning media narratives and highlighting the suspicious death of Jim Capenhover. He sharply criticizes the press, particularly CNN, for their biased coverage and curious reporting details surrounding the incident. 8 9But the big news might be CNN's future! Dan uncovers a groundbreaking potential development: Larry and David Ellison are reportedly seeking Elon Musk's investment in a major merger that could give Elon partial ownership of CNN. This episode also features a critical take on foreign reporters during Xi Jinping's recent visit."> 10 <meta property="og:title" content="Wild News Beyond the Headlines, CNN's Future & Elon Musk's Next Move"> 11 <meta property="og:description" content="Dan returns to "I Allegedly Live" with a no-holds-barred look at the alleged Trump assassination attempt, questioning media narratives and highlighting the suspicious death of Jim Capenhover. He sharply criticizes the press, particularly CNN, for their biased coverage and curious reporting details surrounding the incident. 12 13But the big news might be CNN's future! Dan uncovers a groundbreaking potential development: Larry and David Ellison are reportedly seeking Elon Musk's investment in a major merger that could give Elon partial ownership of CNN. This episode also features a critical take on foreign reporters during Xi Jinping's recent visit."> 14 <meta property="og:image" content="https://f000.backblazeb2.com/file/newvideos1/videos/vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3/thumbnails/thumb_01_640.jpg"> 15 <meta property="og:type" content="video.other"> 16
16<script src="https://cdn.jsdelivr.net/npm/hls.js@1"></script>
16<script src="https://cdn.jsdelivr.net/npm/mux-embed@5"></script>
16 17 <style id="pageStyles"> 18 * { margin: 0; padding: 0; box-sizing: border-box; } 19 body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0a0a0a; color: #fff; min-height: 100vh; } 20 .site-header { position: sticky; top: 0; z-index: 100; } 21 main { margin: 0 auto; } 22 .page-layout { display: grid; grid-template-columns: 1fr 350px; gap: 2rem; max-width: 1400px; margin: 0 auto; padding: 2rem; } 23 .player-container { position: relative; width: 100%; background: #000; border-radius: 12px; overflow: hidden; margin-bottom: 1.5rem; } 24 .sidebar { display: flex; flex-direction: column; gap: 0.5rem; } 25 .sidebar h2 { font-size: 1rem; font-weight: 600; margin-bottom: 0.25rem; } 26 .related-card { display: flex; gap: 0.75rem; text-decoration: none; color: inherit; padding: 0.5rem; border-radius: 8px; transition: background 0.2s; } 27 .related-card:hover { background: #1a1a1a; } 28 .related-thumb { width: 168px; min-width: 168px; aspect-ratio: 16/9; border-radius: 6px; overflow: hidden; background: #222; } 29 .related-thumb img { width: 100%; height: 100%; object-fit: cover; } 30 .related-info { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; } 31 .related-info h3 { font-size: 0.85rem; font-weight: 500; line-height: 1.3; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 32 .related-meta { font-size: 0.75rem; color: #888; } 33 .video-info h1 { font-size: 1.5rem; margin-bottom: 0.5rem; } 34 .meta { color: #888; font-size: 0.875rem; margin-bottom: 1rem; display: flex; gap: 1rem; } 35 .description { color: #ccc; line-height: 1.6; } 36 37 /* Share button */ 38 .share-btn { display: inline-flex; align-items: center; gap: 8px; background: #3b82f6; color: #fff; border: none; padding: 10px 20px; border-radius: 8px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 0.2s; margin-bottom: 1rem; } 39 .share-btn:hover { background: #2563eb; } 40 .share-btn svg { width: 18px; height: 18px; } 41 42 /* Share modal */ 43 .share-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); display: none; align-items: center; justify-content: center; z-index: 100; } 44 .share-modal-overlay.open { display: flex; } 45 .share-modal { background: #1a1a1a; border: 1px solid #333; border-radius: 12px; padding: 24px; width: 90%; max-width: 400px; } 46 .share-modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; } 47 .share-modal-header h3 { font-size: 1.25rem; margin: 0; } 48 .share-modal-close { background: none; border: none; color: #888; cursor: pointer; padding: 4px; } 49 .share-modal-close:hover { color: #fff; } 50 .share-modal-close svg { width: 24px; height: 24px; } 51 .share-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } 52 .share-option { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 8px; background: #222; border: 1px solid #333; border-radius: 8px; cursor: pointer; transition: background 0.2s, border-color 0.2s; text-decoration: none; color: inherit; } 53 .share-option:hover { background: #2a2a2a; border-color: #444; } 54 .share-option svg { width: 28px; height: 28px; } 55 .share-option span { font-size: 0.75rem; color: #ccc; } 56 .share-option.facebook svg { color: #1877f2; } 57 .share-option.x svg { color: #fff; } 58 .share-option.truth svg { color: #5448ee; } 59 .share-option.copy svg { color: #10b981; } 60 .share-option.email svg { color: #f59e0b; } 61 .share-option.sms svg { color: #06b6d4; } 62 .copy-feedback { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: #10b981; color: #fff; padding: 12px 24px; border-radius: 8px; font-size: 0.9rem; display: none; z-index: 200; } 63 .copy-feedback.show { display: block; } 64 65 /* Transcript section */ 66 .transcript-section { margin-top: 2rem; padding: 1.5rem; background: #111; border: 1px solid #222; border-radius: 12px; } 67 .transcript-header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; cursor: pointer; } 68 .transcript-header h2 { font-size: 1rem; font-weight: 600; margin: 0; }
69 .transcript-header svg { width: 20px; height: 20px; color: #888; transition: transform 0.2s; } 70 .transcript-header.open svg { transform: rotate(180deg); } 71 .transcript-content { max-height: 300px; overflow-y: auto; color: #ccc; line-height: 1.8; font-size: 0.9rem; white-space: pre-wrap; } 72 .transcript-content::-webkit-scrollbar { width: 6px; } 73 .transcript-content::-webkit-scrollbar-track { background: #1a1a1a; border-radius: 3px; } 74 .transcript-content::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; } 75 .transcript-content::-webkit-scrollbar-thumb:hover { background: #444; } 76 .no-transcript { color: #666; font-style: italic; } 77 78 /* Subscribe form */ 79 .subscribe-section { margin-top: 1.5rem; padding: 1.25rem 1.5rem; background: #111; border: 1px solid #222; border-radius: 12px; } 80 .subscribe-header { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 0.75rem; } 81 .subscribe-icon { width: 48px; height: 48px; min-width: 48px; color: #60a5fa; flex-shrink: 0; margin-top: 2px; } 82 .subscribe-header p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #ccc; } 83 .subscribe-section h3 { font-size: 1rem; font-weight: 600; margin: 0 0 0.75rem 0; } 84 .subscribe-section form { display: flex; gap: 0.5rem; } 85 .subscribe-section input[type="email"] { flex: 1; padding: 0.6rem 1rem; background: #1a1a1a; border: 1px solid #333; border-radius: 8px; color: #fff; font-size: 0.9rem; outline: none; transition: border-color 0.2s; } 86 .subscribe-section input[type="email"]::placeholder { color: #666; } 87 .subscribe-section input[type="email"]:focus { border-color: #3b82f6; } 88 .subscribe-section button[type="submit"] { padding: 0.6rem 1.5rem; background: #3b82f6; color: #fff; border: none; border-radius: 8px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 0.2s; white-space: nowrap; } 89 .subscribe-section button[type="submit"]:hover { background: #2563eb; } 90 .subscribe-section button[type="submit"]:disabled { background: #555; cursor: not-allowed; } 91 .subscribe-msg { margin-top: 0.5rem; font-size: 0.85rem; } 92 .subscribe-msg.success { color: #10b981; } 93 .subscribe-msg.error { color: #f87171; } 94 95 @media (max-width: 900px) { .page-layout { grid-template-columns: 1fr; } .sidebar { margin-top: 1.5rem; } .related-thumb { width: 140px; min-width: 140px; } } 96 @media (max-width: 640px) { .page-layout { padding: 1rem; } .share-options { grid-template-columns: repeat(2, 1fr); } .transcript-section { padding: 1rem; } .subscribe-section form { flex-direction: column; } .ask-ai-form { flex-direction: column; } } 97 .site-header { background: #fff; padding: 8px 16px; border-bottom: 1px solid #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } 98html.light .site-header { background: #fff; border-bottom-color: #e0e0e0; } 99.site-header-inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; } 100.site-header-left { display: flex; align-items: center; } 101.site-header-left a { display: inline-flex; align-items: center; gap: 8px; color: #222; text-decoration: none; font-size: 15px; font-weight: 700; } 102.site-header-right { display: flex; align-items: center; } 103 104 /* Ask AI section */ 105 .ask-ai-section { margin-bottom: 1.5rem; padding: 1.25rem 1.5rem; background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%); border: 1px solid #312e81; border-radius: 12px; } 106 .ask-ai-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; } 107 .ask-ai-header svg { width: 24px; height: 24px; color: #818cf8; flex-shrink: 0; } 108 .ask-ai-header h3 { font-size: 0.95rem; font-weight: 600; margin: 0; color: #e0e7ff; } 109 .ask-ai-form { display: flex; gap: 0.5rem; } 110 .ask-ai-form input { flex: 1; padding: 0.6rem 1rem; background: #1e1b4b; border: 1px solid #3730a3; border-radius: 8px; color: #fff; font-size: 0.9rem; outline: none; transition: border-color 0.2s; } 111 .ask-ai-form input::placeholder { color: #6366f1; } 112 .ask-ai-form input:focus { border-color: #818cf8; } 113 .ask-ai-form button { padding: 0.6rem 1.25rem; background: #6366f1; color: #fff; border: none; border-radius: 8px; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: background 0.2s; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; } 114 .ask-ai-form button:hover { background: #4f46e5; } 115 .ask-ai-form button:disabled { background: #3730a3;
115 cursor: not-allowed; } 116 .ask-ai-form button svg { width: 16px; height: 16px; } 117 .ask-ai-response { margin-top: 1rem; padding: 1rem; background: rgba(99,102,241,0.08); border: 1px solid #312e81; border-radius: 8px; display: none; } 118 .ask-ai-response.visible { display: block; } 119 .ask-ai-response-label { font-size: 0.75rem; color: #818cf8; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 6px; } 120 .ask-ai-response-label .ai-dot { width: 6px; height: 6px; border-radius: 50%; background: #818cf8; } 121 .ask-ai-response-label .ai-dot.streaming { animation: aiPulse 1s infinite; } 122 @keyframes aiPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } } 123 .ask-ai-answer { color: #d1d5db; line-height: 1.7; font-size: 0.9rem; word-wrap: break-word; } 124 .ask-ai-answer strong, .ask-ai-answer b { color: #e0e7ff; font-weight: 600; } 125 .ask-ai-answer h1 { font-size: 1.3rem; font-weight: 700; color: #e0e7ff; margin: 1rem 0 0.5rem; } 126 .ask-ai-answer h2 { font-size: 1.15rem; font-weight: 700; color: #e0e7ff; margin: 0.85rem 0 0.4rem; } 127 .ask-ai-answer h3 { font-size: 1.05rem; font-weight: 600; color: #e0e7ff; margin: 0.75rem 0 0.35rem; } 128 .ask-ai-answer p { margin: 0.4rem 0; } 129 .ask-ai-answer ul, .ask-ai-answer ol { margin: 0.4rem 0 0.4rem 1.5rem; padding: 0; } 130 .ask-ai-answer li { margin: 0.2rem 0; } 131 .ask-ai-answer em, .ask-ai-answer i { font-style: italic; color: #c7d2fe; } 132 .ask-ai-answer a { color: #818cf8; text-decoration: underline; text-underline-offset: 2px; } 133 .ask-ai-answer a:hover { color: #a5b4fc; } 134 .ask-ai-answer code { background: rgba(99,102,241,0.15); padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.85em; font-family: monospace; } 135 .ask-ai-answer pre { background: rgba(15,23,42,0.6); border: 1px solid #312e81; border-radius: 6px; padding: 0.75rem; overflow-x: auto; margin: 0.5rem 0; } 136 .ask-ai-answer pre code { background: none; padding: 0; } 137 .ask-ai-error { color: #f87171; font-size: 0.85rem; margin-top: 0.5rem; } 138 .ask-ai-powered { margin-top: 0.75rem; font-size: 0.7rem; color: #4f46e5; text-align: right; } 139 .ask-ai-powered a { color: #818cf8; text-decoration: none; } 140 .ask-ai-powered a:hover { text-decoration: underline; } 141 @media (max-width: 640px) { .ask-ai-form { flex-direction: column; } } 142 143.submit-video-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--accent, #3b82f6); color: #fff; text-decoration: none; padding: 8px 20px; border-radius: 20px; font-size: 0.9rem; font-weight: 500; white-space: nowrap; transition: background 0.2s; flex-shrink: 0; } 144.submit-video-btn:hover { background: #2563eb; } 145</style> 146</head> 147<body> 148 <div class="site-header"><div class="site-header-inner"><div class="site-header-left"><a href="https://newvideos.com/">NewVideos.com</a></div><div class="site-header-right"><a href="https://newvideos.com/public/submit/index.html" class="submit-video-btn" data-testid="button-submit-your-video">Submit Your Video</a><button class="theme-toggle" id="themeToggle" aria-label="Toggle theme"><svg class="sun-icon" viewBox="0 0 24 24"><path d="M12 7a5 5 0 100 10 5 5 0 000-10zm0-5a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm0 18a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zm9-9a1 1 0 110 2h-1a1 1 0 110-2h1zM4 12a1 1 0 110 2H3a1 1 0 110-2h1zm14.95-6.36a1 1 0 010 1.41l-.71.71a1 1 0 11-1.41-1.41l.71-.71a1 1 0 011.41 0zM7.17 16.59a1 1 0 010 1.41l-.71.71a1 1 0 11-1.41-1.41l.71-.71a1 1 0 011.41 0zm11.31 2.12a1 1 0 01-1.41 0l-.71-.71a1 1 0 111.41-1.41l.71.71a1 1 0 010 1.41zM7.17 7.41a1 1 0 01-1.41 0l-.71-.71a1 1 0 111.41-1.41l.71.71a1 1 0 010 1.41z"/></svg><svg class="moon-icon" viewBox="0 0 24 24"><path d="M12 3a9 9 0 109 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 01-4.4 2.26 5.403 5.403 0 01-3.14-9.8c-.44-.06-.9-.1-1.36-.1z"/></svg></button></div></div></div> 149 <main> 150 <div class="page-layout"> 151 <div class="content-column"> 152 <div class="player-container"> 153 <video id="videoPlayer" poster="https://f000.backblazeb2.com/file/newvideos1/videos/vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3/thumbn
153ails/thumb_01_640.jpg" controls playsinline preload="auto" style="width:100%;display:block;aspect-ratio:16/9;background:#000;"></video> 154
154<script> 155 (function() { 156 var video = document.getElementById('videoPlayer'); 157 var src = 'https://stream.mux.com/IQX2W9nSU5026WDUvsy1e02TRF5lmd9Wdr5K402sXy51qs.m3u8'; 158 if (!src) return; 159 var container = video.parentElement; 160 var networkRetries = 0; 161 var MAX_RETRIES = 3; 162 var mediaAttempt = 0; 163 var hlsInstance = null; 164 165 // --- "Tap to unmute" overlay --- 166 function showUnmuteOverlay() { 167 if (document.getElementById('unmuteOverlay')) return; 168 container.style.position = 'relative'; 169 var el = document.createElement('div'); 170 el.id = 'unmuteOverlay'; 171 el.style.cssText = 'position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);z-index:20;cursor:pointer;user-select:none;'; 172 el.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="56" height="56" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" style="filter:drop-shadow(0 2px 8px rgba(0,0,0,0.6));"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><line x1="23" y1="9" x2="17" y2="15"/><line x1="17" y1="9" x2="23" y2="15"/></svg><div style="color:#fff;font-family:Inter,system-ui,sans-serif;font-size:1.1rem;font-weight:500;margin-top:12px;text-shadow:0 1px 4px rgba(0,0,0,0.7);">Tap to unmute</div>'; 173 container.appendChild(el); 174 el.addEventListener('click', function(e) { 175 e.stopPropagation(); 176 video.muted = false; 177 video.volume = 1; 178 if (video.paused) video.play().catch(function(){}); 179 dismissUnmuteOverlay(); 180 try { localStorage.setItem('brightvideo_unmuted', 'true'); } catch(x) {} 181 }); 182 } 183 function dismissUnmuteOverlay() { 184 var el = document.getElementById('unmuteOverlay'); 185 if (el && el.parentNode) el.parentNode.removeChild(el); 186 } 187 188 // --- Play overlay (when even muted autoplay is blocked) --- 189 function showPlayOverlay() { 190 if (document.getElementById('playOverlay')) return; 191 container.style.position = 'relative'; 192 var el = document.createElement('div'); 193 el.id = 'playOverlay'; 194 el.style.cssText = 'position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);z-index:20;cursor:pointer;'; 195 el.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="72" height="72" viewBox="0 0 24 24" fill="white" style="filter:drop-shadow(0 2px 8px rgba(0,0,0,0.5));"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>'; 196 container.appendChild(el); 197 el.addEventListener('click', function() { 198 if (el.parentNode) el.parentNode.removeChild(el); 199 video.muted = false; 200 video.volume = 1; 201 video.play().then(function() { 202 try { localStorage.setItem('brightvideo_unmuted', 'true'); } catch(x) {} 203 }).catch(function() {}); 204 }); 205 } 206 207 // --- Autoplay: always muted + unmute overlay --- 208 function tryPlay() { 209 video.muted = true; 210 video.volume = 1; 211 video.play().then(function() { 212 showUnmuteOverlay(); 213 }).catch(function() { 214 showPlayOverlay(); 215 }); 216 } 217 218 // --- Error handling --- 219 function showError(msg) { 220 var old = document.getElementById('playerError'); 221 if (old) old.remove(); 222 var el = document.createElement('div'); 223 el.id = 'playerError'; 224 el.style.cssText = 'position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:30;gap:16px;text-align:center;padding:2rem;'; 225 el.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#f87171" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/>
225<line x1="12" y1="16" x2="12.01" y2="16"/></svg>' 226 + '<div style="color:#f87171;font-size:1rem;">' + msg + '</div>' 227 + '<button id="playerRetryBtn" style="padding:10px 28px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:0.95rem;font-weight:500;">Try Again</button>'; 228 container.style.position = 'relative'; 229 container.appendChild(el); 230 document.getElementById('playerRetryBtn').addEventListener('click', function() { 231 el.remove(); 232 networkRetries = 0; 233 mediaAttempt = 0; 234 initPlayer(); 235 }); 236 } 237 238 video.addEventListener('error', function() { 239 var c = video.error ? video.error.code : 0; 240 var m = {1:'Video loading was aborted',2:'Network error â please check your connection',3:'This video format is not supported by your browser',4:'Video cannot be played'}; 241 showError(m[c] || 'Unable to play this video'); 242 }); 243 244 // --- Mux Data monitoring --- 245 function startMuxMonitor(hls) { 246 if (typeof mux === 'undefined') return; 247 var opts = { 248 data: { 249 env_key: 'qg4vteopbpll8pvia665vghct', 250 video_id: 'vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3', 251 video_title: 'Wild News Beyond the Headlines, CNN\'s Future & Elon Musk\'s Next Move', 252 player_name: 'NewVideos.com', 253 player_version: '1.0' 254 } 255 }; 256 if (hls) { opts.hlsjs = hls; opts.Hls = Hls; } 257 try { mux.monitor('#videoPlayer', opts); } catch(e) {} 258 } 259 260 // --- Player init --- 261 function initPlayer() { 262 video.muted = true; 263 video.volume = 1; 264 dismissUnmuteOverlay(); 265 266 if (typeof Hls !== 'undefined' && Hls.isSupported()) { 267 hlsInstance = new Hls({ enableWorker: true, startLevel: -1 }); 268 hlsInstance.loadSource(src); 269 hlsInstance.attachMedia(video); 270 hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() { 271 tryPlay(); 272 }); 273 hlsInstance.on(Hls.Events.ERROR, function(event, data) { 274 if (!data.fatal) return; 275 if (data.type === Hls.ErrorTypes.NETWORK_ERROR) { 276 networkRetries++; 277 if (networkRetries <= MAX_RETRIES) { 278 setTimeout(function() { hlsInstance.startLoad(); }, networkRetries * 2000); 279 } else { 280 hlsInstance.destroy(); hlsInstance = null; 281 showError('Network error â please check your connection and try again'); 282 } 283 } else if (data.type === Hls.ErrorTypes.MEDIA_ERROR) { 284 mediaAttempt++; 285 if (mediaAttempt === 1) { hlsInstance.recoverMediaError(); } 286 else if (mediaAttempt === 2) { hlsInstance.swapAudioCodec(); hlsInstance.recoverMediaError(); } 287 else { hlsInstance.destroy(); hlsInstance = null; showError('Media playback error â try a different browser'); } 288 } else { 289 hlsInstance.destroy(); hlsInstance = null; 290 video.src = src; 291 tryPlay(); 292 } 293 }); 294 startMuxMonitor(hlsInstance); 295 } else if (video.canPlayType('application/vnd.apple.mpegurl')) { 296 // Safari â native HLS 297 video.src = src; 298 video.addEventListener('canplay', function onCanPlay() { 299 video.removeEventListener('canplay', onCanPlay); 300 tryPlay(); 301 }); 302 tryPlay(); 303 startMuxMonitor(null); 304 } else { 305 showError('Your browser does not support video playback'); 306 } 307 } 308 309 // --- Sliding text-ad overlay (ads embedded at render time, fully static) --- 310 // Two slots: one at 1 minute and one at 10 minutes. Both pick from the 311 // ads hard-coded into AD_LIST; the 10-minute slot avoids repeating the 312 // ad shown at 1 minute when more than one ad qualifies. 313 var AD_LIST = [{"id":"ac0c55c2-8907-4937-bdb2-b84ecd4b7725","title":"Get Bright Answers","adText":"Uncensored answers for all your questions, with deep research and document citations: BrightAnswers.ai","clickUrl":"https://brightanswers.ai"}]; 314 var AD_TRACK = 'https://video-forge-cwc.replit.app'; 315 316 function adBeacon(url) { 317 try { 318 if (navigator.sendBeacon) { navigator.sendBeacon(url); } 319 else { fetch(url, { method: 'POST', keepalive: true, mode: 'no-cors' }).catch(function(){}); } 320 } catch (e) {} 321 } 322 323 function pickAd() { 324 if (!AD_LIST || !AD_LIST.length) return null; 325 return AD_LIST[Math.floor(Math.random() * AD_LIST.length)]; 326 } 327 328 function pickAdExcluding(excludeId) { 329 if (!AD_LIST || !AD_LIST.length) return null; 330 if (AD_LIST.length === 1 || !excludeId) return pickAd(); 331 var pool = AD_LIST.filter(function(x) { return x.id !== excludeId; }); 332 if (!pool.length) return pickAd(); 333 return pool[Math.floor(Math.random() * pool.length)]; 334 } 335 336 function renderTextAd(ad) { 337 if (!ad) return false;
338 if (document.getElementById('bvBlurbBar')) return false; 339 container.style.position = 'relative'; 340 var a = document.createElement('a'); 341 a.id = 'bvBlurbBar'; 342 a.href = ad.clickUrl || '#'; 343 a.target = '_blank'; 344 a.rel = 'noopener noreferrer'; 345 a.style.cssText = 'position:absolute;left:0;right:0;bottom:0;min-height:20%;background:rgba(0,0,0,0.82);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 16px;box-sizing:border-box;text-decoration:none;z-index:25;transform:translateY(100%);transition:transform 0.5s ease;font-family:Inter,system-ui,sans-serif;cursor:pointer;'; 346 var t = document.createElement('div'); 347 t.textContent = ad.title || ''; 348 t.style.cssText = 'font-weight:700;font-size:1rem;line-height:1.2;'; 349 var b = document.createElement('div'); 350 b.textContent = ad.adText || ''; 351 b.style.cssText = 'font-weight:400;font-size:0.875rem;line-height:1.3;'; 352 a.appendChild(t); 353 a.appendChild(b); 354 a.addEventListener('click', function() { 355 if (ad.id) adBeacon(AD_TRACK + '/api/text-ads/' + encodeURIComponent(ad.id) + '/click'); 356 }); 357 container.appendChild(a); 358 requestAnimationFrame(function() { 359 requestAnimationFrame(function() { a.style.transform = 'translateY(0)'; }); 360 }); 361 if (ad.id) adBeacon(AD_TRACK + '/api/text-ads/' + encodeURIComponent(ad.id) + '/view'); 362 setTimeout(function() { 363 a.style.transform = 'translateY(100%)'; 364 setTimeout(function() { if (a.parentNode) a.parentNode.removeChild(a); }, 600); 365 }, 8000); 366 return true; 367 } 368 369 function setupTextAd() { 370 if (!AD_LIST || !AD_LIST.length) return; 371 var shown1 = false, shown2 = false, firstAdId = null; 372 video.addEventListener('timeupdate', function onAdTime() { 373 var t = video.currentTime || 0; 374 // Re-arm on a new playback cycle (replay / seek back near start) 375 // so fresh random ads can be shown on the next pass. 376 if ((shown1 || shown2) && t < 1.5) { 377 shown1 = false; shown2 = false; firstAdId = null; 378 var existing = document.getElementById('bvBlurbBar'); 379 if (existing && existing.parentNode) existing.parentNode.removeChild(existing); 380 } 381 // Slot flags are only set once the ad actually renders, so a slot is 382 // never silently consumed (e.g. when seeking straight to 10 min while 383 // the 1-minute bar is still visible â slot 2 retries until it clears). 384 if (!shown1 && t >= 60) { 385 var ad1 = pickAd(); 386 if (renderTextAd(ad1)) { 387 shown1 = true; 388 firstAdId = ad1 && ad1.id; 389 } 390 } else if (!shown2 && t >= 600) { 391 if (renderTextAd(pickAdExcluding(firstAdId))) { 392 shown2 = true; 393 } 394 } 395 }); 396 } 397 398 // Expose cleanup for turbo navigation 399 window.__brightCleanup = function() { 400 dismissUnmuteOverlay(); 401 if (hlsInstance) { hlsInstance.destroy(); hlsInstance = null; } 402 video.pause(); 403 video.removeAttribute('src'); 404 video.load(); 405 }; 406 407 initPlayer(); 408 try { setupTextAd(); } catch (e) {} 409 })(); 410 </script>
410 411 </div> 412 <button id="shareBtn" class="share-btn"> 413 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line></svg> 414 Share 415 </button> 416 417 <div class="ask-ai-section" id="askAiSection" data-video-id="vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3" data-site-id="587cf40c-fe46-4b3d-af26-198e8df4b69d" data-ts="1790789421814"> 418 <div class="ask-ai-header"> 419 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2a4 4 0 0 1 4 4v1h1a3 3 0 0 1 3 3v1a3 3 0 0 1-1.1 2.3"></path><path d="M6 7h1V6a4 4 0 0 1 8 0"></path><path d="M4.5 10.3A3 3 0 0 1 4 8.7V8a3 3 0 0 1 3-1"></path><circle cx="12" cy="17" r="5"></circle><path d="M12 15v2"></path><path d="M14 17h-4"></path></svg> 420 <h3>Ask AI about this video</h3> 421 </div> 422 <form class="ask-ai-form" id="askAiForm"> 423 <input type="text" id="askAiInput" placeholder="e.g. What are the key points?" required autocomplete="off" /> 424 <div style="position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden;" aria-hidden="true"><input type="text" id="askAiWebsite" name="website" tabindex="-1" autocomplete="off" /></div> 425 <button type="submit" id="askAiBtn"> 426 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg> 427 Ask 428 </button> 429 </form> 430 <div class="ask-ai-response" id="askAiResponse"> 431 <div class="ask-ai-response-label"><span class="ai-dot" id="askAiDot"></span> AI Answer</div> 432 <div class="ask-ai-answer" id="askAiAnswer"></div> 433 <div class="ask-ai-error" id="askAiError" style="display:none;"></div> 434 <div class="ask-ai-powered">Powered by <a href="https://brightanswers.ai" target="_blank" rel="noopener noreferrer">BrightAnswers.ai</a></div> 435 </div> 436 </div> 437<div class="video-info"> 438 <h1>Wild News Beyond the Headlines, CNN's Future & Elon Musk's Next Move</h1> 439 <div class="meta"> 440 <span>32 views</span> 441 <span>5:51</span> 442 </div> 443 <p class="description">Dan returns to "I Allegedly Live" with a no-holds-barred look at the alleged Trump assassination attempt, questioning media narratives and highlighting the suspicious death of Jim Capenhover. He sharply criticizes the press, particularly CNN, for their biased coverage and curious reporting details surrounding the incident.<br><br>But the big news might be CNN's future! Dan uncovers a groundbreaking potential development: Larry and David Ellison are reportedly seeking Elon Musk's investment in a major merger that could give Elon partial ownership of CNN. This episode also features a critical take on foreign reporters during Xi Jinping's recent visit.</p> 444 </div> 445 <div class="subscribe-section"> 446 <div class="subscribe-header"> 447 <svg class="subscribe-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="3" ry="3"></rect><path d="M2 7l8.8 5.3a2.5 2.5 0 0 0 2.4 0L22 7"></path></svg> 448 <p>Subscribe to the BrightVideos.com email newsletter to receive a daily digest of the most important and popular videos uploaded each day. (You can unsubscribe at any time.)</p> 449 </div> 450 <form id="subscribe-form"> 451 <input type="email" id="sub-email" placeholder="Your email" required /> 452 <button type="submit">OK</button> 453 </form> 454 <div id="subscribe-msg" class="subscribe-msg" style="display:none;"></div> 455 </div> 456 <div class="transcript-section"> 457 <div class="transcript-header" onclick="this.classList.toggle('open'); this.nextElementSibling.style.display = this.classList.contains('open') ? 'block' : 'none';"> 458 <h2>Transcript</h2> 459 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg> 460 </div> 461 <div class="transcript-content" style="display: none;">Hey, it's Dan. Welcome back to I Allegedly Live. Got a few good things for you today. Uh Jim C
461apenhover died. Who's he? He is the other man that was injured in Trump's assassination attempt in uh July of 2024, July 13th, 2024 to be exact. He was the other man that was shot and 74-year-old man died. Again, remember it didn't happen. Okay, guys got a bullet wound. Prove it dead. I hate the press. I really do. Do you want to know if there's something really disgusting? Do you know CNN never covered a Donald Trump uh, you know, rally except for that one in Butler? Hmm, isn't that interesting? Isn't it also interesting that a man who was a high-speed photographer was, they let him have a pass, who had never covered a rally also. Let him sit uh off to the side and get close-ups with his super fast high-speed camera. Hmm, wonder what they thought was gonna happen. You can only imagine. Uh, fuck CNN. Listen, CNN got their press credentials turned back, but there's a little bit of a twist today. And the twist is funny in that Larry Ellison and David Ellison, his ...</div> 462 </div> 463 </div> 464 <div class="sidebar"> 465 <h2>Related Videos</h2> 466 <a href="https://newvideos.com/play/vid-36f8ad7c-272d-4677-bf20-38b8e88234bd/index.html" class="related-card"> 467 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-36f8ad7c-272d-4677-bf20-38b8e88234bd/thumbnails/thumb_01_320.jpg" alt="Media's Double Standard: Blocking Trump vs. Being Blocked" loading="lazy"></div> 468 <div class="related-info"> 469 <h3>Media's Double Standard: Blocking Trump vs. Being Blocked</h3> 470 <span class="related-meta">23 views · 4:55</span> 471 </div> 472</a> 473<a href="https://newvideos.com/play/vid-bc1a38fb-a300-456c-bbc5-0d2cff240c81/index.html" class="related-card"> 474 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-bc1a38fb-a300-456c-bbc5-0d2cff240c81/thumbnails/thumb_01_320.jpg" alt="Are You Ready? Why Preparation is Critical in Chaotic Times" loading="lazy"></div> 475 <div class="related-info"> 476 <h3>Are You Ready? Why Preparation is Critical in Chaotic Times</h3> 477 <span class="related-meta">42 views · 8:36</span> 478 </div> 479</a> 480<a href="https://newvideos.com/play/vid-7a2abb07-f807-4acf-9d14-c58c8cc98119/index.html" class="related-card"> 481 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-7a2abb07-f807-4acf-9d14-c58c8cc98119/thumbnails/thumb_04_320.jpg" alt="9/11: Personal Memory, NYPD Heroism, and Today's Political Reality" loading="lazy"></div> 482 <div class="related-info"> 483 <h3>9/11: Personal Memory, NYPD Heroism, and Today's Political Reality</h3> 484 <span class="related-meta">38 views · 6:38</span> 485 </div> 486</a> 487<a href="https://newvideos.com/play/vid-40490827-cda6-4e8f-997b-55f8b04a7c54/index.html" class="related-card"> 488 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-40490827-cda6-4e8f-997b-55f8b04a7c54/thumbnails/thumb_01_320.jpg" alt="House Of Abhinandan Lodha Shimla | HoABL Villas & Plots" loading="lazy"></div> 489 <div class="related-info"> 490 <h3>House Of Abhinandan Lodha Shimla | HoABL Villas & Plots</h3> 491 <span class="related-meta">9 views · 1:36</span> 492 </div> 493</a> 494<a href="https://newvideos.com/play/vid-d304c5fb-2d81-4245-8527-c3c826a3db1f/index.html" class="related-card"> 495 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-d304c5fb-2d81-4245-8527-c3c826a3db1f/thumbnails/thumb_01_320.jpg" alt="Forum Selection & Civil Remedies in Delhi NCR" loading="lazy"></div> 496 <div class="related-info"> 497 <h3>Forum Selection & Civil Remedies in Delhi NCR</h3> 498 <span class="related-meta">10 views · 9:32</span> 499 </div> 500</a> 501<a href="https://newvideos.com/play/vid-2cb77a75-352e-4eee-a6a7-314f679c6922/index.html" class="related-card"> 502 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-2cb77a75-352e-4eee-a6a7-314f679c6922/thumbnails/thumb_04_320.jpg" alt="iAllegedly Live - Flock Cameras: Life Saving Tech or Stalker's Dream?" loading="lazy"></div> 503 <div class="related-info"> 504 <h3>iAllegedly Live - Flock Cameras: Life Saving Tech or Stalker's Dream?</h3> 505 <span class="related-meta">48 views · 8:15</span> 506 </div> 507</a>
508<a href="https://newvideos.com/play/vid-a746f9c9-975e-40ad-b87a-33083ca7db74/index.html" class="related-card"> 509 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-a746f9c9-975e-40ad-b87a-33083ca7db74/thumbnails/thumb_01_320.jpg" alt="Ohio's Danger Zone: Acton Attack, Scams & Political Battle" loading="lazy"></div> 510 <div class="related-info"> 511 <h3>Ohio's Danger Zone: Acton Attack, Scams & Political Battle</h3> 512 <span class="related-meta">39 views · 6:45</span> 513 </div> 514</a> 515<a href="https://newvideos.com/play/vid-0799f0d4-edf3-4e9f-acd6-b2003a45a589/index.html" class="related-card"> 516 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-0799f0d4-edf3-4e9f-acd6-b2003a45a589/thumbnails/thumb_01_320.jpg" alt="Alibaug One - Lifestyle Villa Plots Backed By Strong Returns" loading="lazy"></div> 517 <div class="related-info"> 518 <h3>Alibaug One - Lifestyle Villa Plots Backed By Strong Returns</h3> 519 <span class="related-meta">9 views · 2:00</span> 520 </div> 521</a> 522<a href="https://newvideos.com/play/vid-82e29741-eb05-4924-bd38-62f0ad8cab61/index.html" class="related-card"> 523 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-82e29741-eb05-4924-bd38-62f0ad8cab61/thumbnails/thumb_01_320.jpg" alt="Professional Banners Solutions" loading="lazy"></div> 524 <div class="related-info"> 525 <h3>Professional Banners Solutions</h3> 526 <span class="related-meta">8 views · 0:30</span> 527 </div> 528</a> 529<a href="https://newvideos.com/play/vid-999364de-a3b2-4f9f-916f-600806e911cb/index.html" class="related-card"> 530 <div class="related-thumb"><img src="https://f000.backblazeb2.com/file/newvideos1/videos/vid-999364de-a3b2-4f9f-916f-600806e911cb/thumbnails/thumb_01_320.jpg" alt="LA's Shady Election Funds: Is This Even Legal?" loading="lazy"></div> 531 <div class="related-info"> 532 <h3>LA's Shady Election Funds: Is This Even Legal?</h3> 533 <span class="related-meta">24 views · 3:32</span> 534 </div> 535</a> 536 </div> 537 </div> 538 </main> 539 540 <!-- Share Modal --> 541 <div id="shareModal" class="share-modal-overlay"> 542 <div class="share-modal"> 543 <div class="share-modal-header"> 544 <h3>Share this video</h3> 545 <button id="shareModalClose" class="share-modal-close"> 546 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> 547 </button> 548 </div> 549 <div class="share-options"> 550 <button id="shareEmbed" class="share-option embed" style="grid-column:span 1;"> 551 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:#a78bfa;"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg> 552 <span>Embed</span> 553 </button> 554 <a id="shareFacebook" class="share-option facebook" target="_blank" rel="noopener noreferrer"> 555 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> 556 <span>Facebook</span> 557 </a> 558 <a id="shareX" class="share-option x" target="_blank" rel="noopener noreferrer"> 559 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg> 560 <span>X</span> 561 </a> 562 <a id="shareTruth" class="share-option truth" target="_blank" rel="noopener noreferrer"> 563 <svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15h-2v-6h2v6zm0-8h-2V7h2v2zm4 8h-2v-4h2v4zm0-6h-2V9h2v2z"/></svg>
564 <span>Truth Social</span> 565 </a> 566 <button id="shareCopy" class="share-option copy"> 567 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg> 568 <span>Copy Link</span> 569 </button> 570 <a id="shareEmail" class="share-option email"> 571 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg> 572 <span>Email</span> 573 </a> 574 <a id="shareSMS" class="share-option sms"> 575 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg> 576 <span>SMS</span> 577 </a> 578 </div> 579 </div> 580 </div> 581 <div id="copyFeedback" class="copy-feedback">Link copied to clipboard!</div> 582
582<script> 583 // Share functionality 584 (function() { 585 var shareBtn = document.getElementById('shareBtn'); 586 var shareModal = document.getElementById('shareModal'); 587 var shareModalClose = document.getElementById('shareModalClose'); 588 var shareFacebook = document.getElementById('shareFacebook'); 589 var shareX = document.getElementById('shareX'); 590 var shareTruth = document.getElementById('shareTruth'); 591 var shareCopy = document.getElementById('shareCopy'); 592 var shareEmail = document.getElementById('shareEmail'); 593 var shareSMS = document.getElementById('shareSMS'); 594 var copyFeedback = document.getElementById('copyFeedback'); 595 596 var pageUrl = encodeURIComponent(window.location.href); 597 var pageTitle = encodeURIComponent(document.title); 598 599 shareFacebook.href = 'https://www.facebook.com/sharer/sharer.php?u=' + pageUrl; 600 shareX.href = 'https://x.com/intent/post?text=' + pageTitle + '&url=' + pageUrl; 601 shareTruth.href = 'https://truthsocial.com/share?text=' + pageTitle + '&url=' + pageUrl; 602 shareEmail.href = 'mailto:?subject=' + pageTitle + '&body=Check out this video: ' + pageUrl; 603 shareSMS.href = 'sms:?body=' + pageTitle + ' ' + pageUrl; 604 605 shareBtn.addEventListener('click', function() { 606 shareModal.classList.add('open'); 607 }); 608 609 shareModalClose.addEventListener('click', function() { 610 shareModal.classList.remove('open'); 611 }); 612 613 shareModal.addEventListener('click', function(e) { 614 if (e.target === shareModal) { 615 shareModal.classList.remove('open'); 616 } 617 }); 618 619 shareCopy.addEventListener('click', function() { 620 navigator.clipboard.writeText(window.location.href).then(function() { 621 copyFeedback.classList.add('show'); 622 setTimeout(function() { 623 copyFeedback.classList.remove('show'); 624 }, 2000); 625 shareModal.classList.remove('open'); 626 }).catch(function() { 627 alert('Failed to copy link'); 628 }); 629 }); 630 631 document.addEventListener('keydown', function(e) { 632 if (e.key === 'Escape' && shareModal.classList.contains('open')) { 633 shareModal.classList.remove('open'); 634 } 635 }); 636 })(); 637 </script>
637 638
638<script> 639 // View counter - async fire and forget 640 (function() { 641 var videoId = "vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3"; 642 if (!videoId || videoId === "") return; 643 var url = "https://brighto.io/api/videoviews/" + videoId; 644 if (navigator.sendBeacon) { 645 navigator.sendBeacon(url); 646 } else { 647 fetch(url, { method: "POST", keepalive: true }).catch(function() {}); 648 } 649 })(); 650 </script>
650 651
651<script> 652 (function() { 653 var sh = document.querySelector('.site-header'); 654 var hdr = document.querySelector('header'); 655 if (sh && hdr) { 656 hdr.style.top = sh.offsetHeight + 'px'; 657 } 658 })(); 659 </script>
659 660
660<script> 661(function() { 662 if (window.__turboNav) return; 663 window.__turboNav = true; 664 665 var navigating = false; 666 var prefetchCache = {}; 667 668 // Progress bar 669 var bar = document.createElement('div'); 670 bar.id = 'turboProgress'; 671 bar.style.cssText = 'position:fixed;top:0;left:0;height:3px;background:#3b82f6;z-index:99999;width:0;transition:width 0.3s ease;pointer-events:none;'; 672 document.body.appendChild(bar); 673 674 function setProgress(pct) { 675 bar.style.width = pct + '%'; 676 if (pct >= 100) setTimeout(function() { bar.style.width = '0'; }, 400); 677 } 678 679 function scriptLoaded(src) { 680 var all = document.querySelectorAll('script[src]'); 681 for (var i = 0; i < all.length; i++) { 682 if (all[i].getAttribute('src') === src) return true; 683 } 684 return false; 685 } 686 687 function loadScript(src) { 688 return new Promise(function(resolve) { 689 if (scriptLoaded(src)) { resolve(); return; } 690 var s = document.createElement('script'); 691 s.src = src; 692 s.onload = resolve; 693 s.onerror = resolve; 694 document.head.appendChild(s); 695 }); 696 } 697 698 function cleanup() { 699 if (typeof window.__brightCleanup === 'function') { 700 try { window.__brightCleanup(); } catch(e) {} 701 window.__brightCleanup = null; 702 } 703 } 704 705 // Prefetch pages on hover/touch for instant navigation 706 function prefetchLink(href) { 707 try { 708 var full = new URL(href, location.origin); 709 if (full.origin !== location.origin || full.href === location.href) return; 710 if (prefetchCache[full.href]) return; 711 prefetchCache[full.href] = fetch(full.href, { credentials: 'same-origin' }) 712 .then(function(r) { return r.ok ? r.text() : null; }) 713 .catch(function() { return null; }); 714 } catch(ex) {} 715 } 716 document.addEventListener('mouseover', function(e) { 717 var link = e.target.closest ? e.target.closest('a[href]') : null; 718 if (!link) return; 719 var href = link.getAttribute('href'); 720 if (href && href.charAt(0) !== '#') prefetchLink(href); 721 }, { passive: true }); 722 document.addEventListener('touchstart', function(e) { 723 var link = e.target.closest ? e.target.closest('a[href]') : null; 724 if (!link) return; 725 var href = link.getAttribute('href'); 726 if (href && href.charAt(0) !== '#') prefetchLink(href); 727 }, { passive: true }); 728 729 function navigateTo(url, push) { 730 if (navigating) return; 731 navigating = true; 732 setProgress(15); 733 734 // Use prefetch cache if available (page was fetched on hover/touch) 735 var htmlPromise; 736 if (prefetchCache[url]) { 737 htmlPromise = prefetchCache[url].then(function(cached) { 738 delete prefetchCache[url]; 739 if (!cached) throw new Error('Prefetch empty'); 740 return cached; 741 }); 742 } else { 743 htmlPromise = fetch(url, { credentials: 'same-origin' }) 744 .then(function(res) { 745 if (!res.ok) throw new Error('HTTP ' + res.status); 746 return res.text(); 747 }); 748 } 749 750 htmlPromise.then(function(html) { 751 setProgress(50); 752 753 var parser = new DOMParser(); 754 var doc = parser.parseFromString(html, 'text/html'); 755 756 // If the target page isn't turbo-compatible, fall back to normal nav 757 if (!doc.head.querySelector('style#pageStyles')) { 758 window.location.href = url; 759 navigating = false; 760 return; 761 } 762 763 cleanup(); 764 765 document.title = doc.title; 766 767 // Swap page styles 768 var newStyle = doc.head.querySelector('style#pageStyles'); 769 var curStyle = document.head.querySelector('style#pageStyles'); 770 if (newStyle && curStyle) { 771 curStyle.textContent = newStyle.textContent; 772 } else if (newStyle) { 773 var s = document.createElement('style'); 774 s.id = 'pageStyles'; 775 s.textContent = newStyle.textContent; 776 document.head.appendChild(s); 777 } 778 779 // Update meta tags 780 var mNames = ['description']; 781 var mProps = ['og:title', 'og:description', 'og:image', 'og:type']; 782 mNames.forEach(function(n) { 783 var nw = doc.head.querySelector('meta[name="' + n + '"]'); 784 var cur = document.head.querySelector('meta[name="' + n + '"]'); 785 if (nw && cur) cur.setAttribute('content', nw.getAttribute('content') || ''); 786 else if (nw) document.head.appendChild(nw.cloneNode(true)); 787 }); 788 mProps.forEach(function(p) { 789 var nw = doc.head.querySelector('meta[property="' + p + '"]'); 790 var cur = document.head.querySelector('meta[property="' + p + '"]'); 791 if (nw && cur) cur.setAttribute('content', nw.getAttribute('content') || ''); 792 else if (nw) document.head.appendChild(nw.cloneNode(true)); 793 }); 794 795 // Load external scripts from new page head (e.g. HLS.js) 796 var headScripts = doc.head.querySelectorAll('script[src]'); 797 var promises = []; 798 for (var i = 0; i < headScripts.length; i++) { 799 var scriptSrc = headScripts[i].getAttribute('src'); 800 if (scriptSrc) promises.push(loadScript(scriptSrc)); 801 } 802 803 return Promise.all(promises).then(function() { 804 setProgress(75); 805 806 // Update URL BEFORE executing scripts so they see the correct location 807 if (push) history.pushState({}, '', url); 808 809 document.body.innerHTML = doc.body.innerHTML; 810 document.body.appendChild(bar); 811 812 // Re-execute inline scripts â innerHTML scripts are inert 813 var bodyScripts = document.body.querySelectorAll('script'); 814 var chain = Promise.resolve(); 815 816 for (var j = 0; j < bodyScripts.length; j++) { 817 (function(el) { 818 if (el.src) { 819 chain = chain.then(function() { 820 return loadScript(el.getAttribute('src')); 821 }); 822 } else if (el.textContent.trim()) { 823 if (el.textContent.indexOf('__turboNav') !== -1) return; 824 chain = chain.then(function() { 825 var fresh = document.createElement('script'); 826 fresh.textContent = el.textContent; 827 el.parentNode.replaceChild(fresh, el); 828 }); 829 } 830 })(bodyScripts[j]); 831 } 832 833 return chain; 834 }); 835 }) 836 .then(function() { 837 window.scrollTo(0, 0); 838 setProgress(100); 839 navigating = false;
840 }) 841 .catch(function(err) { 842 console.error('[Turbo] Navigation error:', err); 843 setProgress(0); 844 navigating = false; 845 window.location.href = url; 846 }); 847 } 848 849 document.addEventListener('click', function(e) { 850 var link = e.target.closest ? e.target.closest('a[href]') : null; 851 if (!link) return; 852 853 var href = link.getAttribute('href'); 854 if (!href || href.charAt(0) === '#' || href.indexOf('javascript:') === 0) return; 855 if (e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) return; 856 if (link.target && link.target !== '_self') return; 857 if (link.hasAttribute('download')) return; 858 if (/\.(jpg|jpeg|png|gif|svg|pdf|zip|mp4|mp3)$/i.test(href)) return; 859 860 var full; 861 try { full = new URL(href, location.origin); } catch(ex) { return; } 862 if (full.origin !== location.origin) return; 863 if (full.href === location.href) return; 864 865 e.preventDefault(); 866 navigateTo(full.href, true); 867 }); 868 869 window.addEventListener('popstate', function() { 870 navigateTo(location.href, false); 871 }); 872 873 history.replaceState({}, '', location.href); 874})(); 875</script>
vendor: 1 bytes, line 875
875
876<script> 877 (function() { 878 var section = document.getElementById('askAiSection'); 879 if (!section) return; 880 var videoId = section.getAttribute('data-video-id') || ''; 881 var siteId = section.getAttribute('data-site-id') || ''; 882 if (!videoId) { 883 var scripts = document.querySelectorAll('script'); 884 for (var i = 0; i < scripts.length; i++) { 885 var t = scripts[i].textContent || ''; 886 var vidMatch = t.match(/var videoId\s*=\s*["']([^"']+)["']/); 887 if (vidMatch) { videoId = vidMatch[1]; break; } 888 } 889 } 890 if (!videoId || !siteId) return; 891 892 var form = document.getElementById('askAiForm'); 893 var input = document.getElementById('askAiInput'); 894 var btn = document.getElementById('askAiBtn'); 895 var responseBox = document.getElementById('askAiResponse'); 896 var answerEl = document.getElementById('askAiAnswer'); 897 var errorEl = document.getElementById('askAiError'); 898 var dotEl = document.getElementById('askAiDot'); 899 var honeypot = document.getElementById('askAiWebsite'); 900 var currentSource = null; 901 902 var humanSignals = { mouse: false, keyboard: false, scroll: false }; 903 var pageLoadTime = Date.now(); 904 var lastSubmitTime = 0; 905 var submitCount = 0; 906 var DWELL_MIN_MS = 3000; 907 var COOLDOWN_MS = 10000; 908 var MAX_SUBMITS_PER_SESSION = 10; 909 910 function onMouse() { humanSignals.mouse = true; } 911 function onKey() { humanSignals.keyboard = true; } 912 function onScroll() { humanSignals.scroll = true; } 913 document.addEventListener('mousemove', onMouse, { once: true, passive: true }); 914 document.addEventListener('touchstart', onMouse, { once: true, passive: true }); 915 document.addEventListener('keydown', onKey, { once: true, passive: true }); 916 document.addEventListener('scroll', onScroll, { once: true, passive: true }); 917 918 function humanScore() { 919 var s = 0; 920 if (humanSignals.mouse) s++; 921 if (humanSignals.keyboard) s++; 922 if (humanSignals.scroll) s++; 923 return s; 924 } 925 926 function generateToken(ts, vid) { 927 var raw = vid + ':' + ts + ':' + (ts % 97); 928 var h = 0; 929 for (var i = 0; i < raw.length; i++) { 930 h = ((h << 5) - h + raw.charCodeAt(i)) | 0; 931 } 932 var challenge = Math.abs(h).toString(36); 933 var nonce = 0; 934 var target = (ts % 7) + 1; 935 while (nonce < 100000) { 936 var check = challenge + ':' + nonce; 937 var sum = 0; 938 for (var j = 0; j < check.length; j++) sum = ((sum << 3) - sum + check.charCodeAt(j)) | 0; 939 if (Math.abs(sum) % 10 < target) return challenge + '.' + nonce + '.' + ts; 940 nonce++; 941 } 942 return challenge + '.0.' + ts; 943 } 944 945 form.addEventListener('submit', function(e) { 946 e.preventDefault(); 947 948 if (honeypot && honeypot.value) return; 949 950 var now = Date.now(); 951 var dwell = now - pageLoadTime; 952 if (dwell < DWELL_MIN_MS) { 953 errorEl.textContent = 'Please wait a moment before asking.'; 954 errorEl.style.display = 'block'; 955 responseBox.classList.add('visible'); 956 return; 957 } 958 959 if (humanScore() < 1) { 960 errorEl.textContent = 'Interaction required. Please move your mouse or scroll first.'; 961 errorEl.style.display = 'block'; 962 responseBox.classList.add('visible'); 963 return; 964 } 965 966 if (lastSubmitTime && (now - lastSubmitTime) < COOLDOWN_MS) { 967 var wait = Math.ceil((COOLDOWN_MS - (now - lastSubmitTime)) / 1000); 968 errorEl.textContent = 'Please wait ' + wait + ' seconds before asking again.'; 969 errorEl.style.display = 'block'; 970 responseBox.classList.add('visible'); 971 return; 972 } 973 974 if (submitCount >= MAX_SUBMITS_PER_SESSION) { 975 errorEl.textContent = 'You have reached the maximum number of questions for this session. Please refresh the page.'; 976 errorEl.style.display = 'block'; 977 responseBox.classList.add('visible'); 978 return; 979 } 980 981 var prompt = input.value.trim(); 982 if (!prompt) return; 983 if (prompt.length > 500) { 984 errorEl.textContent = 'Question is too long. Please keep it under 500 characters.'; 985 errorEl.style.display = 'block'; 986 responseBox.classList.add('visible'); 987 return; 988 } 989
990 lastSubmitTime = now; 991 submitCount++; 992 993 if (currentSource) { currentSource.close(); currentSource = null; } 994 btn.disabled = true; 995 btn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg> Thinking\u2026'; 996 answerEl.innerHTML = ''; 997 errorEl.style.display = 'none'; 998 responseBox.classList.add('visible'); 999 dotEl.classList.add('streaming'); 1000 1001 var rawText = ''; 1002 var isCompiling = false; 1003 1004 function escHtml(s) { 1005 return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"'); 1006 } 1007 1008 function renderMarkdown(md) { 1009 var lines = md.split('\n'); 1010 var html = ''; 1011 var inUl = false, inOl = false, inCode = false, codeLang = ''; 1012 for (var li = 0; li < lines.length; li++) { 1013 var line = lines[li]; 1014 if (inCode) { 1015 if (line.match(/^```\s*$/)) { html += '</code></pre>'; inCode = false; } 1016 else { html += escHtml(line) + '\n'; } 1017 continue; 1018 } 1019 var codeStart = line.match(/^```(\w*)\s*$/); 1020 if (codeStart) { inCode = true; codeLang = codeStart[1]; html += '<pre><code>'; continue; } 1021 if (line.match(/^\s*[-*]\s+/)) { 1022 if (!inUl) { html += '<ul>'; inUl = true; } 1023 html += '<li>' + inlineFormat(line.replace(/^\s*[-*]\s+/, '')) + '</li>'; 1024 continue; 1025 } else if (inUl) { html += '</ul>'; inUl = false; } 1026 if (line.match(/^\s*\d+\.\s+/)) { 1027 if (!inOl) { html += '<ol>'; inOl = true; } 1028 html += '<li>' + inlineFormat(line.replace(/^\s*\d+\.\s+/, '')) + '</li>'; 1029 continue; 1030 } else if (inOl) { html += '</ol>'; inOl = false; } 1031 if (line.match(/^###\s+/)) { html += '<h3>' + inlineFormat(line.replace(/^###\s+/, '')) + '</h3>'; continue; } 1032 if (line.match(/^##\s+/)) { html += '<h2>' + inlineFormat(line.replace(/^##\s+/, '')) + '</h2>'; continue; } 1033 if (line.match(/^#\s+/)) { html += '<h1>' + inlineFormat(line.replace(/^#\s+/, '')) + '</h1>'; continue; } 1034 if (line.trim() === '') { html += '<br>'; continue; } 1035 html += '<p>' + inlineFormat(line) + '</p>'; 1036 } 1037 if (inUl) html += '</ul>'; 1038 if (inOl) html += '</ol>'; 1039 if (inCode) html += '</code></pre>'; 1040 return html; 1041 } 1042 1043 function inlineFormat(text) { 1044 text = escHtml(text); 1045 text = text.replace(/`([^`]+)`/g, '<code>$1</code>'); 1046 text = text.replace(/\*\*\*(.+?)\*\*\*/g, '<strong><em>$1</em></strong>'); 1047 text = text.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>'); 1048 text = text.replace(/\*(.+?)\*/g, '<em>$1</em>'); 1049 text = text.replace(/(https?:\/\/[^\s<&]+)/g, '<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>'); 1050 text = text.replace(/(?<!["\/a-zA-Z0-9])([a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.(?:com|org|net|io|ai|co|shop|store|us|info|biz|me|tv|app|dev|health|news|live|world|xyz|site|online|tech|edu|gov)(?:\/[^\s<&]*)?)(?!["\/a-zA-Z])/gi, '<a href="https://$1" target="_blank" rel="noopener noreferrer">$1</a>'); 1051 return text; 1052 } 1053 1054 var token = generateToken(now, videoId); 1055 var params = new URLSearchParams({ video_id: videoId, site_id: siteId, prompt: prompt, _t: token, _h: String(humanScore()), _d: String(Math.floor(dwell / 1000)) }); 1056 var url = 'https://brightanswers.ai/api/bright_videos_query?' + params.toString(); 1057 var es = new EventSource(url); 1058 currentSource = es; 1059 var askBtnSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg> Ask'; 1060 es.onmessage = function(event) { 1061 try { 1062 var data = JSON.parse(event.data); 1063 if (data.status === 'compiling') { 1064 isCompiling = true; 1065 answerEl.innerHTML = '<p>Analyzing video content\u2026</p>'; 1066 } else if (data.chunk) { 1067 if (isCompiling) { rawText = ''; isCompiling = false; } 1068 rawText += data.chunk; 1069 answerEl.innerHTML = renderMarkdown(rawText); 1070 } else if (data.done) { 1071 if (rawText) answerEl.innerHTML = renderMarkdown(rawText); 1072 es.close(); currentSource = null; 1073 dotEl.classList.remove('streaming'); 1074 btn.disabled = false; btn.innerHTML = askBtnSvg; 1075 } else if (data.error) { 1076 errorEl.textContent = data.error; errorEl.style.display = 'block'; 1077 es.close(); currentSource = null; 1078 dotEl.classList.remove('streaming'); 1079 btn.disabled = false; btn.innerHTML = askBtnSvg; 1080 } 1081 } catch(ex) {} 1082 }; 1083 es.onerror = function() { 1084 es.close(); currentSource = null; 1085 if (!rawText && !isCompiling) { 1086 errorEl.textContent = 'Connection error. Please try again.'; 1087 errorEl.style.display = 'block'; 1088 } else if (rawText) { 1089 answerEl.innerHTML = renderMarkdown(rawText); 1090 } 1091 dotEl.classList.remove('streaming'); 1092 btn.disabled = false; btn.innerHTML = askBtnSvg; 1093 }; 1094 }); 1095 })(); 1096 </script>
1096 1097 1098 <div id="embedPanel" class="share-modal-overlay"> 1099 <div class="share-modal"> 1100 <div class="share-modal-header"> 1101 <h3>Embed this video</h3> 1102 <button id="embedPanelClose" class="share-modal-close"> 1103 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> 1104 </button> 1105 </div> 1106 <p style="color:#aaa;font-size:0.85rem;margin:0 0 12px 0;">Copy this code and paste it into your website's HTML:</p> 1107 <textarea id="embedCodeBox" readonly style="width:100%;height:110px;background:#0d0d0d;color:#ddd;border:1px solid #333;border-radius:8px;padding:10px;font-family:monospace;font-size:0.78rem;resize:none;box-sizing:border-box;"></textarea> 1108 <button id="embedCopyBtn" style="margin-top:12px;width:100%;padding:10px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:0.9rem;font-weight:500;cursor:pointer;">Copy Embed Code</button> 1109 </div> 1110 </div> 1111
1111<script> 1112 (function() { 1113 var btn = document.getElementById('shareEmbed'); 1114 var panel = document.getElementById('embedPanel'); 1115 var closeBtn = document.getElementById('embedPanelClose'); 1116 var box = document.getElementById('embedCodeBox'); 1117 var copyBtn = document.getElementById('embedCopyBtn'); 1118 var shareModal = document.getElementById('shareModal'); 1119 if (!btn || !panel || !box) return; 1120 box.value = "<iframe src=\"https://newvideos.com/embed/vid-d479144e-bf16-4bde-b8cf-d1782d07b2b3/index.html\" width=\"560\" height=\"315\" style=\"border:0;max-width:100%;aspect-ratio:16/9;\" allow=\"autoplay; fullscreen; picture-in-picture; encrypted-media\" allowfullscreen loading=\"lazy\" title=\"Video player\"></iframe>"; 1121 btn.addEventListener('click', function() { 1122 if (shareModal) shareModal.classList.remove('open'); 1123 panel.classList.add('open'); 1124 }); 1125 function closePanel() { panel.classList.remove('open'); } 1126 closeBtn.addEventListener('click', closePanel); 1127 panel.addEventListener('click', function(e) { if (e.target === panel) closePanel(); }); 1128 document.addEventListener('keydown', function(e) { if (e.key === 'Escape') closePanel(); }); 1129 copyBtn.addEventListener('click', function() { 1130 var done = function() { 1131 copyBtn.textContent = 'Copied!'; 1132 setTimeout(function() { copyBtn.textContent = 'Copy Embed Code'; }, 2000); 1133 }; 1134 if (navigator.clipboard && navigator.clipboard.writeText) { 1135 navigator.clipboard.writeText(box.value).then(done).catch(function() { 1136 box.select(); document.execCommand('copy'); done(); 1137 }); 1138 } else { 1139 box.select(); document.execCommand('copy'); done(); 1140 } 1141 }); 1142 })(); 1143 </script>
1143 1144</body> 1145</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.