1<!doctype html> 2<html lang="en"> 3<head> 4<meta charset="utf-8"> 5 6<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 8<title>Levisto - Visual Stories Or Lessons Template</title>
9<script type="text/javascript"> 10 window.bubble_session_uid = '1791015713676x428658200863482300'; 11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript"> 13 window.headers_source_maps = [["plugin_main_headers_1539124824422x194279356396994560",217,219],["plugin_main_headers_1549381041240x967531714031124500",220,291],["plugin_main_headers_1568299250417x684448291308175400",292,293],["plugin_main_headers_1660666011260x416119057345937400",294,295],["plugin_main_headers_1747215160971x266397951550554100",296,301],["plugin_page_headers_AAC",302,304],["custom_app_header",306,364]] 14</script>
vendor: 1 bytes, line 14
14
15<script type="text/javascript"> 16function make_proxy(target, name) { 17 return new Proxy(target, { 18 get: function(target, prop) { 19 if (prop in target) { 20 return target[prop]; 21 } 22 throw new Error('The variable ' + name + ' is not fully initialized yet'); 23 } 24 }); 25} 26window.appquery = make_proxy({ 27 app_version: function() { return "live"; }, 28 last_change: function() { return "35131757735";}, 29}, 'appquery'); 30window.Lib = new Proxy(function() {}, { 31 get: function(target, prop) { 32 if (prop === 'is_skeleton') { 33 return true; 34 } 35 throw new Error('The variable ' + Lib + ' is not fully initialized yet'); 36 }, 37 apply: function() { 38 return make_proxy({ 39 current_user: function() { 40 return make_proxy({ id: "1791015713676x428658200863482300" }, 'Lib().current_user'); 41 } 42 }, 'Lib()'); 43 } 44}); 45</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript"> 47function load_error_function (event) { 48 return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno }) 49} 50window.load_error_log = []; 51window.addEventListener('error', load_error_function); 52window.disableLoadErrorFunction = function () { 53 window.removeEventListener('error', load_error_function); 54} 55</script>
55 56<meta name="referrer" content="origin">
57<script type="text/javascript"> 58if (!window._bubble_page_load_data) { 59 window._bubble_page_load_data = {} 60} 61if (!window._bubble_page_load_data.js_execution_timings) { 62 window._bubble_page_load_data.js_execution_timings = {} 63} 64window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now(); 65</script>
65<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script>
65<script type="text/javascript"> 66if (!window._bubble_page_load_data) { 67 window._bubble_page_load_data = {} 68} 69if (!window._bubble_page_load_data.js_execution_timings) { 70 window._bubble_page_load_data.js_execution_timings = {} 71} 72window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now(); 73</script>
vendor: 1 bytes, line 73
73
74<script type="text/javascript">(function () { 75 function onWebFontFinish () { 76 window.google_web_fonts_active = true; 77if (window.google_web_fonts_active_cb) { 78 window.google_web_fonts_active_cb(); 79} 80 (function fontface_loaded_snippet (font) { 81 if (window.fontface_loaded == null) { 82 window.fontface_loaded = {} 83 } 84 if (font != null) { 85 window.fontface_loaded[font] = true 86 } else { 87 window.all_fontface_loaded = true 88 } 89 if (window.fontface_webfonts_loaded_cb) { 90 return window.fontface_webfonts_loaded_cb(font) 91 } 92})() 93 } 94 const WebFontConfig = {'google': { families: ["Comic Neue:regular","Comic Neue:400","Gloock:regular","Gloria Hallelujah:regular","Gloria Hallelujah:400","Inter:regular","Montserrat:regular","Poppins:200","Poppins:300","Poppins:regular","Poppins:500","Poppins:600","Sacramento:regular","Sacramento:400"] }, 95 active: function() { 96 onWebFontFinish() 97 }, 98 inactive: function() { 99 console.log('Failed to load all the fonts'); 100 onWebFontFinish() 101 }, 102 fontinactive: function(family_name, fvd) { 103 console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render'); 104 onWebFontFinish() 105 } 106 } 107 window.WebFont.load(WebFontConfig); 108})();</script>
vendor: 1 bytes, line 108
108
109<script> 110(function initialize_data() { 111const xhr = new XMLHttpRequest(); 112xhr.onreadystatechange = function() { 113 if (this.readyState === 4 && this.status === 200) { 114 const data = JSON.parse(this.responseText); 115 116 function init_data() { 117 data.forEach(function(d) { 118 Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version); 119 }) 120 } 121 122 if (window.Lib && window.Lib.is_skeleton == null) { 123 init_data(); 124 } else { 125 window.Lib_post_load = init_data; 126 } 127 } 128}; 129xhr.open("GET", "https://card-storytelling.bubbleapps.io/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true); 130xhr.send(); 131})(); 132</script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript">window.gm_key = "AIzaSyAlT1MzDJL1hTzjgn_-PbAD3NQEIKjcJi4";</script>
vendor: 1 bytes, line 133
133
134<script type="text/javascript">window.glrl_key_status = false;</script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript">window.bubble_page_load_id = "1791015713710x593";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791015713762.3fN+T9xjztXl9mk9x+IeqPkZ5s9NCesGQaDT3cyGz1s=";</script>
vendor: 1 bytes, line 136
136
137<script type="text/javascript">window.bubble_is_leanjs = false;</script>
vendor: 1 bytes, line 137
137
138<script type="text/javascript">window.bubble_shim_modules = false;</script>
138 139<link rel="icon" type="image/png" href="https://c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/f1530294839424x143528842134401200/Icon-no-clearspace.png" /> 140<meta name="fragment" content="!"> 141<meta name="description" content="Bubble introduces a new way to build a web application. Itâs a point-and-click programming tool. Bubble hosts all applications on its cloud platform."> 142<meta name="description" content="Bubble introduces a new way to build a web application. Itâs a point-and-click programming tool. Bubble hosts all applications on its cloud platform."> 143<meta name="twitter:card" content="summary_large_image" /> 144<meta property="og:title" content="Check out my Bubble app" /> 145<meta name="twitter:title" content="Check out my Bubble app" /> 146<meta property="og:site_name" content="Bubble" /> 147<meta name="twitter:site_name" content="Bubble" /> 148<meta property="og:description" content="Bubble is the only platform that lets you switch between AI prompting and visual editing to go beyond prototypes and launch real apps â no code required. " /> 149<meta name="twitter:description" content="Bubble is the only platform that lets you switch between AI prompting and visual editing to go beyond prototypes and launch real apps â no code required. " /> 150<link rel="image_src" href="https://c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" /> 151<meta property="og:image" content="https://c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" /> 152<meta name="twitter:image:src" content="https://c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" /> 153<meta property="og:url" content="https://card-storytelling.bubbleapps.io/" /> 154<meta property="og:type" content="website" /> 155<meta property="fb:app_id" content="340887986039814" /> 156<meta name="twitter:card" content="summary_large_image" /> 157<meta name="viewport" content="width=device-width,initial-scale=1.0">
158<script type="text/javascript">window._p = '{"id":"template_app","no_branding":false,"import_export_csv":false,"custom_domain":false}';</script>
vendor: 1 bytes, line 158
158
159<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 159
159
160<script type="text/javascript">window.__bubble_module_mode = false;</script>
160 161<link type="text/css" href="/package/run_css/f861fcdd804781ba8c8599e9c1c18f59f543d49ddbfe55cc324b5b5982a51eee/card-storytelling/live/index/xfalse/xfalse/run.css" rel="stylesheet">
162<script type="text/javascript"> 163if (!window._bubble_page_load_data) { 164 window._bubble_page_load_data = {} 165} 166if (!window._bubble_page_load_data.js_execution_timings) { 167 window._bubble_page_load_data.js_execution_timings = {} 168} 169window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now(); 170</script>
vendor: 1 bytes, line 170
170
171<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
vendor: 1 bytes, line 171
171
172<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/7071f7b382ccc6d041103d870a4570d077555f03000bb5d6d4422cbe7bed9355/xfalse/x12/run.js"></script>
vendor: 1 bytes, line 172
172
173<script type="text/javascript"> 174if (!window._bubble_page_load_data) { 175 window._bubble_page_load_data = {} 176} 177if (!window._bubble_page_load_data.js_execution_timings) { 178 window._bubble_page_load_data.js_execution_timings = {} 179} 180window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now(); 181</script>
vendor: 1 bytes, line 181
181
182<script type="text/javascript"> 183if (!window._bubble_page_load_data) { 184 window._bubble_page_load_data = {} 185} 186if (!window._bubble_page_load_data.js_execution_timings) { 187 window._bubble_page_load_data.js_execution_timings = {} 188} 189window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now(); 190</script>
190<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/6cfd228064cf4e2755eb402677fcaf0b0e3eb8272c43814da090488ea49e3270/card-storytelling/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
190<script type="text/javascript"> 191if (!window._bubble_page_load_data) { 192 window._bubble_page_load_data = {} 193} 194if (!window._bubble_page_load_data.js_execution_timings) { 195 window._bubble_page_load_data.js_execution_timings = {} 196} 197window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now(); 198</script>
vendor: 1 bytes, line 198
198
199<script type="text/javascript"> 200if (!window._bubble_page_load_data) { 201 window._bubble_page_load_data = {} 202} 203if (!window._bubble_page_load_data.js_execution_timings) { 204 window._bubble_page_load_data.js_execution_timings = {} 205} 206window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now(); 207</script>
207<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/f195cf982c9e70e75a171a74460ee02ca481a29c8f32e06fedfe9c08c2c44ce3/card-storytelling/live/index/xnull/xfalse/xfalse/en_us/xfalse/xfalse/dynamic.js"></script>
207<script type="text/javascript"> 208if (!window._bubble_page_load_data) { 209 window._bubble_page_load_data = {} 210} 211if (!window._bubble_page_load_data.js_execution_timings) { 212 window._bubble_page_load_data.js_execution_timings = {} 213} 214window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now(); 215</script>
vendor: 1 bytes, line 215
215
216<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
216 217<!-- 1539124824422x194279356396994560 -->
218<script src="//c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/f1539208662229x803640740225091600/download.js"></script>
218 219 220<!-- 1549381041240x967531714031124500 --> 221<!-- 222Plugin developed by Whitigol Web Design 223You are welcome to use this code for your own personal use. But please do not repost it and claim it as yours. 224Thank you, and I hope you enjoy my plugin! 225--> 226<style> 227.Button { 228 position: relative; 229 overflow: hidden; 230 user-drag: none; 231 user-select: none; 232} 233.Button .ink { 234 display: block; 235 position: absolute; 236 background: white; 237 opacity: 0.8; 238 border-radius: 100%; 239 will-change: transform; 240 transform: scale(0); 241} 242.Button .ink.is-animating { 243 animation: ripple 0.4s linear; 244} 245 246@keyframes ripple { 247 0% { 248 opacity: 0.8; 249 transform: scale(0); 250 } 251 100% { 252 opacity: 0; 253 transform: scale(1.5); 254 } 255} 256</style>
257<script> 258 document.addEventListener('mousedown', function(event) { 259 260 if (!event.target.classList.contains('Button')) { 261 return; 262 } 263 264 var rippleBtn = event.target, 265 ink = rippleBtn.querySelector('.ink'), diameter; 266 267 if (!ink) { 268 ink = document.createElement('i'); 269 ink.classList.add('ink'); 270 271 diameter = Math.max(rippleBtn.clientWidth, rippleBtn.clientHeight); 272 ink.style.width = diameter + 'px'; 273 ink.style.height = diameter + 'px'; 274 ['animationend', 'webkitAnimationEnd', 'oAnimationEnd', 'MSAnimationEnd'].forEach(function(eventName){ 275 ink.addEventListener(eventName, function(){ 276 ink.parentNode.removeChild(ink) 277 }); 278 }); 279 280 rippleBtn.insertBefore(ink, rippleBtn.firstChild); 281 } else { 282 diameter = ink.clientWidth; 283 } 284 ink.style.top = (event.offsetY - diameter/2) + 'px'; 285 ink.style.left = (event.offsetX - diameter/2) + 'px'; 286 287 ink.classList.remove('is-animating'); 288 ink.width = ink.clientWidth + 'px'; 289 ink.classList.add('is-animating'); 290 }); 291</script>
291 292<!-- 1568299250417x684448291308175400 -->
293<script>function classify(targetNode){if(window.classifyLoaded)return;window.classifyLoaded=!0;const config={attributes:!0,childList:!0,subtree:!0,attributeFilter:["id"]},callback=function(){var nodeList=document.querySelectorAll('[id*="{"][id*="}"]');nodeList.forEach(node=>{var id=node.id.replace(/'/g,'"'),start=id.indexOf("{"),end=id.indexOf("}"),stringObj=id.substring(start,end+1);try{var object=eval("("+stringObj+")")}catch{return}node.removeAttribute("id"),(newId=id.replace(stringObj,""))&&(node.id=newId),object.class&&classes(node,object.class),object.addClass&&addClass(node,object.addClass),object.removeClass&&removeClass(node,object.removeClass)});var nodeList=document.querySelectorAll('[id*="["][id*="]"]');nodeList.forEach(node=>{var id=node.id,start=id.indexOf("["),end=id.lastIndexOf("]"),codeString=id.substring(start+1,end);node.removeAttribute("id"),(newId=id.replace(`[${codeString}]`,""))&&(node.id=newId);var p={self:node,box:node.closest(".bubble-r-box"),line:node.closest(".bubble-r-line"),siblings:getSiblings(node.closest(".bubble-r-box"),"bubble-r-box"),parentGroup:node.closest(".bubble-element.Group"),cells:getSiblings(node.closest(".bubble-element.GroupItem.group-item"),"bubble-element GroupItem group-item entry-")};try{eval("("+codeString+")")}catch(e){throw"CLASSIFY JAVASCRIPT COMMAND ERROR: "+e.message}})},addClass=function(e,s){var t=s.split(" ");e.classList.add(...t)},removeClass=function(e,s){var t=s.split(" ");e.classList.remove(...t)},classes=function(e,s){e.className=e.className.replace(/_+[^\ ]*/g,""),e.classList.add(...s)},getSiblings=function(e,s){if(e){var t=e.parentNode.childNodes,o=[];return t.forEach(e=>{e.className.includes(s)&&o.push(e)}),o}},observer=new MutationObserver(callback);observer.observe(targetNode,config),callback()}var classifyCount=0,classifyWait=setInterval(function(){var e=document.querySelector("body");if(e&&(classify(e),clearInterval(classifyWait)),300==++classifyCount)throw"Classify plugin launch failed! Could not find the target node..."},50);</script>
293 294<!-- 1660666011260x416119057345937400 -->
295<script src="https://cdn.jsdelivr.net/npm/feather-icons"></script>
295 296<!-- 1747215160971x266397951550554100 -->
297<script type="module"> 298 import vapiAiweb from 'https://cdn.jsdelivr.net/npm/@vapi-ai/web@latest/+esm' 299 300 window.RapidVapiAI = vapiAiweb.default 301</script>
301 302<!-- AAC -->
303<script src="https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.9.6/lottie.min.js" integrity="sha512-yAr4fN9WZH6hESbOwoFZGtSgOP+LSZbs/JeoDr02pOX4yUFfI++qC9YwIQXIGffhnzliykJtdWTV/v3PxSz8aw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
303 304
305<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
305 306<!-- custom app meta header -->
307<script> 308 var conf = { 309 id: "storyteller", 310 ref: document.referrer 311 }; 312</script>
vendor: 1 bytes, line 312
312
313<script src="https://rdbackend.bubbleapps.io/rdbnr.js" ></script>
313 314 315
316<script>!function () {var reb2b = window.reb2b = window.reb2b || [];if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"];reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments);args.unshift(method);reb2b.push(args);return reb2b;};};for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);}reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true;script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/1LNKLDHR3GOJ.js.gz";var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("1LNKLDHR3GOJ");}();</script>
316 317 318<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 318-319
318 319<script async src="https://www.googletagmanager.com/gtag/js?id=
319G-LDCQJXJ7Y3
vendor: 12 bytes, line 319
319"></script>
320<script> 321Â Â window.dataLayer = window.dataLayer || []; 322Â Â function gtag(){dataLayer.push(arguments);} 323Â Â gtag('js', new Date()); 324 325Â Â gtag('config', 'G-LDCQJXJ7Y3'); 326</script>
326 327 328 329<!-- Meta Pixel Code -->
330<script>
vendor: 399 bytes, lines 330-339
330 331!function(f,b,e,v,n,t,s) 332{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 333n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 334if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 335n.queue=[];t=b.createElement(e);t.async=!0; 336t.src=v;s=b.getElementsByTagName(e)[0]; 337s.parentNode.insertBefore(t,s)}(window, document,'script', 338'https://connect.facebook.net/en_US/fbevents.js'); 339fbq('init', '
339897916741239286
vendor: 30 bytes, lines 339-340
339'); 340fbq('track', 'PageView');
341</script>
341 342<noscript><img height="1" width="1" style="display:none" 343src="https://www.facebook.com/tr?id=897916741239286&ev=PageView&noscript=1" 344/></noscript> 345<!-- End Meta Pixel Code --> 346 347
348<script type="text/javascript"> 349_linkedin_partner_id = "7634906"; 350window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 351window._linkedin_data_partner_ids.push(_linkedin_partner_id); 352</script>
352<script type="text/javascript"> 353(function(l) { 354if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; 355window.lintrk.q=[]} 356var s = document.getElementsByTagName("script")[0]; 357var b = document.createElement("script"); 358b.type = "text/javascript";b.async = true; 359b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 360s.parentNode.insertBefore(b, s);})(window.lintrk); 361</script>
361 362<noscript> 363<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=7634906&fmt=gif" /> 364- </noscript> 365</head> 366<body>
366<script type="text/javascript"> 367window.addEventListener('DOMContentLoaded', function () { 368 if (window.appquery == null) { 369 (function() { 370 const html = ` 371 <div class="error-card"> 372 <div class="error-section"> 373 <div class="error-title">Your browser was unable to load some necessary resources</div> 374 <div class="error-message">Contact your IT network administrator to allow access to: 375 ⢠d3dqmih97rcqmh.cloudfront.net 376 ⢠c4d7d4ca2ad3da401218721ed386e278.cdn.bubble.io/ 377 ⢠d1muf25xaso8hp.cloudfront.net</div> 378 </div> 379 </div> 380 ` 381 382 const css = document.createElement('style') 383 css.type = 'text/css' 384 css.appendChild( 385 document.createTextNode(` 386 .error-overlay { 387 width: 100%; 388 height: 100%; 389 background: rgba(0,0,0,0.30); 390 overflow: hidden; 391 display: flex; 392 justify-content: center; 393 align-items: flex-start; 394 position: fixed; 395 inset: 0; 396 z-index: 999999; 397 } 398 399 .error-card { 400 width: 500px; 401 margin: 40px; 402 background: white; 403 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 404 border-radius: 8px; 405 display: flex; 406 flex-direction: column; 407 } 408 409 .error-section { 410 padding: 40px; 411 display: flex; 412 flex-direction: column; 413 gap: 12px; 414 } 415 416 .error-title { 417 color: #1A1A1A; 418 font-size: 18px; 419 font-family: Arial, sans-serif; 420 font-weight: 600; 421 line-height: 28px; 422 } 423 424 .error-message { 425 color: #525252; 426 font-size: 14px; 427 font-family: Arial, sans-serif; 428 font-weight: 400; 429 line-height: 20px; 430 white-space: pre-wrap; 431 } 432 `) 433 ) 434 document.head.appendChild(css) 435 436 const container = document.createElement('div') 437 container.className = 'error-overlay' 438 container.innerHTML = html 439 document.body.appendChild(container) 440 })() 441 httpRequest = new XMLHttpRequest(); 442httpRequest.open('POST', '/user/m', true); 443httpRequest.setRequestHeader('Content-Type', 'application/json'); 444httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}})); 445 }; 446}); 447</script>
447<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() { 448 const html = ` 449 <div class="error-card"> 450 <div class="error-section"> 451 <div class="error-title">Your browser was unable to load the application</div> 452 <div class="error-message">We've been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div> 453 </div> 454 </div> 455 ` 456 457 const css = document.createElement('style') 458 css.type = 'text/css' 459 css.appendChild( 460 document.createTextNode(` 461 .error-overlay { 462 width: 100%; 463 height: 100%; 464 background: rgba(0,0,0,0.30); 465 overflow: hidden; 466 display: flex; 467 justify-content: center; 468 align-items: flex-start; 469 position: fixed; 470 inset: 0; 471 z-index: 999999; 472 } 473 474 .error-card { 475 width: 500px; 476 margin: 40px; 477 background: white; 478 box-shadow: 0px 1px 2px rgba(0,0,0,0.10); 479 border-radius: 8px; 480 display: flex; 481 flex-direction: column; 482 } 483 484 .error-section { 485 padding: 40px; 486 display: flex; 487 flex-direction: column; 488 gap: 12px; 489 } 490 491 .error-title { 492 color: #1A1A1A; 493 font-size: 18px; 494 font-family: Arial, sans-serif; 495 font-weight: 600; 496 line-height: 28px; 497 } 498 499 .error-message { 500 color: #525252; 501 font-size: 14px; 502 font-family: Arial, sans-serif; 503 font-weight: 400; 504 line-height: 20px; 505 white-space: pre-wrap; 506 } 507 `) 508 ) 509 document.head.appendChild(css) 510 511 const container = document.createElement('div') 512 container.className = 'error-overlay' 513 container.innerHTML = html 514 document.body.appendChild(container) 515 })()}});</script>
515 516<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /> 517</body> 518</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.