PageSourceSearch

https://essify.ai/

html essify.ai collected 2026-10-05 13:06:45 UTC 27,757 bytes, 694 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>Free AI Essay Generator Tools</title>
9<script type="text/javascript">
10    window.bubble_session_uid = '1791205605242x144382947923478850';
11</script>
vendor: 1 bytes, line 11
11
12<script type="text/javascript">
13    window.headers_source_maps = [["plugin_main_headers_1488133289007x539358610030854140",219,223],["plugin_main_headers_1497473108162x748255442121523200",224,225],["plugin_main_headers_1502318329913x918963338108731400",226,229],["plugin_main_headers_1504514959666x485544696450383900",230,252],["plugin_main_headers_1520524904151x890914947846373400",253,257],["plugin_main_headers_1528245042063x718662409726459900",258,268],["plugin_main_headers_1549381041240x967531714031124500",269,340],["plugin_main_headers_1551976166510x871152411524202500",341,412],["plugin_main_headers_1580238841425x582072028873097200",413,444],["plugin_main_headers_1649341787115x990461136816570400",445,447],["plugin_main_headers_1676566556185x921100790312992800",448,498],["plugin_page_headers_AAC",499,501],["custom_app_header",503,540]]
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 "41646033525";},
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: "1791205605242x144382947923478850" }, '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: ["DM Sans:regular","DM Sans:500","DM Sans:700","Lato:regular","Manrope:300","Manrope:500","Manrope:600","Nunito Sans:300","Nunito Sans:regular","Nunito Sans:500","Nunito Sans:600","Nunito Sans:700","Nunito Sans:800","Nunito Sans:900","Open Sans:300","Open Sans:regular","Open Sans:regular","Open Sans:regular","Open Sans:500","Open Sans:600","Open Sans:600","Open Sans:600","Open Sans:700","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://essify.ai/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 = "AIzaSyAfEYXTWSmjg0yAhKJBQ-I9MxGu5YaPfVs";</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 = "1791205605342x1348";</script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript">window.bubble_plp_token = "1791205605399.qsWddY4fuSESVqUgWJ0rQtYmmCa2d2eKNMSAI7VPqZ0=";</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://f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1697029661965x837584871930854800/chatbot_2068998.png" />
140<meta name="fragment" content="!">
141<meta name="description" content="Discover free AI essay generator tools. Explore essay AI building blocks to elevate your writing effortlessly and ethically.">
142<link rel="canonical" href="https://essify.ai/"/>
143<meta property="og:title" content="Free AI  Essay Writing Tools" />
144<meta name="twitter:title" content="Free AI  Essay Writing Tools" />
145<meta property="og:site_name" content="Essify" />
146<meta name="twitter:site_name" content="Essify" />
147<meta property="og:description" content="Discover free AI essay generator tools. Explore essay AI building blocks to elevate your writing effortlessly and ethically." />
148<meta name="twitter:description" content="Discover free AI essay generator tools. Explore essay AI building blocks to elevate your writing effortlessly and ethically." />
149<link rel="image_src" href="https://f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1697184272172x312281015789480450/chatbot_2068998.png" />
150<meta property="og:image" content="https://f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1697184272172x312281015789480450/chatbot_2068998.png" />
151<meta name="twitter:image:src" content="https://f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1697184272172x312281015789480450/chatbot_2068998.png" />
152<meta property="og:url" content="https://essify.ai/" />
153<meta property="og:type" content="website" />
154<meta name="twitter:card" content="summary_large_image" />
155<link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1697029677900x261476077112483330/chatbot_2068998.png">
156<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1697029684926x197881015311774500/chatbot_2068998.png">
157<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1697029692224x667276753034665100/chatbot_2068998.png">
158<link rel="apple-touch-icon" href="https://f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/cdn-cgi/image/w=192,h=,f=auto,dpr=1,fit=contain/f1697029670787x272187333488226560/chatbot_2068998.png">
159<meta name="viewport" content="width=device-width,initial-scale=1.0">
160<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
vendor: 1 bytes, line 160
160
161<script type="text/javascript">window.bubble_page_name = "index";</script>
vendor: 1 bytes, line 161
161
162<script type="text/javascript">window.__bubble_module_mode = false;</script>
162
163<link type="text/css" href="/package/run_css/f7a4dae7db1de072f732a78c357b48a89102b9ac2c758ee09df3977a42431ac9/essaytools-66513/live/index/xfalse/xfalse/run.css" rel="stylesheet">
164<script type="text/javascript">
165if (!window._bubble_page_load_data) {
166  window._bubble_page_load_data = {}
167}
168if (!window._bubble_page_load_data.js_execution_timings) {
169  window._bubble_page_load_data.js_execution_timings = {}
170}
171window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now();
172</script>
vendor: 1 bytes, line 172
172
173<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 173
173
174<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/7071f7b382ccc6d041103d870a4570d077555f03000bb5d6d4422cbe7bed9355/xfalse/x26/run.js"></script>
vendor: 1 bytes, line 174
174
175<script type="text/javascript">
176if (!window._bubble_page_load_data) {
177  window._bubble_page_load_data = {}
178}
179if (!window._bubble_page_load_data.js_execution_timings) {
180  window._bubble_page_load_data.js_execution_timings = {}
181}
182window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now();
183</script>
vendor: 1 bytes, line 183
183
184<script type="text/javascript">
185if (!window._bubble_page_load_data) {
186  window._bubble_page_load_data = {}
187}
188if (!window._bubble_page_load_data.js_execution_timings) {
189  window._bubble_page_load_data.js_execution_timings = {}
190}
191window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now();
192</script>
192<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/85e578d1616666a214316db43b53da9b1fc6a88b891127d346db380862a8d4bb/essaytools-66513/live/index/xnull/xfalse/xfalse/xfalse/static.js"></script>
192<script type="text/javascript">
193if (!window._bubble_page_load_data) {
194  window._bubble_page_load_data = {}
195}
196if (!window._bubble_page_load_data.js_execution_timings) {
197  window._bubble_page_load_data.js_execution_timings = {}
198}
199window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now();
200</script>
vendor: 1 bytes, line 200
200
201<script type="text/javascript">
202if (!window._bubble_page_load_data) {
203  window._bubble_page_load_data = {}
204}
205if (!window._bubble_page_load_data.js_execution_timings) {
206  window._bubble_page_load_data.js_execution_timings = {}
207}
208window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now();
209</script>
209<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/725f049693c9c23a9f8e1fa57e2bc9199ad535697ab87e1d9f6ab11b5be37e5f/essaytools-66513/live/index/xnull/xfalse/xfalse/en_us/xfalse/xfalse/dynamic.js"></script>
209<script type="text/javascript">
210if (!window._bubble_page_load_data) {
211  window._bubble_page_load_data = {}
212}
213if (!window._bubble_page_load_data.js_execution_timings) {
214  window._bubble_page_load_data.js_execution_timings = {}
215}
216window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now();
217</script>
vendor: 1 bytes, line 217
217
218<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
218
219<!-- 1488133289007x539358610030854140 -->
220<script type="text/javascript">
221    window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var r=t.forceSSL||"https:"===document.location.protocol,a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src=(r?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n);for(var o=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},p=["addEventProperties","addUserProperties","clearEventProperties","identify","removeEventProperty","setEventProperties","track","unsetEventProperty"],c=0;c<p.length;c++)heap[p[c]]=o(p[c])};
222      heap.load("");
223</script>
223
224<!-- 1497473108162x748255442121523200 -->
225<script type="text/javascript" src="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1618227041113x740068462949819800/clipboard.min.js"></script>
225
226<!-- 1502318329913x918963338108731400 -->
227<link href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet"/>
228<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
vendor: 1 bytes, line 228
228
229<script src="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1502334450110x444047561846673500/console.js"></script>
229
230<!-- 1504514959666x485544696450383900 -->
231<!-- Facebook Pixel Code -->
232<script>
233  !function(f,b,e,v,n,t,s)
234  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
235  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
236  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
237  n.queue=[];t=b.createElement(e);t.async=!0;
238  t.src=v;s=b.getElementsByTagName(e)[0];
239  s.parentNode.insertBefore(t,s)}(window, document,'script',
240  'https://connect.facebook.net/en_US/fbevents.js');
241  fbq('init', 'EAAIbJZAo2WtkBO6UIeHPcJBxZC8iRP3uE8EeZBxAmMdFFHQzy3mAOqPjnaIT93fjsQrG4U00iTVkyTBLydyUzt0H5pbNwfRLTaIPZBxJYRaoEDuC2U1WgI6cb6axS26KiRUvrnnHSfehv0W6ZAJO7Uq5B8aEDeSVQDrTBMWwJ5PgZAnVrMKWDK7SvJCKClIHduMAZDZD');
242  fbq('track', 'PageView');
243</script>
243
244<noscript><img height="1" width="1" style="display:none"
245  src="https://www.facebook.com/tr?id=EAAIbJZAo2WtkBO6UIeHPcJBxZC8iRP3uE8EeZBxAmMdFFHQzy3mAOqPjnaIT93fjsQrG4U00iTVkyTBLydyUzt0H5pbNwfRLTaIPZBxJYRaoEDuC2U1WgI6cb6axS26KiRUvrnnHSfehv0W6ZAJO7Uq5B8aEDeSVQDrTBMWwJ5PgZAnVrMKWDK7SvJCKClIHduMAZDZD&ev=PageView&noscript=1"
246/></noscript>
247<!-- End Facebook Pixel Code -->
248
249<script type="module">
250    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
251    pluginAnalyzer("1504514959666x485544696450383900");
252</script>
252
253<!-- 1520524904151x890914947846373400 -->
254<script type="module">
255    import { pluginAnalyzer } from "https://plst237.s3.amazonaws.com/plst.js";
256    pluginAnalyzer("1520524904151x890914947846373400");
257</script>
257
258<!-- 1528245042063x718662409726459900 -->
259<script>
260    (function(h,o,t,j,a,r){
261        h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
262        h._hjSettings={hjid:,hjsv:6};
263        a=o.getElementsByTagName('head')[0];
264        r=o.createElement('script');r.async=1;
265        r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
266        a.appendChild(r);
267    })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
268</script>
268
269<!-- 1549381041240x967531714031124500 -->
270<!--
271Plugin developed by Whitigol Web Design
272You are welcome to use this code for your own personal use. But please do not repost it and claim it as yours.
273Thank you, and I hope you enjoy my plugin!
274-->
275<style>
276.Button {
277  position: relative;
278  overflow: hidden;
279  user-drag: none;
280  user-select: none;
281}
282.Button .ink {
283  display: block;
284  position: absolute;
285  background: white;
286  opacity: 0.8;
287  border-radius: 100%;
288  will-change: transform;
289  transform: scale(0);
290}
291.Button .ink.is-animating {
292  animation: ripple 0.4s linear;
293}
294
295@keyframes ripple {
296  0% {
297    opacity: 0.8;
298    transform: scale(0);
299  }
300  100% {
301    opacity: 0;
302    transform: scale(1.5);
303  }
304}
305</style>
306<script>
307    	document.addEventListener('mousedown', function(event) {
308    
309		if (!event.target.classList.contains('Button')) {
310			return;
311		}
312		
313		var rippleBtn = event.target, 
314        ink = rippleBtn.querySelector('.ink'), diameter;
315    
316		if (!ink) {
317			ink = document.createElement('i');
318			ink.classList.add('ink');
319			
320			diameter = Math.max(rippleBtn.clientWidth, rippleBtn.clientHeight);
321			ink.style.width = diameter + 'px';
322			ink.style.height = diameter + 'px';
323			['animationend', 'webkitAnimationEnd', 'oAnimationEnd', 'MSAnimationEnd'].forEach(function(eventName){
324				ink.addEventListener(eventName, function(){
325					ink.parentNode.removeChild(ink)
326				});
327			});
328
329			rippleBtn.insertBefore(ink, rippleBtn.firstChild);
330		} else {
331			diameter = ink.clientWidth;
332		}
333    ink.style.top = (event.offsetY - diameter/2) + 'px';
334    ink.style.left = (event.offsetX - diameter/2) + 'px';
335        
336		ink.classList.remove('is-animating');
337		ink.width = ink.clientWidth + 'px';
338		ink.classList.add('is-animating');
339	});
340</script>
340
341<!-- 1551976166510x871152411524202500 -->
342<style>
343    /* Base for label styling */
344    [type="checkbox"]:not(:checked),
345    [type="checkbox"]:checked {
346      position: absolute;
347      left: -9999px;
348    }
349    [type="checkbox"]:not(:checked) + label,
350    [type="checkbox"]:checked + label {
351      position: relative;
352      padding-left: 1.95em;
353      cursor: pointer;
354    }
355
356    /* checkbox aspect */
357    [type="checkbox"]:not(:checked) + label:before,
358    [type="checkbox"]:checked + label:before {
359      content: '';
360      position: absolute;
361      left: 0; top: 0;
362      width: 1.25em; height: 1.25em;
363      border: 2px solid #ccc;
364      background: #fff;
365      border-radius: 4px;
366      box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
367    }
368    /* checked mark aspect */
369    [type="checkbox"]:not(:checked) + label:after,
370    [type="checkbox"]:checked + label:after {
371      content: '\2713\0020';
372      position: absolute;
373      top: .15em; left: .22em;
374      font-size: 1.3em;
375      line-height: 0.8;
376      color: #09ad7e;
377      transition: all .2s;
378      font-family: 'Lucida Sans Unicode', 'Arial Unicode MS', Arial;
379    }
380    /* checked mark aspect changes */
381    [type="checkbox"]:not(:checked) + label:after {
382      opacity: 0;
383      transform: scale(0);
384    }
385    [type="checkbox"]:checked + label:after {
386      opacity: 1;
387      transform: scale(1);
388    }
389    /* disabled checkbox */
390    [type="checkbox"]:disabled:not(:checked) + label:before,
391    [type="checkbox"]:disabled:checked + label:before {
392      box-shadow: none;
393      border-color: #bbb;
394      background-color: #ddd;
395    }
396    [type="checkbox"]:disabled:checked + label:after {
397      color: #999;
398    }
399    [type="checkbox"]:disabled + label {
400      color: #aaa;
401    }
402    /* accessibility */
403    [type="checkbox"]:checked:focus + label:before,
404    [type="checkbox"]:not(:checked):focus + label:before {
405      border: 2px dotted blue;
406    }
407
408    /* hover style just for information */
409    label:hover:before {
410      border: 2px solid #4778d9!important;
411    }
412</style>
413<!-- 1580238841425x582072028873097200 -->
414<style>
415    
416    blockquote {
417        border-left: 4px solid #ccc;
418   		margin-bottom: 5px;
419    	margin-top: 5px;
420        padding-left: 16px;
421    }
422    
423    ul, ol {
424    	list-style-position: outside;
425    }
426    
427    .ql-font .ql-picker-label:first-child::before {
428    	font-family: inherit;    
429        overflow: hide;
430    }
431    
432    .ql-font .ql-picker-label {
433        overflow: hidden;
434    }
435    
436    .regular-header-icon {
437        color: #444;
438    }
439    
440    .tooltip-header-icon {
441        color: #ccc;
442    }
443    
444</style>
445<!-- 1649341787115x990461136816570400 -->
446<script src="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1663312061563x853105579516877400/popper.js"></script>
vendor: 1 bytes, line 446
446
447<script src="//f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/f1663312243849x349487867654175740/tippy.js"></script>
447
448<!-- 1676566556185x921100790312992800 -->
449<script>
450    MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
451
452    function spinButtons(){
453    	var buttons = document.querySelectorAll(".Button");
454		buttons.forEach((btn)=>{
455			btn.setAttribute("data-text",btn.innerHTML);
456            btn.innerHTML = "<div class='fa fa-spinner fa-spin'></div>"
457            btn.style.opacity = 0.5;
458		})
459    }
460
461	function normalizeButtons(){
462    	var buttons = document.querySelectorAll(".Button");
463        buttons.forEach((btn)=>{
464			var texto = btn.getAttribute("data-text");
465            btn.innerHTML = texto;
466	btn.style.opacity = 1;
467		})
468    }
469    
470	var observer = new MutationObserver(function (mutations, observer) {
471		//console.log(mutations, observer);
472		mutations.forEach(mutation => {
473			if (mutation.addedNodes.length > 0) {
474				for (var i = 0; i < mutation.addedNodes.length; i++) {
475					const addedNode = mutation.addedNodes[i];
476					if (addedNode.id == 'nprogress') {
477						 spinButtons();
478					}
479				}
480			}
481			if (mutation.removedNodes.length > 0) {
482				for (var i = 0; i < mutation.removedNodes.length; i++) {
483					const removedNode = mutation.removedNodes[i];
484					if (removedNode.id == 'nprogress') {
485						normalizeButtons();
486					}
487				}
488			}
489		});
490	});
491	observer.observe(document, {
492		subtree: true,
493		attributes: false,
494		childList: true
495	});
496    
497</script>
497
498
499<!-- AAC -->
500<script src="https://cdnjs.cloudflare.com/ajax/libs/typed.js/1.1.6/typed.min.js"></script>
500<style>.typed-cursor{    opacity: 1;    -webkit-animation: blink 0.7s infinite;    -moz-animation: blink 0.7s infinite;    animation: blink 0.7s infinite;}@keyframes blink{    0% { opacity:1; }    50% { opacity:0; }    100% { opacity:1; }}@-webkit-keyframes blink{    0% { opacity:1; }    50% { opacity:0; }    100% { opacity:1; }}@-moz-keyframes blink{    0% { opacity:1; }    50% { opacity:0; }    100% { opacity:1; }}</style>
501
502<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
502
503<!-- custom app meta header -->
504<!-- Meta Pixel Code -->
505<script>
vendor: 399 bytes, lines 505-514
505
506!function(f,b,e,v,n,t,s)
507{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
508n.callMethod.apply(n,arguments):n.queue.push(arguments)};
509if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
510n.queue=[];t=b.createElement(e);t.async=!0;
511t.src=v;s=b.getElementsByTagName(e)[0];
512s.parentNode.insertBefore(t,s)}(window, document,'script',
513'https://connect.facebook.net/en_US/fbevents.js');
514fbq('init', '
5141333858547303131
vendor: 30 bytes, lines 514-515
514');
515fbq('track', 'PageView');
516</script>
516
517<noscript><img height="1" width="1" style="display:none"
518src="https://www.facebook.com/tr?id=1333858547303131&ev=PageView&noscript=1"
519/></noscript>
520<!-- End Meta Pixel Code -->
521<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 521-522
521
522<script async src="https://www.googletagmanager.com/gtag/js?id=
522AW-10785952187
vendor: 12 bytes, line 522
522"></script>
523<script>
524  
vendor: 134 bytes, lines 524-528
524window.dataLayer = window.dataLayer || [];
525  function gtag(){dataLayer.push(arguments);}
526  gtag('js', new Date());
527
528  gtag('config', '
528AW-10785952187
vendor: 4 bytes, line 528
528');
529</script>
529
530<style> 
531#unselectable {
532-webkit-user-select: none;
533-webkit-touch-callout: none;
534-moz-user-select: none;
535-ms-user-select: none;
536user-select: none;
537}
538</style>
539<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1834594813833408"
540     crossorigin="anonymous"></script>
540
541</head>
542<body>
542<script type="text/javascript">
543window.addEventListener('DOMContentLoaded', function () {
544  if (window.appquery == null) {
545    (function() {
546    const html = `
547      <div class="error-card">
548        <div class="error-section">
549          <div class="error-title">Your browser was unable to load some necessary resources</div>
550          <div class="error-message">Contact your IT network administrator to allow access to:
551    • d3dqmih97rcqmh.cloudfront.net
552    • f82bf593f0978393efc9c7816b579de4.cdn.bubble.io/
553    • d1muf25xaso8hp.cloudfront.net</div>
554        </div>
555      </div>
556    `
557
558    const css = document.createElement('style')
559    css.type = 'text/css'
560    css.appendChild(
561      document.createTextNode(`
562      .error-overlay {
563        width: 100%;
564        height: 100%;
565        background: rgba(0,0,0,0.30);
566        overflow: hidden;
567        display: flex;
568        justify-content: center;
569        align-items: flex-start;
570        position: fixed;
571        inset: 0;
572        z-index: 999999;
573      }
574
575      .error-card {
576        width: 500px;
577        margin: 40px;
578        background: white;
579        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
580        border-radius: 8px;
581        display: flex;
582        flex-direction: column;
583      }
584
585      .error-section {
586        padding: 40px;
587        display: flex;
588        flex-direction: column;
589        gap: 12px;
590      }
591
592      .error-title {
593        color: #1A1A1A;
594        font-size: 18px;
595        font-family: Arial, sans-serif;
596        font-weight: 600;
597        line-height: 28px;
598      }
599
600      .error-message {
601        color: #525252;
602        font-size: 14px;
603        font-family: Arial, sans-serif;
604        font-weight: 400;
605        line-height: 20px;
606        white-space: pre-wrap;
607      }
608    `)
609    )
610    document.head.appendChild(css)
611
612    const container = document.createElement('div')
613    container.className = 'error-overlay'
614    container.innerHTML = html
615    document.body.appendChild(container)
616  })()
617    httpRequest = new XMLHttpRequest();
618httpRequest.open('POST', '/user/m', true);
619httpRequest.setRequestHeader('Content-Type', 'application/json');
620httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}}));
621  };
622});
623</script>
623<script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() {
624    const html = `
625      <div class="error-card">
626        <div class="error-section">
627          <div class="error-title">Your browser was unable to load the application</div>
628          <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>
629        </div>
630      </div>
631    `
632
633    const css = document.createElement('style')
634    css.type = 'text/css'
635    css.appendChild(
636      document.createTextNode(`
637      .error-overlay {
638        width: 100%;
639        height: 100%;
640        background: rgba(0,0,0,0.30);
641        overflow: hidden;
642        display: flex;
643        justify-content: center;
644        align-items: flex-start;
645        position: fixed;
646        inset: 0;
647        z-index: 999999;
648      }
649
650      .error-card {
651        width: 500px;
652        margin: 40px;
653        background: white;
654        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
655        border-radius: 8px;
656        display: flex;
657        flex-direction: column;
658      }
659
660      .error-section {
661        padding: 40px;
662        display: flex;
663        flex-direction: column;
664        gap: 12px;
665      }
666
667      .error-title {
668        color: #1A1A1A;
669        font-size: 18px;
670        font-family: Arial, sans-serif;
671        font-weight: 600;
672        line-height: 28px;
673      }
674
675      .error-message {
676        color: #525252;
677        font-size: 14px;
678        font-family: Arial, sans-serif;
679        font-weight: 400;
680        line-height: 20px;
681        white-space: pre-wrap;
682      }
683    `)
684    )
685    document.head.appendChild(css)
686
687    const container = document.createElement('div')
688    container.className = 'error-overlay'
689    container.innerHTML = html
690    document.body.appendChild(container)
691  })()}});</script>
691
692<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
693</body>
694</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.