PageSourceSearch

https://supabase-editor.bubbleapps.io/

html supabase-editor.bubbleapps.io collected 2026-10-03 08:24:48 UTC 23,719 bytes, 646 lines download raw bytes

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>Supabase Pro Kit</title>
9<script type="text/javascript">
10    window.bubble_session_uid = '1791015888291x752488622728941300';
11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript">
13    window.headers_source_maps = [["plugin_main_headers_1497473108162x748255442121523200",217,218],["plugin_main_headers_1618916043803x877032991371296800",219,465],["plugin_main_headers_1661717622628x490300288223674400",466,473],["plugin_main_headers_1685954909750x760203255294197800",474,481],["plugin_main_headers_1687446439843x865924681433350100_current",482,488],["plugin_page_headers_AAD",489,491]]
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 "58086769689";},
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: "1791015888291x752488622728941300" }, '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: ["Inter:regular","Inter:500","Inter:600","Inter:700","Inter:800","Lato:regular","Lato:400","Lato:900","Lato:700","Open Sans:regular","Open Sans:500","Open Sans:600","Open Sans:700"] },
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://supabase-editor.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 = "AIzaSyBn3K88r3-FFQkFILuOvZPCaInjtGfdLG4";</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 = "1791015888331x1257";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791015888894.jYYE6I0218XEqmP7Ex1fuXow2MvL/ouOqtlnv9e4D0I=";</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://78f8d3f59561a5591bfd1ffe7532073d.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://78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" />
151<meta property="og:image" content="https://78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" />
152<meta name="twitter:image:src" content="https://78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1762463484754x595287411041153000/Bubbleio%20opengraph.png" />
153<meta property="og:url" content="https://supabase-editor.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":"app_plugin_demo","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/a970c890582c05ba9c41b6da4ec3c83f91de016b1881fa0df751f068de10d722/supabase-editor/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/x29/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/a110fb4d9d1d537d5d068e5ee47a47c038a4b06faae64f2a364270ed1d363538/supabase-editor/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/9a38c6e41f7680f9f4734d886b62c528e0771340b2e868e404fafb49ca44f236/supabase-editor/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<!-- 1497473108162x748255442121523200 -->
218<script type="text/javascript" src="//78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1618227041113x740068462949819800/clipboard.min.js"></script>
218
219<!-- 1618916043803x877032991371296800 -->
220<script defer src="//meta.cdn.bubble.io/f1678588430465x230578802325048350/icons.js"></script>
220
221
222<script>
223  const allSelect2 = /\[(hi.*)\](.*)\[\/(hi.*)\]/;
224  const colormatch2 = /#[0-9A-f]{3,6}#/;
225  const fillMatcher2 = /fill="currentColor"/;
226
227  function replaceIcon(btn) {
228    const btn_nodes = Array.from(btn.childNodes);
229
230    if (!btn_nodes) return;
231
232    const text_node = btn_nodes.find(
233      (node) => node.nodeName === "#text" && node.data.trim().length > 0
234    );
235
236    if (!text_node) return;
237
238    let content = text_node.data;
239
240    let iconColor = content.match(colormatch2);
241
242    content = content.replace(colormatch2, "");
243
244    const iconMarkup = content.match(allSelect2);
245    if (!iconMarkup) {
246      if (btn.getAttribute("data-heroicon-last-text")) {
247        const current_text = Array.from(btn.childNodes).find(
248          (node) => node.nodeName === "#text" && node.data.trim().length > 0
249        );
250        if (
251          current_text &&
252          current_text.data !== btn.getAttribute("data-heroicon-last-text")
253        ) {
254          btn.setAttribute("data-heroicon-last-text", current_text.data);
255          btn.childNodes.forEach((node) => {
256            if (node.nodeName !== "#text") {
257              node.remove();
258            }
259            if (node.nodeName === "#text" && node.data.trim().length == 0) {
260              node.remove();
261            }
262          });
263        }
264      }
265      return;
266    }
267
268    if (iconMarkup[1] != iconMarkup[3]) return;
269
270    const iconProps = iconMarkup[1].slice(2).split("-");
271
272    const props = {
273      name: iconMarkup[2],
274      size: "20px",
275      color: btn.innerHTML.match(colormatch2)
276        ? btn.innerHTML.match(colormatch2)[0].slice(0, -1)
277        : undefined,
278      set: "mini",
279      position: undefined,
280      iconHTML: undefined,
281      style: 'style="',
282      spacing: "8px",
283      stroke_width: "1.5px",
284    };
285
286    if (props.color) {
287      props.iconHTML = props.iconHTML.replace(
288        fillMatcher2,
289        "fill=" + iconColor
290      );
291    }
292
293    iconProps.forEach((property) => {
294      switch (property) {
295        case "l":
296          props.position = "left";
297          break;
298        case "r":
299          props.position = "right";
300          break;
301        case "b":
302          props.position = "center";
303          break;
304        case "o":
305          props.set = "outlined";
306          break;
307        case "s":
308          props.set = "solid";
309          break;
310      }
311      if (/m[0-99]+/.test(property)) {
312        const matched = property.match(/m([0-99]+)/);
313        props.spacing = `${matched[1]}px`;
314      }
315      if (/w[0-99]+/.test(property)) {
316        const matched = property.match(/w([0-99]+)/);
317        props.stroke_width = `${matched[1]}px`;
318      }
319
320      const number = Number(property);
321
322      if (number && number > 0) {
323        props.size = String(number) + "px";
324      }
325    });
326
327    if (window[`heroicons_${props.set}`].has(props.name)) {
328      props.iconHTML = window[`heroicons_${props.set}`].get(props.name);
329    } else {
330      return;
331    }
332
333    btn.classList.add("heroicon");
334
335    props.style += ` ${props.set == "outlined" ? ` stroke-width: ${props.stroke_width};` : ""
336      } height: ${props.size}; width: ${props.size}; `;
337
338    let insertBefore = props.iconHTML.lastIndexOf("viewBox");
339
340    btn.childNodes.forEach((node) => {
341      if (node.nodeName === "#text" && node.data.trim().length > 0) {
342        node.data = node.data.replace(allSelect2, "");
343        btn.setAttribute("data-heroicon-last-text", node.data);
344      }
345    });
346
347    btn.childNodes.forEach((node) => {
348      if (node.nodeName !== "#text") {
349        node.remove();
350      }
351      if (node.nodeName === "#text" && node.data.trim().length == 0) {
352        node.remove();
353      }
354    });
355
356    if (props.position == "left") {
357      let styledHTML =
358        props.iconHTML.substring(0, insertBefore) +
359        props.style +
360        `margin-right:${props.spacing}"` +
361        props.iconHTML.substring(insertBefore);
362      btn.insertAdjacentHTML("afterbegin", styledHTML);
363    } else if (props.position == "right") {
364      let styledHTML =
365        props.iconHTML.substring(0, insertBefore) +
366        props.style +
367        `margin-left:${props.spacing}"` +
368        props.iconHTML.substring(insertBefore);
369      btn.insertAdjacentHTML("beforeend", styledHTML);
370    } else {
371      let styledHTML =
372        props.iconHTML.substring(0, insertBefore) +
373        props.style +
374        `"` +
375        props.iconHTML.substring(insertBefore);
376      btn.insertAdjacentHTML("beforeend", styledHTML);
377    }
378  }
379
380  document.addEventListener("DOMContentLoaded", function () {
381    let config = {
382      subtree: true,
383      childList: true,
384      attributes: true,
385      characterData: true,
386    };
387
388    let callback = function (mutationsList, observer) {
389      for (let mutation of mutationsList) {
390        if (mutation.target.tagName === "BUTTON") {
391          replaceIcon(mutation.target);
392        } else if (mutation.addedNodes) {
393          mutation.addedNodes.forEach((node) => {
394            if (node.tagName == "BUTTON") {
395              replaceIcon(node);
396            }
397          });
398        } else if (
399          mutation.target.nodeName === "#text" &&
400          mutation.target.parentElement &&
401          mutation.target.parentElement.tagName === "BUTTON"
402        ) {
403          replaceIcon(mutation.target.parentElement);
404        }
405        Array.from(document.querySelectorAll("button")).forEach((btn) =>
406          replaceIcon(btn)
407        );
408      }
409    };
410
411    const observer = new MutationObserver(callback);
412    observer.observe(document, config);
413  });
414</script>
414
415
416<style>
417  .animate-spin>circle {
418    color: inherit;
419    opacity: 25%;
420  }
421
422  .animate-spin {
423    animation: 1s linear infinite spin;
424  }
425
426  @keyframes spin {
427    from {
428      transform: rotate(0);
429    }
430
431    to {
432      transform: rotate(360deg);
433    }
434  }
435
436  .heroicon {
437    display: inline-flex !important;
438    align-items: center !important;
439    gap: 0 !important;
440  }
441
442  .dots_one {
443    stroke: currentColor;
444    fill: currentColor;
445    animation: dots 0.8s linear infinite;
446    animation-delay: -0.8s;
447    margin-right: 1px;
448  }
449
450  .dots_two {
451    animation-delay: -0.65s;
452  }
453
454  .dots_three {
455    animation-delay: -0.5s;
456  }
457
458  @keyframes dots {
459
460    93.75%,
461    100% {
462      opacity: 0.2;
463    }
464  }
465</style>
466<!-- 1661717622628x490300288223674400 -->
467<script type="text/javascript">
468    (function(c,l,a,r,i,t,y){
469        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
470        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i+"?ref=bubble";
471        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
472    })(window, document, "clarity", "script", "w9fjnea711");
473</script>
473
474<!-- 1685954909750x760203255294197800 -->
475<script>window.ncgColorPrimary = " ";</script>
vendor: 1 bytes, line 475
475
476<script>window.ncgFonts = " ";</script>
vendor: 1 bytes, line 476
476
477<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 477
477
478<script src="https://unpkg.com/tippy.js@6"></script>
478
479<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/css/intlTelInput.css">
480<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/js/intlTelInput.min.js"></script>
vendor: 1 bytes, line 480
480
481<script src="https://cdn.nocodegarden.io/uxtoolbox.latest.min.js"></script>
481
482<!-- 1687446439843x865924681433350100_current -->
483<script>window.ncgSupabaseURL = "https://sbuejvhlztawdreabenf.supabase.co";</script>
vendor: 1 bytes, line 483
483
484<script>window.ncgSupabaseAPIKey = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNidWVqdmhsenRhd2RyZWFiZW5mIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDc0NjA5MzIsImV4cCI6MjAyMzAzNjkzMn0.a1sno5z-QDhUoLnU1ZV3dsBTFZvTrqG7E6HnH4fnbHU";</script>
vendor: 1 bytes, line 484
484
485<script>window.ncgSupabaseLogLevel = "debug";</script>
vendor: 1 bytes, line 485
485
486<script>window.ncgSupabasePublishableKey = "sb_publishable_A3ZntJeopIrCTPt9Ij4gOg_5K0mmp2J";</script>
486
487<!--
487<script type="module" src="//78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1777376078495x567987969693639600/supabase-ncg-2.7.3.min.js"></script>
487-->
488<script type="module" src="//78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1780994253408x672157396527105000/supabase-ncg-2.7.4.min.js"></script>
488
489<!-- AAD -->
490<script src="//78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/f1511634801837x947863827459514100/bounceback.min.js"></script>
490
491
492<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
492
493</head>
494<body>
494<script type="text/javascript">
495window.addEventListener('DOMContentLoaded', function () {
496  if (window.appquery == null) {
497    (function() {
498    const html = `
499      <div class="error-card">
500        <div class="error-section">
501          <div class="error-title">Your browser was unable to load some necessary resources</div>
502          <div class="error-message">Contact your IT network administrator to allow access to:
503    • d3dqmih97rcqmh.cloudfront.net
504    • 78f8d3f59561a5591bfd1ffe7532073d.cdn.bubble.io/
505    • d1muf25xaso8hp.cloudfront.net</div>
506        </div>
507      </div>
508    `
509
510    const css = document.createElement('style')
511    css.type = 'text/css'
512    css.appendChild(
513      document.createTextNode(`
514      .error-overlay {
515        width: 100%;
516        height: 100%;
517        background: rgba(0,0,0,0.30);
518        overflow: hidden;
519        display: flex;
520        justify-content: center;
521        align-items: flex-start;
522        position: fixed;
523        inset: 0;
524        z-index: 999999;
525      }
526
527      .error-card {
528        width: 500px;
529        margin: 40px;
530        background: white;
531        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
532        border-radius: 8px;
533        display: flex;
534        flex-direction: column;
535      }
536
537      .error-section {
538        padding: 40px;
539        display: flex;
540        flex-direction: column;
541        gap: 12px;
542      }
543
544      .error-title {
545        color: #1A1A1A;
546        font-size: 18px;
547        font-family: Arial, sans-serif;
548        font-weight: 600;
549        line-height: 28px;
550      }
551
552      .error-message {
553        color: #525252;
554        font-size: 14px;
555        font-family: Arial, sans-serif;
556        font-weight: 400;
557        line-height: 20px;
558        white-space: pre-wrap;
559      }
560    `)
561    )
562    document.head.appendChild(css)
563
564    const container = document.createElement('div')
565    container.className = 'error-overlay'
566    container.innerHTML = html
567    document.body.appendChild(container)
568  })()
569    httpRequest = new XMLHttpRequest();
570httpRequest.open('POST', '/user/m', true);
571httpRequest.setRequestHeader('Content-Type', 'application/json');
572httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}}));
573  };
574});
575</script>
575<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() {
576    const html = `
577      <div class="error-card">
578        <div class="error-section">
579          <div class="error-title">Your browser was unable to load the application</div>
580          <div class="error-message">We&#39;ve been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div>
581        </div>
582      </div>
583    `
584
585    const css = document.createElement('style')
586    css.type = 'text/css'
587    css.appendChild(
588      document.createTextNode(`
589      .error-overlay {
590        width: 100%;
591        height: 100%;
592        background: rgba(0,0,0,0.30);
593        overflow: hidden;
594        display: flex;
595        justify-content: center;
596        align-items: flex-start;
597        position: fixed;
598        inset: 0;
599        z-index: 999999;
600      }
601
602      .error-card {
603        width: 500px;
604        margin: 40px;
605        background: white;
606        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
607        border-radius: 8px;
608        display: flex;
609        flex-direction: column;
610      }
611
612      .error-section {
613        padding: 40px;
614        display: flex;
615        flex-direction: column;
616        gap: 12px;
617      }
618
619      .error-title {
620        color: #1A1A1A;
621        font-size: 18px;
622        font-family: Arial, sans-serif;
623        font-weight: 600;
624        line-height: 28px;
625      }
626
627      .error-message {
628        color: #525252;
629        font-size: 14px;
630        font-family: Arial, sans-serif;
631        font-weight: 400;
632        line-height: 20px;
633        white-space: pre-wrap;
634      }
635    `)
636    )
637    document.head.appendChild(css)
638
639    const container = document.createElement('div')
640    container.className = 'error-overlay'
641    container.innerHTML = html
642    document.body.appendChild(container)
643  })()}});</script>
643
644<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
645</body>
646</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.