PageSourceSearch

https://theguardian.engineering/open-people

html theguardian.engineering collected 2026-10-02 17:26:13 UTC 23,462 bytes, 78 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="engineering-site" data-theme="dark" style="--body: GuardianTextEgyptian, &quot;Guardian Text Egyptian Web&quot;, Georgia, serif;--heading: &quot;GT Guardian Titlepiece&quot;, Georgia, serif;"><head><meta charset="UTF-8"><title>Open People</title><link rel="icon" type="image/x-icon" href="/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="color-scheme" content="dark"><!-- this Font-face import is slow - do not use it for production Guardian sites --><link href="https://assets.guim.co.uk/static/frontend/fonts/font-faces.css" rel="stylesheet"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
1<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CYDbzu1r.js"></script>
1<style>.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}nav[data-astro-cid-wpvy4v7s]{border-bottom:var(--border);display:flex;position:relative;overflow-x:auto}nav[data-astro-cid-wpvy4v7s] [data-astro-cid-wpvy4v7s]{border-right:var(--border);padding:0 1em}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:inherit;padding-top:5px;padding-bottom:8px;text-decoration:none}nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].active,nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover,nav[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s] [data-astro-cid-wpvy4v7s]:focus{color:gold;border-top:3px solid;padding-top:2px}footer[data-astro-cid-jo6i4kqk]{border-top:var(--border);justify-content:space-between;padding:1rem;display:flex}ul[data-astro-cid-fvhemjle]{gap:1em;padding:0 .5em 0 0;list-style-type:none;display:flex}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle]{color:#111;background:#ccc;border-radius:3rem;justify-content:center;align-items:center;min-width:2.5rem;height:2.5rem;padding:.25rem;text-decoration:none;display:flex}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle]:hover{background:gold}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle] span[data-astro-cid-fvhemjle]{padding:0 .5em;font-weight:700}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle].pill{padding:.25rem .75rem}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle] span[data-astro-cid-fvhemjle].hidden{opacity:0;position:absolute;top:0;left:0}li[data-astro-cid-fvhemjle] a[data-astro-cid-fvhemjle] svg{width:2rem;height:2rem}h1[data-astro-cid-fvhemjle]{font-size:clamp(1.25rem,5vw,2rem)}.white[data-astro-cid-fvhemjle]{color:#fff}aside.svelte-1ljwu8b{pointer-events:none;display:none}@media (prefers-reduced-motion:no-preference){aside.svelte-1ljwu8b{width:100vw;display:block;position:absolute;inset:0 0 0 min(650px - 50vw,0px);overflow:hidden}.layer.svelte-1ljwu8b{pointer-events:none;height:calc(var(--wrap) * 2);transform:translate3d(0, calc(var(--scroll) * var(--speed)), 0);opacity:0;z-index:var(--index);position:absolute;top:0;left:0}.ready.svelte-1ljwu8b .layer:where(.svelte-1ljwu8b){opacity:calc(var(--index) * .5 + 1);transition:opacity .3s}.bubble.svelte-1ljwu8b{width:calc(var(--speed) * 2rem + 1rem);height:calc(var(--speed) * 2rem + 1rem);color:#000;text-align:center;top:var(--top);left:var(--left);border-radius:100%;line-height:4rem;position:fixed;transform:translate(-50%,-50%)}.blue.bubble.svelte-1ljwu8b{background-image:linear-gradient(var(--rotation,15deg), #20c9ef 0%, #905ae9 100%)}.green.bubble.svelte-1ljwu8b{background-image:linear-gradient(var(--rotation,15deg), #45cfed 0%, #ffe500 100%)}}a{color:gold}html.engineering-site{color-scheme:dark;--pico-background-color:#111;--pico-color:#ccc;--pico-h1-color:#ccc;--pico-h2-color:#ccc;--pico-h3-color:#ccc;--pico-h4-color:#ccc;--pico-h5-color:#ccc;--pico-h6-color:#ccc;background-color:#111}html.engineering-site body{font-family:var(--body);color:#ccc;box-sizing:border-box;background-color:#111;width:100vw;max-width:1300px;min-height:100vh;margin:0 auto;padding:.5rem;position:relative;overflow-x:hidden}@media (width>=740px){html.engineering-site body{padding:1rem}}h1,h2,h3{font-family:var(--heading)}header{flex-wrap:wrap;justify-content:space-between;padding:1rem;display:flex}.frame{border:1px solid #444}main>
1h1,main>h2,main>h3,main>p{padding:0 1rem}main>ul{padding-left:2rem}
2section[data-astro-cid-niqkrshm]{padding:0 1rem}section[data-astro-cid-niqkrshm]:nth-of-type(n+2){border-top:var(--border)}section[data-astro-cid-niqkrshm] p[data-astro-cid-niqkrshm],section[data-astro-cid-niqkrshm] ul[data-astro-cid-niqkrshm]{max-width:36rem}hr[data-astro-cid-niqkrshm]{border:none;border-top:var(--border)}
3</style></head><body style="--body: GuardianTextEgyptian, &quot;Guardian Text Egyptian Web&quot;, Georgia, serif;--heading: &quot;GT Guardian Titlepiece&quot;, Georgia, serif;"><header style="--body: GuardianTextEgyptian, &quot;Guardian Text Egyptian Web&quot;, Georgia, serif;--heading: &quot;GT Guardian Titlepiece&quot;, Georgia, serif;"><ul id="social-presence" data-astro-cid-fvhemjle><li data-astro-cid-fvhemjle><a href="https://github.com/guardian" target="_blank" data-astro-cid-fvhemjle><span class="hidden" data-astro-cid-fvhemjle>Github @guardian</span><svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg></a></li><li data-astro-cid-fvhemjle><a href="https://www.theguardian.com" target="_blank" data-astro-cid-fvhemjle><span class="hidden" data-astro-cid-fvhemjle>The Guardian</span><svg viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true"><circle cx="21" cy="21" r="21" fill="#052962"></circle><path d="M33.7 22.15l-2.16.96v9.94a17.44 17.44 0 01-7.27 3.58V22.9l-2.3-.81v-.6H33.7v.66z
4				M22.95 5.6h-.06c-4.86 0-7.64 6.55-7.5 15.38-.14 8.87 2.64 15.43 7.5 15.43h.06v.68c-7.28.48-17.23-4.94-17.09-16.07-.14-11.17 9.8-16.6 17.1-16.1v.68zm1.47-.72c2.85.44 6.1 2.31 7.32 3.64v6.13h-.7l-6.62-9.09v-.68z" fill="white"></path></svg><style data-emotion="css 1p0hins">.css-1p0hins{position:absolute;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);-webkit-clip-path:inset(50%);clip-path:inset(50%);}</style><span class="css-1p0hins">The Guardian</span></a></li><li data-astro-cid-fvhemjle><a href="https://workforus.theguardian.com/" target="_blank" class="pill" data-astro-cid-fvhemjle><span data-astro-cid-fvhemjle>Jobs</span><svg viewBox="-3 -3 30 30" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M1 12.956h18.274l-7.167 8.575.932.932L23 12.478v-.956l-9.96-9.985-.932.932 7.166 8.575H1v1.912Z"></path></svg></a></li></ul><h1 data-astro-cid-fvhemjle><span class="white" data-astro-cid-fvhemjle>Engineering </span> <br data-astro-cid-fvhemjle> @ The Guardian&hairsp;</h1></header><div class="frame" style="--body: GuardianTextEgyptian, &quot;Guardian Text Egyptian Web&quot;, Georgia, serif;--heading: &quot;GT Guardian Titlepiece&quot;, Georgia, serif;"><nav style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s><a class href="/" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s> Home</a><a class href="/open-people" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s>Open People</a><a class href="/open-source" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s>Open Source</a><a class href="/diversity" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s>Diversity</a><a class href="/progression" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s>Progression</a><a class href="/blog" style="--border: 1px solid #555;" data-astro-cid-wpvy4v7s>Blog</a></nav><main id="content" style="--body: GuardianTextEgyptian, &quot;Guardian Text Egyptian Web&quot;, Georgia, serif;--heading: &quot;GT Guardian Titlepiece&quot;, Georgia, serif;"><section id="people" style="--border: 1px solid #555;" data-astro-cid-niqkrshm><h1 style="--border: 1px solid #555;" data-astro-cid-niqkrshm>Open People</h1><p style="--border: 1px solid #555;" data-astro-cid-niqkrshm>As defined in our <a href="https://github.com/guardian/our-engineering-culture" style="--border: 1px solid #555;" data-astro-cid-niqkrshm>engineering culture</a>, the key pillars are:</p><ul style="--border: 1px solid #555;" data-astro-cid-niqkrshm><!-- Extract titles from markdown for linking to sections directly --></ul><hr style="--border: 1px solid #555;" data-astro-cid-niqkrshm><article style="--border: 1px solid #555;" data-astro-cid-niqkrshm><h4 id="delivery-mindset">Delivery mindset</h4>
5<p>We believe in being pragmatic and moving fast, spending our energy on the right things, shipping code and then rapidly iterating on it. </p>
6<p><em>Behaviours</em>:</p>
7<ul>
8<li>We simplify our work, focusing on getting it to the user as early as possible.</li>
9<li>We practice <a href="https://en.wikipedia.org/wiki/Continuous_delivery">continuous delivery</a></li>
10<li>We are trying to <a href="https://twitter.com/KentBeck/status/250733358307500032">make the change easy, before the easy change</a>.   </li>
11<li>We aim to solve problems rapidly, prioritising them based on their impact.</li>
12</ul>
13<h4 id="inclusiveness--respect">Inclusiveness &amp; Respect</h4>
14<p>We believe that our culture is important, and we all contribute to it regardless of our role or level.</p>
15<p><em>Behaviours</em>:</p>
16<ul>
17<li>We ensure to treat everyone we encounter with respect independently of their skillsets and levels of ability</li>
18<li>Every one of us has multiple interactions with a variety of people across the department and company every day. Each one of those is an opportunity to express and refine our culture. This written statement of our culture is shared, and anyone can <a href="CONTRIBUTING.md">
18contribute</a>.</li>
19<li>We respect the opinion of others and are gracious in our interactions, whether meeting physically or digitally, whether friend or stranger, whether employee, customer or commenter.</li>
20<li>Our experiences and backgrounds differ, and therefore so do our perspectives, areas of expertise, and levels of experience. All in all, we pull each other up, not bring each other down.</li>
21<li>We value and respect all differences in all people (seen and unseen). We aspire to inclusive working experiences and an environment that reflects the audience we serve, where our people take up career development opportunities equally, their voices are heard and contribute to our future. We aim to hire, retain and advance people from underrepresented groups.</li>
22</ul>
23<h4 id="working-as-a-team">Working as a team</h4>
24<p>We believe that the team is everything and our lowest common unit, set up with the necessary skills to succeed.</p>
25<p><em>Behaviours</em>:</p>
26<ul>
27<li>We fail and succeed together as a team.</li>
28<li>We are independent, accountable and share responsibility. We conduct ourselves with humility, kindness and a calm manner. We debate ideas, not people and we share constructive feedback openly. </li>
29<li>We take the time needed to listen to and help our colleagues with any problem they might have from anywhere within the business.</li>
30<li>We value the experience of people in the team and the different constraints within their lives. </li>
31<li>We celebrate success and positive behaviour, recognizing everyone’s contribution while treating every moment including tasks and failures as a learning opportunity.</li>
32</ul>
33<h4 id="we-are-data-informed">We are data informed</h4>
34<p>We believe that to be responsible in our impact we must be informed by data.</p>
35<p><em>Behaviours</em>: </p>
36<ul>
37<li>We base our decisions on analytics and experiments to reach consensus having heard everyone’s voice. </li>
38<li>We measure our success through data analysis and not through the highest paid person&#39;s opinion or the loudest voice.</li>
39</ul>
40<h4 id="empowerment">Empowerment</h4>
41<p>We believe that all of us want to - and can - make a difference to the Guardian.</p>
42<p><em>Behaviours</em>: </p>
43<ul>
44<li>Meeting the needs of people we encounter across the Guardian is consistently encouraged across all levels of engineering.</li>
45<li>We trust engineers to build the right things, collaborating closely and transparently with other teams.</li>
46<li>We own the problem, not the spec. We don’t wait for decisions to be made for us, we are an empowered engineering function and you are an empowered engineer. We use that power responsibly as we are conscious some decisions may need to be signed off and work collaboratively with our stakeholders.</li>
47</ul>
48<h4 id="technical-excellence">Technical Excellence</h4>
49<p>We believe that embracing technical innovation and excellence can help us make a difference.</p>
50<p><em>Behaviours</em>:</p>
51<ul>
52<li>We think we can better achieve the Guardian&#39;s objectives by having a deep understanding of the technology we use and adopting some emerging tools and solutions before others. See below few illustrating examples from our history:<ul>
53<li>We were one of the <a href="https://www.theguardian.com/info/developer-blog/2013/apr/26/how-the-guardian-built-scalable-foundation">first companies in UK to adopt <code>scala</code></a></li>
54<li>We were one of the <a href="https://www.theguardian.com/info/developer-blog/2015/jan/05/delivering-continuous-delivery-continuously">first companies to use continuous delivery</a></li>
55<li>We were one of the <a href="http://perspectives.mvdirona.com/2016/03/a-decade-of-innovation/">first legacy companies to move entirely to the cloud (AWS)</a></li>
56<li>We were a pioneer of the <a href="https://martinfowler.com/articles/microservices.html#footnote-etymology">concept of microservices</a></li>
57</ul>
58</li>
59<li>We maintain our technical advantage through continuous innovation</li>
60<li>We will be at the forefront of tech, always being curious, innovating and continuously improving.</li>
61</ul>
62<h4 id="knowledge-sharing">Knowledge sharing</h4>
63<p>We believe that it’s our responsibility to upskill one another, sharing our knowledge, learnings and mistakes. </p>
64<p><em>Behaviours</em>:</p>
65<ul>
66<li>We practice pairing to help share our knowledge, grow our skills, and facilitate collaborative decision making.</li>
67<li>We value pairing as a skill which we encourage people to grow, working together to find the styles which are most effective.</li>
68<li>We make time for individual-learning &amp; career development with personal development being our priority.</li>
69<li>We write code for the most junior, not the most senior.</li>
70<li>We actively share at all levels of users and stakeholders, whether it&#39;s our knowledge, work, planning or approach.</li>
71</ul>
72<h4 id="we-care">We care</h4>
73<p>We believe in <a href="https://workforus.theguardian.com/our-values">our values</a> and what the Guardian stands for. We are not driven to simply deliver the implementation of a specification, but delight in working collaboratively to achieve an objective. We are enthused to do whatever we can to deliver value to the Guardian.</p>
74<p><em>Behaviours</em>: </p>
75<ul>
76<li>We seek to be a pioneer in the way things are done in the business and aim to be seen as a model by other teams and departments.</li>
77</ul>
78</article></section></main><footer style="--border: 1px solid #555;" data-astro-cid-jo6i4kqk><div style="--border: 1px solid #555;" data-astro-cid-jo6i4kqk>2026 — Made with &hearts; by Guardian developers</div><a href="https://github.com/guardian/guardian-engineering-site/blob/main/src/pages/open-people.astro" style="--border: 1px solid #555;" data-astro-cid-jo6i4kqk>Edit this page</a></footer></div><style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
78<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script>
78<script>(()=>{var g=Object.defineProperty;var w=(a,s,c)=>s in a?g(a,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[s]=c;var l=(a,s,c)=>w(a,typeof s!="symbol"?s+"":s,c);var E=new Set(["__proto__","constructor","prototype"]);{let a={0:t=>y(t),1:t=>c(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(c(t)),5:t=>new Set(c(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in a?a[p](e):void 0},c=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let r=this.querySelectorAll("astro-slot"),n={},d=this.querySelectorAll("template[data-astro-template]");for(let o of d){let i=o.closest(this.tagName);i!=null&&i.isSameNode(this)&&(n[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of r){let i=o.closest(this.tagName);i!=null&&i.isSameNode(this)&&(n[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let i=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(i+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${i}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),r.disconnect(),this.childrenConnectedCallback()},r=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});r.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let r=new URL(e,document.baseURI);return r.searchParams.set("astro-retry",Date.now().toString()),r.toString()}async importWithRetry(e){try{return await import(e)}catch(r){return await new Promise(n=>setTimeout(n,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let r=this.getAttribute("component-url"),n=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:r}});this.dispatchEvent(n)&&console.error(`[astro-island] Error hydrating ${r}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),r=this.getAttribute("client");if(Astro[r]===void 0){window.addEventListener(`astro:${r}`,()=>this.start(),{once:!0});return}try{await Astro[r](async()=>{let n=this.getAttribute("renderer-url");try{let[d,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),n?this.importWithRetry(n):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=d;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=d[h]}return this.hydrator=u,this.hydrate}catch(d){return this.handleHydrationError(d),()=>{}}},e,this)}catch(n){this.handleHydrationError(n)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script>
78<astro-island uid="1BJaSm" component-url="/_astro/Bubbles.BCNgoQxm.js" component-export="default" renderer-url="/_astro/client.svelte.C4WknvrP.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;Bubbles&quot;,&quot;value&quot;:true}" await-children><!--[--><aside class="svelte-1ljwu8b"><!--[--><div class="layer svelte-1ljwu8b" style="--speed:0.96;--scroll:NaNpx;--wrap:3600px;--index:-1"><!--[--><!--[--><div class="bubble green svelte-1ljwu8b" style="--left:2vw;--top:5%;--rotation:15deg"></div><div class="bubble blue svelte-1ljwu8b" style="--left:91vw;--top:15%;--rotation:120deg"></div><div class="bubble blue svelte-1ljwu8b" style="--left:6vw;--top:30%;--rotation:270deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:96vw;--top:45%;--rotation:60deg"></div><!--]--><!--[--><div class="bubble green svelte-1ljwu8b" style="--left:2vw;--top:55.00000000000001%;--rotation:15deg"></div><div class="bubble blue svelte-1ljwu8b" style="--left:91vw;--top:65%;--rotation:120deg"></div><div class="bubble blue svelte-1ljwu8b" style="--left:6vw;--top:80%;--rotation:270deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:96vw;--top:95%;--rotation:60deg"></div><!--]--><!--]--></div><div class="layer svelte-1ljwu8b" style="--speed:1.2;--scroll:NaNpx;--wrap:3600px;--index:1"><!--[--><!--[--><div class="bubble blue svelte-1ljwu8b" style="--left:9vw;--top:17.5%;--rotation:300deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:92vw;--top:42.5%;--rotation:200deg"></div><!--]--><!--[--><div class="bubble blue svelte-1ljwu8b" style="--left:9vw;--top:67.5%;--rotation:300deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:92vw;--top:92.5%;--rotation:200deg"></div><!--]--><!--]--></div><div class="layer svelte-1ljwu8b" style="--speed:2.4;--scroll:NaNpx;--wrap:3600px;--index:1"><!--[--><!--[--><div class="bubble blue svelte-1ljwu8b" style="--left:99vw;--top:5%;--rotation:350deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:3vw;--top:30%;--rotation:70deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:92vw;--top:45%;--rotation:140deg"></div><!--]--><!--[--><div class="bubble blue svelte-1ljwu8b" style="--left:99vw;--top:55.00000000000001%;--rotation:350deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:3vw;--top:80%;--rotation:70deg"></div><div class="bubble green svelte-1ljwu8b" style="--left:92vw;--top:95%;--rotation:140deg"></div><!--]--><!--]--></div><!--]--></aside><!--]--><!--astro:end--></astro-island></body></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.