PageSourceSearch

https://tutorialedge.net/blog/

html tutorialedge.net collected 2026-10-03 20:30:34 UTC 23,338 bytes, 5 lines download raw bytes

1<!doctype html><html lang=en-us><meta charset=UTF-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=preconnect href=https://cdn.jsdelivr.net><link rel=preconnect href=https://identity.netlify.com><link rel=preconnect href=https://s3.eu-west-1.amazonaws.com><link rel=dns-prefetch href=https://plausible.io><meta name=keywords content><meta name=description content="All of the latest blog posts from TutorialEdge"><meta name=author content="Elliot Forbes"><meta property=og:title content="Blog | TutorialEdge"><meta property=og:description content="All of the latest blog posts from TutorialEdge"><meta property=og:type content=website><meta property=og:url content=https://tutorialedge.net/blog/ ><meta property=og:locale content=en_US><meta property=og:site_name content=TutorialEdge><meta property=og:image content=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/cards/default-card.png><meta property=og:image:width content=1200><meta property=og:image:height content=630><meta property=og:image:alt content="Blog | TutorialEdge"><meta name=twitter:card content=summary_large_image><meta name=twitter:title content="Blog | TutorialEdge"><meta name=twitter:description content="All of the latest blog posts from TutorialEdge"><meta name=twitter:site content=@Elliot_f><meta name=twitter:creator content=@Elliot_f><meta name=twitter:image content=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/cards/default-card.png><meta name=twitter:image:alt content="Blog | TutorialEdge"><meta name=google-site-verification content=o0UedRQqZULbVZPe6SPx1VD1YxJd6WL-2-15-XHWS1g><meta name=msvalidate.01 content=479C48823705295AF4454A1704545592><title>Blog | TutorialEdge.net</title><link rel=canonical href=https://tutorialedge.net/blog/ ><link rel=icon type=image/png href=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/favicon.ico><link rel=preload href=https://tutorialedge.net/css/tailwind.min.205e3efb64af30f6834e05d8d3f718fce5a6aae8f59efa4bcdbded6c9e873ad5.css as=style><link rel=stylesheet href=https://tutorialedge.net/css/tailwind.min.205e3efb64af30f6834e05d8d3f718fce5a6aae8f59efa4bcdbded6c9e873ad5.css media=screen><link rel=preload href=https://tutorialedge.net/scss/main.min.e070997b8e147c9868cdd13782b50c3f1dced62246c327656a04982e0c0c1922.css as=style><link rel=stylesheet href=https://tutorialedge.net/scss/main.min.e070997b8e147c9868cdd13782b50c3f1dced62246c327656a04982e0c0c1922.css media=screen><link href=../blog/index.xml rel=feed type=application/rss+xml title=TutorialEdge>
1<script defer data-domain=tutorialedge.net src=https://plausible.io/js/plausible.outbound-links.js></script>
1<script src=https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js></script>
1<script defer src=https://identity.netlify.com/v1/netlify-identity-widget.js></script>
1<script>window.plausible=window.plausible||function(){(window.plausible.q=window.plausible.q||[]).push(arguments)}</script>
1<script type=application/ld+json>{"@context":"https://schema.org","@type":"Organization","name":"TutorialEdge","url":"https://tutorialedge.net/","description":"Hundreds of free tutorials for cutting edge languages and frameworks.","sameAs":["https://twitter.com/TutorialEdge","https://github.com/TutorialEdge"],"founder":{"@type":"Person","name":"Elliot Forbes"}}</script>
1<div id=dynamicApp><navbar></navbar><div class=w-full style="background:#0d1117;border-bottom:1px solid #1f2937"><div class="max-w-screen-xl mx-auto px-6 py-2.5 flex items-center justify-center gap-4"><span class="inline-flex items-center gap-1.5 text-xs font-bold uppercase tracking-widest px-2.5 py-1 rounded" style="background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.25);color:#67e8f9">25% off</span><p class="text-sm text-gray-400">Use code <span class="font-mono font-semibold text-white px-1.5 py-0.5 rounded" style="background:#161b22;border:1px solid #21262d">FUNCMAIN</span> at checkout for 25% off all premium courses.</p><a href=../pricing/ class="flex-shrink-0 text-xs font-semibold text-white px-3 py-1.5 rounded transition-colors duration-150" style=background:#1d4ed8>Get started →</a></div></div><div class="bg-gray-900 text-gray-200"><div class="border-b border-gray-800"><div class="max-w-screen-xl mx-auto px-6 pt-16 pb-12"><p class="text-xs font-semibold uppercase tracking-widest text-transparent bg-clip-text bg-gradient-to-r from-green-400 to-cyan-400 mb-3">TutorialEdge Tutorials<div class="flex items-center gap-4 mb-4"><img class="w-12 h-12 object-contain" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.svg alt="Blog Image"><h1 class="text-4xl md:text-5xl font-extrabold text-white leading-tight">Blog</h1></div><p class="text-lg text-gray-400 leading-relaxed max-w-3xl mb-5">All of the latest blog posts from TutorialEdge</p><span class="inline-flex items-center text-xs font-semibold px-2.5 py-1 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">5 tutorials</span></div></div><div class="max-w-screen-xl mx-auto px-6 py-12 pb-16"><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"><a class="group flex flex-col bg-gray-800 border border-gray-700 rounded-xl overflow-hidden transition-all duration-200 hover:border-cyan-500/50 hover:shadow-lg hover:shadow-cyan-500/10" href=https://tutorialedge.net/blog/2021-in-review/ ><div class="h-1 w-full bg-gradient-to-r from-green-400 to-cyan-400 opacity-0 group-hover:opacity-100 transition-opacity duration-200"></div><div class="flex flex-col flex-1 p-6"><img class="w-10 h-10 object-contain mb-4" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.svg alt="🎉 2021 in Review 🎉"><h2 class="font-semibold text-lg text-white group-hover:text-cyan-300 transition-colors duration-200 leading-snug mb-2">🎉 2021 in Review 🎉</h2><p class="text-sm text-gray-400 flex-1 mb-4">Let's take a look at the wins of 2021 for the site and the community!<div class="flex items-center justify-between mt-auto pt-4 border-t border-gray-700"><div class="flex flex-wrap gap-2"><span class="text-xs font-semibold uppercase tracking-wide px-2 py-0.5 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">blog</span></div><svg class="w-4 h-4 text-gray-600 group-hover:text-cyan-400 transition-colors duration-200 flex-shrink-0" fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7"/></svg></div></div></a><a class="group flex flex-col bg-gray-800 border border-gray-700 rounded-xl overflow-hidden transition-all duration-200 hover:border-cyan-500/50 hover:shadow-lg hover:shadow-cyan-500/10" href=https://tutorialedge.net/blog/november-2021-in-review/ ><div class="h-1 w-full bg-gradient-to-r from-green-400 to-cyan-400 opacity-0 group-hover:opacity-100 transition-opacity duration-200"></div><div class="flex flex-col flex-1 p-6"><img class="w-10 h-10 object-contain mb-4" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.png alt="November 2021 in Review"><h2 class="font-semibold text-lg text-white group-hover:text-cyan-300 transition-colors duration-200 leading-snug mb-2">November 2021 in Review</h2><p class="text-sm text-gray-400 flex-1 mb-4">The recap for November 2021<div class="flex items-center justify-between mt-auto pt-4 border-t border-gray-700"><div class="flex flex-wrap gap-2"><span class="text-xs font-semibold uppercase tracking-wide px-2 py-0.5 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">blog</span></div><svg class="w-4 h-4 text-gray-600 group-hover:text-cyan-400 transition-colors duration-200 flex-shrink-0" fill=none stroke=currentColor viewBox="0 0 24 24">
1<path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7"/></svg></div></div></a><a class="group flex flex-col bg-gray-800 border border-gray-700 rounded-xl overflow-hidden transition-all duration-200 hover:border-cyan-500/50 hover:shadow-lg hover:shadow-cyan-500/10" href=https://tutorialedge.net/blog/2019-in-review/ ><div class="h-1 w-full bg-gradient-to-r from-green-400 to-cyan-400 opacity-0 group-hover:opacity-100 transition-opacity duration-200"></div><div class="flex flex-col flex-1 p-6"><img class="w-10 h-10 object-contain mb-4" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.png alt="2019 in Review - A Massive Year for TutorialEdge"><h2 class="font-semibold text-lg text-white group-hover:text-cyan-300 transition-colors duration-200 leading-snug mb-2">2019 in Review - A Massive Year for TutorialEdge</h2><p class="text-sm text-gray-400 flex-1 mb-4">2019 has been an exceptional year for TutorialEdge and myself and in this post I cover all the things that have happened …<div class="flex items-center justify-between mt-auto pt-4 border-t border-gray-700"><div class="flex flex-wrap gap-2"><span class="text-xs font-semibold uppercase tracking-wide px-2 py-0.5 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">blog</span></div><svg class="w-4 h-4 text-gray-600 group-hover:text-cyan-400 transition-colors duration-200 flex-shrink-0" fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7"/></svg></div></div></a><a class="group flex flex-col bg-gray-800 border border-gray-700 rounded-xl overflow-hidden transition-all duration-200 hover:border-cyan-500/50 hover:shadow-lg hover:shadow-cyan-500/10" href=https://tutorialedge.net/blog/my-notes-for-certified-kubernetes/ ><div class="h-1 w-full bg-gradient-to-r from-green-400 to-cyan-400 opacity-0 group-hover:opacity-100 transition-opacity duration-200"></div><div class="flex flex-col flex-1 p-6"><img class="w-10 h-10 object-contain mb-4" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/cloud.svg alt="My Notes for the Certified Kubernetes Application Developer - Part 1, Core Concepts"><h2 class="font-semibold text-lg text-white group-hover:text-cyan-300 transition-colors duration-200 leading-snug mb-2">My Notes for the Certified Kubernetes Application Developer - Part 1, Core Concepts</h2><p class="text-sm text-gray-400 flex-1 mb-4">In this article, I'll be sharing with you the first part of my notes for the certified kubernetes application developer …<div class="flex items-center justify-between mt-auto pt-4 border-t border-gray-700"><div class="flex flex-wrap gap-2"><span class="text-xs font-semibold uppercase tracking-wide px-2 py-0.5 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">Kubernetes</span></div><svg class="w-4 h-4 text-gray-600 group-hover:text-cyan-400 transition-colors duration-200 flex-shrink-0" fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7"/></svg></div></div></a><a class="group flex flex-col bg-gray-800 border border-gray-700 rounded-xl overflow-hidden transition-all duration-200 hover:border-cyan-500/50 hover:shadow-lg hover:shadow-cyan-500/10" href=https://tutorialedge.net/blog/migrating-to-hugo/ ><div class="h-1 w-full bg-gradient-to-r from-green-400 to-cyan-400 opacity-0 group-hover:opacity-100 transition-opacity duration-200"></div><div class="flex flex-col flex-1 p-6"><img class="w-10 h-10 object-contain mb-4" src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.svg alt="Migrating to Hugo"><h2 class="font-semibold text-lg text-white group-hover:text-cyan-300 transition-colors duration-200 leading-snug mb-2">Migrating to Hugo</h2><p class="text-sm text-gray-400 flex-1 mb-4">A quick look at why I choose to migrate the site from a Laravel 5 based system to hugo<div class="flex items-center justify-between mt-auto pt-4 border-t border-gray-700"><div class="flex flex-wrap gap-2"><span class="text-xs font-semibold uppercase tracking-wide px-2 py-0.5 rounded-full bg-cyan-400/10 ring-1 ring-inset ring-cyan-400/25 text-cyan-300">blog</span></div><svg class="w-4 h-4 text-gray-600 group-hover:text-cyan-400 transition-colors duration-200 flex-shrink-0" fill=none stroke=currentColor viewBox="0 0 24 24">
1<path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7"/></svg></div></div></a></div><div class="paginate w-full mt-8"><div class="text-center mx-auto"><div class="total-count mt-8">Showing Page 1 of 1</div></div></div></div></div><footer-environment></footer-environment><footer class="w-full bg-gray-900 text-gray-400" style="border-top:1px solid #1f2937"><div style="height:2px;background:linear-gradient(90deg,#06b6d4 0,#3b82f6 50%,#06b6d4 100%);opacity:.7"></div><div class="container mx-auto px-6 pt-14 pb-10"><div class="grid grid-cols-1 gap-10 md:grid-cols-4"><div class=md:col-span-1><a href=../ class="inline-flex items-center gap-2.5 mb-3 group"><img src=https://s3.eu-west-1.amazonaws.com/images.tutorialedge.net/images/logo.svg alt=TutorialEdge class="w-8 h-8 flex-shrink-0">
2<span class="text-white font-bold text-lg tracking-tight group-hover:text-blue-300 transition-colors">TutorialEdge</span></a><p class="text-sm leading-relaxed text-gray-400 mb-3">High quality, in-depth Go courses — with new videos added every week.<p class="text-sm leading-relaxed text-gray-500">Roughly 10% of revenue goes towards tree planting and carbon capture initiatives.</p><a href=https://ecologi.com/tutorialedge class="inline-flex items-center gap-1.5 mt-4 text-xs font-medium text-emerald-400 hover:text-emerald-300 transition-colors" style=letter-spacing:.04em><span>🌲</span> Carbon Negative</a><div class="flex items-center gap-4 mt-5"><a href=https://twitter.com/TutorialEdge target=_blank rel=noopener class="text-gray-500 hover:text-white transition-colors" aria-label=Twitter><svg width=16 height=16 viewBox="0 0 24 24" fill=currentColor><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
3</a><a href=https://github.com/TutorialEdge target=_blank rel=noopener class="text-gray-500 hover:text-white transition-colors" aria-label=GitHub><svg width=16 height=16 viewBox="0 0 24 24" fill=currentColor><path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483.0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951.0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65.0.0.84-.27 2.75 1.026A9.564 9.564.0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688.0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855.0 1.338-.012 2.419-.012 2.747.0.268.18.58.688.482A10.019 10.019.0 0022 12.017C22 6.484 17.522 2 12 2z"/></svg>
4</a><a href=mailto:[email protected] class="text-gray-500 hover:text-white transition-colors" aria-label="Email support"><svg width=16 height=16 viewBox="0 0 24 24" fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><rect width=20 height=16 x=2 y=4 rx=2 /><path d="m22 7-8.97 5.7a1.94 1.94.0 01-2.06.0L2 7"/></svg></a></div></div><div><h3 class="text-xs font-semibold uppercase tracking-widest text-gray-500 mb-5">About</h3><ul class=space-y-3><li><a href=../blog/ class="text-sm text-gray-400 hover:text-white transition-colors">Blog</a><li><a href=../pricing/ class="text-sm text-gray-400 hover:text-white transition-colors">Pricing</a><li><a href=../privacy/ class="text-sm text-gray-400 hover:text-white transition-colors">Privacy Policy</a><li><a href=../support/ class="text-sm text-gray-400 hover:text-white transition-colors">Support Policy</a><li><a href=../code/ class="text-sm text-gray-400 hover:text-white transition-colors">Code of Conduct</a><li><a href=../sitemap.xml class="text-sm text-gray-400 hover:text-white transition-colors">Sitemap</a><li><a href=../index.xml class="text-sm text-gray-400 hover:text-white transition-colors">RSS Feed</a></ul></div><div><h3 class="text-xs font-semibold uppercase tracking-widest text-gray-500 mb-5">
4Top Courses</h3><ul class=space-y-3><li><a href=../courses/go-rest-api-course-v2/ class="text-sm text-gray-400 hover:text-white transition-colors leading-snug block">Building a Production-Ready REST API in Go</a><li><a href=../courses/go-rabbitmq-crash-course/ class="text-sm text-gray-400 hover:text-white transition-colors leading-snug block">RabbitMQ Crash Course for Go</a><li><a href=../courses/go-testing-bible/ class="text-sm text-gray-400 hover:text-white transition-colors leading-snug block">The Go Testing Bible</a></ul></div><div><h3 class="text-xs font-semibold uppercase tracking-widest text-gray-500 mb-5">Account</h3><footer-profile-widget></footer-profile-widget></div></div><div class="mt-12 pt-6 flex flex-col md:flex-row md:items-center md:justify-between gap-3" style="border-top:1px solid #1f2937"><p class="text-xs text-gray-600">&copy; 2026 TutorialEdge. All rights reserved.<div class="flex flex-col md:flex-row md:items-center gap-3 md:gap-6"><a href=mailto:[email protected] class="text-xs text-gray-600 hover:text-gray-400 transition-colors">[email protected]
5</a><a href=https://elliotf.dev class="text-xs text-gray-600 hover:text-gray-400 transition-colors">My Scottish Adventure Photography Blog</a></div></div></div></footer>
vendor: 5,529 bytes, line 5
5<script>((A,e)=>{"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)})(globalThis,function(){return function(A){function u(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function d(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],u(this.options),this.add=function(A){var e,t,o,i,n,s,a,r,l,c,h,p=[];if(u(this.options),0!==(o=d(A=A||"h2, h3, h4, h5, h6")).length){for(null===document.head.querySelector("style.anchorjs")&&((A=document.createElement("style")).className="anchorjs",A.appendChild(document.createTextNode("")),0[0]===(r=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(A):document.head.insertBefore(A,r),A.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",A.sheet.cssRules.length),A.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",A.sheet.cssRules.length),A.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",A.sheet.cssRules.length),A.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',A.sheet.cssRules.length)),r=document.querySelectorAll("[id]"),l=[].map.call(r,function(A){return A.id}),e=0;e<o.length;e++)if(this.hasAnchorJSLink(o[e]))p.push(e);else{if(o[e].hasAttribute("id"))n=o[e].getAttribute("id");else if(o[e].hasAttribute("data-anchor-id"))n=o[e].getAttribute("data-anchor-id");else{for(i=h=this.urlify(o[e].textContent),c=0;s=l.indexOf(i=0[0]!==s?h+"-"+c:i),c+=1,-1!==s;);s=0[0],l.push(i),o[e].setAttribute("id",i),n=i}(t=document.createElement("a")).className="anchorjs-link "+this.options.class,t.setAttribute("aria-label",this.options.ariaLabel),t.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(t.title=this.options.titleText),a=document.querySelector("base")?window.location.pathname+window.location.search:"",a=this.options.base||a,t.href=a+"#"+n,"always"===this.options.visible&&(t.style.opacity="1"),""===this.options.icon&&(t.style.font="1em/1 anchorjs-icons","left"===this.options.placement)&&(t.style.lineHeight="inherit"),"left"===this.options.placement?(t.style.position="absolute",t.style.marginLeft="-1.25em",t.style.paddingRight=".25em",t.style.paddingLeft=".25em",o[e].insertBefore(t,o[e].firstChild)):(t.style.marginLeft=".1875em",t.style.paddingRight=".1875em",t.style.paddingLeft=".1875em",o[e].appendChild(t))}for(e=0;e<p.length;e++)o.splice(p[e]-e,1);this.elements=this.elements.concat(o)}return this},this.remove=function(A){for(var e,t,o=d(A),i=0;i<o.length;i++)(t=o[i].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(o[i]))&&this.elements.splice(e,1),o[i].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var e=document.createElement("textarea");return e.innerHTML=A,A=e.value,this.options.truncate||u(this.options),A.trim().replace(/'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A}}})</script>
5<script defer src=../app/main-app.bundle.fbadb5695752af8cacd36d69901e2aa98369758334675d3e75ad7e2643ff2b72.js integrity="sha256-+621aVdSr4ys021pkB4qqYNpdYM0Z10+da1+JkP/K3I="></script>
5</div>

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.