<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://msfjarvis.dev/weeknotes/atom.xml</id>
  <title>Weeknotes — msfjarvis.dev</title>
  <subtitle>Weekly notes by Harsh Shandilya</subtitle>
  <link rel="self" href="https://msfjarvis.dev/weeknotes/atom.xml"/>
  <link rel="alternate" href="https://msfjarvis.dev/"/>
  <author><name>Harsh Shandilya</name></author>
  <updated>2026-10-17T17:19:28.036Z</updated>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-42-2026/</id>
    <title>Weeknotes: Week #42 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-42-2026/"/>
    <published>2026-10-17T17:19:28.036Z</published>
    <updated>2026-10-17T17:19:28.036Z</updated>
    <summary>Big things at work and entirely too many social activities</summary>
    <content type="html"><![CDATA[<p>Most of my week went into work as you’ll read below. It has also rained for most of the week which is making me a bit cranky even if I do welcome the slightly cooler weather.</p>
<p>I had a rather surprising interaction over email when the author of <a href="https://macmdviewer.com/">MacMD Viewer</a> reached out to offer a free licence after reading <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">about my Obsidian to week notes</a> setup. I accepted, but admittedly have not had much opportunity to test the tool yet. With Obsidian also gaining support for <a href="https://obsidian.md/changelog/2026-10-05-desktop-v1.14.4/">standalone Markdown files and macOS Quick Look</a> very recently I fear there’s not enough of a moat with this app for me to use it over Obsidian. I’m very evidently not being paid by the author :)</p>
<h1 id="social">Social</h1>
<p>We tried a couple of South Indian breakfast joints this week. On Monday <a href="https://yashgarg.dev">Yash</a>, <a href="https://fknil.com">Fenil</a>, Mayank and I went to <a href="https://www.ammaandappaidlistall.com/Default.aspx">Amma and Appa Idli Stall</a> to sample it before they move at the end of this week to be ~2.5 kilometres further from us. I can’t remember the last time I had a dosa this soft! They will continue to offer free deliveries in Indiranagar, so I hope to make use of the service sometime soon.</p>
<p>On Saturday <a href="https://yashgarg.dev">Yash</a>, <a href="https://fknil.com">Fenil</a> and I went to <a href="https://babaitiffins.com/">Babai Tiffins</a> in HSR for breakfast. The food was good but not enough to justify making the long trip more often.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/dosa-at-babai-tiffins.BVsr8_GA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/dosa-at-babai-tiffins.BVsr8_GA.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Their chutneys are absolute fire, the visit was worthwhile just for them" aria-label="Golden dosas served with chutneys on banana leaves." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/dosa-at-babai-tiffins.BVsr8_GA.webp" alt="Golden dosas served with chutneys on banana leaves." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Their chutneys are absolute fire, the visit was worthwhile just for them</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/idli-at-babai-tiffins.B7It7vop.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/idli-at-babai-tiffins.B7It7vop.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The idlis were great but I can't say enough about the chutneys" aria-label="Idlis and vada with chutney on banana leaves." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/idli-at-babai-tiffins.B7It7vop.webp" alt="Idlis and vada with chutney on banana leaves." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The idlis were great but I can't say enough about the chutneys</figcaption></figure></div>
<p>Fenil took us to a park nearby which <em>almost</em> redeemed the trip. Rain from the day before made moving around the park a bit difficult, but it was still quite beautiful and relaxing.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/park-1.BgexARd2.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/park-1.BgexARd2.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="" aria-label="A shaded path runs through a leafy park." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/park-1.BgexARd2.webp" alt="A shaded path runs through a leafy park." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/park-2.BFmcVBhu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/park-2.BFmcVBhu.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="" aria-label="Dense green plants fill a sunny park garden." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/park-2.BFmcVBhu.webp" alt="Dense green plants fill a sunny park garden." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/park-3.CAIEmZlr.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/park-3.CAIEmZlr.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="" aria-label="A park bench sits beneath tall trees." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/park-3.CAIEmZlr.webp" alt="A park bench sits beneath tall trees." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a></figure></div>
<p><a href="https://underline.center/t/indiewebclub-36/895">IndieWebClub #36</a> was this weekend and I don’t think I did anything at all. I wasn’t really feeling it, so I mostly just poked around at my site and didn’t end up writing anything. Fenil was also trying to work on his site’s CSS during that period, and I was constantly just noticing him thinking out loud with his hands in my peripheral vision. If this was happening at work his ass is being sent into a cubicle, but it was just funny to see in the IWC setting.</p>
<p>I also got my long overdue haircut done, and was promptly punished for it with rain on the way back and a 2-hour power cut to follow it up. Apologies to the Lord above, I’ll grow back the rat’s nest 🙇</p>
<h1 id="reading">Reading</h1>
<p>The power cut was utilized to finish reading <a href="https://msfjarvis.dev/reading/when-we-cease-to-understand-the-world/">When We Cease to Understand the World</a> which was <em>okay</em>, but I definitely have some qualms about the creative liberties taken by the author. Once that was done I started reading <a href="https://msfjarvis.dev/reading/city-of-bones/">City of Bones</a> so I can round off my Martha Wells “<a href="https://matthewdicks.com/what-is-an-authors-filmography-or-discography-called/">bookgraphy</a>”. After this I’ll pick up Witch King and hope Ms Wells does not publish something in the upcoming weeks.</p>
<h1 id="work">Work</h1>
<p>The new office finally opened this week after multiple delays, and I’d definitely say it was worth it. The new space is probably 3 times bigger than what we had, the layout is much more spacious, and the pantry stays stocked (if you see this Jyothi, I’m joking). The downside that we were already aware of was the fact that it’s no longer Metro accessible. The gang decided to validate that by trying to walk to the closest Metro station, and were almost run over by vehicles only twice. Suffice to say we’ll be availing our commuter benefits much more frequently.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/new-office-1.DXFj3y9T.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/new-office-1.DXFj3y9T.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="With only 5 floors to the building I consider the self-proclaimed 'Tower B' an unearned label" aria-label="Palm trees stand in front of a modern office building." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/new-office-1.DXFj3y9T.webp" alt="Palm trees stand in front of a modern office building." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">With only 5 floors to the building I consider the self-proclaimed 'Tower B' an unearned label</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/new-office-reception.Cc9xsCgP.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/new-office-reception.Cc9xsCgP.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Having a reception in an office is actually a brand new experience for me" aria-label="The Cloudflare logo hangs above the office reception desk." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/new-office-reception.Cc9xsCgP.webp" alt="The Cloudflare logo hangs above the office reception desk." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Having a reception in an office is actually a brand new experience for me</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/new-office-2.D1zh-dRv.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/new-office-2.D1zh-dRv.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="You wouldn't guess at a first glance, but this building is actually a mall opposite the office" aria-label="A domed building rises behind a leafy garden." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/new-office-2.D1zh-dRv.webp" alt="A domed building rises behind a leafy garden." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">You wouldn't guess at a first glance, but this building is actually a mall opposite the office</figcaption></figure></div>
<p>I’ve been helping out with the <a href="https://developers.cloudflare.com/realtime/realtimekit/">RealtimeKit</a> backend for the past couple of weeks as work on the mobile SDKs was in a bit of a lull. Unsurprisingly I broke something and got to hold the pieces; thankfully this was only to an internal observability system that didn’t cause any customer facing impact. Thanks to debugging from the folks working full-time on the backend the bug was identified quickly, and I was able to submit a follow-up to resolve it. Learning experience and all that!</p>
<p>I saw a new opening in the DevTools team float by on the internal job board that was very tempting, but I’m still not sure if I want to apply and leave the RealtimeKit team. Things are going rather well here, and I still like being a mobile engineer. We’ll see!</p>
<p>Speaking of changes at work, my promotion finally went through this week! I’ve been working towards this for a while now so it feels quite satisfying for this to finally be done. I also got a hefty pay raise to go with it, since I was apparently near the bottom of my existing pay band. As is tradition at this point, my mother’s first question after hearing of the news was asking how much of my new pay will be going away in Income Tax then promptly cursing <a href="https://en.wikipedia.org/wiki/Nirmala_Sitharaman">Nirmala Tai’s</a> entire bloodline.</p>
<h2 id="tangent-about-tangents">Tangent about tangents</h2>
<p>How do people cope with their work just decomposing into a series of tangents? This is a real breakdown of how I started working on a fundamental rearchitecture of the Mobile SDK’s handling of reconnections (modelled after recent changes in the Web SDK) and ended up spending two days doing NONE of it.</p>
<style>
  .mermaid-modal {
    margin: 1.5rem 0;
  }

  .mermaid-modal__figure {
    margin: 0;
  }

  .mermaid-modal__preview {
    display: block;
    overflow-x: auto;
  }

  .mermaid-modal__preview svg {
    display: block;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }

  .mermaid-modal__actions {
    display: flex;
    justify-content: center;
    margin-top: 0.75rem;
  }

  .mermaid-modal__open-button {
    appearance: none;
    border: 1px solid var(--border);
    background: var(--bg-subtle);
    color: var(--text);
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    font: inherit;
    cursor: pointer;
  }

  .mermaid-modal__open-button:hover {
    border-color: var(--accent);
    color: var(--accent);
  }

  .mermaid-modal__dialog {
    position: fixed;
    inset: 0;
    z-index: 40000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 220ms ease;
  }

  .mermaid-modal__dialog[data-open='true'] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .mermaid-modal__overlay {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgb(0 0 0 / 0.72);
    backdrop-filter: blur(10px);
    cursor: pointer;
  }

  .mermaid-modal__sheet {
    position: relative;
    width: min(100%, 1400px);
    max-height: calc(100vh - 3rem);
    display: grid;
    gap: 0.85rem;
    transform: translateY(1rem) scale(0.985);
    opacity: 0;
    transition: transform 260ms ease, opacity 260ms ease;
  }

  .mermaid-modal__dialog[data-open='true'] .mermaid-modal__sheet {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  .mermaid-modal__content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .mermaid-modal__content svg {
    display: block;
    width: min(100%, 1400px);
    max-width: 100%;
    max-height: calc(100vh - 8rem);
    height: auto;
    margin-inline: auto;
  }

  .mermaid-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, white 24%, transparent);
    border-radius: 999px;
    background: rgb(17 17 17 / 0.55);
    color: white;
    padding: 0.6rem;
    cursor: pointer;
    backdrop-filter: blur(12px);
  }

  .mermaid-modal__close:focus-visible,
  .mermaid-modal__open-button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
</style><img src="data:image/svg+xml;base64,PHN2ZyBpZD0ic2F0dGVyaS1tZXJtYWlkLTAiIHdpZHRoPSIxMDAlIiA6eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHlsZT0iY29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7bWF4LXdpZHRoOjUxOC45MjJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYiIHZpZXdCb3g9IjAgMCA1MTguOTIxODc1IDU0MC41OTk5NzU1ODU5Mzc1IiByb2xlPSJncmFwaGljcy1kb2N1bWVudCBkb2N1bWVudCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGNsYXNzPSJmbG93Y2hhcnQgbWVybWFpZC1kaWFncmFtIiBhcmlhLXJvbGVkZXNjcmlwdGlvbj0iZmxvd2NoYXJ0LXYyIj48c3R5bGU+I3NhdHRlcmktbWVybWFpZC0we2ZvbnQtZmFtaWx5OiJ0cmVidWNoZXQgbXMiLHZlcmRhbmEsYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmaWxsOiM0NDQ0NDQ7fUBrZXlmcmFtZXMgZWRnZS1hbmltYXRpb24tZnJhbWV7ZnJvbXtzdHJva2UtZGFzaG9mZnNldDowO319QGtleWZyYW1lcyBkYXNoe3Rve3N0cm9rZS1kYXNob2Zmc2V0OjA7fX0jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2UtYW5pbWF0aW9uLXNsb3d7c3Ryb2tlLWRhc2hhcnJheTo5LDUhaW1wb3J0YW50O3N0cm9rZS1kYXNob2Zmc2V0OjkwMDthbmltYXRpb246ZGFzaCA1MHMgbGluZWFyIGluZmluaXRlO3N0cm9rZS1saW5lY2FwOnJvdW5kO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2UtYW5pbWF0aW9uLWZhc3R7c3Ryb2tlLWRhc2hhcnJheTo5LDUhaW1wb3J0YW50O3N0cm9rZS1kYXNob2Zmc2V0OjkwMDthbmltYXRpb246ZGFzaCAyMHMgbGluZWFyIGluZmluaXRlO3N0cm9rZS1saW5lY2FwOnJvdW5kO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVycm9yLWljb257ZmlsbDojNTUyMjIyO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVycm9yLXRleHR7ZmlsbDojNTUyMjIyO3N0cm9rZTojNTUyMjIyO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2UtdGhpY2tuZXNzLW5vcm1hbHtzdHJva2Utd2lkdGg6MXB4O30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2UtdGhpY2tuZXNzLXRoaWNre3N0cm9rZS13aWR0aDozLjVweDt9I3NhdHRlcmktbWVybWFpZC0wIC5lZGdlLXBhdHRlcm4tc29saWR7c3Ryb2tlLWRhc2hhcnJheTowO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2UtdGhpY2tuZXNzLWludmlzaWJsZXtzdHJva2Utd2lkdGg6MDtmaWxsOm5vbmU7fSNzYXR0ZXJpLW1lcm1haWQtMCAuZWRnZS1wYXR0ZXJuLWRhc2hlZHtzdHJva2UtZGFzaGFycmF5OjM7fSNzYXR0ZXJpLW1lcm1haWQtMCAuZWRnZS1wYXR0ZXJuLWRvdHRlZHtzdHJva2UtZGFzaGFycmF5OjI7fSNzYXR0ZXJpLW1lcm1haWQtMCAubWFya2Vye2ZpbGw6IzQ0NDQ0NDtzdHJva2U6IzQ0NDQ0NDt9I3NhdHRlcmktbWVybWFpZC0wIC5tYXJrZXIuY3Jvc3N7c3Ryb2tlOiM0NDQ0NDQ7fSNzYXR0ZXJpLW1lcm1haWQtMCBzdmd7Zm9udC1mYW1pbHk6InRyZWJ1Y2hldCBtcyIsdmVyZGFuYSxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O30jc2F0dGVyaS1tZXJtYWlkLTAgcHttYXJnaW46MDt9I3NhdHRlcmktbWVybWFpZC0wIC5sYWJlbHtmb250LWZhbWlseToidHJlYnVjaGV0IG1zIix2ZXJkYW5hLGFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6IzExMTExMTt9I3NhdHRlcmktbWVybWFpZC0wIC5jbHVzdGVyLWxhYmVsIHRleHR7ZmlsbDojNDQ0NDQ0O30jc2F0dGVyaS1tZXJtYWlkLTAgLmNsdXN0ZXItbGFiZWwgc3Bhbntjb2xvcjojNDQ0NDQ0O30jc2F0dGVyaS1tZXJtYWlkLTAgLmNsdXN0ZXItbGFiZWwgc3BhbiBwe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7fSNzYXR0ZXJpLW1lcm1haWQtMCAubGFiZWwgdGV4dCwjc2F0dGVyaS1tZXJtYWlkLTAgc3BhbntmaWxsOiMxMTExMTE7Y29sb3I6IzExMTExMTt9I3NhdHRlcmktbWVybWFpZC0wIC5ub2RlIHJlY3QsI3NhdHRlcmktbWVybWFpZC0wIC5ub2RlIGNpcmNsZSwjc2F0dGVyaS1tZXJtYWlkLTAgLm5vZGUgZWxsaXBzZSwjc2F0dGVyaS1tZXJtYWlkLTAgLm5vZGUgcG9seWdvbiwjc2F0dGVyaS1tZXJtYWlkLTAgLm5vZGUgcGF0aHtmaWxsOiNmN2Y3Zjc7c3Ryb2tlOiM3YTNkNmU7c3Ryb2tlLXdpZHRoOjFweDt9I3NhdHRlcmktbWVybWFpZC0wIC5yb3VnaC1ub2RlIC5sYWJlbCB0ZXh0LCNzYXR0ZXJpLW1lcm1haWQtMCAubm9kZSAubGFiZWwgdGV4dCwjc2F0dGVyaS1tZXJtYWlkLTAgLmltYWdlLXNoYXBlIC5sYWJlbCwjc2F0dGVyaS1tZXJtYWlkLTAgLmljb24tc2hhcGUgLmxhYmVse3RleHQtYW5jaG9yOm1pZGRsZTt9I3NhdHRlcmktbWVybWFpZC0wIC5ub2RlIC5rYXRleCBwYXRoe2ZpbGw6IzAwMDtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4O30jc2F0dGVyaS1tZXJtYWlkLTAgLnJvdWdoLW5vZGUgLmxhYmVsLCNzYXR0ZXJpLW1lcm1haWQtMCAubm9kZSAubGFiZWwsI3NhdHRlcmktbWVybWFpZC0wIC5pbWFnZS1zaGFwZSAubGFiZWwsI3NhdHRlcmktbWVybWFpZC0wIC5pY29uLXNoYXBlIC5sYWJlbHt0ZXh0LWFsaWduOmNlbnRlcjt9I3NhdHRlcmktbWVybWFpZC0wIC5ub2RlLmNsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcjt9I3NhdHRlcmktbWVybWFpZC0wIC5yb290IC5hbmNob3IgcGF0aHtmaWxsOiM0NDQ0NDQhaW1wb3J0YW50O3N0cm9rZS13aWR0aDowO3N0cm9rZTojNDQ0NDQ0O30jc2F0dGVyaS1tZXJtYWlkLTAgLmFycm93aGVhZFBhdGh7ZmlsbDojNDQ0NDQ0O30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2VQYXRoIC5wYXRoe3N0cm9rZTojNDQ0NDQ0O3N0cm9rZS13aWR0aDoxcHg7fSNzYXR0ZXJpLW1lcm1haWQtMCAuZmxvd2NoYXJ0LWxpbmt7c3Ryb2tlOiM0NDQ0NDQ7ZmlsbDpub25lO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2VMYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7dGV4dC1hbGlnbjpjZW50ZXI7fSNzYXR0ZXJpLW1lcm1haWQtMCAuZWRnZUxhYmVsIHB7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO30jc2F0dGVyaS1tZXJtYWlkLTAgLmVkZ2VMYWJlbCByZWN0e29wYWNpdHk6MC41O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtmaWxsOiNmZmZmZmY7fSNzYXR0ZXJpLW1lcm1haWQtMCAubGFiZWxCa2d7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzMiwgMjMyLCAyMzIsIDAuNSk7fSNzYXR0ZXJpLW1lcm1haWQtMCAuY2x1c3RlciByZWN0e2ZpbGw6I2Y3ZjdmNztzdHJva2U6I2U4ZThlODtzdHJva2Utd2lkdGg6MXB4O30jc2F0dGVyaS1tZXJtYWlkLTAgLmNsdXN0ZXIgdGV4dHtmaWxsOiM0NDQ0NDQ7fSNzYXR0ZXJpLW1lcm1haWQtMCAuY2x1c3RlciBzcGFue2NvbG9yOiM0NDQ0NDQ7fSNzYXR0ZXJpLW1lcm1haWQtMCBkaXYubWVybWFpZFRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6MnB4O2ZvbnQtZmFtaWx5OiJ0cmVidWNoZXQgbXMiLHZlcmRhbmEsYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtiYWNrZ3JvdW5kOiNmN2Y3Zjc7Ym9yZGVyOjFweCBzb2xpZCAjZThlOGU4O2JvcmRlci1yYWRpdXM6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMDA7fSNzYXR0ZXJpLW1lcm1haWQtMCAuZmxvd2NoYXJ0VGl0bGVUZXh0e3RleHQtYW5jaG9yOm1pZGRsZTtmb250LXNpemU6MThweDtmaWxsOiM0NDQ0NDQ7fSNzYXR0ZXJpLW1lcm1haWQtMCByZWN0LnRleHR7ZmlsbDpub25lO3N0cm9rZS13aWR0aDowO30jc2F0dGVyaS1tZXJtYWlkLTAgLmljb24tc2hhcGUsI3NhdHRlcmktbWVybWFpZC0wIC5pbWFnZS1zaGFwZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7dGV4dC1hbGlnbjpjZW50ZXI7fSNzYXR0ZXJpLW1lcm1haWQtMCAuaWNvbi1zaGFwZSBwLCNzYXR0ZXJpLW1lcm1haWQtMCAuaW1hZ2Utc2hhcGUgcHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7cGFkZGluZzoycHg7fSNzYXR0ZXJpLW1lcm1haWQtMCAuaWNvbi1zaGFwZSAubGFiZWwgcmVjdCwjc2F0dGVyaS1tZXJtYWlkLTAgLmltYWdlLXNoYXBlIC5sYWJlbCByZWN0e29wYWNpdHk6MC41O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtmaWxsOiNmZmZmZmY7fSNzYXR0ZXJpLW1lcm1haWQtMCAubGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MWVtO292ZXJmbG93OnZpc2libGU7dmVydGljYWwtYWxpZ246LTAuMTI1ZW07fSNzYXR0ZXJpLW1lcm1haWQtMCAubm9kZSAubGFiZWwtaWNvbiBwYXRoe2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpyZXZlcnQ7c3Ryb2tlLXdpZHRoOnJldmVydDt9I3NhdHRlcmktbWVybWFpZC0wIDpyb290ey0tbWVybWFpZC1mb250LWZhbWlseToidHJlYnVjaGV0IG1zIix2ZXJkYW5hLGFyaWFsLHNhbnMtc2VyaWY7fTwvc3R5bGU+PGRlZnM+PGZpbHRlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtZHJvcC1zaGFkb3ciIGhlaWdodD0iMTMwJSIgd2lkdGg9IjEzMCUiPjxmZWRyb3BzaGFkb3cgZHg9IjQiIGR5PSI0IiBzdGREZXZpYXRpb249IjAiIGZsb29kLW9wYWNpdHk9IjAuMDYiIGZsb29kLWNvbG9yPSIjMTExMTExIj48L2ZlZHJvcHNoYWRvdz48L2ZpbHRlcj48L2RlZnM+PGRlZnM+PGZpbHRlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtZHJvcC1zaGFkb3ctc21hbGwiIGhlaWdodD0iMTUwJSIgd2lkdGg9IjE1MCUiPjxmZWRyb3BzaGFkb3cgZHg9IjIiIGR5PSIyIiBzdGREZXZpYXRpb249IjAiIGZsb29kLW9wYWNpdHk9IjAuMDYiIGZsb29kLWNvbG9yPSIjMTExMTExIj48L2ZlZHJvcHNoYWRvdz48L2ZpbHRlcj48L2RlZnM+PGc+PG1hcmtlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLXBvaW50RW5kIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9IjUiIHJlZlk9IjUiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgb3JpZW50PSJhdXRvIiBjbGFzcz0ibWFya2VyIGZsb3djaGFydC12MiI+PHBhdGggZD0iTSAwIDAgTCAxMCA1IEwgMCAxMCB6IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjE7c3Ryb2tlLWRhc2hhcnJheToxLCAwIiBjbGFzcz0iYXJyb3dNYXJrZXJQYXRoIj48L3BhdGg+PC9tYXJrZXI+PG1hcmtlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLXBvaW50U3RhcnQiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iNC41IiByZWZZPSI1IiBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hcmtlcldpZHRoPSI4IiBtYXJrZXJIZWlnaHQ9IjgiIG9yaWVudD0iYXV0byIgY2xhc3M9Im1hcmtlciBmbG93Y2hhcnQtdjIiPjxwYXRoIGQ9Ik0gMCA1IEwgMTAgMTAgTCAxMCAwIHoiIHN0eWxlPSJzdHJva2Utd2lkdGg6MTtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvcGF0aD48L21hcmtlcj48bWFya2VyIGlkPSJzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQtbWFyZ2luIiB2aWV3Qm94PSIwIDAgMTEuNSAxNCIgcmVmWD0iMTEuNSIgcmVmWT0iNyIgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXJrZXJXaWR0aD0iMTAuNSIgbWFya2VySGVpZ2h0PSIxNCIgb3JpZW50PSJhdXRvIiBjbGFzcz0ibWFya2VyIGZsb3djaGFydC12MiI+PHBhdGggZD0iTSAwIDAgTCAxMS41IDcgTCAwIDE0IHoiIHN0eWxlPSJzdHJva2Utd2lkdGg6MDtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvcGF0aD48L21hcmtlcj48bWFya2VyIGlkPSJzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRTdGFydC1tYXJnaW4iIHZpZXdCb3g9IjAgMCAxMS41IDE0IiByZWZYPSIxIiByZWZZPSI3IiBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hcmtlcldpZHRoPSIxMS41IiBtYXJrZXJIZWlnaHQ9IjE0IiBvcmllbnQ9ImF1dG8iIGNsYXNzPSJtYXJrZXIgZmxvd2NoYXJ0LXYyIj48cG9seWdvbiBwb2ludHM9IjAsNyAxMS41LDE0IDExLjUsMCIgc3R5bGU9InN0cm9rZS13aWR0aDowO3N0cm9rZS1kYXNoYXJyYXk6MSwgMCIgY2xhc3M9ImFycm93TWFya2VyUGF0aCI+PC9wb2x5Z29uPjwvbWFya2VyPjxtYXJrZXIgaWQ9InNhdHRlcmktbWVybWFpZC0wX2Zsb3djaGFydC12Mi1jaXJjbGVFbmQiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iMTEiIHJlZlk9IjUiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjExIiBtYXJrZXJIZWlnaHQ9IjExIiBvcmllbnQ9ImF1dG8iIGNsYXNzPSJtYXJrZXIgZmxvd2NoYXJ0LXYyIj48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDoxO3N0cm9rZS1kYXNoYXJyYXk6MSwgMCIgY2xhc3M9ImFycm93TWFya2VyUGF0aCI+PC9jaXJjbGU+PC9tYXJrZXI+PG1hcmtlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLWNpcmNsZVN0YXJ0IiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9Ii0xIiByZWZZPSI1IiBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hcmtlcldpZHRoPSIxMSIgbWFya2VySGVpZ2h0PSIxMSIgb3JpZW50PSJhdXRvIiBjbGFzcz0ibWFya2VyIGZsb3djaGFydC12MiI+PGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIHN0eWxlPSJzdHJva2Utd2lkdGg6MTtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvY2lyY2xlPjwvbWFya2VyPjxtYXJrZXIgaWQ9InNhdHRlcmktbWVybWFpZC0wX2Zsb3djaGFydC12Mi1jaXJjbGVFbmQtbWFyZ2luIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlk9IjUiIHJlZlg9IjEyLjI1IiBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hcmtlcldpZHRoPSIxNCIgbWFya2VySGVpZ2h0PSIxNCIgb3JpZW50PSJhdXRvIiBjbGFzcz0ibWFya2VyIGZsb3djaGFydC12MiI+PGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjUiIHN0eWxlPSJzdHJva2Utd2lkdGg6MDtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvY2lyY2xlPjwvbWFya2VyPjxtYXJrZXIgaWQ9InNhdHRlcmktbWVybWFpZC0wX2Zsb3djaGFydC12Mi1jaXJjbGVTdGFydC1tYXJnaW4iIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iLTIiIHJlZlk9IjUiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjE0IiBtYXJrZXJIZWlnaHQ9IjE0IiBvcmllbnQ9ImF1dG8iIGNsYXNzPSJtYXJrZXIgZmxvd2NoYXJ0LXYyIj48Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDowO3N0cm9rZS1kYXNoYXJyYXk6MSwgMCIgY2xhc3M9ImFycm93TWFya2VyUGF0aCI+PC9jaXJjbGU+PC9tYXJrZXI+PG1hcmtlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLWNyb3NzRW5kIiB2aWV3Qm94PSIwIDAgMTEgMTEiIHJlZlg9IjEyIiByZWZZPSI1LjIiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjExIiBtYXJrZXJIZWlnaHQ9IjExIiBvcmllbnQ9ImF1dG8iIGNsYXNzPSJtYXJrZXIgY3Jvc3MgZmxvd2NoYXJ0LXYyIj48cGF0aCBkPSJNIDEsMSBsIDksOSBNIDEwLDEgbCAtOSw5IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWRhc2hhcnJheToxLCAwIiBjbGFzcz0iYXJyb3dNYXJrZXJQYXRoIj48L3BhdGg+PC9tYXJrZXI+PG1hcmtlciBpZD0ic2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLWNyb3NzU3RhcnQiIHZpZXdCb3g9IjAgMCAxMSAxMSIgcmVmWD0iLTEiIHJlZlk9IjUuMiIgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXJrZXJXaWR0aD0iMTEiIG1hcmtlckhlaWdodD0iMTEiIG9yaWVudD0iYXV0byIgY2xhc3M9Im1hcmtlciBjcm9zcyBmbG93Y2hhcnQtdjIiPjxwYXRoIGQ9Ik0gMSwxIGwgOSw5IE0gMTAsMSBsIC05LDkiIHN0eWxlPSJzdHJva2Utd2lkdGg6MjtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvcGF0aD48L21hcmtlcj48bWFya2VyIGlkPSJzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItY3Jvc3NFbmQtbWFyZ2luIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHJlZlg9IjE3LjciIHJlZlk9IjcuNSIgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXJrZXJXaWR0aD0iMTIiIG1hcmtlckhlaWdodD0iMTIiIG9yaWVudD0iYXV0byIgY2xhc3M9Im1hcmtlciBjcm9zcyBmbG93Y2hhcnQtdjIiPjxwYXRoIGQ9Ik0gMSwxIEwgMTQsMTQgTSAxLDE0IEwgMTQsMSIgc3R5bGU9InN0cm9rZS13aWR0aDoyLjUiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvcGF0aD48L21hcmtlcj48bWFya2VyIGlkPSJzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItY3Jvc3NTdGFydC1tYXJnaW4iIHZpZXdCb3g9IjAgMCAxNSAxNSIgcmVmWD0iLTMuNSIgcmVmWT0iNy41IiBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hcmtlcldpZHRoPSIxMiIgbWFya2VySGVpZ2h0PSIxMiIgb3JpZW50PSJhdXRvIiBjbGFzcz0ibWFya2VyIGNyb3NzIGZsb3djaGFydC12MiI+PHBhdGggZD0iTSAxLDEgTCAxNCwxNCBNIDEsMTQgTCAxNCwxIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjIuNTtzdHJva2UtZGFzaGFycmF5OjEsIDAiIGNsYXNzPSJhcnJvd01hcmtlclBhdGgiPjwvcGF0aD48L21hcmtlcj48ZyBjbGFzcz0icm9vdCI+PGcgY2xhc3M9ImNsdXN0ZXJzIj48L2c+PGcgY2xhc3M9ImVkZ2VQYXRocyI+PHBhdGggZD0iTTE4MS40NDIsNzcuMTMzTDE3MS40NzYsODEuMzExQzE2MS41MSw4NS40ODksMTQxLjU3Nyw5My44NDQsMTMxLjY4MSwxMDEuNjA2QzEyMS43ODUsMTA5LjM2NywxMjEuOTI2LDExNi41MzQsMTIxLjk5NiwxMjAuMTE3TDEyMi4wNjYsMTIzLjcwMSIgaWQ9InNhdHRlcmktbWVybWFpZC0wLUxfVGFza19UYW5nZW50MV8wIiBzdHlsZT0iIiBjbGFzcz0iZWRnZS10aGlja25lc3Mtbm9ybWFsIGVkZ2UtcGF0dGVybi1zb2xpZCBlZGdlLXRoaWNrbmVzcy1ub3JtYWwgZWRnZS1wYXR0ZXJuLXNvbGlkIGZsb3djaGFydC1saW5rIiBkYXRhLWVkZ2U9InRydWUiIGRhdGEtZXQ9ImVkZ2UiIGRhdGEtaWQ9IkxfVGFza19UYW5nZW50MV8wIiBkYXRhLXBvaW50cz0iVzNzaWVDSTZNVGd4TGpRME1qUTROalV6TXpnMU1ERXNJbmtpT2pjM0xqRXpNamcxTkRjNU5UQXpNekU0ZlN4N0luZ2lPakV5TVM0Mk5EUTFNekV5TlN3aWVTSTZNVEF5TGpFNU9UazVOamswT0RJME1qRTVmU3g3SW5naU9qRXlNaTR4TkRRMU16RXlOU3dpZVNJNk1USTNMalk1T1RrNU5qazBPREkwTWpFNWZWMD0iIGRhdGEtbG9vaz0iY2xhc3NpYyIgbWFya2VyLWVuZD0idXJsKCNzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQpIj48L3BhdGg+PHBhdGggZD0iTTEyMi4xNDUsMjExLjlMMTIyLjA2MSwyMTUuOTgzQzEyMS45NzgsMjIwLjA2NywxMjEuODExLDIyOC4yMzMsMTIxLjgwMSwyMzcuMzY3QzEyMS43OTIsMjQ2LjUsMTIxLjkzOSwyNTYuNiwxMjIuMDEzLDI2MS42NUwxMjIuMDg2LDI2Ni43IiBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtTF9UYW5nZW50MV9UYW5nZW50MV81XzAiIHN0eWxlPSIiIGNsYXNzPSJlZGdlLXRoaWNrbmVzcy1ub3JtYWwgZWRnZS1wYXR0ZXJuLXNvbGlkIGVkZ2UtdGhpY2tuZXNzLW5vcm1hbCBlZGdlLXBhdHRlcm4tc29saWQgZmxvd2NoYXJ0LWxpbmsiIGRhdGEtZWRnZT0idHJ1ZSIgZGF0YS1ldD0iZWRnZSIgZGF0YS1pZD0iTF9UYW5nZW50MV9UYW5nZW50MV81XzAiIGRhdGEtcG9pbnRzPSJXM3NpZUNJNk1USXlMakUwTkRVek1USTFMQ0o1SWpveU1URXVPRGs1T1RrMk9UUTRNalF5TVRoOUxIc2llQ0k2TVRJeExqWTBORFV6TVRJMUxDSjVJam95TXpZdU16azVPVGsyT1RRNE1qUXlNVGg5TEhzaWVDSTZNVEl5TGpFME5EVXpNVEkxTENKNUlqb3lOekF1TmprNU9UazJPVFE0TWpReU1uMWQiIGRhdGEtbG9vaz0iY2xhc3NpYyIgbWFya2VyLWVuZD0idXJsKCNzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQpIj48L3BhdGg+PHBhdGggZD0iTTEyMi4xNDUsMzcyLjVMMTIyLjA2MSwzNzguMDVDMTIxLjk3OCwzODMuNiwxMjEuODExLDM5NC43LDEyMS43OTgsNDAzLjgzM0MxMjEuNzg1LDQxMi45NjcsMTIxLjkyNiw0MjAuMTM0LDEyMS45OTYsNDIzLjcxN0wxMjIuMDY2LDQyNy4zMDEiIGlkPSJzYXR0ZXJpLW1lcm1haWQtMC1MX1RhbmdlbnQxXzVfVGFuZ2VudDFfOV8wIiBzdHlsZT0iIiBjbGFzcz0iZWRnZS10aGlja25lc3Mtbm9ybWFsIGVkZ2UtcGF0dGVybi1zb2xpZCBlZGdlLXRoaWNrbmVzcy1ub3JtYWwgZWRnZS1wYXR0ZXJuLXNvbGlkIGZsb3djaGFydC1saW5rIiBkYXRhLWVkZ2U9InRydWUiIGRhdGEtZXQ9ImVkZ2UiIGRhdGEtaWQ9IkxfVGFuZ2VudDFfNV9UYW5nZW50MV85XzAiIGRhdGEtcG9pbnRzPSJXM3NpZUNJNk1USXlMakUwTkRVek1USTFMQ0o1SWpvek56SXVORGs1T1RrMk9UUTRNalF5TVRSOUxIc2llQ0k2TVRJeExqWTBORFV6TVRJMUxDSjVJam8wTURVdU56azVPVGsyT1RRNE1qUXlNbjBzZXlKNElqb3hNakl1TVRRME5UTXhNalVzSW5raU9qUXpNUzR5T1RrNU9UWTVORGd5TkRJeWZWMD0iIGRhdGEtbG9vaz0iY2xhc3NpYyIgbWFya2VyLWVuZD0idXJsKCNzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQpIj48L3BhdGg+PHBhdGggZD0iTTMzOS4zMDgsNzcuMTMzTDM0OS4xMDcsODEuMzExQzM1OC45MDcsODUuNDg5LDM3OC41MDYsOTMuODQ0LDM4OC4zNzYsMTAxLjYwNkMzOTguMjQ2LDEwOS4zNjcsMzk4LjM4NywxMTYuNTM0LDM5OC40NTcsMTIwLjExN0wzOTguNTI3LDEyMy43MDEiIGlkPSJzYXR0ZXJpLW1lcm1haWQtMC1MX1Rhc2tfVGFuZ2VudDJfMCIgc3R5bGU9IiIgY2xhc3M9ImVkZ2UtdGhpY2tuZXNzLW5vcm1hbCBlZGdlLXBhdHRlcm4tc29saWQgZWRnZS10aGlja25lc3Mtbm9ybWFsIGVkZ2UtcGF0dGVybi1zb2xpZCBmbG93Y2hhcnQtbGluayIgZGF0YS1lZGdlPSJ0cnVlIiBkYXRhLWV0PSJlZGdlIiBkYXRhLWlkPSJMX1Rhc2tfVGFuZ2VudDJfMCIgZGF0YS1wb2ludHM9Ilczc2llQ0k2TXpNNUxqTXdOelV4TXpJek1UazBNRFUyTENKNUlqbzNOeTR4TXpJNE5UUTJPVFF3TlRBMU1YMHNleUo0SWpvek9UZ3VNVEExTkRZNE56VXNJbmtpT2pFd01pNHhPVGs1T1RZNU5EZ3lOREl4T1gwc2V5SjRJam96T1RndU5qQTFORFk0TnpVc0lua2lPakV5Tnk0Mk9UazVPVFk1TkRneU5ESXhPWDFkIiBkYXRhLWxvb2s9ImNsYXNzaWMiIG1hcmtlci1lbmQ9InVybCgjc2F0dGVyaS1tZXJtYWlkLTBfZmxvd2NoYXJ0LXYyLXBvaW50RW5kKSI+PC9wYXRoPjxwYXRoIGQ9Ik0zOTguNjA1LDIxMS45TDM5OC41MjIsMjE1Ljk4M0MzOTguNDM5LDIyMC4wNjcsMzk4LjI3MiwyMjguMjMzLDM5OC4yNTksMjM1LjlDMzk4LjI0NiwyNDMuNTY3LDM5OC4zODcsMjUwLjczNCwzOTguNDU3LDI1NC4zMTdMMzk4LjUyNywyNTcuOTAxIiBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtTF9UYW5nZW50Ml9UYW5nZW50Ml81XzAiIHN0eWxlPSIiIGNsYXNzPSJlZGdlLXRoaWNrbmVzcy1ub3JtYWwgZWRnZS1wYXR0ZXJuLXNvbGlkIGVkZ2UtdGhpY2tuZXNzLW5vcm1hbCBlZGdlLXBhdHRlcm4tc29saWQgZmxvd2NoYXJ0LWxpbmsiIGRhdGEtZWRnZT0idHJ1ZSIgZGF0YS1ldD0iZWRnZSIgZGF0YS1pZD0iTF9UYW5nZW50Ml9UYW5nZW50Ml81XzAiIGRhdGEtcG9pbnRzPSJXM3NpZUNJNk16azRMall3TlRRMk9EYzFMQ0o1SWpveU1URXVPRGs1T1RrMk9UUTRNalF5TVRoOUxIc2llQ0k2TXprNExqRXdOVFEyT0RjMUxDSjVJam95TXpZdU16azVPVGsyT1RRNE1qUXlNVGg5TEhzaWVDSTZNems0TGpZd05UUTJPRGMxTENKNUlqb3lOakV1T0RrNU9UazJPVFE0TWpReU1uMWQiIGRhdGEtbG9vaz0iY2xhc3NpYyIgbWFya2VyLWVuZD0idXJsKCNzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQpIj48L3BhdGg+PHBhdGggZD0iTTM5OC42MDUsMzgxLjNMMzk4LjUyMiwzODUuMzgzQzM5OC40MzksMzg5LjQ2NywzOTguMjcyLDM5Ny42MzMsMzk4LjI1OSw0MDUuM0MzOTguMjQ2LDQxMi45NjcsMzk4LjM4Nyw0MjAuMTM0LDM5OC40NTcsNDIzLjcxN0wzOTguNTI3LDQyNy4zMDEiIGlkPSJzYXR0ZXJpLW1lcm1haWQtMC1MX1RhbmdlbnQyXzVfVGFuZ2VudDJfOV8wIiBzdHlsZT0iIiBjbGFzcz0iZWRnZS10aGlja25lc3Mtbm9ybWFsIGVkZ2UtcGF0dGVybi1zb2xpZCBlZGdlLXRoaWNrbmVzcy1ub3JtYWwgZWRnZS1wYXR0ZXJuLXNvbGlkIGZsb3djaGFydC1saW5rIiBkYXRhLWVkZ2U9InRydWUiIGRhdGEtZXQ9ImVkZ2UiIGRhdGEtaWQ9IkxfVGFuZ2VudDJfNV9UYW5nZW50Ml85XzAiIGRhdGEtcG9pbnRzPSJXM3NpZUNJNk16azRMall3TlRRMk9EYzFMQ0o1SWpvek9ERXVNams1T1RrMk9UUTRNalF5TVRWOUxIc2llQ0k2TXprNExqRXdOVFEyT0RjMUxDSjVJam8wTURVdU56azVPVGsyT1RRNE1qUXlNbjBzZXlKNElqb3pPVGd1TmpBMU5EWTROelVzSW5raU9qUXpNUzR5T1RrNU9UWTVORGd5TkRJeWZWMD0iIGRhdGEtbG9vaz0iY2xhc3NpYyIgbWFya2VyLWVuZD0idXJsKCNzYXR0ZXJpLW1lcm1haWQtMF9mbG93Y2hhcnQtdjItcG9pbnRFbmQpIj48L3BhdGg+PC9nPjxnIGNsYXNzPSJlZGdlTGFiZWxzIj48Zz48cmVjdCBzdHlsZT0ic3Ryb2tlOm5vbmUiIGNsYXNzPSJiYWNrZ3JvdW5kIj48L3JlY3Q+PC9nPjxnPjxyZWN0IHN0eWxlPSJzdHJva2U6bm9uZSIgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD48L2c+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0PjwvZz48Zz48cmVjdCBzdHlsZT0ic3Ryb2tlOm5vbmUiIGNsYXNzPSJiYWNrZ3JvdW5kIj48L3JlY3Q+PC9nPjxnPjxyZWN0IHN0eWxlPSJzdHJva2U6bm9uZSIgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD48L2c+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0PjwvZz48ZyBjbGFzcz0iZWRnZUxhYmVsIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDApIiBjbGFzcz0ibGFiZWwiIGRhdGEtaWQ9IkxfVGFza19UYW5nZW50MV8wIj48dGV4dCB5PSItMTAuMSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+PHRzcGFuIHg9IjAiIHk9Ii0wLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iIHRleHQtYW5jaG9yPSJtaWRkbGUiPjwvdHNwYW4+PC90ZXh0PjwvZz48L2c+PGcgY2xhc3M9ImVkZ2VMYWJlbCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgY2xhc3M9ImxhYmVsIiBkYXRhLWlkPSJMX1RhbmdlbnQxX1RhbmdlbnQxXzVfMCI+PHRleHQgeT0iLTEwLjEiIHRleHQtYW5jaG9yPSJtaWRkbGUiPjx0c3BhbiB4PSIwIiB5PSItMC4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj48L3RzcGFuPjwvdGV4dD48L2c+PC9nPjxnIGNsYXNzPSJlZGdlTGFiZWwiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiIGNsYXNzPSJsYWJlbCIgZGF0YS1pZD0iTF9UYW5nZW50MV81X1RhbmdlbnQxXzlfMCI+PHRleHQgeT0iLTEwLjEiIHRleHQtYW5jaG9yPSJtaWRkbGUiPjx0c3BhbiB4PSIwIiB5PSItMC4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj48L3RzcGFuPjwvdGV4dD48L2c+PC9nPjxnIGNsYXNzPSJlZGdlTGFiZWwiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiIGNsYXNzPSJsYWJlbCIgZGF0YS1pZD0iTF9UYXNrX1RhbmdlbnQyXzAiPjx0ZXh0IHk9Ii0xMC4xIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj48dHNwYW4geD0iMCIgeT0iLTAuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+PC90c3Bhbj48L3RleHQ+PC9nPjwvZz48ZyBjbGFzcz0iZWRnZUxhYmVsIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDApIiBjbGFzcz0ibGFiZWwiIGRhdGEtaWQ9IkxfVGFuZ2VudDJfVGFuZ2VudDJfNV8wIj48dGV4dCB5PSItMTAuMSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+PHRzcGFuIHg9IjAiIHk9Ii0wLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iIHRleHQtYW5jaG9yPSJtaWRkbGUiPjwvdHNwYW4+PC90ZXh0PjwvZz48L2c+PGcgY2xhc3M9ImVkZ2VMYWJlbCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgY2xhc3M9ImxhYmVsIiBkYXRhLWlkPSJMX1RhbmdlbnQyXzVfVGFuZ2VudDJfOV8wIj48dGV4dCB5PSItMTAuMSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+PHRzcGFuIHg9IjAiIHk9Ii0wLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iIHRleHQtYW5jaG9yPSJtaWRkbGUiPjwvdHNwYW4+PC90ZXh0PjwvZz48L2c+PC9nPjxnIGNsYXNzPSJub2RlcyI+PGcgaWQ9InNhdHRlcmktbWVybWFpZC0wLWZsb3djaGFydC1UYXNrLTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1OS44NzUsNDIuNTk5OTk4NDc0MTIxMDk0KSIgY2xhc3M9Im5vZGUgZGVmYXVsdCIgZGF0YS1sb29rPSJjbGFzc2ljIj48ZyBjbGFzcz0iYmFzaWMgbGFiZWwtY29udGFpbmVyIG91dGVyLXBhdGgiPjxwYXRoIGQ9Ik0tNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYgQy0zNC4zODc0MjEwMzM0MDQ3NyAtMzQuNiwgMy45ODIxODkxODMxOTA0NzA4IC0zNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBDNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYsIDcyLjc1NzAzMTI1MDAwMDAxIC0zNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBDNzMuMzQwNjcyNzI0ODk3NTIgLTM0LjU4MTI4Mzc1Mzg4OTI1LCA3My45MjQzMTQxOTk3OTUwMiAtMzQuNTYyNTY3NTA3Nzc4NSwgNzQuOTczODYwODYxMzMyNjggLTM0LjUyODkxMDU4OTE2MTY0IEM3NS41MTQ1ODQ1MTA2MDA0MSAtMzQuNDc2NzQ3NjI5MDMyMTEsIDc2LjA1NTMwODE1OTg2ODE1IC0zNC40MjQ1ODQ2Njg5MDI1OSwgNzcuMTgxNTgxMDQ0MjgzOTIgLTM0LjMxNTkzNDQ3ODI4NDMyIEM3OC4wMDE4MTQ4ODUxNTE1IC0zNC4xODMzMjU0MzE5MDEyOSwgNzguODIyMDQ4NzI2MDE5MDkgLTM0LjA1MDcxNjM4NTUxODI1LCA3OS4zNzExMTk4MDMwNjc0OSAtMzMuOTYxOTQ2ODMxODkwODYgQzgwLjExODczNDc4NzY3NzYgLTMzLjc5MTMwODU5MDI5NzMxLCA4MC44NjYzNDk3NzIyODc3IC0zMy42MjA2NzAzNDg3MDM3NiwgODEuNTMzNDc5ODUzMjY4OTYgLTMzLjQ2ODQwMjI2MTE1MDQyIEM4Mi4zMzczNTczMzAwOTk5NiAtMzMuMjI5ODE1NjQ1NjY1OTY1LCA4My4xNDEyMzQ4MDY5MzA5NSAtMzIuOTkxMjI5MDMwMTgxNTEsIDgzLjY1OTc3NTU5MzYxNzI4IC0zMi44MzczMjg4NDY1NjkxMzYgQzg0LjE5NjkzNDEzMTk5NTU1IC0zMi42Mzk2NDk1MzkwMDY4NCwgODQuNzM0MDkyNjcwMzczOCAtMzIuNDQxOTcwMjMxNDQ0NTQsIDg1Ljc0MTI2OTYxODgyNjM1IC0zMi4wNzEzMTk4MDQxNzIzNTQgQzg2LjUwOTc4Mjc4NTUwMTc4IC0zMS43MzExMjE4MjI0MTgyNDUsIDg3LjI3ODI5NTk1MjE3NzIyIC0zMS4zOTA5MjM4NDA2NjQxNCwgODcuNzY5NDA4NjIzNDY3NTMgLTMxLjE3MzUyMjgyOTQyMzcwMyBDODguNDk5MTM2NjIyNTM0MjcgLTMwLjc5MjgyNDE5OTcyMzY4LCA4OS4yMjg4NjQ2MjE2MDA5OSAtMzAuNDEyMTI1NTcwMDIzNjU1LCA4OS43MzU4NTg1NDkzMzYyNiAtMzAuMTQ3NjI3MTYyNjY5Mjc3IEM5MC4yNjk0NzUwMTk5MTIwMiAtMjkuODI0MTQ1NzIyMzI3NzkyLCA5MC44MDMwOTE0OTA0ODc3OSAtMjkuNTAwNjY0MjgxOTg2MzEsIDkxLjYzMjUzODgzMTg4NSAtMjguOTk3ODQ4NDI5MjU3NjkgQzkyLjE0MDkyOTY3NjU1NzMyIC0yOC42NDMyMTY5ODM4OTkyMzcsIDkyLjY0OTMyMDUyMTIyOTY1IC0yOC4yODg1ODU1Mzg1NDA3ODcsIDkzLjQ1MTY1NTYwNDk5NjA5IC0yNy43Mjg5MTEzMTY2MzEzIEM5My45NDc2MzYwMjM3MDQ1NSAtMjcuMzMzMzgwMTMxMzA0NTUsIDk0LjQ0MzYxNjQ0MjQxMyAtMjYuOTM3ODQ4OTQ1OTc3Nzk4LCA5NS4xODU3MzM3Mjc2NDk0OCAtMjYuMzQ2MDMwMTU5NTcyMDU2IEM5NS43MTA3NTE3MTQyNzM1MSAtMjUuODY5MjIyNzE1MzM0ODIsIDk2LjIzNTc2OTcwMDg5NzU1IC0yNS4zOTI0MTUyNzEwOTc1ODMsIDk2LjgyNzY0NzUwMDg4MDY0IC0yNC44NTQ4ODc1MTMzODEzNzQgQzk3LjE3NDU0MTAyMzU5NiAtMjQuNDk2NjkxNDcwNjg5ODg2LCA5Ny41MjE0MzQ1NDYzMTEzNSAtMjQuMTM4NDk1NDI3OTk4NCwgOTguMzcwNjQ5OTQ4ODA1OTIgLTIzLjI2MTYxMDgwMzA0MTU3IEM5OC44NDgyNTAyNTQxNzY0MiAtMjIuNzAwNTk0MzA4MTI2MTM1LCA5OS4zMjU4NTA1NTk1NDY5NCAtMjIuMTM5NTc3ODEzMjEwNjk2LCA5OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTg1IEMxMDAuMjA4ODMzOTA3MTI1MDMgLTIxLjAzNjIwMjkxNzE0MjMwOCwgMTAwLjYwOTI2NzI3MDg1NjIxIC0yMC40OTk2NTg2ODk5NzI0MjgsIDEwMS4xMzQ5OTEyNTkwNTQ2OSAtMTkuNzk1MjM2NDQwMjI3MDggQzEwMS40MjEyMDM2MDA3MDQ1NCAtMTkuMzU1NTM3NDI0Njc3OTIzLCAxMDEuNzA3NDE1OTQyMzU0NCAtMTguOTE1ODM4NDA5MTI4NzY3LCAxMDIuMzQ0OTcwODQ5OTg0OTkgLTE3LjkzNjM4Mjg2MzU0NDE3IEMxMDIuNjY5NjE5NzUzMDQzODggLTE3LjM1OTkzNTg2MTg5NjkzLCAxMDIuOTk0MjY4NjU2MTAyNzYgLTE2Ljc4MzQ4ODg2MDI0OTY4MywgMTAzLjQzMzM2NzI1MDUwNTgyIC0xNi4wMDM4MjQ4NDIzMzI5IEMxMDMuNjgwNDQ1OTY5NjU1NzEgLTE1LjQ5MDc2MDU5NTM4MDQ4NiwgMTAzLjkyNzUyNDY4ODgwNTU4IC0xNC45Nzc2OTYzNDg0MjgwNywgMTA0LjM5NTcwODAwNjM0NzEyIC0xNC4wMDU1MDM2NzIwMzQ4MzYgQzEwNC42MDcwNjAyMTA3NTM3MiAtMTMuNDgzNDU5NjQwOTMzNjU0LCAxMDQuODE4NDEyNDE1MTYwMzEgLTEyLjk2MTQxNTYwOTgzMjQ3MywgMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyNiBDMTA1LjQ5MzAzNTU1MDkzODM3IC0xMS4xNTE1MDI0NDc2NzMwMjMsIDEwNS43NTgwMzI0NDg5NTUwMiAtMTAuMzUzMzc0MDEyMzY4Nzg3LCAxMDUuOTI2OTM4OTY1MDY4NDcgLTkuODQ0NjU0NDk3NDMzNzM0IEMxMDYuMTE3NTIxNDU0OTk5MDUgLTkuMTE3ODgwODY0MzU0NzkyLCAxMDYuMzA4MTAzOTQ0OTI5NjQgLTguMzkxMTA3MjMxMjc1ODUsIDEwNi40ODk1MzcwMTE0OTExMSAtNy42OTkyMjQzMTQ4ODg0ODI1IEMxMDYuNjI0OTg0MzQxMTY4MDIgLTcuMDAzNzMwOTAzODAwODU5LCAxMDYuNzYwNDMxNjcwODQ0OTEgLTYuMzA4MjM3NDkyNzEzMjM2NSwgMTA2LjkxMzUyMDk1NjEzOTk5IC01LjUyMjE1NjM2ODE1NDkzNCBDMTA3LjAxNTQ1NzQxNjA5MDIzIC00LjczMTU1NzMxNDQxMTcyLCAxMDcuMTE3MzkzODc2MDQwNDcgLTMuOTQwOTU4MjYwNjY4NTA2LCAxMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1Nzk1IEMxMDcuMjQ5NDgxNzM0Njg5MjggLTIuNTA3MjY1MjI3NTQ4NzI0NiwgMTA3LjMwMTgxNDkxMTMzNjMgLTEuNjkyMTMzNzU4NjkxNjU0MywgMTA3LjMzOTI1NDMzMDU0MzgxIC0xLjEwODk4NDU4Mzk3OTI2ODcgQzEwNy4zMzkyNTQzMzA1NDM4MSAtMC40MDI3MjgxMTU5MDk3ODAzLCAxMDcuMzM5MjU0MzMwNTQzODEgMC4zMDM1MjgzNTIxNTk3MDgxLCAxMDcuMzM5MjU0MzMwNTQzODEgMS4xMDg5ODQ1ODM5NzkyNjA1IEMxMDcuMzA0NjM4NzEzODY0NyAxLjY0ODE1MDc1NDk3OTI4MDcsIDEwNy4yNzAwMjMwOTcxODU1OSAyLjE4NzMxNjkyNTk3OTMwMDQsIDEwNy4xOTcxNDg1NTgwNDIyNyAzLjMyMjM5NjY5NjQwNTc3MTYgQzEwNy4xMjg4NjgzNDM2ODA3IDMuODUxOTY0NTU1NTQwNzQ1LCAxMDcuMDYwNTg4MTI5MzE5MTMgNC4zODE1MzI0MTQ2NzU3MTksIDEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkxIEMxMDYuNzU2MjUwNjk4MDU5MzIgNi4zMjk3MDU5MDQzMTgzNDEsIDEwNi41OTg5ODA0Mzk5Nzg2NSA3LjEzNzI1NTQ0MDQ4MTc3MiwgMTA2LjQ4OTUzNzAxMTQ5MTExIDcuNjk5MjI0MzE0ODg4NDc0NSBDMTA2LjM3NTgzMTc2OTE5MzMgOC4xMzI4MzE2ODM5MzM3NzcsIDEwNi4yNjIxMjY1MjY4OTU0OSA4LjU2NjQzOTA1Mjk3OTA4LCAxMDUuOTI2OTM4OTY1MDY4NDcgOS44NDQ2NTQ0OTc0MzM3MSBDMTA1LjY4NTQyODQ5OTYwMDIyIDEwLjU3MjA0NTUzOTk1NzAzMSwgMTA1LjQ0MzkxODAzNDEzMTk3IDExLjI5OTQzNjU4MjQ4MDM1MiwgMTA1LjIyODAzODY1MjkyMTczIDExLjk0OTYzMDg4Mjk3NzIzNyBDMTA0LjkxMTM3ODg0NzI3OTkzIDEyLjczMTc4NjcyNTExMzMyNCwgMTA0LjU5NDcxOTA0MTYzODEzIDEzLjUxMzk0MjU2NzI0OTQxLCAxMDQuMzk1NzA4MDA2MzQ3MTIgMTQuMDA1NTAzNjcyMDM0ODI1IEMxMDQuMTU1MDk1MjIxMjM5NjYgMTQuNTA1MTQxMjY4NTk5MzI0LCAxMDMuOTE0NDgyNDM2MTMyMiAxNS4wMDQ3Nzg4NjUxNjM4MjUsIDEwMy40MzMzNjcyNTA1MDU4MiAxNi4wMDM4MjQ4NDIzMzI4OTMgQzEwMy4xNTY5Nzk1NzU1NzUxMSAxNi40OTQ1NzkxNDY0NTkzMTIsIDEwMi44ODA1OTE5MDA2NDQzOCAxNi45ODUzMzM0NTA1ODU3MzUsIDEwMi4zNDQ5NzA4NDk5ODQ5OSAxNy45MzYzODI4NjM1NDQxNjQgQzEwMi4wODY5MTIwODQ3OTcgMTguMzMyODMwNDI1MzU0MDcsIDEwMS44Mjg4NTMzMTk2MDkwMSAxOC43MjkyNzc5ODcxNjM5NzUsIDEwMS4xMzQ5OTEyNTkwNTQ2OSAxOS43OTUyMzY0NDAyMjcwNiBDMTAwLjY0MTQ0MDQyOTg4MzIgMjAuNDU2NTQ5NTg3OTExMzIsIDEwMC4xNDc4ODk2MDA3MTE3NCAyMS4xMTc4NjI3MzU1OTU1NzMsIDk5LjgwODQwMDU0MzM5Mzg0IDIxLjU3Mjc0NzE0NDMxMjE3NCBDOTkuMzg3OTIzNTE5MTA1NDMgMjIuMDY2NjYzMzgyODYxODI2LCA5OC45Njc0NDY0OTQ4MTcwMSAyMi41NjA1Nzk2MjE0MTE0NzQsIDk4LjM3MDY0OTk0ODgwNTk1IDIzLjI2MTYxMDgwMzA0MTU1IEM5OC4wMTg1Njc3ODcxNTQgMjMuNjI1MTY0NTQxNDMwMjQ4LCA5Ny42NjY0ODU2MjU1MDIwNSAyMy45ODg3MTgyNzk4MTg5NDQsIDk2LjgyNzY0NzUwMDg4MDY0IDI0Ljg1NDg4NzUxMzM4MTM2NyBDOTYuMjM3ODIxNzgyNTEzNDkgMjUuMzkwNTUxNjI0ODY5MDgsIDk1LjY0Nzk5NjA2NDE0NjM1IDI1LjkyNjIxNTczNjM1Njc5NSwgOTUuMTg1NzMzNzI3NjQ5NSAyNi4zNDYwMzAxNTk1NzIwMzUgQzk0LjY3NDgyNDE3MDY1OTUyIDI2Ljc1MzQ2NjkzNTM5NzI1LCA5NC4xNjM5MTQ2MTM2Njk1MyAyNy4xNjA5MDM3MTEyMjI0NiwgOTMuNDUxNjU1NjA0OTk2MDkgMjcuNzI4OTExMzE2NjMxMjk3IEM5Mi45NzEzOTE4OTMyMzk4MyAyOC4wNjM5MjI0OTE2NzE0NjYsIDkyLjQ5MTEyODE4MTQ4MzU3IDI4LjM5ODkzMzY2NjcxMTYzLCA5MS42MzI1Mzg4MzE4ODUwMSAyOC45OTc4NDg0MjkyNTc2OCBDOTEuMTA0MjU0NjkyNjM0NTYgMjkuMzE4MDk3Mzc5MDEzNTEsIDkwLjU3NTk3MDU1MzM4NDEgMjkuNjM4MzQ2MzI4NzY5MzM0LCA4OS43MzU4NTg1NDkzMzYyNiAzMC4xNDc2MjcxNjI2NjkyNzQgQzg5LjE2MDgyMDM2ODI5ODQ1IDMwLjQ0NzYyNDIxMzM4NzE3LCA4OC41ODU3ODIxODcyNjA2MiAzMC43NDc2MjEyNjQxMDUwNjcsIDg3Ljc2OTQwODYyMzQ2NzUzIDMxLjE3MzUyMjgyOTQyMzcgQzg3LjE4OTU3OTAyNDcwNDYgMzEuNDMwMTk2MTkyNzYyMTE4LCA4Ni42MDk3NDk0MjU5NDE2NyAzMS42ODY4Njk1NTYxMDA1MzYsIDg1Ljc0MTI2OTYxODgyNjM3IDMyLjA3MTMxOTgwNDE3MjM1IEM4NS4zMjMyNjQ5NTkxMzM5NSAzMi4yMjUxNDkzODI5MzE4NzUsIDg0LjkwNTI2MDI5OTQ0MTU0IDMyLjM3ODk3ODk2MTY5MTQsIDgzLjY1OTc3NTU5MzYxNzMxIDMyLjgzNzMyODg0NjU2OTEzIEM4Mi44NDU0MzAxMDM1ODU4OCAzMy4wNzkwMjIzMTM0MjM3NTYsIDgyLjAzMTA4NDYxMzU1NDQ2IDMzLjMyMDcxNTc4MDI3ODM4LCA4MS41MzM0Nzk4NTMyNjkgMzMuNDY4NDAyMjYxMTUwNDE2IEM4MC44NzMwNDAyMDY3MjI5OSAzMy42MTkxNDMzMDA3MDMwOCwgODAuMjEyNjAwNTYwMTc2OTcgMzMuNzY5ODg0MzQwMjU1NzQsIDc5LjM3MTExOTgwMzA2NzUgMzMuOTYxOTQ2ODMxODkwODYgQzc4LjY5Njg1ODI1OTM3MTA3IDM0LjA3MDk1NjIwOTI5OTMzLCA3OC4wMjI1OTY3MTU2NzQ2NCAzNC4xNzk5NjU1ODY3MDc4MSwgNzcuMTgxNTgxMDQ0MjgzOTQgMzQuMzE1OTM0NDc4Mjg0MzEgQzc2LjU0ODY4MDUxMTczMjczIDM0LjM3Njk4OTYzMTQ4NTI3LCA3NS45MTU3Nzk5NzkxODE1MSAzNC40MzgwNDQ3ODQ2ODYyNCwgNzQuOTczODYwODYxMzMyNjggMzQuNTI4OTEwNTg5MTYxNjQgQzc0LjQ3NjY3NTAxNTgwMzE0IDM0LjU0NDg1NDM3MTUxNDIzLCA3My45Nzk0ODkxNzAyNzM2IDM0LjU2MDc5ODE1Mzg2NjgyLCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IEM3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IEMxNi44MDE1MTY4NDQzNjY1MDMgMzQuNiwgLTM5LjE1Mzk5NzU2MTI2NzAwNSAzNC42LCAtNzIuNzU3MDMxMjUwMDAwMDEgMzQuNiBDLTczLjI0MzEyMjI2ODU0MjQyIDM0LjU4NDQxMjAwNzE1NDExNCwgLTczLjcyOTIxMzI4NzA4NDgyIDM0LjU2ODgyNDAxNDMwODIzNCwgLTc0Ljk3Mzg2MDg2MTMzMjY3IDM0LjUyODkxMDU4OTE2MTY0IEMtNzUuNDc5NzgxNDg2NTE2NSAzNC40ODAxMDUwMzQ5MDg3MjUsIC03NS45ODU3MDIxMTE3MDAzMyAzNC40MzEyOTk0ODA2NTU4MiwgLTc3LjE4MTU4MTA0NDI4MzkzIDM0LjMxNTkzNDQ3ODI4NDMxIEMtNzcuODE2NzA1NTIwMzY3NzYgMzQuMjEzMjUyNDc4NDU0OTU1LCAtNzguNDUxODI5OTk2NDUxNTggMzQuMTEwNTcwNDc4NjI1NiwgLTc5LjM3MTExOTgwMzA2NzQ5IDMzLjk2MTk0NjgzMTg5MDg2IEMtNzkuOTY0OTUwNTcwNDMwNDUgMzMuODI2NDA4ODM0MzQ4MTcsIC04MC41NTg3ODEzMzc3OTM0IDMzLjY5MDg3MDgzNjgwNTQ4LCAtODEuNTMzNDc5ODUzMjY4OTYgMzMuNDY4NDAyMjYxMTUwNDIgQy04Mi4wNzI0NjczMTI2MzQxMyAzMy4zMDg0MzM2MTI0MTM3NSwgLTgyLjYxMTQ1NDc3MTk5OTI5IDMzLjE0ODQ2NDk2MzY3NzA4LCAtODMuNjU5Nzc1NTkzNjE3MjcgMzIuODM3MzI4ODQ2NTY5MTQgQy04NC4zMjM1MjMxNTM2Njk4NyAzMi41OTMwNjM2MDg4NTQ2LCAtODQuOTg3MjcwNzEzNzIyNDggMzIuMzQ4Nzk4MzcxMTQwMDU2LCAtODUuNzQxMjY5NjE4ODI2MzcgMzIuMDcxMzE5ODA0MTcyMzU0IEMtODYuMTU2MDk4ODE5MDQ2IDMxLjg4NzY4NzIyMjcwNjEzLCAtODYuNTcwOTI4MDE5MjY1NjQgMzEuNzA0MDU0NjQxMjM5OTEsIC04Ny43Njk0MDg2MjM0Njc1MSAzMS4xNzM1MjI4Mjk0MjM3MDcgQy04OC4zMDI5NzM4ODEwNjg5NyAzMC44OTUxNjIxNzYyOTc4OSwgLTg4LjgzNjUzOTEzODY3MDQyIDMwLjYxNjgwMTUyMzE3MjA3NSwgLTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI4NCBDLTkwLjI3NDM1OTg4NDcwMjE1IDI5LjgyMTE4NDQ4ODU4NTM3LCAtOTAuODEyODYxMjIwMDY4MDMgMjkuNDk0NzQxODE0NTAxNDU2LCAtOTEuNjMyNTM4ODMxODg0OTcgMjguOTk3ODQ4NDI5MjU3NyBDLTkyLjI2ODQ3MzczNTQxOTI0IDI4LjU1NDI0Nzc2OTczMDQ4LCAtOTIuOTA0NDA4NjM4OTUzNSAyOC4xMTA2NDcxMTAyMDMyNjQsIC05My40NTE2NTU2MDQ5OTYwOCAyNy43Mjg5MTEzMTY2MzEzMDQgQy05My44MTcyMDY2NDg2NDEgMjcuNDM3Mzk0MDg3MDQ2MjgsIC05NC4xODI3NTc2OTIyODU5NSAyNy4xNDU4NzY4NTc0NjEyNTcsIC05NS4xODU3MzM3Mjc2NDk0OCAyNi4zNDYwMzAxNTk1NzIwNiBDLTk1Ljc0NjM3OTY3NzI0NTg4IDI1LjgzNjg2NjM0MjAyNzU2MiwgLTk2LjMwNzAyNTYyNjg0MjI5IDI1LjMyNzcwMjUyNDQ4MzA2NSwgLTk2LjgyNzY0NzUwMDg4MDYzIDI0Ljg1NDg4NzUxMzM4MTM5MiBDLTk3LjM0NzAwMzMxNDAzNDIzIDI0LjMxODYwOTk5NjM5NTA1NCwgLTk3Ljg2NjM1OTEyNzE4NzgyIDIzLjc4MjMzMjQ3OTQwODcxNiwgLTk4LjM3MDY0OTk0ODgwNTkzIDIzLjI2MTYxMDgwMzA0MTU2MyBDLTk4Ljc4MDY4OTUyNjA4MzIyIDIyLjc3OTk1NDk4MzY1ODc1NCwgLTk5LjE5MDcyOTEwMzM2MDUgMjIuMjk4Mjk5MTY0Mjc1OTQ2LCAtOTkuODA4NDAwNTQzMzkzODQgMjEuNTcyNzQ3MTQ0MzEyMTkgQy0xMDAuMDgzMjY1Mzk3MDIzMDEgMjEuMjA0NDUzMjgxMTUyNDE0LCAtMTAwLjM1ODEzMDI1MDY1MjE3IDIwLjgzNjE1OTQxNzk5MjY0LCAtMTAxLjEzNDk5MTI1OTA1NDY5IDE5Ljc5NTIzNjQ0MDIyNzA4MiBDLTEwMS4zODMyOTgwMjg0Mzc1OCAxOS40MTM3NzA1NjI3NTEzMywgLTEwMS42MzE2MDQ3OTc4MjA0OSAxOS4wMzIzMDQ2ODUyNzU1NzcsIC0xMDIuMzQ0OTcwODQ5OTg0OTcgMTcuOTM2MzgyODYzNTQ0MTg2IEMtMTAyLjY3MzM1NjczNTE4OTE1IDE3LjM1MzMwMDQ3MTY4NzUsIC0xMDMuMDAxNzQyNjIwMzkzMzMgMTYuNzcwMjE4MDc5ODMwODE2LCAtMTAzLjQzMzM2NzI1MDUwNTgxIDE2LjAwMzgyNDg0MjMzMjkwNCBDLTEwMy42OTI3OTcwNzc5MDEzMyAxNS40NjUxMTMyNTQ4MzcwMzQsIC0xMDMuOTUyMjI2OTA1Mjk2ODUgMTQuOTI2NDAxNjY3MzQxMTY2LCAtMTA0LjM5NTcwODAwNjM0NzEyIDE0LjAwNTUwMzY3MjAzNDg0IEMtMTA0LjYzNTY1Njc0MTE3NTE4IDEzLjQxMjgyNTY1NzkxNjMzMSwgLTEwNC44NzU2MDU0NzYwMDMyNCAxMi44MjAxNDc2NDM3OTc4MjQsIC0xMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjY2IEMtMTA1LjQzNjc0OTQ2MDE3MDc3IDExLjMyMTAyNzE4NTA5NDM1NSwgLTEwNS42NDU0NjAyNjc0MTk4MSAxMC42OTI0MjM0ODcyMTE0NDMsIC0xMDUuOTI2OTM4OTY1MDY4NDcgOS44NDQ2NTQ0OTc0MzM3MjMgQy0xMDYuMDY3MTEyNzQyNDMwMjggOS4zMTAxMTExMzI2NTM3MjUsIC0xMDYuMjA3Mjg2NTE5NzkyMDkgOC43NzU1Njc3Njc4NzM3MjgsIC0xMDYuNDg5NTM3MDExNDkxMTEgNy42OTkyMjQzMTQ4ODg0ODcgQy0xMDYuNjMyMDA1MzczMjI1NDEgNi45Njc2NzkzODgwODE3NCwgLTEwNi43NzQ0NzM3MzQ5NTk3MyA2LjIzNjEzNDQ2MTI3NDk5MywgLTEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkzOCBDLTEwNi45NzQ3MTg3NjM3MDM0OCA1LjA0NzUxODI1NzU2NjUwMywgLTEwNy4wMzU5MTY1NzEyNjY5NyA0LjU3Mjg4MDE0Njk3ODA2NzYsIC0xMDcuMTk3MTQ4NTU4MDQyMjcgMy4zMjIzOTY2OTY0MDU4MTUgQy0xMDcuMjM5OTYzMzE3ODQ0NzggMi42NTU1MjIyNTMwMjk2NTEsIC0xMDcuMjgyNzc4MDc3NjQ3MyAxLjk4ODY0NzgwOTY1MzQ4NjUsIC0xMDcuMzM5MjU0MzMwNTQzODEgMS4xMDg5ODQ1ODM5NzkyNzMxIEMtMTA3LjMzOTI1NDMzMDU0MzgxIDAuMzI3MDE1MDU4OTE4NzU0MDQsIC0xMDcuMzM5MjU0MzMwNTQzODEgLTAuNDU0OTU0NDY2MTQxNzY1MDUsIC0xMDcuMzM5MjU0MzMwNTQzODEgLTEuMTA4OTg0NTgzOTc5MjU2MyBDLTEwNy4zMDM4MTM5MzI3Njk5NCAtMS42NjA5OTczODYyODEzNjYzLCAtMTA3LjI2ODM3MzUzNDk5NjA5IC0yLjIxMzAxMDE4ODU4MzQ3NjUsIC0xMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1NzY3NiBDLTEwNy4xMDE3MTQ5MzkzMzMyOCAtNC4wNjI1NjA5OTc2MTMxNywgLTEwNy4wMDYyODEzMjA2MjQyOCAtNC44MDI3MjUyOTg4MjA1NzMsIC0xMDYuOTEzNTIwOTU2MTM5OTkgLTUuNTIyMTU2MzY4MTU0OTIxNSBDLTEwNi44MDE1NDM1MzU0MzYyNyAtNi4wOTcxMzY3NTcwMzIyNTUsIC0xMDYuNjg5NTY2MTE0NzMyNTYgLTYuNjcyMTE3MTQ1OTA5NTg4NSwgLTEwNi40ODk1MzcwMTE0OTExMSAtNy42OTkyMjQzMTQ4ODg0NzEgQy0xMDYuMzIzNTcyNjI0NzA5NDcgLTguMzMyMTE4NDUxMTA3MTAzLCAtMTA2LjE1NzYwODIzNzkyNzgzIC04Ljk2NTAxMjU4NzMyNTczNCwgLTEwNS45MjY5Mzg5NjUwNjg0NyAtOS44NDQ2NTQ0OTc0MzM3MDUgQy0xMDUuNzcxMjAwNjgyNTE2NTIgLTEwLjMxMzcxMzM5MDk1NDU4MiwgLTEwNS42MTU0NjIzOTk5NjQ1OCAtMTAuNzgyNzcyMjg0NDc1NDYsIC0xMDUuMjI4MDM4NjUyOTIxNzMgLTExLjk0OTYzMDg4Mjk3NzIyMSBDLTEwNS4wMjQ4NzMwNDczNDAyNCAtMTIuNDUxNDUzODU2NzAzMjYsIC0xMDQuODIxNzA3NDQxNzU4NzUgLTEyLjk1MzI3NjgzMDQyOTMwMSwgLTEwNC4zOTU3MDgwMDYzNDcxMiAtMTQuMDA1NTAzNjcyMDM0ODIyIEMtMTA0LjA3OTUwMTc5NTQzOTg0IC0xNC42NjIxMTI2MzQ3MTI4NTcsIC0xMDMuNzYzMjk1NTg0NTMyNTYgLTE1LjMxODcyMTU5NzM5MDg5NCwgLTEwMy40MzMzNjcyNTA1MDU4MiAtMTYuMDAzODI0ODQyMzMyODkgQy0xMDMuMDk4OTE3NDg1MzQ0MzQgLTE2LjU5NzY3NDI2NzA4ODE5NSwgLTEwMi43NjQ0Njc3MjAxODI4NiAtMTcuMTkxNTIzNjkxODQzNTAzLCAtMTAyLjM0NDk3MDg0OTk4NDk5IC0xNy45MzYzODI4NjM1NDQxNzUgQy0xMDEuODc5MzU1NzEzNjUxMzQgLTE4LjY1MTY5Mjc0ODEyMzM0NSwgLTEwMS40MTM3NDA1NzczMTc2OCAtMTkuMzY3MDAyNjMyNzAyNTE2LCAtMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwNyBDLTEwMC43NTEyOTkyMTMxMjIgLTIwLjMwOTM0ODgyNjcxMjM5LCAtMTAwLjM2NzYwNzE2NzE4OTMyIC0yMC44MjM0NjEyMTMxOTc3MDcsIC05OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTc0IEMtOTkuMzUzMzcxODE1MDEgLTIyLjEwNzI0OTc4MDUzOTk4OCwgLTk4Ljg5ODM0MzA4NjYyNjEzIC0yMi42NDE3NTI0MTY3Njc4LCAtOTguMzcwNjQ5OTQ4ODA1OTUgLTIzLjI2MTYxMDgwMzA0MTU1IEMtOTcuODg4MDAyMzk1NTAyNjcgLTIzLjc1OTk4NDAyNzkyODI1NSwgLTk3LjQwNTM1NDg0MjE5OTM5IC0yNC4yNTgzNTcyNTI4MTQ5NTcsIC05Ni44Mjc2NDc1MDA4ODA2NiAtMjQuODU0ODg3NTEzMzgxMzU3IEMtOTYuMzE2NDYyNzM0MTg3MjMgLTI1LjMxOTEzMTk5MzI4NDU2OCwgLTk1LjgwNTI3Nzk2NzQ5MzggLTI1Ljc4MzM3NjQ3MzE4Nzc4LCAtOTUuMTg1NzMzNzI3NjQ5NTIgLTI2LjM0NjAzMDE1OTU3MjAyNyBDLTk0LjU4Mjk4MjA3NTUwMDExIC0yNi44MjY3MDg1NjIyNjYwODgsIC05My45ODAyMzA0MjMzNTA2OSAtMjcuMzA3Mzg2OTY0OTYwMTUsIC05My40NTE2NTU2MDQ5OTYwOSAtMjcuNzI4OTExMzE2NjMxMjk0IEMtOTIuOTA4OTM3Mzk2MDU5NTMgLTI4LjEwNzQ4ODA0NTI5MjgzMywgLTkyLjM2NjIxOTE4NzEyMjk3IC0yOC40ODYwNjQ3NzM5NTQzNjgsIC05MS42MzI1Mzg4MzE4ODUwMSAtMjguOTk3ODQ4NDI5MjU3Njc2IEMtOTEuMjQ0MjIyNDY5OTQyMDkgLTI5LjIzMzI0ODA4OTg2NzcyLCAtOTAuODU1OTA2MTA3OTk5MTYgLTI5LjQ2ODY0Nzc1MDQ3Nzc2NCwgLTg5LjczNTg1ODU0OTMzNjI2IC0zMC4xNDc2MjcxNjI2NjkyNyBDLTg5LjA1NzI3MzA1NjczMjY4IC0zMC41MDE2NDQ3Nzk1MDU4LCAtODguMzc4Njg3NTY0MTI5MTIgLTMwLjg1NTY2MjM5NjM0MjMzMiwgLTg3Ljc2OTQwODYyMzQ2NzUzIC0zMS4xNzM1MjI4Mjk0MjM3IEMtODcuMzEzMTAzMDMzNjg3NDUgLTMxLjM3NTUxNTc3ODE5NDk0NSwgLTg2Ljg1Njc5NzQ0MzkwNzM4IC0zMS41Nzc1MDg3MjY5NjYxOSwgLTg1Ljc0MTI2OTYxODgyNjM4IC0zMi4wNzEzMTk4MDQxNzIzNSBDLTg1LjI4NzQyODk5MDEyMTQ0IC0zMi4yMzgzMzczNTA3OTI1NSwgLTg0LjgzMzU4ODM2MTQxNjUgLTMyLjQwNTM1NDg5NzQxMjc1LCAtODMuNjU5Nzc1NTkzNjE3MzEgLTMyLjgzNzMyODg0NjU2OTEzIEMtODIuOTM5NzMyMjE3OTQyMjkgLTMzLjA1MTAzMzk0MDg4NDY2NSwgLTgyLjIxOTY4ODg0MjI2NzI5IC0zMy4yNjQ3MzkwMzUyMDAyLCAtODEuNTMzNDc5ODUzMjY5IC0zMy40Njg0MDIyNjExNTA0MSBDLTgxLjA1NTk2NDI2MTQ2Mzg2IC0zMy41NzczOTIwNzg4OTk0ODYsIC04MC41Nzg0NDg2Njk2NTg3IC0zMy42ODYzODE4OTY2NDg1NiwgLTc5LjM3MTExOTgwMzA2NzUgLTMzLjk2MTk0NjgzMTg5MDg1NiBDLTc4Ljc3NTMwNDk2OTQ0MDgyIC0zNC4wNTgyNzM1NTM1Nzg1NywgLTc4LjE3OTQ5MDEzNTgxNDE1IC0zNC4xNTQ2MDAyNzUyNjYyOSwgLTc3LjE4MTU4MTA0NDI4Mzk0IC0zNC4zMTU5MzQ0NzgyODQzMSBDLTc2LjM1ODQ0MzY0OTE5MjY1IC0zNC4zOTUzNDE1NTI4MjEyMTUsIC03NS41MzUzMDYyNTQxMDEzNCAtMzQuNDc0NzQ4NjI3MzU4MTI1LCAtNzQuOTczODYwODYxMzMyNjggLTM0LjUyODkxMDU4OTE2MTY0IEMtNzQuMjU3NjA5MjY4NTI4NyAtMzQuNTUxODc5MzgzNjQzNzE1LCAtNzMuNTQxMzU3Njc1NzI0NzEgLTM0LjU3NDg0ODE3ODEyNTc4NCwgLTcyLjc1NzAzMTI1MDAwMDAzIC0zNC42IEMtNzIuNzU3MDMxMjUwMDAwMDMgLTM0LjYsIC03Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiwgLTcyLjc1NzAzMTI1MDAwMDAxIC0zNC42IiBzdHJva2U9Im5vbmUiIGZpbGw9IiNmN2Y3ZjciIHN0eWxlPSIiIHN0cm9rZS13aWR0aD0iMCI+PC9wYXRoPjxwYXRoIGQ9Ik0tNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYgQy00MC45MTM2MDM4MTU3MjgxMiAtMzQuNiwgLTkuMDcwMTc2MzgxNDU2MjI4IC0zNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBNLTcyLjc1NzAzMTI1MDAwMDAxIC0zNC42IEMtMjkuNjI5OTY2MjYyNjk3NjM2IC0zNC42LCAxMy40OTcwOTg3MjQ2MDQ3NCAtMzQuNiwgNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYgTTcyLjc1NzAzMTI1MDAwMDAxIC0zNC42IEM3Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiwgNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYsIDcyLjc1NzAzMTI1MDAwMDAxIC0zNC42IE03Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBDNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYsIDcyLjc1NzAzMTI1MDAwMDAxIC0zNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBNNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYgQzczLjU5Njg5NDE3OTA3NDg0IC0zNC41NzMwNjcyMzA1NTg1OSwgNzQuNDM2NzU3MTA4MTQ5NjYgLTM0LjU0NjEzNDQ2MTExNzE4NCwgNzQuOTczODYwODYxMzMyNjggLTM0LjUyODkxMDU4OTE2MTY0IE03Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBDNzMuNjIzMTA4ODM4MzkyMyAtMzQuNTcyMjI2NTc3NDU4MDIsIDc0LjQ4OTE4NjQyNjc4NDYgLTM0LjU0NDQ1MzE1NDkxNjA0LCA3NC45NzM4NjA4NjEzMzI2OCAtMzQuNTI4OTEwNTg5MTYxNjQgTTc0Ljk3Mzg2MDg2MTMzMjY4IC0zNC41Mjg5MTA1ODkxNjE2NCBDNzUuNjQwNjM1NjAzNTgyMjggLTM0LjQ2NDU4NzYzMTY5MDc3NiwgNzYuMzA3NDEwMzQ1ODMxODggLTM0LjQwMDI2NDY3NDIxOTkwNSwgNzcuMTgxNTgxMDQ0MjgzOTIgLTM0LjMxNTkzNDQ3ODI4NDMyIE03NC45NzM4NjA4NjEzMzI2OCAtMzQuNTI4OTEwNTg5MTYxNjQgQzc1LjU3NDg3MTA1NTA5NTc0IC0zNC40NzA5MzE4NTg1ODk4MywgNzYuMTc1ODgxMjQ4ODU4NzkgLTM0LjQxMjk1MzEyODAxODAyLCA3Ny4xODE1ODEwNDQyODM5MiAtMzQuMzE1OTM0NDc4Mjg0MzIgTTc3LjE4MTU4MTA0NDI4MzkyIC0zNC4zMTU5MzQ0NzgyODQzMiBDNzcuNzcwMjcxNTQxMDkyOTUgLTM0LjIyMDc1OTU2NDEyMzIyLCA3OC4zNTg5NjIwMzc5MDE5NyAtMzQuMTI1NTg0NjQ5OTYyMTIsIDc5LjM3MTExOTgwMzA2NzQ5IC0zMy45NjE5NDY4MzE4OTA4NiBNNzcuMTgxNTgxMDQ0MjgzOTIgLTM0LjMxNTkzNDQ3ODI4NDMyIEM3Ny45NTQwMTMyNzEyODExMSAtMzQuMTkxMDUzNjI2MTI0OCwgNzguNzI2NDQ1NDk4Mjc4MzEgLTM0LjA2NjE3Mjc3Mzk2NTI4LCA3OS4zNzExMTk4MDMwNjc0OSAtMzMuOTYxOTQ2ODMxODkwODYgTTc5LjM3MTExOTgwMzA2NzQ5IC0zMy45NjE5NDY4MzE4OTA4NiBDNzkuOTQyNDQyNTk5OTcwNTIgLTMzLjgzMTU0NjEzMTcyNzQyLCA4MC41MTM3NjUzOTY4NzM1NCAtMzMuNzAxMTQ1NDMxNTYzOTcsIDgxLjUzMzQ3OTg1MzI2ODk2IC0zMy40Njg0MDIyNjExNTA0MiBNNzkuMzcxMTE5ODAzMDY3NDkgLTMzLjk2MTk0NjgzMTg5MDg2IEM3OS45MTkwMzg5Mjg4MTcyIC0zMy44MzY4ODc4NjY5NDQ5MzQsIDgwLjQ2Njk1ODA1NDU2NjkzIC0zMy43MTE4Mjg5MDE5OTkwMDYsIDgxLjUzMzQ3OTg1MzI2ODk2IC0zMy40Njg0MDIyNjExNTA0MiBNODEuNTMzNDc5ODUzMjY4OTYgLTMzLjQ2ODQwMjI2MTE1MDQyIEM4Mi4zMDM1OTAyMzU5MDgwNiAtMzMuMjM5ODM3NTQxOTc1MDIsIDgzLjA3MzcwMDYxODU0NzE2IC0zMy4wMTEyNzI4MjI3OTk2MjYsIDgzLjY1OTc3NTU5MzYxNzI4IC0zMi44MzczMjg4NDY1NjkxMzYgTTgxLjUzMzQ3OTg1MzI2ODk2IC0zMy40Njg0MDIyNjExNTA0MiBDODIuMDA5MjY3NzcwMDY3OTQgLTMzLjMyNzE5MDkwNDkwNjIyNCwgODIuNDg1MDU1Njg2ODY2OTEgLTMzLjE4NTk3OTU0ODY2MjAyNiwgODMuNjU5Nzc1NTkzNjE3MjggLTMyLjgzNzMyODg0NjU2OTEzNiBNODMuNjU5Nzc1NTkzNjE3MjggLTMyLjgzNzMyODg0NjU2OTEzNiBDODQuMjMzMTMyMDQ5Nzc0MDQgLTMyLjYyNjMyODM3MDY1NDQ3LCA4NC44MDY0ODg1MDU5MzA4IC0zMi40MTUzMjc4OTQ3Mzk4LCA4NS43NDEyNjk2MTg4MjYzNSAtMzIuMDcxMzE5ODA0MTcyMzU0IE04My42NTk3NzU1OTM2MTcyOCAtMzIuODM3MzI4ODQ2NTY5MTM2IEM4NC4yMzU3ODk0NjUwODc1NSAtMzIuNjI1MzUwNDE3MjU0MjIsIDg0LjgxMTgwMzMzNjU1NzgzIC0zMi40MTMzNzE5ODc5MzkzLCA4NS43NDEyNjk2MTg4MjYzNSAtMzIuMDcxMzE5ODA0MTcyMzU0IE04NS43NDEyNjk2MTg4MjYzNSAtMzIuMDcxMzE5ODA0MTcyMzU0IEM4Ni40MTk4MTM1ODY3MjQxMiAtMzEuNzcwOTQ4NTE3ODc1NjYzLCA4Ny4wOTgzNTc1NTQ2MjE4OCAtMzEuNDcwNTc3MjMxNTc4OTY4LCA4Ny43Njk0MDg2MjM0Njc1MyAtMzEuMTczNTIyODI5NDIzNzAzIE04NS43NDEyNjk2MTg4MjYzNSAtMzIuMDcxMzE5ODA0MTcyMzU0IEM4Ni4yNDAyNTUxNjc5NTAyNyAtMzEuODUwNDMzNzAzNDU1NjA0LCA4Ni43MzkyNDA3MTcwNzQxNyAtMzEuNjI5NTQ3NjAyNzM4ODUzLCA4Ny43Njk0MDg2MjM0Njc1MyAtMzEuMTczNTIyODI5NDIzNzAzIE04Ny43Njk0MDg2MjM0Njc1MyAtMzEuMTczNTIyODI5NDIzNzAzIEM4OC40OTg0MjY3NjE4Mjk4IC0zMC43OTMxOTQ1MzM1OTg1MDYsIDg5LjIyNzQ0NDkwMDE5MjA4IC0zMC40MTI4NjYyMzc3NzMzMDgsIDg5LjczNTg1ODU0OTMzNjI2IC0zMC4xNDc2MjcxNjI2NjkyNzcgTTg3Ljc2OTQwODYyMzQ2NzUzIC0zMS4xNzM1MjI4Mjk0MjM3MDMgQzg4LjIzNTY5NjgxNDQ3NTMyIC0zMC45MzAyNjA1Nzg4NDY3NzcsIDg4LjcwMTk4NTAwNTQ4MzEyIC0zMC42ODY5OTgzMjgyNjk4NSwgODkuNzM1ODU4NTQ5MzM2MjYgLTMwLjE0NzYyNzE2MjY2OTI3NyBNODkuNzM1ODU4NTQ5MzM2MjYgLTMwLjE0NzYyNzE2MjY2OTI3NyBDOTAuMzYxMzEzNDA3MjI3OTggLTI5Ljc2ODQ3Mjc1MjIzNDU4NywgOTAuOTg2NzY4MjY1MTE5NzEgLTI5LjM4OTMxODM0MTc5OTg5MywgOTEuNjMyNTM4ODMxODg1IC0yOC45OTc4NDg0MjkyNTc2OSBNODkuNzM1ODU4NTQ5MzM2MjYgLTMwLjE0NzYyNzE2MjY2OTI3NyBDOTAuNDA3MTA1OTYyNjc4NjYgLTI5Ljc0MDcxMzAzNjAxMzQ1NywgOTEuMDc4MzUzMzc2MDIxMDcgLTI5LjMzMzc5ODkwOTM1NzYzNiwgOTEuNjMyNTM4ODMxODg1IC0yOC45OTc4NDg0MjkyNTc2OSBNOTEuNjMyNTM4ODMxODg1IC0yOC45OTc4NDg0MjkyNTc2OSBDOTIuMjc1MjQwMTI2NTUzNTMgLTI4LjU0OTUyNzgyODE4NzU2LCA5Mi45MTc5NDE0MjEyMjIwNCAtMjguMTAxMjA3MjI3MTE3NDM1LCA5My40NTE2NTU2MDQ5OTYwOSAtMjcuNzI4OTExMzE2NjMxMyBNOTEuNjMyNTM4ODMxODg1IC0yOC45OTc4NDg0MjkyNTc2OSBDOTIuMTM1OTA3MzE4OTI4ODYgLTI4LjY0NjcyMDM2MzE2NjUsIDkyLjYzOTI3NTgwNTk3MjcgLTI4LjI5NTU5MjI5NzA3NTMxMywgOTMuNDUxNjU1NjA0OTk2MDkgLTI3LjcyODkxMTMxNjYzMTMgTTkzLjQ1MTY1NTYwNDk5NjA5IC0yNy43Mjg5MTEzMTY2MzEzIEM5NC4wNTkxMDIwNTA4MjMxNiAtMjcuMjQ0NDg4OTQwOTEzMDE2LCA5NC42NjY1NDg0OTY2NTAyMiAtMjYuNzYwMDY2NTY1MTk0NzI3LCA5NS4xODU3MzM3Mjc2NDk0OCAtMjYuMzQ2MDMwMTU5NTcyMDU2IE05My40NTE2NTU2MDQ5OTYwOSAtMjcuNzI4OTExMzE2NjMxMyBDOTQuMTMxMzIxNDY4ODg3MDQgLTI3LjE4Njg5NTg3Njg0NjQ5NiwgOTQuODEwOTg3MzMyNzc3OTggLTI2LjY0NDg4MDQzNzA2MTY5NCwgOTUuMTg1NzMzNzI3NjQ5NDggLTI2LjM0NjAzMDE1OTU3MjA1NiBNOTUuMTg1NzMzNzI3NjQ5NDggLTI2LjM0NjAzMDE1OTU3MjA1NiBDOTUuNTg1Njg5MzIyMDgzODggLTI1Ljk4MjgwMTA3MDk1MTg3MiwgOTUuOTg1NjQ0OTE2NTE4MjggLTI1LjYxOTU3MTk4MjMzMTY5MiwgOTYuODI3NjQ3NTAwODgwNjQgLTI0Ljg1NDg4NzUxMzM4MTM3NCBNOTUuMTg1NzMzNzI3NjQ5NDggLTI2LjM0NjAzMDE1OTU3MjA1NiBDOTUuNTg0MjUxNjE1MTA2NzggLTI1Ljk4NDEwNjc1ODM4ODgzLCA5NS45ODI3Njk1MDI1NjQxIC0yNS42MjIxODMzNTcyMDU2MDMsIDk2LjgyNzY0NzUwMDg4MDY0IC0yNC44NTQ4ODc1MTMzODEzNzQgTTk2LjgyNzY0NzUwMDg4MDY0IC0yNC44NTQ4ODc1MTMzODEzNzQgQzk3LjIxNzUyMzUwNDgyMzQ5IC0yNC40NTIzMDg1Mjk4OTUxNzMsIDk3LjYwNzM5OTUwODc2NjMyIC0yNC4wNDk3Mjk1NDY0MDg5NzYsIDk4LjM3MDY0OTk0ODgwNTkyIC0yMy4yNjE2MTA4MDMwNDE1NyBNOTYuODI3NjQ3NTAwODgwNjQgLTI0Ljg1NDg4NzUxMzM4MTM3NCBDOTcuMjA2MTg0NTUxMjEyODEgLTI0LjQ2NDAxNjkzMDQ0MzU5NSwgOTcuNTg0NzIxNjAxNTQ0OTggLTI0LjA3MzE0NjM0NzUwNTgyLCA5OC4zNzA2NDk5NDg4MDU5MiAtMjMuMjYxNjEwODAzMDQxNTcgTTk4LjM3MDY0OTk0ODgwNTkyIC0yMy4yNjE2MTA4MDMwNDE1NyBDOTguOTExNTEzMjE2NDg5MzEgLTIyLjYyNjI4MjAzMjgyODg4NiwgOTkuNDUyMzc2NDg0MTcyNyAtMjEuOTkwOTUzMjYyNjE2MiwgOTkuODA4NDAwNTQzMzkzODQgLTIxLjU3Mjc0NzE0NDMxMjE4NSBNOTguMzcwNjQ5OTQ4ODA1OTIgLTIzLjI2MTYxMDgwMzA0MTU3IEM5OC44NDk5NDk1MDk0NjQ5NSAtMjIuNjk4NTk4MjY2MTczODY0LCA5OS4zMjkyNDkwNzAxMjM5OSAtMjIuMTM1NTg1NzI5MzA2MTU0LCA5OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTg1IE05OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTg1IEMxMDAuMDk2OTQ0NTc4ODgwODIgLTIxLjE4NjEyNDQyMzY2MjA0NCwgMTAwLjM4NTQ4ODYxNDM2NzggLTIwLjc5OTUwMTcwMzAxMTkwMiwgMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwOCBNOTkuODA4NDAwNTQzMzkzODQgLTIxLjU3Mjc0NzE0NDMxMjE4NSBDMTAwLjA3NDU0NTkzMzYxOTQzIC0yMS4yMTYxMzY1Njc3NTM3NDcsIDEwMC4zNDA2OTEzMjM4NDUwMSAtMjAuODU5NTI1OTkxMTk1MzEsIDEwMS4xMzQ5OTEyNTkwNTQ2OSAtMTkuNzk1MjM2NDQwMjI3MDggTTEwMS4xMzQ5OTEyNTkwNTQ2OSAtMTkuNzk1MjM2NDQwMjI3MDggQzEwMS40Mjc2MjQ1ODA5MTY1NiAtMTkuMzQ1NjczMDc0Nzk3NjYzLCAxMDEuNzIwMjU3OTAyNzc4NDMgLTE4Ljg5NjEwOTcwOTM2ODI0MywgMTAyLjM0NDk3MDg0OTk4NDk5IC0xNy45MzYzODI4NjM1NDQxNyBNMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwOCBDMTAxLjUxNDE5NjM5ODA1MjMyIC0xOS4yMTI2NzU1MTU4ODkyMzgsIDEwMS44OTM0MDE1MzcwNDk5NCAtMTguNjMwMTE0NTkxNTUxMzk3LCAxMDIuMzQ0OTcwODQ5OTg0OTkgLTE3LjkzNjM4Mjg2MzU0NDE3IE0xMDIuMzQ0OTcwODQ5OTg0OTkgLTE3LjkzNjM4Mjg2MzU0NDE3IEMxMDIuNjEyMTQxODY3Mjk1NCAtMTcuNDYxOTkzNjY4MzEwMzksIDEwMi44NzkzMTI4ODQ2MDU4MiAtMTYuOTg3NjA0NDczMDc2NjEyLCAxMDMuNDMzMzY3MjUwNTA1ODIgLTE2LjAwMzgyNDg0MjMzMjkgTTEwMi4zNDQ5NzA4NDk5ODQ5OSAtMTcuOTM2MzgyODYzNTQ0MTcgQzEwMi43NTk1MDMxOTYxNTcwNiAtMTcuMjAwMzM4NzA2OTYzOTIsIDEwMy4xNzQwMzU1NDIzMjkxMSAtMTYuNDY0Mjk0NTUwMzgzNjY2LCAxMDMuNDMzMzY3MjUwNTA1ODIgLTE2LjAwMzgyNDg0MjMzMjkgTTEwMy40MzMzNjcyNTA1MDU4MiAtMTYuMDAzODI0ODQyMzMyOSBDMTAzLjY3MjkzNTkyMDc2ODUyIC0xNS41MDYzNTUzNzI1ODQwMzIsIDEwMy45MTI1MDQ1OTEwMzEyMSAtMTUuMDA4ODg1OTAyODM1MTY0LCAxMDQuMzk1NzA4MDA2MzQ3MTIgLTE0LjAwNTUwMzY3MjAzNDgzNiBNMTAzLjQzMzM2NzI1MDUwNTgyIC0xNi4wMDM4MjQ4NDIzMzI5IEMxMDMuNzk5MjAwNDM0OTc2MiAtMTUuMjQ0MTY0NDA3MjAzOTcxLCAxMDQuMTY1MDMzNjE5NDQ2NTggLTE0LjQ4NDUwMzk3MjA3NTA0MywgMTA0LjM5NTcwODAwNjM0NzEyIC0xNC4wMDU1MDM2NzIwMzQ4MzYgTTEwNC4zOTU3MDgwMDYzNDcxMiAtMTQuMDA1NTAzNjcyMDM0ODM2IEMxMDQuNjIwNzA1NjM0NjU0MSAtMTMuNDQ5NzU1MTgwMDgzMzkxLCAxMDQuODQ1NzAzMjYyOTYxMDggLTEyLjg5NDAwNjY4ODEzMTk0NSwgMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyNiBNMTA0LjM5NTcwODAwNjM0NzEyIC0xNC4wMDU1MDM2NzIwMzQ4MzYgQzEwNC42ODMyNDA0MzQ1NDUzMSAtMTMuMjk1MjkzMDE1MzIzOTg4LCAxMDQuOTcwNzcyODYyNzQzNSAtMTIuNTg1MDgyMzU4NjEzMTQsIDEwNS4yMjgwMzg2NTI5MjE3MyAtMTEuOTQ5NjMwODgyOTc3MjYgTTEwNS4yMjgwMzg2NTI5MjE3MyAtMTEuOTQ5NjMwODgyOTc3MjYgQzEwNS40NDYyMTA2MDc3NDgyNCAtMTEuMjkyNTMxNzE2MDIwMTY4LCAxMDUuNjY0MzgyNTYyNTc0NzYgLTEwLjYzNTQzMjU0OTA2MzA3NywgMTA1LjkyNjkzODk2NTA2ODQ3IC05Ljg0NDY1NDQ5NzQzMzczNCBNMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyNiBDMTA1LjM3Mjc4OTQwNjk5NDc0IC0xMS41MTM2NjQ2NzQ2MTAwMDQsIDEwNS41MTc1NDAxNjEwNjc3NiAtMTEuMDc3Njk4NDY2MjQyNzQ3LCAxMDUuOTI2OTM4OTY1MDY4NDcgLTkuODQ0NjU0NDk3NDMzNzM0IE0xMDUuOTI2OTM4OTY1MDY4NDcgLTkuODQ0NjU0NDk3NDMzNzM0IEMxMDYuMDQ3MTA4MzA1MTk0NTEgLTkuMzg2Mzk2NzIxODExNjg1LCAxMDYuMTY3Mjc3NjQ1MzIwNTUgLTguOTI4MTM4OTQ2MTg5NjM2LCAxMDYuNDg5NTM3MDExNDkxMTEgLTcuNjk5MjI0MzE0ODg4NDgyNSBNMTA1LjkyNjkzODk2NTA2ODQ3IC05Ljg0NDY1NDQ5NzQzMzczNCBDMTA2LjEyMzg3MTQ2OTk2MzkyIC05LjA5MzY2NTUwNTE3OTg2MiwgMTA2LjMyMDgwMzk3NDg1OTM3IC04LjM0MjY3NjUxMjkyNTk5LCAxMDYuNDg5NTM3MDExNDkxMTEgLTcuNjk5MjI0MzE0ODg4NDgyNSBNMTA2LjQ4OTUzNzAxMTQ5MTExIC03LjY5OTIyNDMxNDg4ODQ4MjUgQzEwNi42MzAwODc3NzI4MjcyNCAtNi45Nzc1MjU4NjA4NDE0MDQsIDEwNi43NzA2Mzg1MzQxNjMzNyAtNi4yNTU4Mjc0MDY3OTQzMjUsIDEwNi45MTM1MjA5NTYxMzk5OSAtNS41MjIxNTYzNjgxNTQ5MzQgTTEwNi40ODk1MzcwMTE0OTExMSAtNy42OTkyMjQzMTQ4ODg0ODI1IEMxMDYuNTc2MTM3MTcwMDkyNzIgLTcuMjU0NTUwODAzNDE5MTc2LCAxMDYuNjYyNzM3MzI4Njk0MzUgLTYuODA5ODc3MjkxOTQ5ODY5LCAxMDYuOTEzNTIwOTU2MTM5OTkgLTUuNTIyMTU2MzY4MTU0OTM0IE0xMDYuOTEzNTIwOTU2MTM5OTkgLTUuNTIyMTU2MzY4MTU0OTM0IEMxMDcuMDA1Njg5NDEwNDI4OTcgLTQuODA3MzE2MDM3NDA5NTgxLCAxMDcuMDk3ODU3ODY0NzE3OTQgLTQuMDkyNDc1NzA2NjY0MjI5LCAxMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1Nzk1IE0xMDYuOTEzNTIwOTU2MTM5OTkgLTUuNTIyMTU2MzY4MTU0OTM0IEMxMDYuOTczNDQ5NDUwMTQzMjQgLTUuMDU3MzYyODAyODg1NDY2LCAxMDcuMDMzMzc3OTQ0MTQ2NDggLTQuNTkyNTY5MjM3NjE1OTk5LCAxMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1Nzk1IE0xMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1Nzk1IEMxMDcuMjI5NDA1MTkzOTYyNDIgLTIuODE5OTczNTU0ODYxNjE4NSwgMTA3LjI2MTY2MTgyOTg4MjU3IC0yLjMxNzU1MDQxMzMxNzQ0MjMsIDEwNy4zMzkyNTQzMzA1NDM4MSAtMS4xMDg5ODQ1ODM5NzkyNjg3IE0xMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1Nzk1IEMxMDcuMjMzNTc0MjY4ODA2OCAtMi43NTUwMzY4NDg5NDM1NTIsIDEwNy4yNjk5OTk5Nzk1NzEzNSAtMi4xODc2NzcwMDE0ODEzMDksIDEwNy4zMzkyNTQzMzA1NDM4MSAtMS4xMDg5ODQ1ODM5NzkyNjg3IE0xMDcuMzM5MjU0MzMwNTQzODEgLTEuMTA4OTg0NTgzOTc5MjY4NyBDMTA3LjMzOTI1NDMzMDU0MzgxIC0wLjI5MDc0MDQyNjMwNzc1MDQzLCAxMDcuMzM5MjU0MzMwNTQzODEgMC41Mjc1MDM3MzEzNjM3Njc4LCAxMDcuMzM5MjU0MzMwNTQzODEgMS4xMDg5ODQ1ODM5NzkyNjA1IE0xMDcuMzM5MjU0MzMwNTQzODEgLTEuMTA4OTg0NTgzOTc5MjY4NyBDMTA3LjMzOTI1NDMzMDU0MzgxIC0wLjYxMzc3MzU4OTQ1ODg1MDIsIDEwNy4zMzkyNTQzMzA1NDM4MSAtMC4xMTg1NjI1OTQ5Mzg0MzE2OSwgMTA3LjMzOTI1NDMzMDU0MzgxIDEuMTA4OTg0NTgzOTc5MjYwNSBNMTA3LjMzOTI1NDMzMDU0MzgxIDEuMTA4OTg0NTgzOTc5MjYwNSBDMTA3LjMwODExMjg5MDY2NTUzIDEuNTk0MDM3NjQ3MDAxMzY4NCwgMTA3LjI3Njk3MTQ1MDc4NzI0IDIuMDc5MDkwNzEwMDIzNDc2MywgMTA3LjE5NzE0ODU1ODA0MjI3IDMuMzIyMzk2Njk2NDA1NzcxNiBNMTA3LjMzOTI1NDMzMDU0MzgxIDEuMTA4OTg0NTgzOTc5MjYwNSBDMTA3LjMwNTAxNDI2NDY3ODY5IDEuNjQyMzAxMjQ3OTEyMjY4NywgMTA3LjI3MDc3NDE5ODgxMzU3IDIuMTc1NjE3OTExODQ1Mjc3NCwgMTA3LjE5NzE0ODU1ODA0MjI3IDMuMzIyMzk2Njk2NDA1NzcxNiBNMTA3LjE5NzE0ODU1ODA0MjI3IDMuMzIyMzk2Njk2NDA1NzcxNiBDMTA3LjA4NTIwMjIzMDEzMDExIDQuMTkwNjMwMzA5Mzg5NzM5LCAxMDYuOTczMjU1OTAyMjE3OTMgNS4wNTg4NjM5MjIzNzM3MDYsIDEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkxIE0xMDcuMTk3MTQ4NTU4MDQyMjcgMy4zMjIzOTY2OTY0MDU3NzE2IEMxMDcuMTI1MTg1NjIxOTU1IDMuODgwNTI3MDE4MDA5NTY5LCAxMDcuMDUzMjIyNjg1ODY3NzQgNC40Mzg2NTczMzk2MTMzNjYsIDEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkxIE0xMDYuOTEzNTIwOTU2MTM5OTkgNS41MjIxNTYzNjgxNTQ5MSBDMTA2Ljc4Njg4NTI4MTE5NzI2IDYuMTcyNDAzNzk0NTI2NDk3LCAxMDYuNjYwMjQ5NjA2MjU0NTEgNi44MjI2NTEyMjA4OTgwODUsIDEwNi40ODk1MzcwMTE0OTExMSA3LjY5OTIyNDMxNDg4ODQ3NDUgTTEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkxIEMxMDYuNzk3NTA5OTk4ODc1NCA2LjExNzg0ODExNDc4NDEwNywgMTA2LjY4MTQ5OTA0MTYxMDc5IDYuNzEzNTM5ODYxNDEzMzA0LCAxMDYuNDg5NTM3MDExNDkxMTEgNy42OTkyMjQzMTQ4ODg0NzQ1IE0xMDYuNDg5NTM3MDExNDkxMTEgNy42OTkyMjQzMTQ4ODg0NzQ1IEMxMDYuMjgxODk2NDk2MDU3OTcgOC40OTEwNDc1OTIyMDM3MTIsIDEwNi4wNzQyNTU5ODA2MjQ4MSA5LjI4Mjg3MDg2OTUxODk0OCwgMTA1LjkyNjkzODk2NTA2ODQ3IDkuODQ0NjU0NDk3NDMzNzEgTTEwNi40ODk1MzcwMTE0OTExMSA3LjY5OTIyNDMxNDg4ODQ3NDUgQzEwNi4yNjc5NzI1NjE0NTQyMSA4LjU0NDE0NTU4OTUxOTIyNywgMTA2LjA0NjQwODExMTQxNzMyIDkuMzg5MDY2ODY0MTQ5OTgsIDEwNS45MjY5Mzg5NjUwNjg0NyA5Ljg0NDY1NDQ5NzQzMzcxIE0xMDUuOTI2OTM4OTY1MDY4NDcgOS44NDQ2NTQ0OTc0MzM3MSBDMTA1LjY1NjkyMDkzMTQwMDU5IDEwLjY1NzkwNTc5MzMxMDEyOCwgMTA1LjM4NjkwMjg5NzczMjcyIDExLjQ3MTE1NzA4OTE4NjU0OCwgMTA1LjIyODAzODY1MjkyMTczIDExLjk0OTYzMDg4Mjk3NzIzNyBNMTA1LjkyNjkzODk2NTA2ODQ3IDkuODQ0NjU0NDk3NDMzNzEgQzEwNS43MDcyNzQ1NzkwODEzOSAxMC41MDYyNDg2MjkyNTk4NDUsIDEwNS40ODc2MTAxOTMwOTQzIDExLjE2Nzg0Mjc2MTA4NTk4LCAxMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjM3IE0xMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjM3IEMxMDQuOTc1MDgyMTg2NzM4MzYgMTIuNTc0NDM4MjQ1MDMwNzA2LCAxMDQuNzIyMTI1NzIwNTU1IDEzLjE5OTI0NTYwNzA4NDE3NiwgMTA0LjM5NTcwODAwNjM0NzEyIDE0LjAwNTUwMzY3MjAzNDgyNSBNMTA1LjIyODAzODY1MjkyMTczIDExLjk0OTYzMDg4Mjk3NzIzNyBDMTA0LjkzMjQ0MDk5OTc0MTIyIDEyLjY3OTc2MjgwMTMyNDk0MywgMTA0LjYzNjg0MzM0NjU2MDcgMTMuNDA5ODk0NzE5NjcyNjQ4LCAxMDQuMzk1NzA4MDA2MzQ3MTIgMTQuMDA1NTAzNjcyMDM0ODI1IE0xMDQuMzk1NzA4MDA2MzQ3MTIgMTQuMDA1NTAzNjcyMDM0ODI1IEMxMDQuMTA0MDM3NjAwMjcwMzIgMTQuNjExMTYzNTExMDAwMjY2LCAxMDMuODEyMzY3MTk0MTkzNSAxNS4yMTY4MjMzNDk5NjU3MDYsIDEwMy40MzMzNjcyNTA1MDU4MiAxNi4wMDM4MjQ4NDIzMzI4OTMgTTEwNC4zOTU3MDgwMDYzNDcxMiAxNC4wMDU1MDM2NzIwMzQ4MjUgQzEwNC4wNDcxMTA3MjU2NjQ4IDE0LjcyOTM3MzM4NDE1ODYwOCwgMTAzLjY5ODUxMzQ0NDk4MjQ4IDE1LjQ1MzI0MzA5NjI4MjM5MiwgMTAzLjQzMzM2NzI1MDUwNTgyIDE2LjAwMzgyNDg0MjMzMjg5MyBNMTAzLjQzMzM2NzI1MDUwNTgyIDE2LjAwMzgyNDg0MjMzMjg5MyBDMTAzLjE2NTI1MjI2NzMxNjIyIDE2LjQ3OTg5MDE0NDU3MjA4LCAxMDIuODk3MTM3Mjg0MTI2NjEgMTYuOTU1OTU1NDQ2ODExMjcsIDEwMi4zNDQ5NzA4NDk5ODQ5OSAxNy45MzYzODI4NjM1NDQxNjQgTTEwMy40MzMzNjcyNTA1MDU4MiAxNi4wMDM4MjQ4NDIzMzI4OTMgQzEwMy4wMTUyMjA3MzQyMTUwOCAxNi43NDYyODYzMjM5MzMyOTQsIDEwMi41OTcwNzQyMTc5MjQzMiAxNy40ODg3NDc4MDU1MzM2OSwgMTAyLjM0NDk3MDg0OTk4NDk5IDE3LjkzNjM4Mjg2MzU0NDE2NCBNMTAyLjM0NDk3MDg0OTk4NDk5IDE3LjkzNjM4Mjg2MzU0NDE2NCBDMTAyLjA0ODg3ODI3MjkwMzE3IDE4LjM5MTI2MDU3MzkzMTUxLCAxMDEuNzUyNzg1Njk1ODIxMzYgMTguODQ2MTM4Mjg0MzE4ODU1LCAxMDEuMTM0OTkxMjU5MDU0NjkgMTkuNzk1MjM2NDQwMjI3MDYgTTEwMi4zNDQ5NzA4NDk5ODQ5OSAxNy45MzYzODI4NjM1NDQxNjQgQzEwMi4wNDE3NTI2OTM2ODc4MyAxOC40MDIyMDczNzcwOTIyMDMsIDEwMS43Mzg1MzQ1MzczOTA2OCAxOC44NjgwMzE4OTA2NDAyNDMsIDEwMS4xMzQ5OTEyNTkwNTQ2OSAxOS43OTUyMzY0NDAyMjcwNiBNMTAxLjEzNDk5MTI1OTA1NDY5IDE5Ljc5NTIzNjQ0MDIyNzA2IEMxMDAuODQyNTExNDc5NDI1NjggMjAuMTg3MTMyNjk5NDczODQ2LCAxMDAuNTUwMDMxNjk5Nzk2NjkgMjAuNTc5MDI4OTU4NzIwNjM1LCA5OS44MDg0MDA1NDMzOTM4NCAyMS41NzI3NDcxNDQzMTIxNzQgTTEwMS4xMzQ5OTEyNTkwNTQ2OSAxOS43OTUyMzY0NDAyMjcwNiBDMTAwLjY0MzM3MTc3Mzc4MTU0IDIwLjQ1Mzk2MTc2MzAzNjYwNiwgMTAwLjE1MTc1MjI4ODUwODM5IDIxLjExMjY4NzA4NTg0NjE1NCwgOTkuODA4NDAwNTQzMzkzODQgMjEuNTcyNzQ3MTQ0MzEyMTc0IE05OS44MDg0MDA1NDMzOTM4NCAyMS41NzI3NDcxNDQzMTIxNzQgQzk5LjQ1OTA2NjE3ODc0ODEyIDIxLjk4MzA5NTE2NjcxMzUxLCA5OS4xMDk3MzE4MTQxMDIzOSAyMi4zOTM0NDMxODkxMTQ4NDgsIDk4LjM3MDY0OTk0ODgwNTk1IDIzLjI2MTYxMDgwMzA0MTU1IE05OS44MDg0MDA1NDMzOTM4NCAyMS41NzI3NDcxNDQzMTIxNzQgQzk5LjUxODA3OTM3NjMzNjIyIDIxLjkxMzc3NDkwNjg4MDQ0OCwgOTkuMjI3NzU4MjA5Mjc4NiAyMi4yNTQ4MDI2Njk0NDg3MiwgOTguMzcwNjQ5OTQ4ODA1OTUgMjMuMjYxNjEwODAzMDQxNTUgTTk4LjM3MDY0OTk0ODgwNTk1IDIzLjI2MTYxMDgwMzA0MTU1IEM5OC4wMjk1MzEzNDY2NTM4OCAyMy42MTM4NDM3NjYxMjE2MywgOTcuNjg4NDEyNzQ0NTAxODMgMjMuOTY2MDc2NzI5MjAxNzEzLCA5Ni44Mjc2NDc1MDA4ODA2NCAyNC44NTQ4ODc1MTMzODEzNjcgTTk4LjM3MDY0OTk0ODgwNTk1IDIzLjI2MTYxMDgwMzA0MTU1IEM5Ny45Njc1MDI5NzU5Mjk5NiAyMy42Nzc4OTMxNTE1MTgwMywgOTcuNTY0MzU2MDAzMDUzOTcgMjQuMDk0MTc1NDk5OTk0NTEzLCA5Ni44Mjc2NDc1MDA4ODA2NCAyNC44NTQ4ODc1MTMzODEzNjcgTTk2LjgyNzY0NzUwMDg4MDY0IDI0Ljg1NDg4NzUxMzM4MTM2NyBDOTYuMjAyMjY1MjY0MTA4MTkgMjUuNDIyODQzMTE0MTEwODU4LCA5NS41NzY4ODMwMjczMzU3NCAyNS45OTA3OTg3MTQ4NDAzNSwgOTUuMTg1NzMzNzI3NjQ5NSAyNi4zNDYwMzAxNTk1NzIwMzUgTTk2LjgyNzY0NzUwMDg4MDY0IDI0Ljg1NDg4NzUxMzM4MTM2NyBDOTYuMjU4OTIyNDkzNTU3MzkgMjUuMzcxMzg4NTE3MzkzMjQsIDk1LjY5MDE5NzQ4NjIzNDE0IDI1Ljg4Nzg4OTUyMTQwNTEwNywgOTUuMTg1NzMzNzI3NjQ5NSAyNi4zNDYwMzAxNTk1NzIwMzUgTTk1LjE4NTczMzcyNzY0OTUgMjYuMzQ2MDMwMTU5NTcyMDM1IEM5NC43Nzk5ODUxODk3MjEwNSAyNi42Njk2MDM4MjExNDc5MjMsIDk0LjM3NDIzNjY1MTc5MjYgMjYuOTkzMTc3NDgyNzIzODEsIDkzLjQ1MTY1NTYwNDk5NjA5IDI3LjcyODkxMTMxNjYzMTI5NyBNOTUuMTg1NzMzNzI3NjQ5NSAyNi4zNDYwMzAxNTk1NzIwMzUgQzk0LjcxMjExOTMzMjUwNTU0IDI2LjcyMzcyNTAzNjI5MDk4NiwgOTQuMjM4NTA0OTM3MzYxNTcgMjcuMTAxNDE5OTEzMDA5OTM4LCA5My40NTE2NTU2MDQ5OTYwOSAyNy43Mjg5MTEzMTY2MzEyOTcgTTkzLjQ1MTY1NTYwNDk5NjA5IDI3LjcyODkxMTMxNjYzMTI5NyBDOTIuODIzMTczOTc5MzkwNDMgMjguMTY3MzEyODkyMTIyNzIsIDkyLjE5NDY5MjM1Mzc4NDc5IDI4LjYwNTcxNDQ2NzYxNDE0NSwgOTEuNjMyNTM4ODMxODg1MDEgMjguOTk3ODQ4NDI5MjU3NjggTTkzLjQ1MTY1NTYwNDk5NjA5IDI3LjcyODkxMTMxNjYzMTI5NyBDOTIuOTE0NzUzMDM4ODk2MTggMjguMTAzNDMxMzA0NjA1MTA2LCA5Mi4zNzc4NTA0NzI3OTYyNyAyOC40Nzc5NTEyOTI1Nzg5MTUsIDkxLjYzMjUzODgzMTg4NTAxIDI4Ljk5Nzg0ODQyOTI1NzY4IE05MS42MzI1Mzg4MzE4ODUwMSAyOC45OTc4NDg0MjkyNTc2OCBDOTEuMjA5MDA5MDAwNjkxNTEgMjkuMjU0NTk0NzAxODY0NzM2LCA5MC43ODU0NzkxNjk0OTgwMiAyOS41MTEzNDA5NzQ0NzE3OSwgODkuNzM1ODU4NTQ5MzM2MjYgMzAuMTQ3NjI3MTYyNjY5Mjc0IE05MS42MzI1Mzg4MzE4ODUwMSAyOC45OTc4NDg0MjkyNTc2OCBDOTEuMDA2MjIxODQ0MzEwMyAyOS4zNzc1MjU0Njc3NzI2MzUsIDkwLjM3OTkwNDg1NjczNTU5IDI5Ljc1NzIwMjUwNjI4NzU5LCA4OS43MzU4NTg1NDkzMzYyNiAzMC4xNDc2MjcxNjI2NjkyNzQgTTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI3NCBDODkuMjE3MzcxNDk4MDU1MTcgMzAuNDE4MTIxNTI1MjE1ODEzLCA4OC42OTg4ODQ0NDY3NzQwNyAzMC42ODg2MTU4ODc3NjIzNTMsIDg3Ljc2OTQwODYyMzQ2NzUzIDMxLjE3MzUyMjgyOTQyMzcgTTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI3NCBDODguOTc1NzcxMjkwMDM1ODggMzAuNTQ0MTY0MTk4OTg3MTU0LCA4OC4yMTU2ODQwMzA3MzU1IDMwLjk0MDcwMTIzNTMwNTAzNSwgODcuNzY5NDA4NjIzNDY3NTMgMzEuMTczNTIyODI5NDIzNyBNODcuNzY5NDA4NjIzNDY3NTMgMzEuMTczNTIyODI5NDIzNyBDODcuMTgwNjg3ODU4NDM0OTIgMzEuNDM0MTMyMDQ4MzIyNjI0LCA4Ni41OTE5NjcwOTM0MDIzMyAzMS42OTQ3NDEyNjcyMjE1NSwgODUuNzQxMjY5NjE4ODI2MzcgMzIuMDcxMzE5ODA0MTcyMzUgTTg3Ljc2OTQwODYyMzQ2NzUzIDMxLjE3MzUyMjgyOTQyMzcgQzg3LjM2MTAxMjI3NDM5NzE3IDMxLjM1NDMwNzc3ODUwOTg4OCwgODYuOTUyNjE1OTI1MzI2ODEgMzEuNTM1MDkyNzI3NTk2MDczLCA4NS43NDEyNjk2MTg4MjYzNyAzMi4wNzEzMTk4MDQxNzIzNSBNODUuNzQxMjY5NjE4ODI2MzcgMzIuMDcxMzE5ODA0MTcyMzUgQzg1LjE0NDkxMjMzODk4OTIyIDMyLjI5MDc4NDc5NTgxODY5LCA4NC41NDg1NTUwNTkxNTIwNiAzMi41MTAyNDk3ODc0NjUwMiwgODMuNjU5Nzc1NTkzNjE3MzEgMzIuODM3MzI4ODQ2NTY5MTMgTTg1Ljc0MTI2OTYxODgyNjM3IDMyLjA3MTMxOTgwNDE3MjM1IEM4NC45ODUzNDIzMjc5OTA1OCAzMi4zNDk1MDgwMzQ5MTUxOTYsIDg0LjIyOTQxNTAzNzE1NDggMzIuNjI3Njk2MjY1NjU4MDQ1LCA4My42NTk3NzU1OTM2MTczMSAzMi44MzczMjg4NDY1NjkxMyBNODMuNjU5Nzc1NTkzNjE3MzEgMzIuODM3MzI4ODQ2NTY5MTMgQzgyLjg4MDE3OTA1NTI3NjU5IDMzLjA2ODcwOTAwNjk2MjkyNiwgODIuMTAwNTgyNTE2OTM1ODYgMzMuMzAwMDg5MTY3MzU2NzIsIDgxLjUzMzQ3OTg1MzI2OSAzMy40Njg0MDIyNjExNTA0MTYgTTgzLjY1OTc3NTU5MzYxNzMxIDMyLjgzNzMyODg0NjU2OTEzIEM4My4wODU3NDEyOTgzMzMyMiAzMy4wMDc2OTkyMTIyNDE5NDUsIDgyLjUxMTcwNzAwMzA0OTEyIDMzLjE3ODA2OTU3NzkxNDc2LCA4MS41MzM0Nzk4NTMyNjkgMzMuNDY4NDAyMjYxMTUwNDE2IE04MS41MzM0Nzk4NTMyNjkgMzMuNDY4NDAyMjYxMTUwNDE2IEM4MC45NTc2NjY3NzEwODMzOCAzMy41OTk4Mjc4Mzk2Mjc3NjQsIDgwLjM4MTg1MzY4ODg5Nzc2IDMzLjczMTI1MzQxODEwNTEwNSwgNzkuMzcxMTE5ODAzMDY3NSAzMy45NjE5NDY4MzE4OTA4NiBNODEuNTMzNDc5ODUzMjY5IDMzLjQ2ODQwMjI2MTE1MDQxNiBDODAuOTIzNDU4MDIyNjU5NCAzMy42MDc2MzU3NjMyMjI1OSwgODAuMzEzNDM2MTkyMDQ5NzkgMzMuNzQ2ODY5MjY1Mjk0NzYsIDc5LjM3MTExOTgwMzA2NzUgMzMuOTYxOTQ2ODMxODkwODYgTTc5LjM3MTExOTgwMzA2NzUgMzMuOTYxOTQ2ODMxODkwODYgQzc4LjYzNzAwNzc4MjE3NjA4IDM0LjA4MDYzMjM3MDMwNDgzLCA3Ny45MDI4OTU3NjEyODQ2NyAzNC4xOTkzMTc5MDg3MTg4MSwgNzcuMTgxNTgxMDQ0MjgzOTQgMzQuMzE1OTM0NDc4Mjg0MzEgTTc5LjM3MTExOTgwMzA2NzUgMzMuOTYxOTQ2ODMxODkwODYgQzc4Ljc2NDg3MzY4NzIyODEgMzQuMDU5OTYwMDAyMzkwOTMsIDc4LjE1ODYyNzU3MTM4ODcgMzQuMTU3OTczMTcyODkxLCA3Ny4xODE1ODEwNDQyODM5NCAzNC4zMTU5MzQ0NzgyODQzMSBNNzcuMTgxNTgxMDQ0MjgzOTQgMzQuMzE1OTM0NDc4Mjg0MzEgQzc2LjQxMjc1MDkyMDkwNTk1IDM0LjM5MDEwMjU5NTYzMzA4LCA3NS42NDM5MjA3OTc1Mjc5NCAzNC40NjQyNzA3MTI5ODE4NiwgNzQuOTczODYwODYxMzMyNjggMzQuNTI4OTEwNTg5MTYxNjQgTTc3LjE4MTU4MTA0NDI4Mzk0IDM0LjMxNTkzNDQ3ODI4NDMxIEM3Ni4zNjQ2MDM4OTA5MDUxNyAzNC4zOTQ3NDcyODE3MTE5ODYsIDc1LjU0NzYyNjczNzUyNjQxIDM0LjQ3MzU2MDA4NTEzOTY1LCA3NC45NzM4NjA4NjEzMzI2OCAzNC41Mjg5MTA1ODkxNjE2NCBNNzQuOTczODYwODYxMzMyNjggMzQuNTI4OTEwNTg5MTYxNjQgQzc0LjMzODA4NTQwODI1NTA0IDM0LjU0OTI5ODY3MDQ3OTk5LCA3My43MDIzMDk5NTUxNzc0IDM0LjU2OTY4Njc1MTc5ODM0LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IE03NC45NzM4NjA4NjEzMzI2OCAzNC41Mjg5MTA1ODkxNjE2NCBDNzQuMzkwMjI0MDUzOTEwOCAzNC41NDc2MjY2ODU1OTU1MywgNzMuODA2NTg3MjQ2NDg4OTMgMzQuNTY2MzQyNzgyMDI5NDE2LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IE03Mi43NTcwMzEyNTAwMDAwMSAzNC42IEM3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IE03Mi43NTcwMzEyNTAwMDAwMSAzNC42IEM3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42LCA3Mi43NTcwMzEyNTAwMDAwMSAzNC42IE03Mi43NTcwMzEyNTAwMDAwMSAzNC42IEMzMC4yOTc5NTQ1MDA4NjM0NyAzNC42LCAtMTIuMTYxMTIyMjQ4MjczMDc0IDM0LjYsIC03Mi43NTcwMzEyNTAwMDAwMSAzNC42IE03Mi43NTcwMzEyNTAwMDAwMSAzNC42IEMyMi40NjU1NzA4ODAwNDU4NDYgMzQuNiwgLTI3LjgyNTg4OTQ4OTkwODMyIDM0LjYsIC03Mi43NTcwMzEyNTAwMDAwMSAzNC42IE0tNzIuNzU3MDMxMjUwMDAwMDEgMzQuNiBDLTczLjYwMzU4OTMwODMxODMgMzQuNTcyODUyNTMwNzk1MDMsIC03NC40NTAxNDczNjY2MzY2MSAzNC41NDU3MDUwNjE1OTAwNiwgLTc0Ljk3Mzg2MDg2MTMzMjY3IDM0LjUyODkxMDU4OTE2MTY0IE0tNzIuNzU3MDMxMjUwMDAwMDEgMzQuNiBDLTczLjY0MTQ0MTA2OTU2MzMzIDM0LjU3MTYzODY5ODQ4NTg5LCAtNzQuNTI1ODUwODg5MTI2NjQgMzQuNTQzMjc3Mzk2OTcxNzc0LCAtNzQuOTczODYwODYxMzMyNjcgMzQuNTI4OTEwNTg5MTYxNjQgTS03NC45NzM4NjA4NjEzMzI2NyAzNC41Mjg5MTA1ODkxNjE2NCBDLTc1LjgxNDIxNjg2Njc0ODExIDM0LjQ0Nzg0MjQ1NTk5NTE3LCAtNzYuNjU0NTcyODcyMTYzNTYgMzQuMzY2Nzc0MzIyODI4NzEsIC03Ny4xODE1ODEwNDQyODM5MyAzNC4zMTU5MzQ0NzgyODQzMSBNLTc0Ljk3Mzg2MDg2MTMzMjY3IDM0LjUyODkxMDU4OTE2MTY0IEMtNzUuNjQxNjA2MTQzNDg3NDIgMzQuNDY0NDk0MDA0ODczMzY2LCAtNzYuMzA5MzUxNDI1NjQyMTkgMzQuNDAwMDc3NDIwNTg1MDksIC03Ny4xODE1ODEwNDQyODM5MyAzNC4zMTU5MzQ0NzgyODQzMSBNLTc3LjE4MTU4MTA0NDI4MzkzIDM0LjMxNTkzNDQ3ODI4NDMxIEMtNzcuOTIyNzczMTM2NDEyOTYgMzQuMTk2MTA0Mjg4ODU5NDEsIC03OC42NjM5NjUyMjg1NDIgMzQuMDc2Mjc0MDk5NDM0NTE0LCAtNzkuMzcxMTE5ODAzMDY3NDkgMzMuOTYxOTQ2ODMxODkwODYgTS03Ny4xODE1ODEwNDQyODM5MyAzNC4zMTU5MzQ0NzgyODQzMSBDLTc4LjA1NTE1NTMzODE2MjIyIDM0LjE3NDcwMTc2MTExOTksIC03OC45Mjg3Mjk2MzIwNDA1MSAzNC4wMzM0NjkwNDM5NTU0ODUsIC03OS4zNzExMTk4MDMwNjc0OSAzMy45NjE5NDY4MzE4OTA4NiBNLTc5LjM3MTExOTgwMzA2NzQ5IDMzLjk2MTk0NjgzMTg5MDg2IEMtNzkuODM4OTE1MTA2MTg4NSAzMy44NTUxNzU2MDY2MDMxMywgLTgwLjMwNjcxMDQwOTMwOTUgMzMuNzQ4NDA0MzgxMzE1NCwgLTgxLjUzMzQ3OTg1MzI2ODk2IDMzLjQ2ODQwMjI2MTE1MDQyIE0tNzkuMzcxMTE5ODAzMDY3NDkgMzMuOTYxOTQ2ODMxODkwODYgQy04MC4xMTI5OTY5ODQ3OTI3IDMzLjc5MjYxODIwNjM2MzEzLCAtODAuODU0ODc0MTY2NTE3OTIgMzMuNjIzMjg5NTgwODM1MzksIC04MS41MzM0Nzk4NTMyNjg5NiAzMy40Njg0MDIyNjExNTA0MiBNLTgxLjUzMzQ3OTg1MzI2ODk2IDMzLjQ2ODQwMjI2MTE1MDQyIEMtODIuMDU4NDUzNzAwMjEwMjEgMzMuMzEyNTkyNzc5MDIyMjIsIC04Mi41ODM0Mjc1NDcxNTE0NCAzMy4xNTY3ODMyOTY4OTQwMSwgLTgzLjY1OTc3NTU5MzYxNzI3IDMyLjgzNzMyODg0NjU2OTE0IE0tODEuNTMzNDc5ODUzMjY4OTYgMzMuNDY4NDAyMjYxMTUwNDIgQy04Mi4wNzQ2ODU0NzMyNzk1NyAzMy4zMDc3NzUyNzM5Nzc1NCwgLTgyLjYxNTg5MTA5MzI5MDIgMzMuMTQ3MTQ4Mjg2ODA0NjYsIC04My42NTk3NzU1OTM2MTcyNyAzMi44MzczMjg4NDY1NjkxNCBNLTgzLjY1OTc3NTU5MzYxNzI3IDMyLjgzNzMyODg0NjU2OTE0IEMtODQuNDY3NDU3MDI0MzU4ODYgMzIuNTQwMDk0NjEzOTMwOTMsIC04NS4yNzUxMzg0NTUxMDA0NiAzMi4yNDI4NjAzODEyOTI3MywgLTg1Ljc0MTI2OTYxODgyNjM3IDMyLjA3MTMxOTgwNDE3MjM1NCBNLTgzLjY1OTc3NTU5MzYxNzI3IDMyLjgzNzMyODg0NjU2OTE0IEMtODQuMTI2NDk3ODE3MzIzMzMgMzIuNjY1NTcwNzUzOTEyMzgsIC04NC41OTMyMjAwNDEwMjkzOCAzMi40OTM4MTI2NjEyNTU2LCAtODUuNzQxMjY5NjE4ODI2MzcgMzIuMDcxMzE5ODA0MTcyMzU0IE0tODUuNzQxMjY5NjE4ODI2MzcgMzIuMDcxMzE5ODA0MTcyMzU0IEMtODYuMzE5MTg3NDM0NjQ2NCAzMS44MTU0OTI3MzA0MzE3MywgLTg2Ljg5NzEwNTI1MDQ2NjQyIDMxLjU1OTY2NTY1NjY5MTEwNiwgLTg3Ljc2OTQwODYyMzQ2NzUxIDMxLjE3MzUyMjgyOTQyMzcwNyBNLTg1Ljc0MTI2OTYxODgyNjM3IDMyLjA3MTMxOTgwNDE3MjM1NCBDLTg2LjIxMDgwOTczODEwOTUzIDMxLjg2MzQ2ODMyMTc3ODQ2LCAtODYuNjgwMzQ5ODU3MzkyNyAzMS42NTU2MTY4MzkzODQ1NjQsIC04Ny43Njk0MDg2MjM0Njc1MSAzMS4xNzM1MjI4Mjk0MjM3MDcgTS04Ny43Njk0MDg2MjM0Njc1MSAzMS4xNzM1MjI4Mjk0MjM3MDcgQy04OC40MTU1MTc2OTYyMDkxMiAzMC44MzY0NDgxNDAwMjcwMjcsIC04OS4wNjE2MjY3Njg5NTA3MiAzMC40OTkzNzM0NTA2MzAzNDgsIC04OS43MzU4NTg1NDkzMzYyNiAzMC4xNDc2MjcxNjI2NjkyODQgTS04Ny43Njk0MDg2MjM0Njc1MSAzMS4xNzM1MjI4Mjk0MjM3MDcgQy04OC40MzQ4MDU3MDQwMjQyNiAzMC44MjYzODU1OTg3MDQ0MywgLTg5LjEwMDIwMjc4NDU4MSAzMC40NzkyNDgzNjc5ODUxNSwgLTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI4NCBNLTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI4NCBDLTkwLjM4MzA3MTMyODE4NDcgMjkuNzU1MjgyOTcyNjg2ODk2LCAtOTEuMDMwMjg0MTA3MDMzMTMgMjkuMzYyOTM4NzgyNzA0NTA0LCAtOTEuNjMyNTM4ODMxODg0OTcgMjguOTk3ODQ4NDI5MjU3NyBNLTg5LjczNTg1ODU0OTMzNjI2IDMwLjE0NzYyNzE2MjY2OTI4NCBDLTkwLjM0NDI2MTk0MjMzMDYyIDI5Ljc3ODgwOTQ1MDQ2MDkwNSwgLTkwLjk1MjY2NTMzNTMyNDk3IDI5LjQwOTk5MTczODI1MjUyMiwgLTkxLjYzMjUzODgzMTg4NDk3IDI4Ljk5Nzg0ODQyOTI1NzcgTS05MS42MzI1Mzg4MzE4ODQ5NyAyOC45OTc4NDg0MjkyNTc3IEMtOTIuMjgwMjM1Njc0NjcyOSAyOC41NDYwNDMxNTAwNzMyNjcsIC05Mi45Mjc5MzI1MTc0NjA4MyAyOC4wOTQyMzc4NzA4ODg4MzYsIC05My40NTE2NTU2MDQ5OTYwOCAyNy43Mjg5MTEzMTY2MzEzMDQgTS05MS42MzI1Mzg4MzE4ODQ5NyAyOC45OTc4NDg0MjkyNTc3IEMtOTIuMjcwNDg0NjkzMTQ2NTQgMjguNTUyODQ1MDEyNjcyODcsIC05Mi45MDg0MzA1NTQ0MDgxMSAyOC4xMDc4NDE1OTYwODgwNCwgLTkzLjQ1MTY1NTYwNDk5NjA4IDI3LjcyODkxMTMxNjYzMTMwNCBNLTkzLjQ1MTY1NTYwNDk5NjA4IDI3LjcyODkxMTMxNjYzMTMwNCBDLTk0LjEwMTA0ODQ5MDE0OTYyIDI3LjIxMTAzNzc3MTc5MTc5LCAtOTQuNzUwNDQxMzc1MzAzMTUgMjYuNjkzMTY0MjI2OTUyMjczLCAtOTUuMTg1NzMzNzI3NjQ5NDggMjYuMzQ2MDMwMTU5NTcyMDYgTS05My40NTE2NTU2MDQ5OTYwOCAyNy43Mjg5MTEzMTY2MzEzMDQgQy05My44MDAxMzMyNTg2MzM4NSAyNy40NTEwMDk2NjEyMzUwMDUsIC05NC4xNDg2MTA5MTIyNzE2MSAyNy4xNzMxMDgwMDU4Mzg3MSwgLTk1LjE4NTczMzcyNzY0OTQ4IDI2LjM0NjAzMDE1OTU3MjA2IE0tOTUuMTg1NzMzNzI3NjQ5NDggMjYuMzQ2MDMwMTU5NTcyMDYgQy05NS41NDkyNjc0MjIwMTYwMyAyNi4wMTU4Nzg0NzY5MjI4MzYsIC05NS45MTI4MDExMTYzODI1NyAyNS42ODU3MjY3OTQyNzM2MTMsIC05Ni44Mjc2NDc1MDA4ODA2MyAyNC44NTQ4ODc1MTMzODEzOTIgTS05NS4xODU3MzM3Mjc2NDk0OCAyNi4zNDYwMzAxNTk1NzIwNiBDLTk1Ljc3MDg4MDE2MDA0ODk2IDI1LjgxNDYxNTY1MTc5MzA1NSwgLTk2LjM1NjAyNjU5MjQ0ODQ2IDI1LjI4MzIwMTE0NDAxNDA1LCAtOTYuODI3NjQ3NTAwODgwNjMgMjQuODU0ODg3NTEzMzgxMzkyIE0tOTYuODI3NjQ3NTAwODgwNjMgMjQuODU0ODg3NTEzMzgxMzkyIEMtOTcuMjgxNDc3NDQ4OTc4OSAyNC4zODYyNzA4MzE4MzgyNDIsIC05Ny43MzUzMDczOTcwNzcxOCAyMy45MTc2NTQxNTAyOTUwOTYsIC05OC4zNzA2NDk5NDg4MDU5MyAyMy4yNjE2MTA4MDMwNDE1NjMgTS05Ni44Mjc2NDc1MDA4ODA2MyAyNC44NTQ4ODc1MTMzODEzOTIgQy05Ny4yMzU3MjY0MzY0ODI2IDI0LjQzMzUxMjUwODQ2ODY2LCAtOTcuNjQzODA1MzcyMDg0NTYgMjQuMDEyMTM3NTAzNTU1OTMsIC05OC4zNzA2NDk5NDg4MDU5MyAyMy4yNjE2MTA4MDMwNDE1NjMgTS05OC4zNzA2NDk5NDg4MDU5MyAyMy4yNjE2MTA4MDMwNDE1NjMgQy05OC43ODUwOTMwOTU0MjAxNSAyMi43NzQ3ODIzMDA1NDUzOTMsIC05OS4xOTk1MzYyNDIwMzQzOCAyMi4yODc5NTM3OTgwNDkyMjMsIC05OS44MDg0MDA1NDMzOTM4NCAyMS41NzI3NDcxNDQzMTIxOSBNLTk4LjM3MDY0OTk0ODgwNTkzIDIzLjI2MTYxMDgwMzA0MTU2MyBDLTk4Ljc5ODk1OTIxNDQzMzg5IDIyLjc1ODQ5NDM2ODE0NzMzNiwgLTk5LjIyNzI2ODQ4MDA2MTg1IDIyLjI1NTM3NzkzMzI1MzEwOCwgLTk5LjgwODQwMDU0MzM5Mzg0IDIxLjU3Mjc0NzE0NDMxMjE5IE0tOTkuODA4NDAwNTQzMzkzODQgMjEuNTcyNzQ3MTQ0MzEyMTkgQy0xMDAuMTg4MjA4ODQxNDE0ODIgMjEuMDYzODM4NjI2MjExODM3LCAtMTAwLjU2ODAxNzEzOTQzNTgxIDIwLjU1NDkzMDEwODExMTQ5LCAtMTAxLjEzNDk5MTI1OTA1NDY5IDE5Ljc5NTIzNjQ0MDIyNzA4MiBNLTk5LjgwODQwMDU0MzM5Mzg0IDIxLjU3Mjc0NzE0NDMxMjE5IEMtMTAwLjMxNDU0OTIwODk4MTY1IDIwLjg5NDU1NDA0MzUxNjU2OCwgLTEwMC44MjA2OTc4NzQ1Njk0NSAyMC4yMTYzNjA5NDI3MjA5NDMsIC0xMDEuMTM0OTkxMjU5MDU0NjkgMTkuNzk1MjM2NDQwMjI3MDgyIE0tMTAxLjEzNDk5MTI1OTA1NDY5IDE5Ljc5NTIzNjQ0MDIyNzA4MiBDLTEwMS41NDM0Mjc3Nzc1NDg2NyAxOS4xNjc3NjgyNjcyNTgzNzQsIC0xMDEuOTUxODY0Mjk2MDQyNjYgMTguNTQwMzAwMDk0Mjg5NjY2LCAtMTAyLjM0NDk3MDg0OTk4NDk3IDE3LjkzNjM4Mjg2MzU0NDE4NiBNLTEwMS4xMzQ5OTEyNTkwNTQ2OSAxOS43OTUyMzY0NDAyMjcwODIgQy0xMDEuNDc2MDA4NDE2NTYwNDYgMTkuMjcxMzQyNTEwMzY5NTcsIC0xMDEuODE3MDI1NTc0MDY2MjUgMTguNzQ3NDQ4NTgwNTEyMDYsIC0xMDIuMzQ0OTcwODQ5OTg0OTcgMTcuOTM2MzgyODYzNTQ0MTg2IE0tMTAyLjM0NDk3MDg0OTk4NDk3IDE3LjkzNjM4Mjg2MzU0NDE4NiBDLTEwMi43MjY5MDk4OTY4NzczOSAxNy4yNTgyMTE0MTAyNjQzODcsIC0xMDMuMTA4ODQ4OTQzNzY5OCAxNi41ODAwMzk5NTY5ODQ1ODUsIC0xMDMuNDMzMzY3MjUwNTA1ODEgMTYuMDAzODI0ODQyMzMyOTA0IE0tMTAyLjM0NDk3MDg0OTk4NDk3IDE3LjkzNjM4Mjg2MzU0NDE4NiBDLTEwMi43NDg1ODA5OTA2MTgxNyAxNy4yMTk3MzIxODg4OTE0MjQsIC0xMDMuMTUyMTkxMTMxMjUxMzcgMTYuNTAzMDgxNTE0MjM4NjYsIC0xMDMuNDMzMzY3MjUwNTA1ODEgMTYuMDAzODI0ODQyMzMyOTA0IE0tMTAzLjQzMzM2NzI1MDUwNTgxIDE2LjAwMzgyNDg0MjMzMjkwNCBDLTEwMy43NTM3NDUxNDQxMTQ2MyAxNS4zMzg1NTMyOTEyNjU0MTMsIC0xMDQuMDc0MTIzMDM3NzIzNDUgMTQuNjczMjgxNzQwMTk3OTI0LCAtMTA0LjM5NTcwODAwNjM0NzEyIDE0LjAwNTUwMzY3MjAzNDg0IE0tMTAzLjQzMzM2NzI1MDUwNTgxIDE2LjAwMzgyNDg0MjMzMjkwNCBDLTEwMy42ODgxNTUzNjM1NzkwNyAxNS40NzQ3NTE4NzM5NDM5OTIsIC0xMDMuOTQyOTQzNDc2NjUyMzMgMTQuOTQ1Njc4OTA1NTU1MDgsIC0xMDQuMzk1NzA4MDA2MzQ3MTIgMTQuMDA1NTAzNjcyMDM0ODQgTS0xMDQuMzk1NzA4MDA2MzQ3MTIgMTQuMDA1NTAzNjcyMDM0ODQgQy0xMDQuNzI0NTg2MTE5Mzk1MiAxMy4xOTMxNjgzNzQzODAzNDQsIC0xMDUuMDUzNDY0MjMyNDQzMjggMTIuMzgwODMzMDc2NzI1ODUsIC0xMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjY2IE0tMTA0LjM5NTcwODAwNjM0NzEyIDE0LjAwNTUwMzY3MjAzNDg0IEMtMTA0LjU4MDkzMDA4MjU1NzEgMTMuNTQ4MDAxNTYyNzcwOTU2LCAtMTA0Ljc2NjE1MjE1ODc2NzA4IDEzLjA5MDQ5OTQ1MzUwNzA3NSwgLTEwNS4yMjgwMzg2NTI5MjE3MyAxMS45NDk2MzA4ODI5NzcyNjYgTS0xMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjY2IEMtMTA1LjQyODkyMjkxOTg3Njc3IDExLjM0NDU5OTQ3NzQ3MDAyMSwgLTEwNS42Mjk4MDcxODY4MzE4MSAxMC43Mzk1NjgwNzE5NjI3NzksIC0xMDUuOTI2OTM4OTY1MDY4NDcgOS44NDQ2NTQ0OTc0MzM3MjMgTS0xMDUuMjI4MDM4NjUyOTIxNzMgMTEuOTQ5NjMwODgyOTc3MjY2IEMtMTA1LjUwNTU2MzcyNjk0MjEgMTEuMTEzNzY5NTc3NjQzNTgyLCAtMTA1Ljc4MzA4ODgwMDk2MjQ2IDEwLjI3NzkwODI3MjMwOTkwMSwgLTEwNS45MjY5Mzg5NjUwNjg0NyA5Ljg0NDY1NDQ5NzQzMzcyMyBNLTEwNS45MjY5Mzg5NjUwNjg0NyA5Ljg0NDY1NDQ5NzQzMzcyMyBDLTEwNi4wNTM3ODIyMzkyNTAwOCA5LjM2MDk0NjExODc1NjQ0OCwgLTEwNi4xODA2MjU1MTM0MzE3IDguODc3MjM3NzQwMDc5MTc0LCAtMTA2LjQ4OTUzNzAxMTQ5MTExIDcuNjk5MjI0MzE0ODg4NDg3IE0tMTA1LjkyNjkzODk2NTA2ODQ3IDkuODQ0NjU0NDk3NDMzNzIzIEMtMTA2LjEyNTQ1ODEzMTA2MDczIDkuMDg3NjE0ODc4NzU0NDUzLCAtMTA2LjMyMzk3NzI5NzA1Mjk5IDguMzMwNTc1MjYwMDc1MTgsIC0xMDYuNDg5NTM3MDExNDkxMTEgNy42OTkyMjQzMTQ4ODg0ODcgTS0xMDYuNDg5NTM3MDExNDkxMTEgNy42OTkyMjQzMTQ4ODg0ODcgQy0xMDYuNjEwNjg1NDIwODAxMjUgNy4wNzcxNTI4Mzc4MDYyODIsIC0xMDYuNzMxODMzODMwMTExNCA2LjQ1NTA4MTM2MDcyNDA3NywgLTEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkzOCBNLTEwNi40ODk1MzcwMTE0OTExMSA3LjY5OTIyNDMxNDg4ODQ4NyBDLTEwNi42MDYxMTc1NTYxNDg1OSA3LjEwMDYwNzg1NzM3OTE1OSwgLTEwNi43MjI2OTgxMDA4MDYwNyA2LjUwMTk5MTM5OTg2OTgzMiwgLTEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkzOCBNLTEwNi45MTM1MjA5NTYxMzk5OSA1LjUyMjE1NjM2ODE1NDkzOCBDLTEwNy4wMDMwNDc5MTU5ODc1MiA0LjgyNzgwMjk0NjY3NTI4OSwgLTEwNy4wOTI1NzQ4NzU4MzUwNyA0LjEzMzQ0OTUyNTE5NTY0MDUsIC0xMDcuMTk3MTQ4NTU4MDQyMjcgMy4zMjIzOTY2OTY0MDU4MTUgTS0xMDYuOTEzNTIwOTU2MTM5OTkgNS41MjIxNTYzNjgxNTQ5MzggQy0xMDYuOTc4MTQzNzM1NTc5MiA1LjAyMDk1NDg1MjAzNTYxMSwgLTEwNy4wNDI3NjY1MTUwMTg0MSA0LjUxOTc1MzMzNTkxNjI4MiwgLTEwNy4xOTcxNDg1NTgwNDIyNyAzLjMyMjM5NjY5NjQwNTgxNSBNLTEwNy4xOTcxNDg1NTgwNDIyNyAzLjMyMjM5NjY5NjQwNTgxNSBDLTEwNy4yNDc4OTcxMDIwMTc3IDIuNTMxOTQ3MTYwNTAwOTUxLCAtMTA3LjI5ODY0NTY0NTk5MzE1IDEuNzQxNDk3NjI0NTk2MDg2MywgLTEwNy4zMzkyNTQzMzA1NDM4MSAxLjEwODk4NDU4Mzk3OTI3MzEgTS0xMDcuMTk3MTQ4NTU4MDQyMjcgMy4zMjIzOTY2OTY0MDU4MTUgQy0xMDcuMjM1MzYxOTQ5Nzc5MTkgMi43MjcxOTIyNzQ4MDg3NDM0LCAtMTA3LjI3MzU3NTM0MTUxNjA5IDIuMTMxOTg3ODUzMjExNjcxLCAtMTA3LjMzOTI1NDMzMDU0MzgxIDEuMTA4OTg0NTgzOTc5MjczMSBNLTEwNy4zMzkyNTQzMzA1NDM4MSAxLjEwODk4NDU4Mzk3OTI3MzEgQy0xMDcuMzM5MjU0MzMwNTQzODEgMC4zNzIxNDI2OTcxNDY0NDUxLCAtMTA3LjMzOTI1NDMzMDU0MzgxIC0wLjM2NDY5OTE4OTY4NjM4MjkzLCAtMTA3LjMzOTI1NDMzMDU0MzgxIC0xLjEwODk4NDU4Mzk3OTI1NjMgTS0xMDcuMzM5MjU0MzMwNTQzODEgMS4xMDg5ODQ1ODM5NzkyNzMxIEMtMTA3LjMzOTI1NDMzMDU0MzgxIDAuNjMwNzM4NjY2MzQ2MjYzMSwgLTEwNy4zMzkyNTQzMzA1NDM4MSAwLjE1MjQ5Mjc0ODcxMzI1MzAyLCAtMTA3LjMzOTI1NDMzMDU0MzgxIC0xLjEwODk4NDU4Mzk3OTI1NjMgTS0xMDcuMzM5MjU0MzMwNTQzODEgLTEuMTA4OTg0NTgzOTc5MjU2MyBDLTEwNy4zMDgwNTE0MTczNjUzOSAtMS41OTQ5OTUxNDMyNzEzODM0LCAtMTA3LjI3Njg0ODUwNDE4Njk3IC0yLjA4MTAwNTcwMjU2MzUxMDcsIC0xMDcuMTk3MTQ4NTU4MDQyMjcgLTMuMzIyMzk2Njk2NDA1NzY3NiBNLTEwNy4zMzkyNTQzMzA1NDM4MSAtMS4xMDg5ODQ1ODM5NzkyNTYzIEMtMTA3LjMwNDAwNDgyMjQ2ODk0IC0xLjY1ODAyNDEyNTEzNjA5ODgsIC0xMDcuMjY4NzU1MzE0Mzk0MDggLTIuMjA3MDYzNjY2MjkyOTQxNSwgLTEwNy4xOTcxNDg1NTgwNDIyNyAtMy4zMjIzOTY2OTY0MDU3Njc2IE0tMTA3LjE5NzE0ODU1ODA0MjI3IC0zLjMyMjM5NjY5NjQwNTc2NzYgQy0xMDcuMTIxMzU5MDAwNzA1NDcgLTMuOTEwMjA1NTM2NzY5MTU0NCwgLTEwNy4wNDU1Njk0NDMzNjg2NiAtNC40OTgwMTQzNzcxMzI1NDIsIC0xMDYuOTEzNTIwOTU2MTM5OTkgLTUuNTIyMTU2MzY4MTU0OTIxNSBNLTEwNy4xOTcxNDg1NTgwNDIyNyAtMy4zMjIzOTY2OTY0MDU3Njc2IEMtMTA3LjEzMzA5MjAzNTY2MjI5IC0zLjgxOTIwNjQzNDU5Mzg4NSwgLTEwNy4wNjkwMzU1MTMyODIzIC00LjMxNjAxNjE3Mjc4MjAwMiwgLTEwNi45MTM1MjA5NTYxMzk5OSAtNS41MjIxNTYzNjgxNTQ5MjE1IE0tMTA2LjkxMzUyMDk1NjEzOTk5IC01LjUyMjE1NjM2ODE1NDkyMTUgQy0xMDYuODAyMzEzMzI4MDYwNyAtNi4wOTMxODQwMzQ2MDE1NTgsIC0xMDYuNjkxMTA1Njk5OTgxNCAtNi42NjQyMTE3MDEwNDgxOTQ1LCAtMTA2LjQ4OTUzNzAxMTQ5MTExIC03LjY5OTIyNDMxNDg4ODQ3MSBNLTEwNi45MTM1MjA5NTYxMzk5OSAtNS41MjIxNTYzNjgxNTQ5MjE1IEMtMTA2Ljc1NTQzNzExMTIzNTc0IC02LjMzMzg4MzUwMDcwNTgzOSwgLTEwNi41OTczNTMyNjYzMzE0NyAtNy4xNDU2MTA2MzMyNTY3NTUsIC0xMDYuNDg5NTM3MDExNDkxMTEgLTcuNjk5MjI0MzE0ODg4NDcxIE0tMTA2LjQ4OTUzNzAxMTQ5MTExIC03LjY5OTIyNDMxNDg4ODQ3MSBDLTEwNi4yNzc4OTI2NzE3NzQ5IC04LjUwNjMxNTkwOTQ2MzQ5NCwgLTEwNi4wNjYyNDgzMzIwNTg2NiAtOS4zMTM0MDc1MDQwMzg1MTYsIC0xMDUuOTI2OTM4OTY1MDY4NDcgLTkuODQ0NjU0NDk3NDMzNzA1IE0tMTA2LjQ4OTUzNzAxMTQ5MTExIC03LjY5OTIyNDMxNDg4ODQ3MSBDLTEwNi4zMTU1MTQ2NzkwOTAwNyAtOC4zNjI4NDY4OTAwODk1NzEsIC0xMDYuMTQxNDkyMzQ2Njg5MDMgLTkuMDI2NDY5NDY1MjkwNjcyLCAtMTA1LjkyNjkzODk2NTA2ODQ3IC05Ljg0NDY1NDQ5NzQzMzcwNSBNLTEwNS45MjY5Mzg5NjUwNjg0NyAtOS44NDQ2NTQ0OTc0MzM3MDUgQy0xMDUuNzU5NzA0NzMyNTM3ODQgLTEwLjM0ODMzNzM2MDY1OTQ4NSwgLTEwNS41OTI0NzA1MDAwMDcyMiAtMTAuODUyMDIwMjIzODg1MjY1LCAtMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyMjEgTS0xMDUuOTI2OTM4OTY1MDY4NDcgLTkuODQ0NjU0NDk3NDMzNzA1IEMtMTA1LjY4MjE2OTIxMjAxNzQgLTEwLjU4MTg2MTk5NDg1OTUzNywgLTEwNS40MzczOTk0NTg5NjYzMSAtMTEuMzE5MDY5NDkyMjg1MzY3LCAtMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyMjEgTS0xMDUuMjI4MDM4NjUyOTIxNzMgLTExLjk0OTYzMDg4Mjk3NzIyMSBDLTEwNC45MjI1NTY5MzQ2NjA5NiAtMTIuNzA0MTc2NjMzMTY4NTU0LCAtMTA0LjYxNzA3NTIxNjQwMDIgLTEzLjQ1ODcyMjM4MzM1OTg4NiwgLTEwNC4zOTU3MDgwMDYzNDcxMiAtMTQuMDA1NTAzNjcyMDM0ODIyIE0tMTA1LjIyODAzODY1MjkyMTczIC0xMS45NDk2MzA4ODI5NzcyMjEgQy0xMDQuOTQ4NTc1MDY4NDU1NTQgLTEyLjYzOTkxMTMzOTY2OTUzMywgLTEwNC42NjkxMTE0ODM5ODkzNSAtMTMuMzMwMTkxNzk2MzYxODQ1LCAtMTA0LjM5NTcwODAwNjM0NzEyIC0xNC4wMDU1MDM2NzIwMzQ4MjIgTS0xMDQuMzk1NzA4MDA2MzQ3MTIgLTE0LjAwNTUwMzY3MjAzNDgyMiBDLTEwNC4wMjkzNDA2MDc1ODQxNSAtMTQuNzY2MjczNDE0NTcyNzA3LCAtMTAzLjY2Mjk3MzIwODgyMTE2IC0xNS41MjcwNDMxNTcxMTA1OTQsIC0xMDMuNDMzMzY3MjUwNTA1ODIgLTE2LjAwMzgyNDg0MjMzMjg5IE0tMTA0LjM5NTcwODAwNjM0NzEyIC0xNC4wMDU1MDM2NzIwMzQ4MjIgQy0xMDQuMTc2OTAyOTA1MDcwMzYgLTE0LjQ1OTg1NzE0NjUxNTE3OCwgLTEwMy45NTgwOTc4MDM3OTM2MiAtMTQuOTE0MjEwNjIwOTk1NTMzLCAtMTAzLjQzMzM2NzI1MDUwNTgyIC0xNi4wMDM4MjQ4NDIzMzI4OSBNLTEwMy40MzMzNjcyNTA1MDU4MiAtMTYuMDAzODI0ODQyMzMyODkgQy0xMDMuMTE0NDgxMjYwMzE4MTcgLTE2LjU3MDAzOTIwODYxOTA2NSwgLTEwMi43OTU1OTUyNzAxMzA1IC0xNy4xMzYyNTM1NzQ5MDUyNDMsIC0xMDIuMzQ0OTcwODQ5OTg0OTkgLTE3LjkzNjM4Mjg2MzU0NDE3NSBNLTEwMy40MzMzNjcyNTA1MDU4MiAtMTYuMDAzODI0ODQyMzMyODkgQy0xMDMuMDIyODkwMjQxMzQ3OTggLTE2LjczMjY2ODMzNzM5NzAyLCAtMTAyLjYxMjQxMzIzMjE5MDEyIC0xNy40NjE1MTE4MzI0NjExNSwgLTEwMi4zNDQ5NzA4NDk5ODQ5OSAtMTcuOTM2MzgyODYzNTQ0MTc1IE0tMTAyLjM0NDk3MDg0OTk4NDk5IC0xNy45MzYzODI4NjM1NDQxNzUgQy0xMDIuMDA5MzgyNTI5MDY3MzQgLTE4LjQ1MTkzNjY0MjU1NTU3MywgLTEwMS42NzM3OTQyMDgxNDk2OSAtMTguOTY3NDkwNDIxNTY2OTc1LCAtMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwNyBNLTEwMi4zNDQ5NzA4NDk5ODQ5OSAtMTcuOTM2MzgyODYzNTQ0MTc1IEMtMTAyLjA0NzYxMDQ5NzU1NjM1IC0xOC4zOTMyMDgyMTczMDk1OTYsIC0xMDEuNzUwMjUwMTQ1MTI3NyAtMTguODUwMDMzNTcxMDc1MDEzLCAtMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwNyBNLTEwMS4xMzQ5OTEyNTkwNTQ2OSAtMTkuNzk1MjM2NDQwMjI3MDcgQy0xMDAuNjczOTUzNjAyMzI5NCAtMjAuNDEyOTg0ODk4ODQ0MzY4LCAtMTAwLjIxMjkxNTk0NTYwNDEyIC0yMS4wMzA3MzMzNTc0NjE2NjcsIC05OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTc0IE0tMTAxLjEzNDk5MTI1OTA1NDY5IC0xOS43OTUyMzY0NDAyMjcwNyBDLTEwMC42ODM5OTI4MjcyNzAxNyAtMjAuMzk5NTMzMjUyMDE1OTQyLCAtMTAwLjIzMjk5NDM5NTQ4NTY2IC0yMS4wMDM4MzAwNjM4MDQ4MTYsIC05OS44MDg0MDA1NDMzOTM4NCAtMjEuNTcyNzQ3MTQ0MzEyMTc0IE0tOTkuODA4NDAwNTQzMzkzODQgLTIxLjU3Mjc0NzE0NDMxMjE3NCBDLTk5LjI1MjA2MDA3MDAyMjIgLTIyLjIyNjI1NjMyMTAwNDI0MywgLTk4LjY5NTcxOTU5NjY1MDU1IC0yMi44Nzk3NjU0OTc2OTYzMSwgLTk4LjM3MDY0OTk0ODgwNTk1IC0yMy4yNjE2MTA4MDMwNDE1NSBNLTk5LjgwODQwMDU0MzM5Mzg0IC0yMS41NzI3NDcxNDQzMTIxNzQgQy05OS40OTgzNjM0NjI3NTgwOCAtMjEuOTM2OTM0MzQwODM2NTk3LCAtOTkuMTg4MzI2MzgyMTIyMzMgLTIyLjMwMTEyMTUzNzM2MTAyLCAtOTguMzcwNjQ5OTQ4ODA1OTUgLTIzLjI2MTYxMDgwMzA0MTU1IE0tOTguMzcwNjQ5OTQ4ODA1OTUgLTIzLjI2MTYxMDgwMzA0MTU1IEMtOTcuOTIxNDAxNjI2OTc1MzQgLTIzLjcyNTQ5NjU3OTMwNDgyLCAtOTcuNDcyMTUzMzA1MTQ0NzMgLTI0LjE4OTM4MjM1NTU2ODA5LCAtOTYuODI3NjQ3NTAwODgwNjYgLTI0Ljg1NDg4NzUxMzM4MTM1NyBNLTk4LjM3MDY0OTk0ODgwNTk1IC0yMy4yNjE2MTA4MDMwNDE1NSBDLTk3Ljk1MzI5MTg2MTUxMzg4IC0yMy42OTI1NjcyOTM5MDY4MywgLTk3LjUzNTkzMzc3NDIyMTgyIC0yNC4xMjM1MjM3ODQ3NzIxMSwgLTk2LjgyNzY0NzUwMDg4MDY2IC0yNC44NTQ4ODc1MTMzODEzNTcgTS05Ni44Mjc2NDc1MDA4ODA2NiAtMjQuODU0ODg3NTEzMzgxMzU3IEMtOTYuNDI2Njg5ODg2OTA2NzEgLTI1LjIxOTAyNjYwOTYzNTM2NCwgLTk2LjAyNTczMjI3MjkzMjc5IC0yNS41ODMxNjU3MDU4ODkzNzUsIC05NS4xODU3MzM3Mjc2NDk1MiAtMjYuMzQ2MDMwMTU5NTcyMDI3IE0tOTYuODI3NjQ3NTAwODgwNjYgLTI0Ljg1NDg4NzUxMzM4MTM1NyBDLTk2LjI4NjU0NTgwMjUyNTEzIC0yNS4zNDYzMDE3NTkwNjE0NDMsIC05NS43NDU0NDQxMDQxNjk2MSAtMjUuODM3NzE2MDA0NzQxNTM0LCAtOTUuMTg1NzMzNzI3NjQ5NTIgLTI2LjM0NjAzMDE1OTU3MjAyNyBNLTk1LjE4NTczMzcyNzY0OTUyIC0yNi4zNDYwMzAxNTk1NzIwMjcgQy05NC42MTc4MTQ1OTQ1MjAwMyAtMjYuNzk4OTMwNTU1Mjc5OTU2LCAtOTQuMDQ5ODk1NDYxMzkwNTUgLTI3LjI1MTgzMDk1MDk4Nzg4OCwgLTkzLjQ1MTY1NTYwNDk5NjA5IC0yNy43Mjg5MTEzMTY2MzEyOTQgTS05NS4xODU3MzM3Mjc2NDk1MiAtMjYuMzQ2MDMwMTU5NTcyMDI3IEMtOTQuNzMwMjI3MTY3NzYzMjUgLTI2LjcwOTI4NDUxOTU0MjcsIC05NC4yNzQ3MjA2MDc4NzY5NyAtMjcuMDcyNTM4ODc5NTEzMzc0LCAtOTMuNDUxNjU1NjA0OTk2MDkgLTI3LjcyODkxMTMxNjYzMTI5NCBNLTkzLjQ1MTY1NTYwNDk5NjA5IC0yNy43Mjg5MTEzMTY2MzEyOTQgQy05Mi43MzA1NzQ5MTYyOTgzNCAtMjguMjMxOTA1OTg5OTg2OTM0LCAtOTIuMDA5NDk0MjI3NjAwNTggLTI4LjczNDkwMDY2MzM0MjU3NSwgLTkxLjYzMjUzODgzMTg4NTAxIC0yOC45OTc4NDg0MjkyNTc2NzYgTS05My40NTE2NTU2MDQ5OTYwOSAtMjcuNzI4OTExMzE2NjMxMjk0IEMtOTIuODgxNDE0MDgzMzc2OTQgLTI4LjEyNjY4NzExNjc1NTIwMywgLTkyLjMxMTE3MjU2MTc1Nzc5IC0yOC41MjQ0NjI5MTY4NzkxMTMsIC05MS42MzI1Mzg4MzE4ODUwMSAtMjguOTk3ODQ4NDI5MjU3Njc2IE0tOTEuNjMyNTM4ODMxODg1MDEgLTI4Ljk5Nzg0ODQyOTI1NzY3NiBDLTkwLjkwODU2Nzg0ODczOTI4IC0yOS40MzY3MjM4OTM3NjYzNiwgLTkwLjE4NDU5Njg2NTU5MzU1IC0yOS44NzU1OTkzNTgyNzUwNDMsIC04OS43MzU4NTg1NDkzMzYyNiAtMzAuMTQ3NjI3MTYyNjY5MjcgTS05MS42MzI1Mzg4MzE4ODUwMSAtMjguOTk3ODQ4NDI5MjU3Njc2IEMtOTEuMTQyMjI3MDY0MzA0OTYgLTI5LjI5NTA3ODMwNDE1NjQ4MywgLTkwLjY1MTkxNTI5NjcyNDkgLTI5LjU5MjMwODE3OTA1NTI4NywgLTg5LjczNTg1ODU0OTMzNjI2IC0zMC4xNDc2MjcxNjI2NjkyNyBNLTg5LjczNTg1ODU0OTMzNjI2IC0zMC4xNDc2MjcxNjI2NjkyNyBDLTg5LjAzODk5NjA3MjM5MzU5IC0zMC41MTExNzk4NzA1Mjg1NDQsIC04OC4zNDIxMzM1OTU0NTA5MiAtMzAuODc0NzMyNTc4Mzg3ODE3LCAtODcuNzY5NDA4NjIzNDY3NTMgLTMxLjE3MzUyMjgyOTQyMzcgTS04OS43MzU4NTg1NDkzMzYyNiAtMzAuMTQ3NjI3MTYyNjY5MjcgQy04OS4yMjY3MDcyMDQ5MDYyNiAtMzAuNDEzMjUxMDkyOTMxNCwgLTg4LjcxNzU1NTg2MDQ3NjI3IC0zMC42Nzg4NzUwMjMxOTM1MywgLTg3Ljc2OTQwODYyMzQ2NzUzIC0zMS4xNzM1MjI4Mjk0MjM3IE0tODcuNzY5NDA4NjIzNDY3NTMgLTMxLjE3MzUyMjgyOTQyMzcgQy04Ni45NzE3MzA4ODgxNTYzNiAtMzEuNTI2NjMxMTAwNTc2NjYsIC04Ni4xNzQwNTMxNTI4NDUxOCAtMzEuODc5NzM5MzcxNzI5NjI0LCAtODUuNzQxMjY5NjE4ODI2MzggLTMyLjA3MTMxOTgwNDE3MjM1IE0tODcuNzY5NDA4NjIzNDY3NTMgLTMxLjE3MzUyMjgyOTQyMzcgQy04Ny4xMjYwNTY3MDc1MDYzMSAtMzEuNDU4MzE1NjM4MjYzMjE1LCAtODYuNDgyNzA0NzkxNTQ1MDkgLTMxLjc0MzEwODQ0NzEwMjcyOCwgLTg1Ljc0MTI2OTYxODgyNjM4IC0zMi4wNzEzMTk4MDQxNzIzNSBNLTg1Ljc0MTI2OTYxODgyNjM4IC0zMi4wNzEzMTk4MDQxNzIzNSBDLTg1LjIyMjcxODczMTc5MTQyIC0zMi4yNjIxNTEzMjQwMzMwNiwgLTg0LjcwNDE2Nzg0NDc1NjQ1IC0zMi40NTI5ODI4NDM4OTM3ODYsIC04My42NTk3NzU1OTM2MTczMSAtMzIuODM3MzI4ODQ2NTY5MTMgTS04NS43NDEyNjk2MTg4MjYzOCAtMzIuMDcxMzE5ODA0MTcyMzUgQy04NS4wNDgyMTQzODA4NzgxIC0zMi4zMjYzNzA1MzgyNjk3MSwgLTg0LjM1NTE1OTE0MjkyOTc5IC0zMi41ODE0MjEyNzIzNjcwNywgLTgzLjY1OTc3NTU5MzYxNzMxIC0zMi44MzczMjg4NDY1NjkxMyBNLTgzLjY1OTc3NTU5MzYxNzMxIC0zMi44MzczMjg4NDY1NjkxMyBDLTgyLjg0NzI4NzA1NjQ5NDE4IC0zMy4wNzg0NzExNzk1NDc5MSwgLTgyLjAzNDc5ODUxOTM3MTA3IC0zMy4zMTk2MTM1MTI1MjY2OSwgLTgxLjUzMzQ3OTg1MzI2OSAtMzMuNDY4NDAyMjYxMTUwNDEgTS04My42NTk3NzU1OTM2MTczMSAtMzIuODM3MzI4ODQ2NTY5MTMgQy04My4xNTc0MjkxODcwNjY1MyAtMzIuOTg2NDIyNjIzMTYzMzEsIC04Mi42NTUwODI3ODA1MTU3NiAtMzMuMTM1NTE2Mzk5NzU3NDgsIC04MS41MzM0Nzk4NTMyNjkgLTMzLjQ2ODQwMjI2MTE1MDQxIE0tODEuNTMzNDc5ODUzMjY5IC0zMy40Njg0MDIyNjExNTA0MSBDLTgwLjc0MDEzODI3NjQ3NDk1IC0zMy42NDk0NzcyOTkwMTYwNCwgLTc5Ljk0Njc5NjY5OTY4MDkgLTMzLjgzMDU1MjMzNjg4MTY3NCwgLTc5LjM3MTExOTgwMzA2NzUgLTMzLjk2MTk0NjgzMTg5MDg1NiBNLTgxLjUzMzQ3OTg1MzI2OSAtMzMuNDY4NDAyMjYxMTUwNDEgQy04MC44Mzg1MzY1OTE5ODcwNyAtMzMuNjI3MDE4NTI1NjA5NDIsIC04MC4xNDM1OTMzMzA3MDUxMyAtMzMuNzg1NjM0NzkwMDY4NDMsIC03OS4zNzExMTk4MDMwNjc1IC0zMy45NjE5NDY4MzE4OTA4NTYgTS03OS4zNzExMTk4MDMwNjc1IC0zMy45NjE5NDY4MzE4OTA4NTYgQy03OC41NDUyMzk0MjU0NTAzIC0zNC4wOTU0Njg3NjY1NDYwMiwgLTc3LjcxOTM1OTA0NzgzMzExIC0zNC4yMjg5OTA3MDEyMDExODQsIC03Ny4xODE1ODEwNDQyODM5NCAtMzQuMzE1OTM0NDc4Mjg0MzEgTS03OS4zNzExMTk4MDMwNjc1IC0zMy45NjE5NDY4MzE4OTA4NTYgQy03OC42NTIyMzU3NTIyNzEwMSAtMzQuMDc4MTcwNDMwMTk0NTU0LCAtNzcuOTMzMzUxNzAxNDc0NSAtMzQuMTk0Mzk0MDI4NDk4MjYsIC03Ny4xODE1ODEwNDQyODM5NCAtMzQuMzE1OTM0NDc4Mjg0MzEgTS03Ny4xODE1ODEwNDQyODM5NCAtMzQuMzE1OTM0NDc4Mjg0MzEgQy03Ni40OTE3MzYyNzQ4MDUzIC0zNC4zODI0ODI5NzM1MzYyLCAtNzUuODAxODkxNTA1MzI2NjUgLTM0LjQ0OTAzMTQ2ODc4ODA4NSwgLTc0Ljk3Mzg2MDg2MTMzMjY4IC0zNC41Mjg5MTA1ODkxNjE2NCBNLTc3LjE4MTU4MTA0NDI4Mzk0IC0zNC4zMTU5MzQ0NzgyODQzMSBDLTc2LjcxMjU2ODUzMDE5MzA0IC0zNC4zNjExNzk1NTE0NDg1ODYsIC03Ni4yNDM1NTYwMTYxMDIxMyAtMzQuNDA2NDI0NjI0NjEyODcsIC03NC45NzM4NjA4NjEzMzI2OCAtMzQuNTI4OTEwNTg5MTYxNjQgTS03NC45NzM4NjA4NjEzMzI2OCAtMzQuNTI4OTEwNTg5MTYxNjQgQy03NC4yMzM3OTU0MjExNDcyOSAtMzQuNTUyNjQzMDQ3Mzc4Mzk2LCAtNzMuNDkzNzI5OTgwOTYxOSAtMzQuNTc2Mzc1NTA1NTk1MTQ1LCAtNzIuNzU3MDMxMjUwMDAwMDMgLTM0LjYgTS03NC45NzM4NjA4NjEzMzI2OCAtMzQuNTI4OTEwNTg5MTYxNjQgQy03NC4yNTQ4NjM3NTQ1NzMzNSAtMzQuNTUxOTY3NDI2OTMyNDQsIC03My41MzU4NjY2NDc4MTQwMyAtMzQuNTc1MDI0MjY0NzAzMjQ1LCAtNzIuNzU3MDMxMjUwMDAwMDMgLTM0LjYgTS03Mi43NTcwMzEyNTAwMDAwMyAtMzQuNiBDLTcyLjc1NzAzMTI1MDAwMDAzIC0zNC42LCAtNzIuNzU3MDMxMjUwMDAwMDEgLTM0LjYsIC03Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiBNLTcyLjc1NzAzMTI1MDAwMDAzIC0zNC42IEMtNzIuNzU3MDMxMjUwMDAwMDMgLTM0LjYsIC03Mi43NTcwMzEyNTAwMDAwMSAtMzQuNiwgLTcyLjc1NzAzMTI1MDAwMDAxIC0zNC42IiBzdHJva2U9IiM3YTNkNmUiIGZpbGw9Im5vbmUiIHN0eWxlPSIiIHN0cm9rZS13aWR0aD0iMS4yOTk5OTk5NTIzMTYyODQyIiBzdHJva2UtZGFzaGFycmF5PSIwIDAiPjwvcGF0aD48L2c+PGcgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjcuMSkiIGNsYXNzPSJsYWJlbCI+PHJlY3Q+PC9yZWN0PjxnPjxyZWN0IHN0eWxlPSJzdHJva2U6bm9uZSIgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD48dGV4dCB5PSItMTAuMSIgc3R5bGU9IiI+PHRzcGFuIHg9IjAiIHk9Ii0wLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5JPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHN0YXJ0PC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHdvcmtpbmc8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gb248L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gcG9ydGluZzwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPnJlY29ubmVjdGlvbjwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iMi4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+aW1wcm92ZW1lbnRzPC90c3Bhbj48L3RzcGFuPjwvdGV4dD48L2c+PC9nPjwvZz48ZyBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtZmxvd2NoYXJ0LVRhbmdlbnQxLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMS42NDQ1MzEyNSwxNjkuMjk5OTk2OTQ4MjQyMTgpIiBjbGFzcz0ibm9kZSBkZWZhdWx0IiBkYXRhLWxvb2s9ImNsYXNzaWMiPjxyZWN0IHN0eWxlPSIiIHg9Ii0xMDguNzMwNDY4NzUiIHk9Ii00Mi4wOTk5OTk5OTk5OTk5OTQiIHdpZHRoPSIyMTcuNDYwOTM3NSIgaGVpZ2h0PSI4NC4xOTk5OTk5OTk5OTk5OSIgcng9IjUiIHJ5PSI1IiBjbGFzcz0iYmFzaWMgbGFiZWwtY29udGFpbmVyIj48L3JlY3Q+PGcgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjcuMSkiIGNsYXNzPSJsYWJlbCI+PHJlY3Q+PC9yZWN0PjxnPjxyZWN0IHN0eWxlPSJzdHJva2U6bm9uZSIgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD48dGV4dCB5PSItMTAuMSIgc3R5bGU9IiI+PHRzcGFuIHg9IjAiIHk9Ii0wLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5JPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHJlYWxpc2U8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gSTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBuZWVkPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IExMTXM8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdG88L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYmU8L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5hYmxlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRvPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHJlbGlhYmx5PC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRlc3Q8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdGhlPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIyLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5mbG93PC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGFzPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGNoYW5nZXM8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gbGFuZDwvdHNwYW4+PC90c3Bhbj48L3RleHQ+PC9nPjwvZz48L2c+PGcgaWQ9InNhdHRlcmktbWVybWFpZC0wLWZsb3djaGFydC1UYW5nZW50MV81LTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMS42NDQ1MzEyNSwzMjEuMDk5OTk2OTQ4MjQyMTYpIiBjbGFzcz0ibm9kZSBkZWZhdWx0IiBkYXRhLWxvb2s9ImNsYXNzaWMiPjxyZWN0IHN0eWxlPSIiIHg9Ii0xMTMuNjQ0NTMxMjUiIHk9Ii01MC44OTk5OTk5OTk5OTk5OCIgd2lkdGg9IjIyNy4yODkwNjI1IiBoZWlnaHQ9IjEwMS43OTk5OTk5OTk5OTk5NSIgcng9IjUiIHJ5PSI1IiBjbGFzcz0iYmFzaWMgbGFiZWwtY29udGFpbmVyIj48L3JlY3Q+PGcgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMzUuOTAwMDAwMDAwMDAwMDA2KSIgY2xhc3M9ImxhYmVsIj48cmVjdD48L3JlY3Q+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0Pjx0ZXh0IHk9Ii0xMC4xIiBzdHlsZT0iIj48dHNwYW4geD0iMCIgeT0iLTAuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPkk8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gd3JpdGU8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBza2lsbDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0bzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0ZWFjaDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBMTE1zPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIxZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+aG93PC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRvPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHJlbGlhYmx5PC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGVudGVyPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGE8L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjIuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPm1lZXRpbmc8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYW5kPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHNpbXVsYXRlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGE8L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjMuMmVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPmRpc2Nvbm5lY3Q8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PjwvZz48L2c+PC9nPjxnIGlkPSJzYXR0ZXJpLW1lcm1haWQtMC1mbG93Y2hhcnQtVGFuZ2VudDFfOS0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjEuNjQ0NTMxMjUsNDgxLjY5OTk5Njk0ODI0MjIpIiBjbGFzcz0ibm9kZSBkZWZhdWx0IiBkYXRhLWxvb2s9ImNsYXNzaWMiPjxyZWN0IHN0eWxlPSIiIHg9Ii0xMDUuNDAyMzQzNzUiIHk9Ii01MC44OTk5OTk5OTk5OTk5OCIgd2lkdGg9IjIxMC44MDQ2ODc1IiBoZWlnaHQ9IjEwMS43OTk5OTk5OTk5OTk5NSIgcng9IjUiIHJ5PSI1IiBjbGFzcz0iYmFzaWMgbGFiZWwtY29udGFpbmVyIj48L3JlY3Q+PGcgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMzUuOTAwMDAwMDAwMDAwMDA2KSIgY2xhc3M9ImxhYmVsIj48cmVjdD48L3JlY3Q+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0Pjx0ZXh0IHk9Ii0xMC4xIiBzdHlsZT0iIj48dHNwYW4geD0iMCIgeT0iLTAuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPkk8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gbmVlZDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0bzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBidWlsZDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBhPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IG5ldzwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPmRlYnVnPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGhvb2s8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYmVjYXVzZTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBteTwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iMi4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+YXV0b21hdGlvbjwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0b29sczwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBhcmU8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYmFkPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIzLjJlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5hdDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0eXBpbmc8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gaW50bzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBwaG9uZXM8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PjwvZz48L2c+PC9nPjxnIGlkPSJzYXR0ZXJpLW1lcm1haWQtMC1mbG93Y2hhcnQtVGFuZ2VudDItNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzk4LjEwNTQ2ODc1LDE2OS4yOTk5OTY5NDgyNDIxOCkiIGNsYXNzPSJub2RlIGRlZmF1bHQiIGRhdGEtbG9vaz0iY2xhc3NpYyI+PHJlY3Qgc3R5bGU9IiIgeD0iLTExMS4yNTM5MDYyNSIgeT0iLTQyLjA5OTk5OTk5OTk5OTk5NCIgd2lkdGg9IjIyMi41MDc4MTI1IiBoZWlnaHQ9Ijg0LjE5OTk5OTk5OTk5OTk5IiByeD0iNSIgcnk9IjUiIGNsYXNzPSJiYXNpYyBsYWJlbC1jb250YWluZXIiPjwvcmVjdD48ZyBzdHlsZT0iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0yNy4xKSIgY2xhc3M9ImxhYmVsIj48cmVjdD48L3JlY3Q+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0Pjx0ZXh0IHk9Ii0xMC4xIiBzdHlsZT0iIj48dHNwYW4geD0iMCIgeT0iLTAuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPkk8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gcHVzaDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB1cDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBteTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBzcGVjPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGFuZDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0YXNrPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIxZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+YnJlYWtkb3duPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGZvcjwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiByZXZpZXc8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYW5kPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIyLjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5maW5kPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IENJPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRvPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGJlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRvbzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBzbG93PC90c3Bhbj48L3RzcGFuPjwvdGV4dD48L2c+PC9nPjwvZz48ZyBpZD0ic2F0dGVyaS1tZXJtYWlkLTAtZmxvd2NoYXJ0LVRhbmdlbnQyXzUtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzk4LjEwNTQ2ODc1LDMyMS4wOTk5OTY5NDgyNDIxNikiIGNsYXNzPSJub2RlIGRlZmF1bHQiIGRhdGEtbG9vaz0iY2xhc3NpYyI+PHJlY3Qgc3R5bGU9IiIgeD0iLTExMi44MTY0MDYyNSIgeT0iLTU5LjY5OTk5OTk5OTk5OTk5IiB3aWR0aD0iMjI1LjYzMjgxMjUiIGhlaWdodD0iMTE5LjM5OTk5OTk5OTk5OTk4IiByeD0iNSIgcnk9IjUiIGNsYXNzPSJiYXNpYyBsYWJlbC1jb250YWluZXIiPjwvcmVjdD48ZyBzdHlsZT0iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC00NC43KSIgY2xhc3M9ImxhYmVsIj48cmVjdD48L3JlY3Q+PGc+PHJlY3Qgc3R5bGU9InN0cm9rZTpub25lIiBjbGFzcz0iYmFja2dyb3VuZCI+PC9yZWN0Pjx0ZXh0IHk9Ii0xMC4xIiBzdHlsZT0iIj48dHNwYW4geD0iMCIgeT0iLTAuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPkFzPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IEk8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdHdlYWs8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdGhlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGJ1aWxkPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IHRvb2w8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdG88L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjFlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5zbGltPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGRvd248L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gQ0k8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gam9iczwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBJPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IG5vdGljZTwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iMi4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+YWxsPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGZpbGVzPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGFyZTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBub3Q8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYmVpbmc8L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjMuMmVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPmNvdmVyZWQ8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gYnk8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdGhlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGZvcm1hdHRlcjwvdHNwYW4+PC90c3Bhbj48dHNwYW4geD0iMCIgeT0iNC4zZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+YW55bW9yZTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+PC9nPjwvZz48L2c+PGcgaWQ9InNhdHRlcmktbWVybWFpZC0wLWZsb3djaGFydC1UYW5nZW50Ml85LTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5OC4xMDU0Njg3NSw0ODEuNjk5OTk2OTQ4MjQyMikiIGNsYXNzPSJub2RlIGRlZmF1bHQiIGRhdGEtbG9vaz0iY2xhc3NpYyI+PHJlY3Qgc3R5bGU9IiIgeD0iLTEwNC4xNTIzNDM3NSIgeT0iLTUwLjg5OTk5OTk5OTk5OTk4IiB3aWR0aD0iMjA4LjMwNDY4NzUiIGhlaWdodD0iMTAxLjc5OTk5OTk5OTk5OTk1IiByeD0iNSIgcnk9IjUiIGNsYXNzPSJiYXNpYyBsYWJlbC1jb250YWluZXIiPjwvcmVjdD48ZyBzdHlsZT0iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0zNS45MDAwMDAwMDAwMDAwMDYpIiBjbGFzcz0ibGFiZWwiPjxyZWN0PjwvcmVjdD48Zz48cmVjdCBzdHlsZT0ic3Ryb2tlOm5vbmUiIGNsYXNzPSJiYWNrZ3JvdW5kIj48L3JlY3Q+PHRleHQgeT0iLTEwLjEiIHN0eWxlPSIiPjx0c3BhbiB4PSIwIiB5PSItMC4xZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+STwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBub3c8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gaGF2ZTwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiB0bzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBnbzwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBmaXg8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdGhlPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIxZW0iIGR5PSIxLjFlbSIgY2xhc3M9InJvdyB0ZXh0LW91dGVyLXRzcGFuIj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+Zm9ybWF0dGVyPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGFuZDwvdHNwYW4+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPiBwcm9wYWdhdGU8L3RzcGFuPjwvdHNwYW4+PHRzcGFuIHg9IjAiIHk9IjIuMWVtIiBkeT0iMS4xZW0iIGNsYXNzPSJyb3cgdGV4dC1vdXRlci10c3BhbiI+PHRzcGFuIGZvbnQtc3R5bGU9Im5vcm1hbCIgY2xhc3M9InRleHQtaW5uZXItdHNwYW4iIGZvbnQtd2VpZ2h0PSJub3JtYWwiPnRoYXQ8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdXBkYXRlPC90c3Bhbj48dHNwYW4gZm9udC1zdHlsZT0ibm9ybWFsIiBjbGFzcz0idGV4dC1pbm5lci10c3BhbiIgZm9udC13ZWlnaHQ9Im5vcm1hbCI+IGJhY2s8L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdG88L3RzcGFuPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj4gdGhlPC90c3Bhbj48L3RzcGFuPjx0c3BhbiB4PSIwIiB5PSIzLjJlbSIgZHk9IjEuMWVtIiBjbGFzcz0icm93IHRleHQtb3V0ZXItdHNwYW4iPjx0c3BhbiBmb250LXN0eWxlPSJub3JtYWwiIGNsYXNzPSJ0ZXh0LWlubmVyLXRzcGFuIiBmb250LXdlaWdodD0ibm9ybWFsIj5wcm9qZWN0PC90c3Bhbj48L3RzcGFuPjwvdGV4dD48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48c3R5bGU+CiAgLmFjdG9yLAogIC5sYWJlbEJveCwKICAubm9kZSByZWN0LAogIC5ub2RlIHBvbHlnb24sCiAgLm5vZGUgY2lyY2xlLAogIC5jbHVzdGVyIHJlY3QsCiAgLnNlY3Rpb24sCiAgLnRhc2ssCiAgLnRhc2tUZXh0T3V0c2lkZVJpZ2h0LAogIC50YXNrVGV4dE91dHNpZGVMZWZ0IHsKICAgIGZpbGw6ICNmN2Y3ZjcgIWltcG9ydGFudDsKICAgIHN0cm9rZTogI2U4ZThlOCAhaW1wb3J0YW50OwogIH0KCiAgLm5vdGUgewogICAgZmlsbDogI2UwYzhkYiAhaW1wb3J0YW50OwogICAgc3Ryb2tlOiAjN2EzZDZlICFpbXBvcnRhbnQ7CiAgfQoKICAuYWN0b3ItbGluZSwKICAubWVzc2FnZUxpbmUwLAogIC5tZXNzYWdlTGluZTEsCiAgLmxvb3BMaW5lLAogIC5lZGdlUGF0aCAucGF0aCwKICAuZmxvd2NoYXJ0LWxpbmssCiAgLm1hcmtlciwKICAubWFya2VyIHBhdGgsCiAgW2lkJD0iLWFycm93aGVhZCJdIHBhdGgsCiAgW2lkJD0iLWZpbGxlZC1oZWFkIl0gcGF0aCwKICBbaWQkPSItY3Jvc3NoZWFkIl0gcGF0aCwKICBbaWQkPSItc3RpY2tUb3BBcnJvd0hlYWQiXSBwYXRoLAogIFtpZCQ9Ii1zdGlja0JvdHRvbUFycm93SGVhZCJdIHBhdGgsCiAgW2lkJD0iLXNvbGlkVG9wQXJyb3dIZWFkIl0gcGF0aCwKICBbaWQkPSItc29saWRCb3R0b21BcnJvd0hlYWQiXSBwYXRoIHsKICAgIHN0cm9rZTogIzQ0NDQ0NCAhaW1wb3J0YW50OwogICAgZmlsbDogIzQ0NDQ0NCAhaW1wb3J0YW50OwogIH0KCiAgLm1lc3NhZ2VUZXh0LAogIC5sYWJlbFRleHQsCiAgLmxhYmVsVGV4dCB0c3BhbiwKICAubG9vcFRleHQsCiAgLmxvb3BUZXh0IHRzcGFuLAogIC5ub3RlVGV4dCwKICAubm90ZVRleHQgdHNwYW4sCiAgLmFjdG9yLWJveCwKICAuYWN0b3ItYm94IHRzcGFuLAogIC5zZWN0aW9uVGl0bGUsCiAgLnNlY3Rpb25UaXRsZSB0c3BhbiwKICB0ZXh0LAogIHRzcGFuIHsKICAgIGZpbGw6ICMxMTExMTEgIWltcG9ydGFudDsKICAgIHN0cm9rZTogbm9uZSAhaW1wb3J0YW50OwogIH0KCiAgLmFjdGl2YXRpb24wLAogIC5hY3RpdmF0aW9uMSwKICAuYWN0aXZhdGlvbjIsCiAgLnNlcXVlbmNlTnVtYmVyIHsKICAgIGZpbGw6ICNmZmZmZmYgIWltcG9ydGFudDsKICAgIHN0cm9rZTogI2U4ZThlOCAhaW1wb3J0YW50OwogIH0KPC9zdHlsZT48L3N2Zz4=" alt="Mermaid diagram" loading="lazy" decoding="async">
<p>Genuinely starts feeling like I’ve actually built nothing of value when the moment I touch it everything starts crumbling to dust. Maybe I’m just being dramatic and having big feelings for no-therapy-in-a-bit reasons. Onwards!</p>
<h1 id="gaming">Gaming</h1>
<p>The gang was not jiving with Helldivers 2 this week so after a very boring run on Monday, I convinced Shreyansh and Prajwal to try <a href="https://crashoutcrew.site/">Crashout Crew</a> which I had purchased some time ago. We gave it a go on Tuesday and were immediately hooked, a couple of hours went by in a flash. We roped in <a href="https://kat.bio">Amogh</a> one of the days and unfortunately had to deal with the hell that is the bee/honey shipment. Absolutely couldn’t get it done, got pissed and just went back to Helldivers 2 for a bit. There Prajwal ended up rage-quitting after being harassed by the clankers a little too much so that spelt the end of this week’s friendslop adventures.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/crashout-crew.zKTVn78k.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/crashout-crew.zKTVn78k.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="I've never hated eggs more" aria-label="Screen grab from the game Crashout Crew, showing two loading bays on the right hand side and the cargo being chickens and eggs. Yes." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/crashout-crew.zKTVn78k.webp" alt="Screen grab from the game Crashout Crew, showing two loading bays on the right hand side and the cargo being chickens and eggs. Yes." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I've never hated eggs more</figcaption></figure>
<p>I continued making steady progress in CONTROL: Resonant this week. Did a few side missions to level up my build, then I ventured further into the Underpass section and got my ass beat a few times by the Resonant there. I got very close to beating it on one attempt, but I started playing too aggressively and got punished. On my fifth try I was able to keep it together and finally secure the kill and move onto the next mission. The game continues to be exceedingly enjoyable and I will start piecing together screenshots for my <a href="https://msfjarvis.dev/games">games reel</a> soon. I wanted to wait for the photo mode to come out before I attempted it, but I don’t think I’ll reach NG+ (New Game Plus) by then to recapture everything from the beginning.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>I put out another release of <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a> with a few minor fixes to the UI and a crash fix for a rare bug in the new HTML renderer I had shipped last week. The app is very nearly feature complete as far as I’m concerned, so most of the work I do on it these days involves mucking around with new Android tech. I’m itching to start a new project at some point with a broader scope so I can do even more with it.</p>
<h1 id="cooking">Cooking</h1>
<p>Not much in the way of cooking this week as we returned from the 2 days in office rather late and thoroughly exhausted and one or the other thing kept happening on the other days. We made a paneer gravy one night, and threw together this last minute quinoa salad on another. Potato in a veggie salad sounded a little wrong but lightly toasting boiled potatoes with some spices actually worked out nicely. We’ll probably stick with the usual high protein fare of chickpeas next time though.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/quinoa-potato-salad.Cw-FbdrV.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/quinoa-potato-salad.Cw-FbdrV.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="" aria-label="A bowl of quinoa and potato salad with chopped vegetables." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/quinoa-potato-salad.Cw-FbdrV.webp" alt="A bowl of quinoa and potato salad with chopped vegetables." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a></figure>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-41-2026/</id>
    <title>Weeknotes: Week #41 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-41-2026/"/>
    <published>2026-10-11T15:52:00.000Z</published>
    <updated>2026-10-11T15:52:00.000Z</updated>
    <summary>I been gamin and cookin</summary>
    <content type="html"><![CDATA[<p>Some <em>interesting</em> things at work, lots of good cooking, and a metric ton of <a href="https://controlgame.com/en">CONTROL: Resonant</a> gameplay!</p>
<h1 id="personal">Personal</h1>
<p>After a long, long break I was finally back in the gym this week for a couple of days. Not remotely as good a schedule as I wanna keep but a small victory nonetheless. I’ve been equally lazy about getting a haircut, and it’s starting to get to the point where my mother would’ve started teasing me to tie it up in a ponytail. I might take her up on that offer given I’ll be home in some 20-odd days.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rats-nest.Ao1OIiG5.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rats-nest.Ao1OIiG5.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I sent this picture to my younger sister and got the quickest roast reply I've ever seen from her. Little devil..." aria-label="Me with tousled hair taking a mirror selfie while brushing my teeth" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rats-nest.Ao1OIiG5.webp" alt="Me with tousled hair taking a mirror selfie while brushing my teeth" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I sent this picture to my younger sister and got the quickest roast reply I've ever seen from her. Little devil...</figcaption></figure>
<p>I saw some Godzilla slander on the interwebs which reminded me that I hadn’t watched <a href="https://www.imdb.com/title/tt3741700">Godzilla: King of the Monsters</a> yet which has now been remedied. I’d say it’s an easy 3 out of 5 Godzilla movie, and a 2.5 in general. Some more monster-on-monster combat and perhaps additional screen time for Mothra could’ve taken it up to 4 stars for me.</p>
<p>I’m trying to figure out how much I can even talk about CONTROL: Resonant since it’s a very new game, but I’ve been playing so much, and it is so cool!! <a href="https://kat.bio/">Amogh</a> is also playing and is down to yap, but he’s pretty far behind and I don’t wanna spoil anything for him so it’s a bit difficult. My <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">Obsidian notes</a> this week are, by line count, mostly about CONTROL :3</p>
<h1 id="random-bullshit">Random bullshit</h1>
<p>Why is there no cash in the ATMs near me?? I’m just trying to pay my maintenance bro</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/no-cash.CLzI_GBo.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/no-cash.CLzI_GBo.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This was the 3rd ATM I checked with the exact same error" aria-label="An ATM screen says it cannot dispense cash" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/no-cash.CLzI_GBo.webp" alt="An ATM screen says it cannot dispense cash" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This was the 3rd ATM I checked with the exact same error</figcaption></figure>
<p>I switched back to the default YouTube app because the Revanced mod I was using stopped sending notifications. This resulted in me regaining the algorithmic feed, and it delivered this truly unskippable title: <a href="https://www.youtube.com/watch?v=9c7wS1vcW9c">Could Pro Speedrunners Zero Cycle The Twin Towers?</a></p>
<p>Maybe the algorithms are alright <em>/s</em>.</p>
<h1 id="work">Work</h1>
<p>Things at work remain on the quieter side. All my current priorities are blocked on other people for one reason or another, so I’ve mostly spent the week racking ye olde brain for future roadmap items. There was an awkward conversation with a colleague who had started overusing Google Chat’s ‘Refine with AI’ button for literally all their messages. They had been given feedback to not do this before as well, but apparently nobody had spent some time to actually explain our problems with it. I linked them to the <a href="https://gruhn.me/blog/2026-08-03/">Meat Proxy</a> blog post, and explained why we much prefer them to use their own words. So far it seems to have stuck, so that’s a win in my book.</p>
<p>Also, the new office finally (re)opens on Monday 🎉</p>
<h1 id="personal-projects">Personal projects</h1>
<p>Busy week for <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a>, my Android app for the <a href="https://lobste.rs">Lobsters link aggregator community</a> as I shipped fixes for a multitude of UI and UX bugs. <a href="https://github.com/msfjarvis/compose-lobsters/releases/tag/v1.74.0">v1.74.0</a> includes a completely new HTML renderer (used to render comments) which fixes some longstanding bugs <sup>[<a href="https://github.com/cbeyls/HtmlConverterCompose/issues/26">1</a>][<a href="https://github.com/cbeyls/HtmlConverterCompose/issues/20">2</a>]</sup>. It also restores proper support for Android’s new <a href="https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back">predictive back animations</a> which had silently regressed as part of a dependency update some time ago.</p>
<p>As part of this I also discovered that <a href="https://tramline.app/">Tramline</a>, the release automation platform I’ve used for Claw for the past 2-3 years had actually wound down commercial operations. It is now being run by a couple of its original maintainers, so I naturally signed up as a GitHub sponsor to help keep the lights on. If you have mobile apps and hate having to interact with the App Stores, you should sign up too! I’ve never had a single problem with their platform and this “shout out” is mostly because they deserve it for the immense amount of value the service has provided to me for free.</p>
<h2 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h2>
<p>I’ve been wanting to test the new <a href="https://docs.typesafe.ai/concepts/system-one">System One</a> class models for a while, and with Cloudflare releasing its <a href="https://blog.cloudflare.com/clef-decision-models/">own Clef models</a> it was the perfect time to dive in. I built a <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/daily-dose">small Worker</a> that sends me a Telegram message with my GitHub notifications classified based on priority and category, so I know what I’m working on before I even open a laptop.</p>
<h2 id="meta">Meta</h2>
<p>This website has had some minor changes. The header now only shows 1 link entry and delegates the rest into the popover to improve the mobile layout. I’ve refactored some build-time stuff to reduce the number of direct dependencies and somewhat lower my risk of beta-testing the next Shai-Hulud.</p>
<h1 id="cooking">Cooking</h1>
<p>Very great week for cooking enjoyers on this here blog as we made many new things and flubbed our way through all of it.</p>
<p>We made biryani this week, and only discovered midway through that we had no Biryani masala in the house. The magic of quick commerce was called upon, where I accidentally ordered a “biryani kit” that you’re supposed to drop rice and chicken into while we already had a full masala base and everything in place. I suspect that contributed to why it tasted so damn amazing.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/biryani-cooker.t7DapJ1X.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/biryani-cooker.t7DapJ1X.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Even while it was cooking we knew we have a winner." aria-label="Chicken biryani cooking in a pressure cooker" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/biryani-cooker.t7DapJ1X.webp" alt="Chicken biryani cooking in a pressure cooker" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Even while it was cooking we knew we have a winner.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/biryani-bowl.DDYy8XnU.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/biryani-bowl.DDYy8XnU.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Genuinely tasted like what you'd get at a biryani restaurant." aria-label="A bowl of chicken biryani" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/biryani-bowl.DDYy8XnU.webp" alt="A bowl of chicken biryani" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Genuinely tasted like what you'd get at a biryani restaurant.</figcaption></figure></div>
<p>Other than that we also had a day of air frying some chicken breasts, making simple vegetable curries, and having yet another comedy of errors while making an egg curry. <a href="https://yashgarg.dev/">Yash</a> only <em>soft</em>-boiled the eggs which made peeling them an absolute pain, and we lost one soldier in the ensuing struggle. Then we realized the recipe we were following was written by some demon who wanted us to use 2 <em>tablespoons</em> of chilli powder. The entire thing was looking positively radioactive by the end so we decided to add a bit of heavy cream to salvage it, and we were rewarded with edible dinner.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/aloo-tamatar.Di2xlk5o.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/aloo-tamatar.Di2xlk5o.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Simple and delicious, came out just like how Mom makes it. Quite proud." aria-label="A bowl of potato and tomato curry" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/aloo-tamatar.Di2xlk5o.webp" alt="A bowl of potato and tomato curry" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Simple and delicious, came out just like how Mom makes it. Quite proud.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/gochujang-chicken-breasts.DVs92rQi.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/gochujang-chicken-breasts.DVs92rQi.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Was tasty but gochujang by itself isn't a good marinade, needs some work." aria-label="Spiced chicken breasts cooked until golden" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/gochujang-chicken-breasts.DVs92rQi.webp" alt="Spiced chicken breasts cooked until golden" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Was tasty but gochujang by itself isn't a good marinade, needs some work.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/egg-curry.BJKcevdz.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/egg-curry.BJKcevdz.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The whole cooking process was a comedy of errors." aria-label="Boiled eggs in a bowl of creamy curry" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/egg-curry.BJKcevdz.webp" alt="Boiled eggs in a bowl of creamy curry" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The whole cooking process was a comedy of errors.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-40-2026/</id>
    <title>Weeknotes: Week #40 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-40-2026/"/>
    <published>2026-10-04T12:42:27.525Z</published>
    <updated>2026-10-04T12:42:27.525Z</updated>
    <summary>Great week for my media consumption </summary>
    <content type="html"><![CDATA[<p>This week was super fun as I got the chance to meet my colleagues for the first time in weeks, played a ton more of <a href="https://controlgame.com/en">CONTROL: Resonant</a>, and watched <strong>two</strong> movies!</p>
<h1 id="social">Social</h1>
<p><a href="https://fknil.com">Fenil</a> pitched <a href="https://yashgarg.dev">Yash</a> and me on a breakfast place nearby, except we chose to go there on Tuesday. Guess the one day in the week they are closed :)</p>
<p>To celebrate Cloudflare’s 16th birthday, we had a team dinner at the Hilton hotel in Embassy GolfLinks. It was nice to chat with everyone again after nearly a month of not having an office. We were given a soft promise of the new office reopening some time in the next 5 to 10 days 🤞. I’m eagerly looking forward to getting some time in there before I leave for home at the end of the month.</p>
<p>Following up on the promise to myself <a href="https://msfjarvis.dev/weeknotes/week-38-2026/">made during the last IndieWebClub</a>, I chose to go a little early to hang out with people; I had a great time yapping with <a href="https://ankursethi.com/">Ankur</a> and a few others who shall go unnamed purely because I am terrible with names 😓</p>
<p>The discussions at IWC itself were quite spirited and engaging. Apparently we all have a lot of strong opinions on archiving! Could be fun to have another session dedicated purely towards it. I ended up using the writing time to <em>delete</em> some drafts instead of working on them, so admittedly the spirit of that exercise was a little lost on me.</p>
<h1 id="media">Media</h1>
<h2 id="writing">Writing</h2>
<p>I published a post about my <a href="https://msfjarvis.dev/posts/my-experience-at-indiafoss-2026/">IndiaFOSS 2026 experience</a> which got reposted by the CEO of FOSS United, admittedly a nice surprise :)</p>
<h2 id="reading">Reading</h2>
<p>I finished reading <a href="https://msfjarvis.dev/reading/wheel-of-the-infinite/">Wheel of the Infinite</a> and picked up <a href="https://msfjarvis.dev/reading/when-we-cease-to-understand-the-world/">When We Cease to Understand The World</a> purely because it was in my eBook collection, having no clue what the theme was. The premise was a bit of a shock, but it’s quite intriguing and rather short, so I’ll read it through.</p>
<h2 id="movies">Movies</h2>
<p>Yash and I watched two movies this week: <a href="https://www.imdb.com/title/tt31450459/">Digger</a> starring Tom Cruise and <a href="https://www.imdb.com/title/tt34206385/">Primetime</a> starring Robert Pattinson.</p>
<p>Digger was deeply weird and often hard to follow, but Tom Cruise really delivers something unique here that we haven’t seen in a long, long while from him. I could go for a re-watch of this <em>today</em> and still have as much fun as I did.</p>
<p>Primetime is significantly less <em>weird</em>, but delivers just as much on the acting front. Robert Pattinson has proved time and again that he’s a phenomenal actor and this was no different. His Chris Hansen is deeply troubled, an obvious hypocrite, and just as fucked up as someone trying to convert paedophilia into TV views would be. Aftermath had an in-depth <a href="https://aftermath.site/primetime-hansen-review-impressions">breakdown</a> of the movie that I quite enjoyed reading and resonated with me.</p>
<h2 id="games">Games</h2>
<p><a href="https://store.steampowered.com/app/3669870/CONTROL_Resonant/">CONTROL: Resonant</a> still has me fully hooked, and I’ve been making steady progress on it all week. I got through two Resonant fights; the Factory Resonant fight was extremely telegraphed and barely had anything to it, so I one-shot it with ease. The Park Resonant was much more fun, and I had to take a few shots at it before I finally got it down. On my final attempt I was so locked in that I forgot to blink and my eyes started burning to remind me of the fact. I need to take this stuff less seriously!</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>Somewhat unsurprisingly, last week’s <a href="https://github.com/msfjarvis/compose-lobsters/releases/tag/v1.72.0">Claw release</a> got rejected by the <a href="https://izzyondroid.org/">IzzyOnDroid</a> repository for its new proprietary dependency on <a href="https://developer.android.com/guide/playcore">Play Core</a>, so I had to create a separate <a href="https://github.com/msfjarvis/compose-lobsters/pull/1291">FOSS-only build</a> to satisfy their requirements again. The team behind IzzyOnDroid do great work on extending the core <a href="https://f-droid.org">F-Droid</a> repository with apps that are still FOSS but might have some other properties that make them unsuitable for core. I’ve donated to them in the past and would encourage others to <a href="https://izzyondroid.org/contributing/Donating/">do the same</a>!</p>
<p>This site received some very minor tweaks; footnotes now render as <a href="https://developer.mozilla.org/en-US/docs/Web/API/Popover_API">popovers</a> on the website (like this<sup><a href="#user-content-fn-1" id="user-content-fnref-1" data-footnote-ref="true" aria-describedby="footnote-label">1</a></sup>), the dark theme for code blocks was changed, and the WebMentions server was tweaked to make it possible to provide per-host renderers so I can tweak how, say, <a href="https://bubbles.town/">bubbles.town</a> webmentions show up under my posts.</p>
<h2 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h2>
<p>Yash and I use an app called <a href="https://spliit.app/">Spliit</a> to manage our shared transactions for the household. I discovered recently that it has an in-built JSON and CSV export, so I added support in <a href="https://git.msfjarvis.dev/msfjarvis/factual-budget">factual-budget</a> to generate a summary of unsettled transactions with proper categories.</p>
<h1 id="cooking">Cooking</h1>
<p>Being at home all week has made cooking much easier, so we’re now cooking most days.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/pasta.CeEw2OS-.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/pasta.CeEw2OS-.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This pasta recipe wasn't great and tasted rather bland so we probably won't be revisiting this." aria-label="A bowl of creamy penne pasta" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/pasta.CeEw2OS-.webp" alt="A bowl of creamy penne pasta" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This pasta recipe wasn't great and tasted rather bland so we probably won't be revisiting this.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer.wNH0sxrI.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer.wNH0sxrI.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This paneer was a new recipe we tried, it was delicious and the texture of the veggies was perfect." aria-label="Spiced paneer with peppers and onions on a plate" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer.wNH0sxrI.webp" alt="Spiced paneer with peppers and onions on a plate" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This paneer was a new recipe we tried, it was delicious and the texture of the veggies was perfect.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/fried_rice.DBaMp1Km.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/fried_rice.DBaMp1Km.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Made some fried rice to use up leftovers and threw parsley on it because greens make it healthy" aria-label="A bowl of fried rice topped with herbs" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/fried_rice.DBaMp1Km.webp" alt="A bowl of fried rice topped with herbs" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Made some fried rice to use up leftovers and threw parsley on it because greens make it healthy</figcaption></figure></div>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer_2.C01lw11N.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer_2.C01lw11N.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This was a more traditional matar paneer recipe which is both delicious and rather pain-free to make." aria-label="Paneer and peas simmering in curry sauce" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer_2.C01lw11N.webp" alt="Paneer and peas simmering in curry sauce" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This was a more traditional matar paneer recipe which is both delicious and rather pain-free to make.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken.DG0hbnW5.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken.DG0hbnW5.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Remade last week's chicken recipe again with the quantity doubled because it still slaps." aria-label="Chicken curry simmering in a pan on the stove" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken.DG0hbnW5.webp" alt="Chicken curry simmering in a pan on the stove" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Remade last week's chicken recipe again with the quantity doubled because it still slaps.</figcaption></figure></div>
<section data-footnotes="true" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes</h2>
<ol>
<li id="user-content-fn-1">
<p>This is a popover <a href="#user-content-fnref-1" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref">↩</a></p>
</li>
</ol>
</section>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-39-2026/</id>
    <title>Weeknotes: Week #39 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-39-2026/"/>
    <published>2026-09-27T12:31:00.000Z</published>
    <updated>2026-09-27T12:31:00.000Z</updated>
    <summary>My ordeal with the Passport Office finally comes to a close, also IndiaFOSS!</summary>
    <content type="html"><![CDATA[<p>HUGE week as I finally managed to wrap up my passport issuance, and it has now shipped out. If I knew I could not count on the Bengaluru Police to do their jobs I would’ve just gone to the police station on day one instead of waiting the stipulated 3 weeks. Anyway, no point raging about that any more.</p>
<p>I’m also writing this week note on my phone because I’m out touching grass and won’t get back home in time to write this on my usual schedule.</p>
<h1 id="social">Social</h1>
<p>Like I mentioned last week, <a href="https://kat.bio">Amogh</a> is in town for IndiaFOSS so <a href="https://yashgarg.dev">Yash</a>, <a href="https://fknil.com">Fenil</a>, him, and I spent most of Saturday there. I was feeling quite tired on Sunday so I opted to stay in for the morning and joined Yash and Fenil in the afternoon for the <a href="https://fossunited.org/c/indiafoss/2026communi-con">Communi-con</a> track.</p>
<p>I’ll write a separate post about it next week, <a href="https://msfjarvis.dev/posts/rss.xml">stay tuned</a>!</p>
<h1 id="media">Media</h1>
<p><a href="https://controlgame.com/">CONTROL: Resonant</a> is finally out! Remedy made a small blunder and a day 1 patch caused Steam users to have to redownload the game even if they preloaded it the day before which was a little annoying, but goddamn they have cooked! It’s been worth the wait, and I’m glad I shelled out for the Deluxe Edition. It’s so good that even the game pirates over on Reddit have been rallying to buy the game instead of pirating it lol.</p>
<p>I’d attach a screenshot here except for the aforementioned distance from computer. The game’s photo mode will launch sometime in November so I’m tempted to pause my playthrough until the update arrives.</p>
<p>Oh, and I also finally watched KPop Demon Hunters; unsurprisingly it was very good. I had listened to all the songs before so it was a surprise when the boy band turns up and starts singing the songs that I had only heard the female renditions of so far.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>I don’t have any big ticket items left to implement in <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a>, so I’ve mostly been focusing on minor quality of life changes for my own needs as a developer. Google Play users now get an in-app UI affordance that an update is available and up to 7 days of leeway before they’re forced to upgrade. <a href="https://developer.android.com/develop/background-work/background-tasks/persistent/getting-started">WorkManager</a> execution metrics are now <a href="https://github.com/msfjarvis/compose-lobsters/commit/1340a311f202f643bf57c3f6ec6dcd21d2013977">reported to Sentry</a>, which I wrote about <a href="https://msfjarvis.dev/posts/tracking-execution-events-for-your-workmanager-workers/">on the blog</a>.</p>
<h2 id="meta">Meta</h2>
<p><a href="https://msfjarvis.dev/weeknotes/week-38-2026">Last week</a>’s promise has been kept, and the first entry in my game screenshots collection is ready to be perceived! The game is called <a href="https://msfjarvis.dev/games/holotrials/">HoloTrials: Case Covered</a>, it’s a short visual novel style game involving a detective protagonist fighting a case in her high school to defend her close friend who’s being framed. You can find it on <a href="https://store.steampowered.com/app/4252960/HoloTrials_Case_Covered/">Steam</a>.</p>
<h2 id="clank-clank-clank-">🤖CLANK CLANK CLANK 🤖</h2>
<p>I’ve been burning tokens left and right on objectively pointless stuff, with the new OpenAI models being as cheap as they are. I recently discovered that <a href="https://github.com/NixOS/nixpkgs">Nixpkgs</a> archives support being compressed as <code>.tar.zst</code> files instead of just <code>.tar.gz</code> and they come down to 20% smaller. I tried naively hosting a static archive but that doesn’t work for reproducibility. I later found that there’s a proper <a href="https://nix.dev/manual/nix/2.25/protocols/tarball-fetcher">specification</a> explaining how to do it correctly. I went back to the stack of Matt Pocock’s skills which I have come to like a lot, and managed to quickly implement a <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/nix-channels-worker">Cloudflare Worker</a> that stores tarballs in R2 and correctly implements the Lockable HTTP Tarball protocol.</p>
<h1 id="cooking">Cooking</h1>
<p>We cooked a few times this week but a bunch of our days ended up with us dining outside.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/quinoa-salad.CsVdGGdl.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/quinoa-salad.CsVdGGdl.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Quinoa is annoying to cook but the salads come out so good. " aria-label="A stainless-steel bowl filled with a quinoa and chickpea salad mixed with chopped cucumber, tomato, red onion, corn, and herbs." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/quinoa-salad.CsVdGGdl.webp" alt="A stainless-steel bowl filled with a quinoa and chickpea salad mixed with chopped cucumber, tomato, red onion, corn, and herbs." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Quinoa is annoying to cook but the salads come out so good. </figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-curry.aHvweYPO.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-curry.aHvweYPO.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This chicken was so good, I regret only making single servings. " aria-label="A stainless-steel plate holding several folded rotis, a bowl of orange-brown chicken curry, and a dollop of green chutney." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-curry.aHvweYPO.webp" alt="A stainless-steel plate holding several folded rotis, a bowl of orange-brown chicken curry, and a dollop of green chutney." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This chicken was so good, I regret only making single servings. </figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-38-2026/</id>
    <title>Weeknotes: Week #38 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-38-2026/"/>
    <published>2026-09-20T12:55:07.934Z</published>
    <updated>2026-09-20T12:55:07.934Z</updated>
    <summary>Another lazy week with an exciting end to it</summary>
    <content type="html"><![CDATA[<p>A very slow week, all things considered, with all the excitement concentrated towards the tail end. I wish I could say the same for next week, which is bound to be exciting throughout: new office, <a href="https://kat.bio/">Amogh</a> coming over, <a href="https://controlgame.com">CONTROL: Resonant</a> releasing, and <a href="https://fossunited.org/indiafoss/2026">IndiaFOSS 2026</a>!</p>
<h1 id="social">Social</h1>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/resident-evil.CHkrtMdx.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/resident-evil.CHkrtMdx.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="🙌 ABSOLUTE CINEMA 🙌" aria-label="Resident Evil title over a snowy scene" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/resident-evil.CHkrtMdx.webp" alt="Resident Evil title over a snowy scene" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">🙌 ABSOLUTE CINEMA 🙌</figcaption></figure>
<p><a href="https://yashgarg.dev/">Yash</a> made an impromptu plan for him, Mayank, and me to watch <a href="https://www.imdb.com/title/tt35538033">Resident Evil</a> on Friday morning, and it was an absolute riot. The first half had a handful of excellent jump scares that made all of us actually yelp out in terror. Mayank was so jumpy that he kept startling me even when the actual jump scare didn’t get me. Like I said, absolute riot. I’m off to rewatch it with my friend <a href="https://www.devanshbajaj.dev/">Devansh</a> tonight. He recently moved to Bengaluru, and I expect it to be just as fun this time around. I get why #PreggersForCregger was doing the rounds on social media 🙈</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/empty-theatre.BkcheXJU.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/empty-theatre.BkcheXJU.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="First time we've been early enough to catch an empty theatre" aria-label="Empty IMAX theater with rows of blue seats" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/empty-theatre.BkcheXJU.webp" alt="Empty IMAX theater with rows of blue seats" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">First time we've been early enough to catch an empty theatre</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/fuckass-flashbang-warning.ThKlBtak.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/fuckass-flashbang-warning.ThKlBtak.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This bright motherfucker in a dark scene was so distracting" aria-label="Movie screen showing a warning against smoking and alcohol" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/fuckass-flashbang-warning.ThKlBtak.webp" alt="Movie screen showing a warning against smoking and alcohol" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This bright motherfucker in a dark scene was so distracting</figcaption></figure>
<p>It was Mayank’s birthday on Thursday so we had a night out of definitely non-alcoholic beverages and mediocre bar food. I had a great time hanging out with him and his college friends.</p>
<p><a href="https://blr.indiewebclub.org/">IndieWebClub</a> was on this week, and I mostly used the time to work on the game photography section of my site and help out people who came looking for hosting advice. I’ve made a bad habit of bolting out of the underline center the millisecond after the meetup, which I’d like to change next time. I make the excuse to myself that everyone’s headed for coffee which I don’t drink in the evenings, but it’s just that, an excuse.</p>
<h1 id="games">Games</h1>
<p>I finished off <a href="https://store.steampowered.com/app/4252960/HoloTrials_Case_Covered/">HoloTrials: Case Covered</a> this week with a little cheating from a Steam Community post. I got stuck on the very final sequence where I had the right clue but kept presenting it against the wrong line of the testimony. Either way, the game has beautiful art and pretty decent gameplay for what’s ultimately a visual novel. Hopefully, I’ll be able to showcase it on the site soon.</p>
<h1 id="work">Work</h1>
<p>Work started off quite hectic since I went from a day off on Monday immediately into three hours of meetings on Tuesday, but things are still fairly quiet overall. I put out a release for our SDKs that had been delayed over the past couple of weeks, and things didn’t explode <em>too</em> much. I did have one morning where I couldn’t get into my work laptop because my YubiKey suddenly stopped accepting my PIN, but it turns out that was because I dared to think while typing instead of doing it mindlessly.</p>
<blockquote class="mastodon-post" lang="en" cite="https://fantastic.earth/@msfjarvis/117284587802078178" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">Harsh Shandilya</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@msfjarvis@fantastic.earth</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">New facts have come to light in this investigation and the updated hypothesis now states that I am the world's greatest idiot.</p><p data-astro-cid-hgg3ctr5="">Turns out I have been typing in my PIN via muscle memory instead of actual memorization for the past 18 months, and the actual PIN is one digit off than what I had intended/remembered. When I consciously think about it I get the PIN wrong, when I remove my brain from the equation I get it right.</p><p data-astro-cid-hgg3ctr5="">The human brain is a beautiful enigma.</p></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-09-17T04:53:05.553Z" data-astro-cid-hgg3ctr5="">17 Sept 2026, 04:53</time><a href="https://fantastic.earth/@msfjarvis/117284587802078178" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>
<h1 id="personal-projects">Personal projects</h1>
<p>I made a <a href="https://github.com/msfjarvis/compose-lobsters/releases/tag/v1.71.0">big release</a> of Claw with some important fixes for the comments UX, and workarounds for dealing with Lobsters now being fronted by Anubis. It also includes a brand-new feature: a daily random saved post as a notification. I’ve found this to be quite nice since it gives me something interesting to read every morning as I’m waking up, and I can always drop it into my browser and have it read aloud podcast style. I have collected over 1,800 saved posts over the years and definitely haven’t read a majority of them, so it also helps me get through that backlog in a drip-fed manner. I opted to not add a “sent posts” log but the data layer does capture this information, so the option is always there. Let me know if you think that’d be useful to have!</p>
<h2 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h2>
<p>I posted about the <a href="https://msfjarvis.dev/posts/brief-experience-report-on-the-deepseek-v4-flash-model/">DeepSeek v4 model</a> that I have been trying out this week via <a href="https://openrouter.ai/">OpenRouter</a>, and it has been quite impressive so far (slightly more detailed opinions in the post). I finished off <a href="https://git.msfjarvis.dev/msfjarvis/factual-budget">factual-budget</a> with its help. I also kicked off work on <a href="https://git.msfjarvis.dev/msfjarvis/factual-budget-android">factual-budget-android</a> which will capture SMSes and submit transactions automatically instead of reconciling at the end of the month. Not quite ready yet, but making good progress :)</p>
<p>I also added support for fetching remote <code>.ics</code> files to <a href="https://git.msfjarvis.dev/msfjarvis/wearos-calendar-sync">wearos-calendar-sync</a> because I was tired of manually importing IndieWebClub BLR’s events to my calendar. This now lets me provide a link to <a href="https://blr.indiewebclub.org/events.ics">their ICS file</a>, and the app will take care of refreshing this every week and automatically feeding the events to my watch. It’s an almost unnecessary feature that I would never have bothered with pre-clankers, but it was quite easy to make once I fully articulated its product and engineering aspects.</p>
<h1 id="meta">Meta</h1>
<p>This site got a major build speed improvement this week as I fixed an inefficiency in how I render Mastodon posts. Previously each Mastodon post would get fetched at build time, coming in at around 6 seconds per post and with the 3 embeds I have so far, making the weeknotes category take 19 seconds to render uncached. I’ve <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/1e9f82551d38ce1cf366a51cea1637976dca00df">now changed</a> this to use a static data store instead which is updated manually by a script that scans the site contents for Mastodon URLs and snapshots them. This adds a bit of manual work for me but in exchange for shaving 18 seconds out of a build that used to take around 25 seconds, I can accept the trade off.</p>
<p>As I mentioned <a href="https://msfjarvis.dev/weeknotes/week-37-2026/#games">last week</a>, I’ve been inspired to add a video game photography section to my website, and the work on it is <em>almost</em> done. I’ll hopefully have it up and running soon, but I don’t know if I’ll have time next week given how much is going on.</p>
<h1 id="cooking">Cooking</h1>
<p>There was very little cooking, as we were lazy/busy for most of this week. We just made the stuff we’d discovered recently since it was quick and easy.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chana-paneer.DBkkm4Gf.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chana-paneer.DBkkm4Gf.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Made it properly this time round, still think ours was better" aria-label="Bowl of creamy chickpea and paneer curry" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chana-paneer.DBkkm4Gf.webp" alt="Bowl of creamy chickpea and paneer curry" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Made it properly this time round, still think ours was better</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/jolof-rice.DT4EHfFZ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/jolof-rice.DT4EHfFZ.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This nice and easy one pot jolof rice recipe has been so great" aria-label="Plate of spiced rice with meat" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/jolof-rice.DT4EHfFZ.webp" alt="Plate of spiced rice with meat" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This nice and easy one pot jolof rice recipe has been so great</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-37-2026/</id>
    <title>Weeknotes: Week #37 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-37-2026/"/>
    <published>2026-09-13T13:29:27.853Z</published>
    <updated>2026-09-13T13:29:27.853Z</updated>
    <summary>Big cooking week, and a small return to programming things the 'old' way</summary>
    <content type="html"><![CDATA[<p>This week was a bit all over the place with work being a little weird, and me spending most of my free time working on <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a>. Lots of cooking though!</p>
<h2 id="personal">Personal</h2>
<p>Not a <em>lot</em> of socializing this week, since I mostly worked from home and opted to be a homebody. In total, I spent around 2 hours talking to my parents over voice and video calls which is a big change for me. It was rather pleasant! Though I will admit, learning that they’re planning a trip to Bhubaneswar via orders to book their flights was a little annoying.</p>
<p>On Thursday night we picked up a package from one friend for another and chatted a bit, was nice to catch up.</p>
<p>I needed to buy a new pair of shoes so <a href="https://yashgarg.dev">Yash</a> and I did that together on Sunday afternoon to get some time under the sun. 1 PM was a little hot for this but the walk was enjoyable. The Skechers store here in Indirangar didn’t have the best collection, but I was able to find something acceptable.</p>
<h2 id="work">Work</h2>
<p>Things at work have been rather quiet as everyone is in the middle of long duration projects and the day-to-day has slowed down quite a lot. The next Monday being a holiday will be nice, given I have 3 straight hours of meetings on Tuesday, starting at <strong>8:30 AM</strong>. I suppose this is my pre-training for an eventual managerial position, which is not serving its intended purpose as far as I am concerned.</p>
<h2 id="movies">Movies</h2>
<p>With most lunchtimes being at home, the second monitor had some movies going. I watched <a href="https://www.imdb.com/title/tt32430579/">Crime 101</a> which was decent enough but rather formulaic. <a href="https://www.imdb.com/title/tt1745960/">Top Gun: Maverick</a> was up next and once again it’s just Tom Cruise being excellently Tom Cruise. Great movie, good character development, and may Cruise never die but preferably stop being a Scientologist.</p>
<h2 id="games">Games</h2>
<p>A lot of gaming this week, primarily in <a href="https://store.steampowered.com/app/3848900/Sucker_for_Love_Crush_Landing/">Sucker For Love: Crush Landing</a> and <a href="https://store.steampowered.com/app/4252960/HoloTrials_Case_Covered/">HoloTrials: Case Covered</a>. Both games are visual novels, and feature some <em>gorgeous</em> art. The HoloTrials art inspired me so much I am now finally setting up the in-game photography collection on my website so I can share it. It’s technically already live, but it needs a lot more work before I can start sharing it. Next week!</p>
<h2 id="personal-projects">Personal projects</h2>
<p>Inspired by the blog roll replay feature we now have on the <a href="https://indieweb.social/@blr">IWCB Mastodon Bot</a> I wanted to implement something similar for Claw, given I am currently sitting on around 1700+ bookmarked posts. I chose to forego LLMs for this and spent a few nights and mornings to implement it (pull request <a href="https://github.com/msfjarvis/compose-lobsters/pull/1264">here</a>). It was fun to iterate on this over a few days since the notifications were scheduled to be once-a-day. I realized that because I’ve written and reviewed so much LLM authored code in my work project, I’ve kind of started writing new code in a similar style. Initially I was a little distraught, but thinking about it, it’s just an uglier version of the “functional core, imperative shell” paradigm that I already liked before LLMs became any good. Extracting a small bit of pure logic out of a class with complex dependencies and testing it in isolation was something I had been taught way before I had had the misfortune of hearing of OpenAI. Despair conquered 🙃</p>
<h3 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h3>
<p>A few weeks ago I had clanked together a <a href="https://git.msfjarvis.dev/msfjarvis/actual-budget-backfiller">CLI tool</a> to reconcile my Actual Budget account and my credit card statement. I kept tacking on small improvements as I needed them but since this is fully slop coded, the cracks have started to show, and I’m now looking at 8K lines of rubbish. I <em>could</em> rewrite this by hand, but for something I’ll use once a month at most, I chose to try a different approach to clanking to see if it yields any better results. I’ve seen people speak highly of <a href="https://github.com/mattpocock/skills">Matt Pocock’s skills</a> and decided to use them to fully restart this project from scratch. In 3 sessions it has so far fully reconstructed every feature short of actually writing transactions to Actual Budget, and done so with a properly managed issue tracker. All decisions have justifications and a record on <a href="https://linear.app">Linear</a>, and everything is as I wanted it to be. I’ll see if I want to write about this separately, but I’m pretty impressed so far. For all intents and purposes this is still slop, but it’s <strong>significantly</strong> more readable and looks like something I could dive into myself if needed.</p>
<h2 id="cooking">Cooking</h2>
<p>Lots of home cooking this week given both <a href="https://yashgarg.dev/weekly-notes-37-2026/">Yash</a> and I were feeling a little health conscious. Not pictured below: a spicy shahi paneer and a veggie-laden pulav.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/air-fryer-chicken-breasts.B_67VsR8.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/air-fryer-chicken-breasts.B_67VsR8.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="We ate these straight out of the air fryer like goblins. 10/10" aria-label="Seasoned chicken breasts in an air fryer" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/air-fryer-chicken-breasts.B_67VsR8.webp" alt="Seasoned chicken breasts in an air fryer" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">We ate these straight out of the air fryer like goblins. 10/10</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-and-veggie-salad.DI6_k9LA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-and-veggie-salad.DI6_k9LA.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Salads are probably my favorite dinner. Get a veggie chopper!" aria-label="Vegetable salad topped with grilled chicken" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-and-veggie-salad.DI6_k9LA.webp" alt="Vegetable salad topped with grilled chicken" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Salads are probably my favorite dinner. Get a veggie chopper!</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/foxtail-millet-and-chickpea-salad.CM1NNff3.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/foxtail-millet-and-chickpea-salad.CM1NNff3.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="A little too much hassle personally, need a different recipe" aria-label="Foxtail millet and chickpea salad with vegetables" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/foxtail-millet-and-chickpea-salad.CM1NNff3.webp" alt="Foxtail millet and chickpea salad with vegetables" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">A little too much hassle personally, need a different recipe</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-36-2026/</id>
    <title>Weeknotes: Week #36 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-36-2026/"/>
    <published>2026-09-06T06:31:18.172Z</published>
    <updated>2026-09-06T06:31:18.172Z</updated>
    <summary>So much happened!</summary>
    <content type="html"><![CDATA[<p>This week was probably the most social I’ve been in months, it was nice to get out and do things. I also got to spend a bunch of time playing games which was a nice change.</p>
<h1 id="social">Social</h1>
<p>On Monday I messaged <a href="https://www.rohanarthur.com/">Rohan Arthur</a> to meet up, and we ended up having lunch at <a href="https://kobe-sizzlers.in/">Kobe Sizzlers</a> and some dessert at Milano’s.</p>
<p>As mentioned last week we had early morning tickets for Odyssey for Tuesday, so <a href="https://yashgarg.dev">Yash</a>, <a href="https://github.com/swapnilmadavi">Swapnil</a>, and I met up at Nexus Koramangala. The movie was absolutely fucking incredible, my only complaint is that the movie could’ve used a little more Charlize Theron 😜</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/odyssey_horsey.CWI2dIhN.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/odyssey_horsey.CWI2dIhN.webp" data-pswp-width="3510" data-pswp-height="1974" data-pswp-caption="Such a cute horsey that will not be part of any nefarious and barbaric activities whatsoever" aria-label="A cinema screen showing people beside a fallen over wooden horse on a beach" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/odyssey_horsey.CWI2dIhN.webp" alt="A cinema screen showing people beside a fallen over wooden horse on a beach" loading="lazy" decoding="async" width="3510" height="1974" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Such a cute horsey that will not be part of any nefarious and barbaric activities whatsoever</figcaption></figure>
<p>On our way out we spotted the recently opened LEGO store so we just had to take a peek. My wallet turned to dust looking at some of the price tags but there <em>was</em> some stuff I might be tempted to make a return journey for…</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/lego_dino_onesie.BKCo3d4p.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/lego_dino_onesie.BKCo3d4p.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I cannot imagine how much time and effort this display took, just insane" aria-label="A large red LEGO character with chiseled abs holding a small dinosaur egg" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/lego_dino_onesie.BKCo3d4p.webp" alt="A large red LEGO character with chiseled abs holding a small dinosaur egg" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I cannot imagine how much time and effort this display took, just insane</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/lego_spiderman.CCHecEv8.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/lego_spiderman.CCHecEv8.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The Spider Man case had some cute stuff, I was almost tempted" aria-label="A LEGO Spider-Man figure displayed among other models" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/lego_spiderman.CCHecEv8.webp" alt="A LEGO Spider-Man figure displayed among other models" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The Spider Man case had some cute stuff, I was almost tempted</figcaption></figure></div>
<p>After the movie we went to a popular chhole bhature joint close by that was on Swapnil’s radar, and it did not disappoint.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chhole_bhature.BCA8c7F9.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chhole_bhature.BCA8c7F9.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Simple and delicious, just the way it's meant to be" aria-label="Puffed bhature served with chickpea curry and sliced onions" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chhole_bhature.BCA8c7F9.webp" alt="Puffed bhature served with chickpea curry and sliced onions" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Simple and delicious, just the way it's meant to be</figcaption></figure>
<p>Mayank proposed Friday as a work-from-café day so we met up at the old reliable <a href="https://www.bangaloreeats.com/place/cafe-grey-by-dongle-and-co-indiranagar">Café Grey</a>. I can’t yet prove he only did this because he’s currently working on testing noice cancellation solutions, but I have my suspicions. Regardless it was a nice few hours to work from a different setting and I got a bunch of stuff done.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/coffee_at_cafe_grey.CXpWPY63.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/coffee_at_cafe_grey.CXpWPY63.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Had some coffee, 'twas nice." aria-label="A latte with heart-shaped foam art in a white cup" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/coffee_at_cafe_grey.CXpWPY63.webp" alt="A latte with heart-shaped foam art in a white cup" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Had some coffee, 'twas nice.</figcaption></figure>
<p>On Saturday I joined Swapnil, Yash, Mayank, and Rohan for breakfast at Veg and Veg followed by some coffee at a small and cozy café where we spotted this absolute unit.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cute_malamute.DIG5-HX7.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cute_malamute.DIG5-HX7.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="What a chonky boi" aria-label="A large fluffy brown-and-white malamute sitting outdoors" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cute_malamute.DIG5-HX7.webp" alt="A large fluffy brown-and-white malamute sitting outdoors" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">What a chonky boi</figcaption></figure>
<p>We also had <a href="https://blr.indiewebclub.org/">IndieWebClub #33</a> where we talked about people’s writing process — how do we find ideas, how often does something sit in drafts, what even is a draft and if and when do you choose to let one go. Very insightful discussions, and I got to catch up with <a href="https://jatan.space/about">Jatan</a> who was now rocking a <a href="https://www.writerdeck.org/">writerDeck</a> built around his recently jailbroken Kindle and a foldable Bluetooth keyboard. Pretty cool setup IMO and one that I am somewhat interested in, given that while writing this very week note I got distracted and ended up with <a href="https://msfjarvis.dev/notes/til-prettier-mdx-jsx-formatting-quirk-with-nested-elements/">this</a> side quest.</p>
<h1 id="work">Work</h1>
<p>Things at work have been progressing well, I’ve been assigned to an important client and mostly spend my days working around their requirements. Almost feels like I’m back at Obvious doing consulting work 😛. I got some good news this week that I will hopefully be able to share by the next week note. Fingers crossed!</p>
<h1 id="reading">Reading</h1>
<p>I finished <a href="https://msfjarvis.dev/reading/negative-space/">Negative Space</a> this week, and it was honestly a one of one experience. I can’t remember the last time I read anything this moving, with so much sorrow and suffering but one that was still well written enough to keep me hooked throughout. Haven’t picked anything new yet, still looking for what to start next.</p>
<h1 id="gaming">Gaming</h1>
<p>With CONTROL: Resonant coming out at the end of this month I finally had a good excuse to finish out the Horizon Forbidden West story, so I could uninstall the game to make space for CONTROL 😄</p>
<p>I spent around 10 hours during this week on that and got both the main story and the DLC done, obviously nowhere close to 100%. Loved every part of it, the ability to override flying machines that we gain later was incredibly cool. I wasted plenty of time being an amateur video game photographer but didn’t really get anything I was super proud of. I did have a better time with this when I was playing CONTROL, so I expect to also get some gorgeous shots out of Resonant.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/horizon_forbidden_west_epilogue.BlK2OYWS.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/horizon_forbidden_west_epilogue.BlK2OYWS.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="These bitches gay! G4Y!" aria-label="A cutscene from the Horizon Forbidden West: Burning Shores DLC showing the protagonist Aloy and the DLC-introduced character Seyka sharing a kiss" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/horizon_forbidden_west_epilogue.BlK2OYWS.webp" alt="A cutscene from the Horizon Forbidden West: Burning Shores DLC showing the protagonist Aloy and the DLC-introduced character Seyka sharing a kiss" loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">These bitches gay! G4Y!</figcaption></figure>
<p>I also bought a cozy cyberpunk diorama builder named <a href="https://www.midnightmoments.io/">Midnight Moments</a> and a visual novel called <a href="https://store.steampowered.com/app/3848900/Sucker_for_Love_Crush_Landing/">Sucker for Love: Crush Landing</a> because <a href="https://www.youtube.com/@HakosBaelz">Hakos Baelz</a> has a voice actor role in it. Wasn’t able to try the VN yet because I spent my week in Horizon but hopefully next week.</p>
<h1 id="cooking">Cooking</h1>
<p>Lots of homecooked meals this week which made me quite happy, some pictured below and the others not. We unlocked a new failure mode in the kitchen this week of “adding double the required amount”. The chana paneer gravy recipe turned into a paste because it had twice the paneer than it was supposed to. We were having trouble blending the paneer and didn’t clock why until everything was in the pan. Actual comedy of errors stuff, but at least it still came out tasty.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/kitchen_sink_fried_rice.NZZGdFfs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/kitchen_sink_fried_rice.NZZGdFfs.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Threw everything into this, came out great. Definitely going to make a smaller batch next time though." aria-label="Vegetable fried rice with peas, corn, and peppers" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/kitchen_sink_fried_rice.NZZGdFfs.webp" alt="Vegetable fried rice with peas, corn, and peppers" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Threw everything into this, came out great. Definitely going to make a smaller batch next time though.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/extra_thicc_chana_paneer_gravy.CKCqUepo.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/extra_thicc_chana_paneer_gravy.CKCqUepo.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The gravy portion of this was basically a thick paste but I can't argue with how good it tasted." aria-label="A bowl of creamy curry with some black chana visible under it" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/extra_thicc_chana_paneer_gravy.CKCqUepo.webp" alt="A bowl of creamy curry with some black chana visible under it" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The gravy portion of this was basically a thick paste but I can't argue with how good it tasted.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veg_pulao.BODUNaJv.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veg_pulao.BODUNaJv.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Having a bag of frozen veggies in the kitchen at all times makes pulao an easy go-to dish." aria-label="Vegetable pulao served on a metal plate with a mixed pickle on the side" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veg_pulao.BODUNaJv.webp" alt="Vegetable pulao served on a metal plate with a mixed pickle on the side" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Having a bag of frozen veggies in the kitchen at all times makes pulao an easy go-to dish.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-35-2026/</id>
    <title>Weeknotes: Week #35 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-35-2026/"/>
    <published>2026-08-30T10:00:29.898Z</published>
    <updated>2026-08-30T10:00:29.898Z</updated>
    <summary>Slowly getting back to a normal schedule</summary>
    <content type="html"><![CDATA[<p>Coming off an extended bout of sickness I mostly took it easy this week, I wasn’t physically feeling up for an early morning gym session and it rained most evenings which I didn’t want to chance so this also ended up being a relatively sedentary week. My sleep schedule has been much better so I’m hoping to try in the upcoming week to get back into the gym in the morning shift.</p>
<p>No better indication of the fact that I was still not a 100% was me falling asleep at 8:30 PM on Monday, which was followed by me waking up at 3:30 AM the next day and ending up in the office at 8:30 AM. Of course the 9:00 AM meeting I wanted to do at the office had been canceled the previous day, so that was egg on my face for not reading my email.</p>
<p>Inspired by Tanvi’s <del>week</del> <a href="https://tanvibhakta.in/weeknotes/week-of-months-of-may-june-july-2026-2026/">quarter note</a> I started writing something about how I struggle with maintaining my relationship with my parents but chickened out around halfway through. Maybe some other day, after sufficient therapy.</p>
<p>I did book my flights back home for Diwali, and the small crater the size of a large crater that it made in my credit card statement made me shed a tear.</p>
<h2 id="media">Media</h2>
<p>The super-early morning on Tuesday was used to watch <a href="https://www.imdb.com/title/tt32565993/">The Sheep Detectives</a> which I absolutely loved, very cute.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/sheep-detectives.Bm-TqStk.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/sheep-detectives.Bm-TqStk.webp" data-pswp-width="2160" data-pswp-height="1077" data-pswp-caption="Almost made me wanna take up shepherding. Almost." aria-label="Hugh Jackman as George Hardy petting a brown sheep named Lily, voiced by Julia Louis-Dreyfus" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/sheep-detectives.Bm-TqStk.webp" alt="Hugh Jackman as George Hardy petting a brown sheep named Lily, voiced by Julia Louis-Dreyfus" loading="lazy" decoding="async" width="2160" height="1077" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Almost made me wanna take up shepherding. Almost.</figcaption></figure>
<p>I also watched <a href="https://www.imdb.com/title/tt32338669">Mutiny</a> on a whim, Jason Statham does a great job playing Jason Statham in this one. Extremely forgettable.</p>
<p><a href="https://www.imdb.com/title/tt26545992/">Lanterns</a> kept popping up in my feeds everywhere so I finally checked it out, and I fully get the hype. Shame there’s only 2 episodes out though.</p>
<p><a href="https://yashgarg.dev">Yash</a> and <a href="https://github.com/swapnilmadavi">Swapnil</a> cooked up a plan to watch Odyssey on IMAX at 7:45 AM in the morning this coming Tuesday, so I’m excitedly looking forward to how we’ll be managing that on a work day.</p>
<p>On the <a href="https://msfjarvis.dev/reading/">reading</a> front, I finished The <a href="https://msfjarvis.dev/reading/the-emilie-adventures/">Emilie Adventures</a> and picked up <a href="https://msfjarvis.dev/reading/negative-space/">Negative Space</a>. I don’t remember who recommended it to me, but it’s <em>really</em> dark and I was in for quite the shock. That said, it is quite the departure from what I usually read so I’m okay with the change of pace.</p>
<h1 id="work">Work</h1>
<p>This was my first day back at work after a full week of being out sick so there was expectedly a lot of unread messages to catch up on, but thankfully there were no big fires in my absence. I had a release planned before I got sick which unfortunately did not go out this week either as things kept piling on, will try again next week!</p>
<p>I also fully wrapped up the project I was helping a Product Manager Intern with since his internship is going to end soon, slightly disappointed we didn’t end up with something viable by the end but we did get some useful things out of it so not a total waste.</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>The homelab grew this week as I replaced <a href="https://github.com/janeczku/calibre-web">Calibre-Web</a> with <a href="https://bookorbit.app/">BookOrbit</a>, mostly motivated by its excellent support for Kobo and KOReader. It took a fair bit of hassle to get it going on NixOS since it’s not packaged yet and I chose to run the Docker image but ultimately I’m quite happy with the final result.</p>
<p>I also <a href="https://git.msfjarvis.dev/msfjarvis/wearos-calendar-sync/commit/2875f6a78a53a2d4b70a248196fa993689567984">tweaked</a> the WearOS Calendar app to prefer timed events over all-day ones when they overlap, and to show the date instead of time if an event is more than 24 hours away.</p>
<h2 id="meta">Meta</h2>
<p>While tinkering around with the site I noticed that the RSS feeds take a little <em>too</em> long to generate and actually register as slow in Astro’s build output, so went over it with a fine tooth comb and implemented some small changes that sped up the feed generation by nearly 2x. <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/4521d04a179a39ae96926055b9960da6b1f00d1a">Caching</a> the <a href="https://docs.astro.build/en/reference/container-reference/">AstroContainer</a> object used to render individual feed entries as HTML so that it does not get re-rendered for each format gave the biggest win, and I figured while I was at it I’d also opt into Astro’s experimental <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/4c158e6c19f4545375227a1c2cec6d51708d0fda">build caching</a>.</p>
<h2 id="-clank-clank-clank">🤖 CLANK CLANK CLANK</h2>
<p>I spent some time making the <a href="https://pi.dev">Pi</a> set up more portable and making it easier to hack on with code completion and what not. The trick for it is creating an NPM package at <code>~/.pi/agent</code> and then loading all the other extensions as workspaces which centralises <code>node_modules</code> and gets you dependencies even for the single-file extensions.</p>
<p>I improved the MCP extension to <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/d721fd17ae0a4f7cc9f662e1d5e4ae651ad1f8cb">immediately load the UI</a> and refresh authentication status in the background to improve the user-facing interaction, and implemented a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/1a1cf169b2579a057e777f53169233b53b765079">command-driven model switcher</a> so I can quickly swap models by running <code>/sol</code> or <code>/claude</code>.</p>
<h1 id="cooking">Cooking</h1>
<p>Nothing super fancy this week, just our usual fare so I didn’t bother with pictures. I did make a simple white sauce pasta on Saturday though.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cream-pasta.CNj0BCpr.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cream-pasta.CNj0BCpr.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Dumped everything I could find in the spice cabinet with a bit of cream and voila" aria-label="A simple white sauce penne pasta in a bowl, with dried parsley and caramelized onions visible" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cream-pasta.CNj0BCpr.webp" alt="A simple white sauce penne pasta in a bowl, with dried parsley and caramelized onions visible" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Dumped everything I could find in the spice cabinet with a bit of cream and voila</figcaption></figure>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-34-2026/</id>
    <title>Weeknotes: Week #34 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-34-2026/"/>
    <published>2026-08-23T14:38:00.000Z</published>
    <updated>2026-08-23T14:38:00.000Z</updated>
    <summary>Recovering from health issues and catching up on TV</summary>
    <content type="html"><![CDATA[<h1 id="life">Life</h1>
<p>On Monday I went to see a doctor about the fever that was destroying me last weekend and got a full week of medicines and a Paracetamol IV drip to help get it out of my system. That ended up taking more than an hour, and I was pretty glad that <a href="https://yashgarg.dev/">Yash</a> came out to help. What wasn’t great was me not taking the house keys since I went ahead of Yash, and him assuming that I did like I always do so we got ourselves locked out at 10 in the morning. One very expensive locksmith later we were inside, and I don’t think this mistake will be repeated anytime soon :P</p>
<p>The rest of my time this week was mostly focused on recovery as I took the whole week off work and did pretty much nothing other than lay in bed.</p>
<p>I did take the opportunity to meet up with some friends towards the end of the week as my strength returned, meeting up with <a href="https://www.devanshbajaj.dev/">Devansh</a> on the 20th and spending nearly 6 hours with <a href="https://fknil.com/">Fenil</a> on the 21st. It was nice to get out of the house after that long period of feeling like shit and yap with friends.</p>
<h1 id="media">Media</h1>
<p>I took advantage of the seemingly infinite rest period to catch up on a bunch of TV shows and the occasional movie.</p>
<ul>
<li>Finished <a href="https://en.wikipedia.org/wiki/The_Legend_of_Korra">The Legend of Korra</a>: still agree with what I said last week, it’s not ATLA but is great in its own right.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/Batman:_Caped_Crusader">Batman Caped Crusader</a> S2: can’t say anything without it being spoilers, but this was ultimately not that exciting for me. Building up the suspense about the antagonist was done well but I didn’t jive with how it came together.</li>
<li>Started <a href="https://en.wikipedia.org/wiki/Reacher_(TV_series)">Reacher</a> S4: this has started off in typical Reacher fashion so I’m on board so far.</li>
<li>Caught up to <a href="https://en.wikipedia.org/wiki/Silo_(TV_series)">Silo</a> S2: sadly I’ve forgotten most of the book so I can’t say if this is still accurate to the source material but it’s still great so I don’t have anything to complain about.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/In_the_Grey">In The Grey</a>: this is slop, absolute waste of time. Ship it off to Netflix where it belongs.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/Masters_of_the_Universe_(2026_film)">Masters of the Universe</a>: also somewhat slop-like but there were some funny moments in there.</li>
</ul>
<h1 id="work">Work</h1>
<p>As I mentioned earlier I took the whole week off. I had initially planned it to be just 3 days so I logged back on in the middle of the week to tack on an extra couple of days. A handful of kind and thoughtful messages were waiting for me when I did, which was nice to see.</p>
<h1 id="cooking">Cooking</h1>
<p>Barely any cooking this week as I was too sick for most of it, and went out for a couple of those days but we still managed to make a simple khichdi and then a shakshouka.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-33-2026/</id>
    <title>Weeknotes: Week #33 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-33-2026/"/>
    <published>2026-08-16T03:53:00.000Z</published>
    <updated>2026-08-16T03:53:00.000Z</updated>
    <summary>Capped off a boring week with a debilitating bout of sickness</summary>
    <content type="html"><![CDATA[<p>Now that I’m feeling a lot better, time to actually write this weeknote.</p>
<h1 id="life">Life</h1>
<p>Things were relatively quiet this week, I had been looking forward to IndieWebClub but sadly had to cancel last minute due to a raging viral fever I caught on the day of. I’m not exactly sure why I caught the fever, but getting absolutely fucking drenched on Tuesday while I was making my way back from the gym was probably a contributing factor.</p>
<p>On Thursday I went back in for my second attempt at the Passport Office after being reasssured that the <a href="https://timesofindia.indiatimes.com/city/bengaluru/karnataka-bandh-today-live-updates-bengaluru-schools-whats-open-close-banks-government-offices-ksrtc-bmtc-cauvery-water-latest-news/liveblog/133195762.cms">statewide bandh</a> won’t impact cab availability. I got done with the first two steps quickly enough, after which I was informed the last counter is down due to “server issues” and we’ll just have to wait. That wait lasted a nice 5 hours, and only after I practically harassed one of the workers to demand an explanation did I discover that the step had actually been waived for everyone who had been waiting and the whole thing had just been a colossal waste of time. My disdain for government operations remains fully justified.</p>
<h1 id="media">Media</h1>
<p>Since I finished watching Avatar: The Last Airbender last week it only felt natural to catch up on The Legend of Korra, which was slightly helped by my fever addled brain keeping me glued to my bed for two straight days. Great show though, definitely doesn’t size up to ATLA but it’s nothing to scoff at.</p>
<h1 id="games">Games</h1>
<p>Huge <a href="https://www.reddit.com/r/Helldivers/comments/1vma2by/title_update_devoid_of_liberty_700/">Helldivers 2</a> update came out this week with a Warhammer 40000 collaboration and all the community cares for is that we can hug the SEAF soldiers. Brings a tear to my eye.</p>
<p>I also moved my <a href="https://www.hololive-dreams.com/en">Hololive Dreams</a> account to Steam and while I continue to be an absolute scrub at rhythm games it’s been fun to learn. There are people beating the hardest chart in the game while playing with <a href="https://www.youtube.com/watch?v=E95J2WZs5fI">spoons</a> and then there’s me happily tapping away at the easiest difficulty…</p>
<h1 id="work">Work</h1>
<p>Things at work have been a mixed bag, we’ve finally broken ground on our new project and Mayank’s been doing excellent work here in the initial prototyping phase. I’ve been somewhat slower on my share of the work as I tried to put together a new release of the RealtimeKit SDKs but it kept getting dragged along as we kept uncovering more issues and I had big pile of review comments from the AI reviewer to work through. I do kind of dislike how the AI reviewer decides to take a fine tooth comb onto the codebase specifically in release PRs and not in the 50 PRs that went in before this to create said release. Anyways, I’ll hopefully be able to wrap it up when I return to work.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>I finally scratched my itch of wanting to build something useful on WearOS and ended up with <a href="https://git.msfjarvis.dev/msfjarvis/wearos-calendar-sync">wearos-calendar-sync</a>, the most creativity-free name I could find. The README is still slop because by the time I started picking at the project in earnest I immediately fell sick but this shall be remedied soon. Getting this thing to come into existence was a whole saga that is described below because it deserves its separate rant.</p>
<h2 id="clank-clank-clank-">CLANK CLANK CLANK 🤖</h2>
<p>I had mentioned <a href="https://msfjarvis.dev/weeknotes/week-32-2026/">last week</a> that I had issues with Claude models on my Pi setup, I was finally able to look into it and found it was a result of my bash-permissions extension appending a second <code>system</code> message which Anthropic’s API doesn’t support. That has <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/6fb223750a936812da4c408f62fb03656ecc0a73">now been fixed</a>, so I’ll probably have something to report on the reviewer test in a week or two.</p>
<h3 id="sidebar-codex-cloud-is-a-terrible-product">Sidebar: Codex Cloud is a terrible product</h3>
<p>After struggling to even find where the option for it was, I finally kicked the tires on <a href="https://learn.chatgpt.com/docs/cloud">Codex Cloud</a> to solve a longstanding gripe I have with WearOS version of Google Calendar: it refuses to sync non-Google calendars. This is not a problem shared by the Android counterpart, so I can only assume this is the result of incompetence.</p>
<p>With my gripe about Google Calendar and my unfulfilled cope of learning WearOS development as an excuse to get this expensive Pixel Watch, I decided I’d build my own calendar (with some slop involved). I yapped at the ChatGPT app to explain my problems with Google Calendar, what I wanted out of my ideal replacement and the general architecture I wanted to go for. The clanker suggested making the watch app a simple presenter for JSON encoded calendar events that a companion phone app could periodically send to it, which would significantly reduce complexity and make it much more battery efficient. I couldn’t really find a fault in that since it still checks off all my boxes so that’s what I went with.</p>
<p>Speaking of incompetence, that is also a quality shared by the people who run security at OpenAI and not just because of their recent accomplishments on the <a href="https://www.felonybench.com/">FelonyBench</a> rankings. Codex Cloud does not let you export your changes from their sandbox to GitHub if the changes contain a binary file. OpenAI is aware that people do not want this nonsense <a href="https://github.com/openai/codex/issues/4867">for nearly a year</a> and they’ve not changed anything here. Trying to set up an Android project by necessity means you have a small Gradle wrapper JAR in your source tree, which means you cannot bootstrap an Android app inside Codex Cloud. I deleted the JAR just so I could get the code out and vowed to never use this abomination ever again.</p>
<h1 id="cooking">Cooking</h1>
<p>Honestly I can’t remember why I don’t have any pictures, but we definitely cooked! I think? Anyways, go check out Yash’s <a href="https://yashgarg.dev/weekly-notes-33-2026/">week note</a> for that.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-32-2026/</id>
    <title>Weeknotes: Week #32 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-32-2026/"/>
    <published>2026-08-09T09:27:24.507Z</published>
    <updated>2026-08-09T09:27:24.507Z</updated>
    <summary>Bengaluru weather is so overrated</summary>
    <content type="html"><![CDATA[<h1 id="life">Life</h1>
<p>I spent most of this week watching the original Avatar: The Last Airbender show, after watching Drew Gooden’s <a href="https://www.youtube.com/watch?v=7fmyTueYPhw">very eloquent and passionate rant</a> about how the live action remake gets literally everything wrong. I had forgotten a lot of things from the show so the rewatch was quite enjoyable.</p>
<p>The constantly changing weather got to me, and I was down with a cold and fever on Thursday which forced me to take the day off work to lie in bed, and you guessed it, watch ATLA.</p>
<p>My visit to the passport office last month had ended in failure as my rent agreement had some mistakes, which I was finally able to get rectified with mere days left for the next appointment. Hopefully it will be enough and I can be done with this process, and then apply for the visa.</p>
<h2 id="reading">Reading</h2>
<p>I finished reading <a href="https://www.beckyferreira.com/first-contact.html">First Contact</a> earlier this week and picked up <a href="https://books.google.co.in/books/about/The_Emilie_Adventures.html?id=hiAZEQAAQBAJ&amp;redir_esc=y">The Emilie Adventures</a> by Martha Wells. I’ve been slowly working through the full Martha Wells catalogue and this is one of the last few.</p>
<h1 id="work">Work</h1>
<p>Things at work have been hectic. I had to implement an emergency change to prevent an accidental DoS from the SDK allowing users to call an expensive endpoint without any rate limits. After that, I waded through our ever-shrinking backlog for anything that could potentially impact a new customer we’re working super hard to lock down. The new project we were planning to start got pushed slightly down the priority list but Mayank has been making progress on early PoCs so we’ll hopefully start having real</p>
<h1 id="meta">Meta</h1>
<p>I continued the work I <a href="https://msfjarvis.dev/weeknotes/week-31-2026/#meta">outlined last week</a> for moving my reading activity to this site, and out of Bookwyrm. This is almost complete now, after I added the ability to locally host reviews instead of just linking to Bookwyrm and to vendor the cover images in the repo itself. My research has not yielded a much better data source than OpenLibrary.org that can also serve unauthenticated requests, so I’ll just stick with it and manually input books that don’t exist on there.</p>
<p>The new version is not yet in production, but I expect to merge that sometime next week.</p>
<p>I also tweaked the code highlighting a bit, switching to the <a href="https://expressive-code.com/">Expressive Code</a> framework and changing the default themes.</p>
<h1 id="clank-clank-clank-">CLANK CLANK CLANK 🤖</h1>
<p>I decided to do some window shopping on <a href="https://pi.dev/packages">pi.dev/packages</a> and picked up <a href="https://pi.dev/packages/pi-spark">pi-spark</a>, and <a href="https://pi.dev/packages/@howaboua/pi-codex-conversion?name=pi-codex">pi-codex-conversion</a>. My attempt to use the voice input feature failed which honestly I’m happier to not have. The extensions don’t change anything user-facing too dramatically; pi-spark makes the editor and footer a bit more compact and adds the ability to use a ChatGPT Codex reset directly from Pi which is cool. pi-codex-conversion gives Pi LLM tools that match the default Codex harness, making the models more likely to have successful tool calls.</p>
<p>I read the <a href="https://www.greptile.com/blog/model-inversion">Model Inversion study</a> from Greptile some time ago so I tried to give that a go with Sonnet 5 (from GitHub Copilot) as the reviewer subagent but kept running into errors like this</p>
<pre><code class="language-json">{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "messages: Unexpected role \"system\". The Messages API accepts a top-level `system` parameter, not \"system\" as an input message role."
  },
  "request_id": "req_vrtx_011CdqjxHaBgstkZwDG1UdcV"
}</code></pre>
<p>I’m reasonably confident Pi doesn’t ship a broken GitHub Copilot provider, so this has to be a result of my setup. I’ll look into it next week if I still care.</p>
<h1 id="cooking">Cooking</h1>
<p>Lots of cooking at home this week despite a string of sickness, which was very helpful for my very aching wallet. I was alone at home on Monday, so I made a small batch of veggie pasta and called it there. Next couple of days we had chhole, after which I got sick and opted to order in a chicken soup. On Friday we made a quick shakshouka, and I was alone again on Saturday so a veggie pasta with some low fat nachos were my dinner. I was craving something sweet right after that, so I tried making the “protein” staple balls of oats/banana/peanut butter/protein powder/honey. I didn’t quite nail the consistency, and they were a little too wet. I opted to stuff it into a glass box and eat them as bars the next day instead, and it was still not quite firm but a great snack regardless.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Threw together everything I saw in my freezer. Yes that is chicken salami." aria-label="Penne pasta mixed with vegetables in a large pan." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" alt="Penne pasta mixed with vegetables in a large pan." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Threw together everything I saw in my freezer. Yes that is chicken salami.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="When we decided to make this we had neither enough tomatoes or any eggs, great stuff from us." aria-label="Shakshuka served with toasted bread." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" alt="Shakshuka served with toasted bread." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">When we decided to make this we had neither enough tomatoes or any eggs, great stuff from us.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Keeping a thing of Feta cheese in the fridge at all times makes impromptu salads so good." aria-label="Creamy mixed vegetable salad in a bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" alt="Creamy mixed vegetable salad in a bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Keeping a thing of Feta cheese in the fridge at all times makes impromptu salads so good.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-31-2026/</id>
    <title>Weeknotes: Week #31 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-31-2026/"/>
    <published>2026-08-02T11:29:03.716Z</published>
    <updated>2026-08-02T11:29:03.716Z</updated>
    <summary>Why do I bother with Marvel movies any more...</summary>
    <content type="html"><![CDATA[<p>Rather slow week for me as I was sick for the first 2 days, but things kept happening anyway 🙃</p>
<h2 id="socializing">Socializing</h2>
<p>The gang had booked tickets for Spider-Man: Brand New Day so we got together to watch that on Friday evening. The movie itself was rather weak, maybe a 6/10 as far as I’m concerned. The characters didn’t really get a chance to develop, and one of the comic arcs I was expecting to see in the movie got written out through the usual “power of friendship and true love” trope.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Got a nice poster at least" aria-label="Spider-Man: Brand New Day movie poster" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" alt="Spider-Man: Brand New Day movie poster" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Got a nice poster at least</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" data-pswp-width="3120" data-pswp-height="4160" data-pswp-caption="The whole theater was hollering at this" aria-label="Spider-Man: Brand New Day title on a cinema screen" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" alt="Spider-Man: Brand New Day title on a cinema screen" loading="lazy" decoding="async" width="3120" height="4160" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The whole theater was hollering at this</figcaption></figure></div>
<p>We reached Indiranagar around 11:30 PM after the movie so our only real option for a meal was the suffocatingly packed <a href="https://toit.in/">Toit Bar and Restaurant</a>. Unfortunately I didn’t bother to get many pictures so you can go check out <a href="https://yashgarg.dev/weekly-notes/">Yash’s week notes</a> for those.</p>
<h1 id="work">Work</h1>
<p>Big week at work! Some high profile departures were announced from our office, and I’ll be starting on a new project next week which should be quite exciting.</p>
<p>Our office manager Jyothi had baked some very delicious brownies and I got to sample a piece, which was honestly the highlight of my week.</p>
<h1 id="meta">Meta</h1>
<p>I’ve been working towards making this website the source of truth for my <a href="https://msfjarvis.dev/reading">reading activity</a>, and it’s been going rather poorly. I’ve managed to make a high fidelity copy of the data from Bookwyrm into MDX files in this repository but the authoring flow of adding a new book is still quite subpar. I might abandon this approach in favour of just switching to a different service and self-host it, since ultimately my real problem with Bookwyrm is just how painfully slow the flagship instance is. My efforts to move to a different Bookwyrm instance have not borne fruit since the book collections vary a lot between servers. Most of the books I imported into <a href="https://linguistic.earth/">linguistic.earth</a> failed because it’s a much smaller server and thus has a very sparse collection of known books.</p>
<p>Other than that, I’ve also migrated the image modals I use to the <a href="https://photoswipe.com/">Photoswipe</a> library instead of my hand rolled version since it offers a lot of niceties I didn’t wish to add or maintain.</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>I threw GPT-5.6 Sol at max thinking on <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> with a prompt to identify opportunities to improve query performance, push operations down from Kotlin to SQLite, and any other improvements that have become available in the year or so since I last had an LLM audit my miniscule amount of SQL. I mostly do this to find out SQLite features, and got to learn about a few more tricks.</p>
<ul>
<li><code>INSERT OR REPLACE</code> can accidentally trigger cascading deletions via foreign key relations, so it is better spelled out using <code>ON CONFLICT(primaryKey) DO UPDATE SET column1 = new.column1;</code></li>
<li>Specifying <code>WITHOUT ROWID</code> when creating a table skips a hidden column that SQLite uses as a more efficient primary key for searching for the row in the storage engine. This can yield modest storage savings for bigger data sets. More on that <a href="https://sqlite.org/rowidtable.html">here</a>.</li>
<li>Use <code>RETURNING &lt;field&gt;</code> to have a query both update and return data, which can be used to avoid an additional query to read back the updated data.</li>
</ul>
<h2 id="clank-clank-clank">CLANK CLANK CLANK</h2>
<p>This week I changed my <a href="https://pi.dev">Pi</a> setup to ditch the third-party subagent extension and instead go back to the barebones example subagent extension from the main Pi repo. I updated it to <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/fece2293c9795924229ceac59e09ffce884cf696">handle some more of my local tools</a>, and added a config option to <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/bc026882d549c4586d9548657c401534408bb81a">limit nested subagents</a> which was a problem that I had seen with GPT-5.6 models which recursively spawned subagents and racked up massive bills.</p>
<p>I also finally managed to make the <code>websearch</code> tool from <a href="https://github.com/goncalossilva/tau">tau</a> work on my setup. I hadn’t realized that <a href="https://github.com/numtide/llm-agents.nix">llm-agents.nix</a> bundles Pi with the Bun JS runtime which didn’t have the necessary <code>node:sqlite</code> module. Switching that to Node.js solved the problem for me.</p>
<h1 id="food">Food</h1>
<p>Pretty good week for home cooking, though it all fell apart during the weekend :D</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The recipe asked for approximately 3 times the oil this actually needed. So very delicious though." aria-label="Bowl of spicy potatoes" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" alt="Bowl of spicy potatoes" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The recipe asked for approximately 3 times the oil this actually needed. So very delicious though.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I threw together this pasta with some frozen chicken sausages one of the nights, was quite delicious." aria-label="Creamy chicken pasta in a bowl" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" alt="Creamy chicken pasta in a bowl" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I threw together this pasta with some frozen chicken sausages one of the nights, was quite delicious.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Another IG recipe but at least it reminded me frozen veggies exist, so yay." aria-label="Bowl of vegetable rice with paneer" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" alt="Bowl of vegetable rice with paneer" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Another IG recipe but at least it reminded me frozen veggies exist, so yay.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-30-2026/</id>
    <title>Weeknotes: Week #30 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-30-2026/"/>
    <published>2026-07-26T11:44:25.124Z</published>
    <updated>2026-07-26T11:44:25.124Z</updated>
    <summary>Reading, sleeping, then reading again. Truly a week of all time.</summary>
    <content type="html"><![CDATA[<h1 id="personal">Personal</h1>
<p>Going through my journal it seems I did little this week outside of read, end up napping since I was reading in bed, then wake up and read again. Solid 9/10 week, no complaints 👌</p>
<h2 id="reading">Reading</h2>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" data-pswp-width="1072" data-pswp-height="1448" data-pswp-caption="There are worse problems to have than finishing a new favorite book series but it is up there" aria-label="Reading statistics page in KOReader, showing I've been reading every day since July 3 and finished 4 Mother of Learning books." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" alt="Reading statistics page in KOReader, showing I've been reading every day since July 3 and finished 4 Mother of Learning books." loading="lazy" decoding="async" width="1072" height="1448" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">There are worse problems to have than finishing a new favorite book series but it is up there</figcaption></figure>
<p>This entire month has gone into reading through the Mother of Learning series which I grew to love immensely, and I’m genuinely a little sad that there’s no more of it 🙃</p>
<p>Given how consistent I’ve been this month, I’ve decided to threaten that with non-fiction once again, hopefully it will go better this time. As part of this refreshed fervour I have also added a <a href="https://msfjarvis.dev/reading/">/reading</a> page to this site that pulls data from my <a href="https://bookwyrm.social/user/msfjarvis">Bookwyrm profile</a>.</p>
<h2 id="socializing">Socializing</h2>
<p>Extremely misleading section header given how little I actually interacted with people this week. On Thursday I started working then quickly decided I wasn’t really feeling it, and took the day off — shockingly — to read. By Sunday, I was off the high having finished MoL, so I went on a solo brunch just to get some time out in the sun. Had a nice time at <a href="https://www.bangaloreeats.com/place/cafe-grey-by-dongle-and-co-indiranagar">Cafe Grey</a> and as usual both their food and coffee were delicious.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The waffles were just the right level of sweet" aria-label="Waffles dusted with powdered sugar, served with syrup and butter" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" alt="Waffles dusted with powdered sugar, served with syrup and butter" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The waffles were just the right level of sweet</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Starbucks could learn a thing or two about how much ice actually goes in one of these" aria-label="A tall glass of frothy coffee on a cafe table" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" alt="A tall glass of frothy coffee on a cafe table" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Starbucks could learn a thing or two about how much ice actually goes in one of these</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The toasties were surprisingly filling despite looking like rather small portions" aria-label="Toasted bread topped with chicken, peppers, tomatoes, and melted cheese" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" alt="Toasted bread topped with chicken, peppers, tomatoes, and melted cheese" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The toasties were surprisingly filling despite looking like rather small portions</figcaption></figure></div>
<h1 id="work">Work</h1>
<p>I have complex feelings about <a href="https://www.seangoedecke.com/about">Sean Goedecke</a>’s writing, but I decided to take some of the advice from the <a href="https://www.seangoedecke.com/doing-nothing-at-work/">doing nothing at work</a> essay to free up my time for interesting opportunities that might turn up. This paid off pretty quickly, and I spent this week mostly focusing on one of those projects. A bulk of the work was already in place, so I’ve been able to move fast on it. Hopefully it’ll be done and dusted by next week, and I can go back to focusing on new feature work for <a href="https://developers.cloudflare.com/realtime/realtimekit/">RealtimeKit</a>.</p>
<p>That said, I did cap off the RealtimeKit <a href="https://en.wikipedia.org/wiki/Monorepo">monorepo</a> side quest by moving the final piece in: the iOS UI Kit. This was a bit of a hassle due to how the dependencies work out, but ultimately everything fell into place. I am fully confident this house of cards will fall apart the second I trigger the release pipeline, but that’s a problem for a later date.</p>
<h1 id="meta">Meta</h1>
<p>The site has had a bunch of changes this week as I mucked around with adding the <a href="https://msfjarvis.dev/reading">/reading</a> page. The nav links at the top are now truncated to be 3 + overflow as I keep adding standalone pages. The resulting UI is still a little too wide for mobile, so I will probably keep iterating on this to make it look nice on all sizes.</p>
<p>The webmentions server that processes outgoing content now uses the hidden <code>p-summary</code> element instead of <code>e-content</code> to populate the body, so people receiving Webmentions from me will start seeing shorter “description” fields instead of the awkwardly HTML-stripped main content.</p>
<h1 id="cooking">Cooking</h1>
<p>Not a lot of cooking this week as we first made a big portion of paneer and ate it over two days, then Yash fell sick so we were down to plain khichdi. I’m also not having the best time with food, so the kitchen was mostly unused this week. The paneer was our first foray into blending roasted veggies to make a curry and the result was exactly as smooth and creamy as promised. Will definitely be doing more of this going forward given how easy it was to put together.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="We decided to make a big portion of this and get two dinners out of it, totally the right call" aria-label="Paneer curry with peas in a large pan" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" alt="Paneer curry with peas in a large pan" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">We decided to make a big portion of this and get two dinners out of it, totally the right call</figcaption></figure>
<h1 id="odin-of-the-week">Odin of the Week</h1>
<p>Seeing Odin on my Mastodon feed gives me infinite joy, so I’ve decided that Odin of the Week can now just be a running segment. Who would not want to see this human-sized Newfoundlander puppy? Here is a handy <a href="https://infosec.exchange/@0xabad1dea/113380498047949124">FAQ</a> about Odin, so you know what you’re getting into :D</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116980897659510296" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Someone needed an extra big brushie and wasn’t too thrilled about it</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/980/896/851/127/222/original/9b70721014bfd3f1.jpeg" alt="Me sitting on the floor next to Odin the Newfie, holding an enormous quantity of black fur " loading="lazy" data-astro-cid-hgg3ctr5=""></figure><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/980/897/378/887/974/original/8f7032a3ff6e7912.jpeg" alt="Odin making his best attempt at an intimidating face at mommy " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-25T13:40:41.730Z" data-astro-cid-hgg3ctr5="">25 Jul 2026, 13:40</time><a href="https://infosec.exchange/@0xabad1dea/116980897659510296" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-29-2026/</id>
    <title>Weeknotes: Week #29 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-29-2026/"/>
    <published>2026-07-19T10:51:02.631Z</published>
    <updated>2026-07-19T10:51:02.631Z</updated>
    <summary>This week went by a little too quickly...</summary>
    <content type="html"><![CDATA[<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="After seemingly endless teasing, we finally got a bit of welcome rain" aria-label="Dark rain clouds above buildings, power lines, and a streetlight." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" alt="Dark rain clouds above buildings, power lines, and a streetlight." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">After seemingly endless teasing, we finally got a bit of welcome rain</figcaption></figure>
<h1 id="personal">Personal</h1>
<p>I had my passport application appointment this week, which got denied due to my landlord leaving the rent agreement incomplete 🙃. Will have to get that fixed then go back mid-August to get it reviewed again, and hopefully not run into any more problems.</p>
<h2 id="reading">Reading</h2>
<p>I’ve continued blazing through the Mother of Learning series, finishing <a href="https://bookwyrm.social/user/msfjarvis/generatednote/12059415">ARC 2</a> on Saturday and immediately <a href="https://bookwyrm.social/user/msfjarvis/generatednote/12059456">picking up ARC 3</a>. These books are too good! I’m fully expecting to finish reading the series in the next 2 weeks, so suggestions are welcome! If you want a vibe check on my interests, <a href="https://bookwyrm.social/user/msfjarvis/books/read">this</a> is the list of everything I’ve read in the past ~18 months.</p>
<h2 id="socializing">Socializing</h2>
<p>Yash and Swapnil dragged me along to watch Dhamaal 4 which was just as terrible as I had expected it to be. The formula has become so repetitive and boring that the jokes have now turned meta. I was hoping they’d stop making these but the movie ends with an announcement for Dhamaal 5, so I suppose that’s not happening anytime soon.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="While walking back from the movie a VIP forced a road closure, never seen an empty major road in Bengaluru before." aria-label="A mostly empty Bengaluru road beneath a flyover at dusk." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" alt="A mostly empty Bengaluru road beneath a flyover at dusk." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">While walking back from the movie a VIP forced a road closure, never seen an empty major road in Bengaluru before.</figcaption></figure>
<p>After the movie we went to Element 3 for food, which redeemed the night.</p>
<p>On Saturday I went to <a href="https://blr.indiewebclub.org/">IndieWebClub</a> and helped out a bit, but I wasn’t feeling super well with the rain coming in, so I bailed a little early.</p>
<h1 id="work">Work</h1>
<p>Things at work have been slow as we’ve all been heads down in debugging and remediation, but those events are starting to bear fruit. Hopefully by the end of next week we’ll be in a much better spot.</p>
<p>I still managed to get <a href="https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#2026-07-17">a release out</a> for the mobile SDKs since we had a customer waiting on some improvements. Our release process has too many moving parts, I clearly haven’t automated enough.</p>
<h1 id="meta">Meta</h1>
<p>The site now has <a href="https://msfjarvis.dev/changelog">a changelog page</a> which contains major changes made to the site. This week has been <em>slightly</em> busy. As part of last week’s fediverse migrations, I’ve now changed all links to my old Mastodon account to instead redirect to an archive I host. In case the <code>androiddev.social</code> server does go down, this will keep them working. The posts and notes lists now group by year so I can feel better/worse about how much more/less I’ve been writing :D</p>
<p>To show off the <code>MastodonPost</code> embed component, here’s the weekly Odin of the Fediverse.</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116946074763792559" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Public Transport Odin on his way to say goodbye to the Jesuit scholars before they return to Rome</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/946/074/281/497/258/original/b94153dd391a8c26.jpeg" alt="Odin the Newfie pleased about riding the Amsterdam tram " loading="lazy" data-astro-cid-hgg3ctr5=""></figure><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/946/074/555/145/173/original/68f7bada6492ec33.jpeg" alt="Odin the Newfie loitering at the entrance to Vondelpark " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-19T10:04:46.508Z" data-astro-cid-hgg3ctr5="">19 Jul 2026, 10:04</time><a href="https://infosec.exchange/@0xabad1dea/116946074763792559" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>
<h2 id="writing">Writing</h2>
<p>Good week on the writing front, I published a note <a href="https://msfjarvis.dev/notes/how-to-dig-up-historical-execution-logs-from-systemd/">about finding old systemd logs</a>, and another about <a href="https://msfjarvis.dev/notes/debugging-how-i-accidentally-blocked-someone-from-using-my-app/">debugging</a> what part of my network stack had accidentally blocked a Claw user. I finally published the post I had been working on for the past 2 months: <a href="posts/rewriting-claw-html-parser-for-over-the-air-updates/">“Rewriting Claw’s HTML parser for over-the-air updates”</a> recounts my experience of porting my app Claw to use the <a href="https://github.com/cashapp/zipline">Zipline</a> library. I rewrote the post multiple times, but I’m very proud of how it came together in the end. Huge thanks to <a href="https://github.com/swapnilmadavi">Swapnil</a> who reviewed the final draft, it was very nice to see him walk into the office reading it :’D</p>
<h1 id="cooking">Cooking</h1>
<p>Home cooking has been relatively slow this week as I mostly eat breakfast in nearby South Indian restaurants while returning from the gym, and wasn’t feeling up for dinner on multiple nights. Yash’s been making a bunch of Instagram stuff as he tries to figure out a long term solution for breakfast, check out <a href="https://yashgarg.dev/weekly-notes-29-2026/#cooking">his weeknote</a> for some of those. That mousse really is the truth!</p>
<p>We did make these tasty paneer rolls, albeit by getting a little lazy and ordering pre-made parathas 😅</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="First time making a mint chutney in this house, I think I'll try to always have a small batch in the fridge going forward" aria-label="Three paneer rolls on a steel plate with green chutney." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" alt="Three paneer rolls on a steel plate with green chutney." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">First time making a mint chutney in this house, I think I'll try to always have a small batch in the fridge going forward</figcaption></figure>
<p>I made a batch of hummus this morning (after putting it off for 2 days…), so hopefully next week will involve some Mediterranean forays :D</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-28-2026/</id>
    <title>Weeknotes: Week #28 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-28-2026/"/>
    <published>2026-07-11T07:13:00.000Z</published>
    <updated>2026-07-11T07:13:00.000Z</updated>
    <summary>30th weeknote in a row baby!</summary>
    <content type="html"><![CDATA[<h1 id="personal">Personal</h1>
<p>Relatively quiet week for me as I mostly focused on getting back to exercising which has been going well. I occupied my days with reading and taking evening naps which is making me feel old in a way I haven’t felt before 😄.</p>
<h2 id="socialising">Socialising</h2>
<p>Mayank is back home, and all week we’ve been making plans for one thing or another in the group chat. Genuinely this is how it feels when he hits us with the bombastic side eye while we’re setting up times for basically one movie a week lol</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" data-pswp-width="671" data-pswp-height="673" data-pswp-caption="Don't worry buddy we do miss you" aria-label="A meme of a wojak standing alone in the corner at a party while other people around him are having fun and mingling." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" alt="A meme of a wojak standing alone in the corner at a party while other people around him are having fun and mingling." loading="lazy" decoding="async" width="671" height="673" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Don't worry buddy we do miss you</figcaption></figure>
<p>Speaking of movies, this week we watched <a href="https://www.imdb.com/title/tt37544992/">Baby Do Die Do</a>. Pretty generic plot but the movie had some good moments, enough for a one time watch but nothing really noteworthy. It was quite late by the time we returned from there so dinner was at the Truffles restaurant in Indiranagar.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="These were a little too oily, wouldn't recommend." aria-label="Chicken popcorn with dipping sauce on a black platter." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" alt="Chicken popcorn with dipping sauce on a black platter." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">These were a little too oily, wouldn't recommend.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This chicken club sandwich was awesome, everyone liked it." aria-label="Grilled sandwich and crisps on a plate, with chicken popcorn behind." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" alt="Grilled sandwich and crisps on a plate, with chicken popcorn behind." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This chicken club sandwich was awesome, everyone liked it.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The peri peri chicken burger was also great, would recommend." aria-label="Burger and crisps beside fried chicken popcorn with dipping sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" alt="Burger and crisps beside fried chicken popcorn with dipping sauce." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The peri peri chicken burger was also great, would recommend.</figcaption></figure></div>
<h2 id="reading">Reading</h2>
<p>I’ve been very, very engrossed in reading the Mother of Learning series, so I’ve been trying to steal time for it at pretty much every chance I get. Reading in bed has become my new favorite pastime, and also led to some unplanned naps. All in all I’m reasonably confident about the 24 books a year reading goal now which was looking a little rough a couple of months ago.</p>
<p>The office was shockingly empty on Wednesday, so I stayed back for an extra 2 hours just to read in comfort and managed to <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11975508">finish Mother of Learning: ARC 1</a>. No spoilers, but the ending was a crazy cliffhanger to leave the reader with. I can’t imagine the anxiety of being a web series reader when this story was being written live and having to wait weeks to know what happened to the protagonist.</p>
<p>Thankfully, I can just flip over to the next book, which <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11989593">I did</a>, and it’s just as great.</p>
<h2 id="fediverse-migrations">Fediverse migrations</h2>
<p>I had to deal with some data migrations this week as I switched to <a href="https://fantastic.earth">Abhinav’s Mastodon server</a>, away from <a href="https://androiddev.social">androiddev.social</a> which could be shutting down in December, and I’d rather deal with the associated pains sooner than later. Abhinav runs a <a href="https://stic.earth">bunch of services</a> at cost for friends and family, and I’m grateful he helped me out here.</p>
<p>That said, my new Fediverse account is at <a href="https://fantastic.earth/@msfjarvis">msfjarvis@fantastic.earth</a>! I have my old post history saved which I <em>might</em> put up as a static archive somewhere so I can replace the links to my old posts, but that’s a future yak to shave.</p>
<p>I also tried migrating out of <a href="https://bookwyrm.social">Bookwyrm</a> to Abhinav’s server, but ran into a lot of problems with missing books on this server failing the user import. I’m slowly adding the missing books so I can get my user import done, but it has <a href="https://fantastic.earth/@msfjarvis/116896699738136166">been rather frustrating</a>, so I might stick it out with the old server after all.</p>
<p>One might wonder why I bother dealing with the Fediverse when so much of it is a pain in the ass? Well, the Fediverse has Odin.</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116900098449254586" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Odin got a bit hyper this morning when he realized that mommy had *not* snuck out the door at the crack of dawn this time</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/900/098/232/693/858/original/306f8447de78adee.jpeg" alt="Odin the Newfie full of love, wonder and drool " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-11T07:12:23.625Z" data-astro-cid-hgg3ctr5="">11 Jul 2026, 07:12</time><a href="https://infosec.exchange/@0xabad1dea/116900098449254586" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>
<h1 id="work">Work</h1>
<p>With two incidents in quick succession we’ve ended up in a deployment freeze and a big list of hardening work to prevent such problems in the future. I’m planning to get involved with the backend side of things to help out as the SDK workload has drastically reduced with all our major roadmap items already shipped out.</p>
<h1 id="meta">Meta</h1>
<p>I resisted the urge to do too much to the site, only working to restore the search feature that I hadn’t ported over from the old Hugo site. It’s still built on <a href="https://pagefind.app">Pagefind</a>, but I’ve styled the UI to match the site a bit better.</p>
<p>On Friday night I accidentally deployed my drafts site to production while working on the site locally and didn’t realize until I saw notifications from my RSS reader picking up duplicate posts. Sorry again for everyone else who got spammed by that mistake 🙇</p>
<h2 id="writing">Writing</h2>
<p>Shockingly productive week on the writing front! I wrote <a href="https://msfjarvis.dev/posts/my-first-spam-webmention/">about a spam Webmention</a> I received some time ago and the moderation UI I had to build to combat future instances, and a <a href="https://msfjarvis.dev/posts/julyreply-re-stuck-in-draft/">reply post</a> as part of the <a href="https://robertbirming.com/julyreply-2026-blog-connecting/">JulyReply blogging event</a>. I also had to write a small <a href="https://msfjarvis.dev/posts/apologies-for-the-rss-mishap/">apology post</a> for the spam I spread via my RSS mishap.</p>
<h1 id="cooking">Cooking</h1>
<p>Yash’s stash of Instagram recipes continues to keep us fed. No blender-based recipes yet, will definitely try to find one soon™.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="We flubbed like 4 separate steps on this recipe and it still came out delicious, definitely a candidate for the permanent rotation." aria-label="Egg curry served over rice in a metal bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" alt="Egg curry served over rice in a metal bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">We flubbed like 4 separate steps on this recipe and it still came out delicious, definitely a candidate for the permanent rotation.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Veggies, spices, some sauces and a carb in a pan. Unbeatable combination every single time." aria-label="Penne pasta with vegetables in a metal bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" alt="Penne pasta with vegetables in a metal bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Veggies, spices, some sauces and a carb in a pan. Unbeatable combination every single time.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-27-2026/</id>
    <title>Weeknotes: Week #27 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-27-2026/"/>
    <published>2026-07-04T18:33:17.540Z</published>
    <updated>2026-07-04T18:33:17.540Z</updated>
    <summary>Lots of socialising, food, and getting back into reading</summary>
    <content type="html"><![CDATA[<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I don't think I did justice to how pretty the Moon looked that night" aria-label="Bright moon glowing through palm leaves against a dark night sky" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" alt="Bright moon glowing through palm leaves against a dark night sky" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I don't think I did justice to how pretty the Moon looked that night</figcaption></figure>
<h1 id="personal">Personal</h1>
<p>My health was finally good enough this week to return to the gym, felt nice to be back in the swing of things. Hopefully the weather does not screw me over and I can work up to my old schedule again.</p>
<h2 id="reading">Reading</h2>
<p>I’ve been ramping up my reading so I can hit my self imposed 24 books a year goal. I finished reading the 3rd book of the Chaos Walking trilogy, <a href="https://en.wikipedia.org/wiki/Monsters_of_Men">Monsters of Men</a>. On <a href="https://kat.bio">Amogh</a>’s recommendation, I’ve now started the <a href="https://www.royalroad.com/fiction/21220/mother-of-learning">Mother of Learning</a> series. I’m 200 pages in already, the story’s great and I’ve found myself choosing to climb into bed with the Kobo at times where I’d usually pull up Steam or a terminal. I’m also making a change and <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116851965538384554">reading this on KOReader</a> since I’ve had it installed for a while now and never really spent time with it to find what reading settings work for me.</p>
<h2 id="socialising">Socialising</h2>
<p>The group chat had planned a visit to <a href="https://thezaitoon.com/">Zaitoon</a> last week which kept getting put off for one reason or another, but we finally were able to make time this week. The food was excellent, even though I’m not usually a mutton enjoyer I quite liked the curry we got. Will definitely be visiting again!</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Everything in the main course was delicious" aria-label="Restaurant table with a variety of naan, and two rich curries in white bowls" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" alt="Restaurant table with a variety of naan, and two rich curries in white bowls" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Everything in the main course was delicious</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A little drier than I would've liked but still quite tasty" aria-label="Plate of grilled kebabs with dipping sauces, fries, and onions" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" alt="Plate of grilled kebabs with dipping sauces, fries, and onions" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">A little drier than I would've liked but still quite tasty</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="We made a mess trying to split this four ways lol" aria-label="Tall faluda dessert with ice cream, wafers, fruit, and a small paper umbrella" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" alt="Tall faluda dessert with ice cream, wafers, fruit, and a small paper umbrella" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">We made a mess trying to split this four ways lol</figcaption></figure></div>
<p>We decided to burn the calories by walking back home, and came across a ClickHouse ad on a billboard, definitely “only in Bengaluru”! Funnily enough the very next day I saw this post on <a href="https://lobste.rs">Lobsters</a> : <a href="https://matduggan.com/clickhouse-is-winning-the-observability-wars/">“ClickHouse is winning the observability wars”</a>.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Only in Bengaluru am I subjected to database companies advertising on the streets" aria-label="Large ClickHouse billboard above a road at night with streetlights and trees" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" alt="Large ClickHouse billboard above a road at night with streetlights and trees" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Only in Bengaluru am I subjected to database companies advertising on the streets</figcaption></figure>
<p><a href="https://www.sasikanth.dev/">Sasikanth</a> is back in Bengaluru, he visited me on Saturday to catch up for a bit, then we went for lunch to the nearby <a href="https://maravanthe-coastal-cuisine.eatwithnia.com/">Maravanthe Coastal Cuisine</a> with Yash tagging along.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Not the best meal we've had but you can't really beat their prices" aria-label="Chicken meal on a banana leaf with rice, curry, papad, and side dishes" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" alt="Chicken meal on a banana leaf with rice, curry, papad, and side dishes" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Not the best meal we've had but you can't really beat their prices</figcaption></figure>
<h1 id="work">Work</h1>
<p>Work was pretty quiet this week as we continued stumbling through one access problem after another trying to get new releases out for our Flutter SDK. Maybe next week 😔✊</p>
<p>In our weekly sync with the US team I got the chance to talk about some LLM-driven performance improvements I had made to our native SDKs, bringing our meeting join times down by ~20%. I still consider it to be somewhat slower than I’d like, so work on this front will continue.</p>
<p>We had a “minor” <a href="https://new.cloudflarestatus.com/incidents/4sfv79jntx9d">incident</a> on Thursday night, our backend team spent multiple hours mitigating the fallout. Being on call in a company of this size is a scary prospect, and I’m always impressed with how incident response happens at Cloudflare.</p>
<h1 id="meta">Meta</h1>
<p>The site has received some upgrades! The image component now has the ability to have separate images for light/dark mode, which I’ve started using for UI screenshots; light mode users rejoice. There’s now an unobtrusive ToC UI, and mermaid diagrams are now rendered using <a href="https://kroki.io">Kroki</a> instead of the Mermaid JS library. Thanks to <a href="https://yashgarg.dev">Yash</a> for the tip about Kroki!</p>
<h1 id="writing">Writing</h1>
<p>I published a new post on Monday about the changes I made last week to <a href="https://msfjarvis.dev/posts/keeping-ai-crawlers-off-my-forgejo-server/">keep AI crawlers off my Forgejo server</a>. So far all the mitigations have borne fruit, and the number of IPs that need to be banned by my server has stopped going up. Since the penalty for the 404 ban lasts a full month, that graph will hold at that level until the end of July and hopefully never climb back up 🤞</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" data-pswp-dark-src="https://msfjarvis.dev/_astro/cloudflare-security-rules-dark.CFlpA9FG.webp" data-pswp-width="1322" data-pswp-height="452" data-pswp-caption="I still don't know why those two repos specifically are so interesting to the crawlers" aria-label="Cloudflare dashboard showing a series of security rules and the number of individual requests being handled by them" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><source media="(prefers-color-scheme: dark)" srcset="/_astro/cloudflare-security-rules-dark.CFlpA9FG.webp" data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" alt="Cloudflare dashboard showing a series of security rules and the number of individual requests being handled by them" loading="lazy" decoding="async" width="1322" height="452" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I still don't know why those two repos specifically are so interesting to the crawlers</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" data-pswp-dark-src="https://msfjarvis.dev/_astro/fail2ban-dark.CTWcRiBM.webp" data-pswp-width="2148" data-pswp-height="1230" data-pswp-caption="The Cloudflare mitigations have taken care of most of the problems so far, I might take off the nuclear 404 -> ban rule from the server" aria-label="Grafana dashboard showing over 30 thousand bans issued by fail2ban" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><source media="(prefers-color-scheme: dark)" srcset="/_astro/fail2ban-dark.CTWcRiBM.webp" data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" alt="Grafana dashboard showing over 30 thousand bans issued by fail2ban" loading="lazy" decoding="async" width="2148" height="1230" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The Cloudflare mitigations have taken care of most of the problems so far, I might take off the nuclear 404 -&gt; ban rule from the server</figcaption></figure>
<h1 id="cooking">Cooking</h1>
<p>We cooked all nights we were at home, other than one where I fell asleep reading 😬. Nothing new this week, but Prime Day finally had a discount on a blender Yash and I had been eyeing so there are many a blended cottage cheese recipes in our future.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The Instagram egg rice recipe continues to deliver" aria-label="Bowl of egg rice with a spoon, held in one hand" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" alt="Bowl of egg rice with a spoon, held in one hand" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The Instagram egg rice recipe continues to deliver</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="TIL baking soda speeds up pressure cooking of chickpeas" aria-label="Steel plate with chapatis, a bowl of chickpea curry, and a glass of buttermilk" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" alt="Steel plate with chapatis, a bowl of chickpea curry, and a glass of buttermilk" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">TIL baking soda speeds up pressure cooking of chickpeas</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-26-2026/</id>
    <title>Weeknotes: Week #26 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-26-2026/"/>
    <published>2026-06-28T11:51:11.378Z</published>
    <updated>2026-06-28T11:51:11.378Z</updated>
    <summary>Another week of bad health days :(</summary>
    <content type="html"><![CDATA[<h1 id="personal">Personal</h1>
<p>I’ve been cooped up at home for most of this week due to health problems and just general ~~<em>vibes</em>~~ so there wasn’t a lot happening to talk about. However, I did manage to, at least, successfully navigate the passport portal and apply for one. Hopefully I’ll be done with the process well in time for the Singapore trip a few friends and I have been planning. I also finally decided to try filing my own taxes and immediately ran into problems, so I’m back to having my CA deal with it. Maybe next year 🫡</p>
<p>On Saturday <a href="https://yashgarg.dev">Yash</a> and I met up with <a href="https://github.com/mayankofficial999">Mayank</a> and <a href="https://github.com/swapnilmadavi">Swapnil</a> to watch Supergirl. The movie was <em>okay</em>, it’s pretty clear that it was a minor subplot setting up for something bigger but DC does not have a good track record on delivering here, so I’m not very hopeful.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Krypto is the absolute goodest boy. Give him more screen time!" aria-label="A movie theater screen showing a dog beside a record player and a flying bottle." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" alt="A movie theater screen showing a dog beside a record player and a flying bottle." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Krypto is the absolute goodest boy. Give him more screen time!</figcaption></figure>
<h2 id="getting-into-skin-care">Getting into skin care</h2>
<p>I’ve struggled with oily skin for a long time so this week after going through yet another bout of feeling sorry for myself, I decided to clean up the vanity and order some things. I went back to read some messages I had exchanged with my sister on the topic, and got a nice moisturizer, a salicylic acid thing and a mild face wash. Results are supposed to show up in 6 to 12 weeks, so I guess I’ll know then. Why does everything take so long!!</p>
<h1 id="work">Work</h1>
<p>Had a minor scare at work where I thought I was in trouble but as it turns out I had been doing things fine, and it was someone else causing confusion 😮‍💨. Other than that we finally managed to get our <a href="https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/">big 3.x release</a> out! This was a lot of work over multiple months, and I’m glad we can now do something else for a bit :)</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>Most of my week was spent mitigating the well documented constant barrage of AI scrapers doing a number on my <a href="https://git.msfjarvis.dev">Git server</a>. After a few missteps with <a href="https://github.com/fail2ban/fail2ban">fail2ban</a> and Cloudflare’s IP Access Rules, I’ve managed to land on the right rulesets on Cloudflare to keep the worst of it from hitting the server. According to Cloudflare’s statistics, in the past week I’ve <em>blocked</em> over 500K requests and even then I continued seeing problems until this morning when I finally got a comprehensive set of protections in place. I want to write a blog post about this since this was an annoying problem to deal with, but ultimately most of it is just “use Cloudflare” and I don’t want it to come off as shilling. I am easily influenced, so reach out to express your interest if you want to read about it.</p>
<h1 id="meta">Meta</h1>
<p>The site is now running on Astro 7! Nothing user-facing should’ve changed, I’ve tried to not switch to any of the newer stuff like <a href="https://satteri.bruits.org/">Sätteri</a> so I can evaluate it more comfortably. I did try out migrating to Sätteri, and was able to <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/2b1e6c22ae7b801e458a3846e20420d07736b8c9">get it done</a> but ultimately the UnifiedJS/Remark/Rehype ecosystem is much more mature and I don’t currently feel the need for Sätteri’s promised speedups.</p>
<p>I’ve had Atom, RSS and JSON feeds for most taxonomies but was shockingly missing one for posts, so that has now <a href="https://msfjarvis.dev/posts/feed.atom">been added</a> (thanks Yash for letting me know). After some discussion with Yash I’ve also decided to update the main feeds at <code>https://msfjarvis.dev/feed.[extension]</code> to start including my shorter <a href="https://msfjarvis.dev/notes">notes</a> as well, so expect a minor wave of spam in your feed readers. If you want to only follow a specific type of writing, you can provide its listing page to your feed reader (like <code>https://msfjarvis.dev/posts</code>, <code>https://msfjarvis.dev/weeknotes</code>, or <code>https://msfjarvis.dev/tags/NixOS/</code>) and the feed reader will pick up a specialized feed for it.</p>
<p>I had also forgotten to put back my analytics script when the site was moved to Astro, that’s now back so I can continue ignoring the stats it’s recording.</p>
<div class="markdown-alert markdown-alert-note" dir="auto">
<p class="markdown-alert-title" dir="auto"><svg class="octicon" viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>NOTE</p>
<p>Oh, we also have these now.</p>
</div>
<h1 id="gaming">Gaming</h1>
<p>I played out my Marvel Rivals placement games with <a href="https://akhilnarang.dev">Akhil</a> this week and got placed at Gold 2, then didn’t touch ranked again this week. I’ve been logging in to keep up with the barrage of summer events in-game but not really doing much else. Most of the gaming time has gone into Helldivers with <a href="https://kat.bio">Amogh</a>, <a href="https://staticvar.dev">Shreyansh</a>, and my friend Prajwal. The new Supply FRV has been infinitely fun, and I’ll miss when it inevitably stops being a permanent free stratagem :(</p>
<h1 id="cooking">Cooking</h1>
<p>Cooking this week was a mixed bag, I ate pepperoni and cheese sandwiches for most breakfasts, and dinner ranged from a delectable and rich chicken gravy to the humble khichdi. Regardless, here are some of the highlights.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Veggies with a non-fat dressing, some Feta cheese on top and nachos on the side. Perfect dinner" aria-label="A bowl of chunky salad with corn, tomatoes, onions, and cheese." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" alt="A bowl of chunky salad with corn, tomatoes, onions, and cheese." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Veggies with a non-fat dressing, some Feta cheese on top and nachos on the side. Perfect dinner</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I like having small things of Greek yogurt in the fridge to make impromptu dips" aria-label="Two toasted sandwiches on a steel plate with a dip and a soda can." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" alt="Two toasted sandwiches on a steel plate with a dip and a soda can." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I like having small things of Greek yogurt in the fridge to make impromptu dips</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This tomato and egg rice dish was delicious, Yash's stash of Instagram recipes continues to deliver" aria-label="A bowl of tomato egg rice next to sliced cucumbers." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" alt="A bowl of tomato egg rice next to sliced cucumbers." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This tomato and egg rice dish was delicious, Yash's stash of Instagram recipes continues to deliver</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-25-2026/</id>
    <title>Weeknotes: Week #25 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-25-2026/"/>
    <published>2026-06-21T13:27:02.528Z</published>
    <updated>2026-06-21T13:27:02.528Z</updated>
    <summary>Ow, my neck…</summary>
    <content type="html"><![CDATA[<p>Rough week in the health department but the brain juices have held up against all odds. Also games!</p>
<h1 id="personal">Personal</h1>
<p>I woke up on Monday with a lot of pain in my neck and decided to take the day off for some rest and relaxation. In the midst of aforementioned R&amp;R <a href="https://yashgarg.dev/">Yash</a> asked me if I wanted to meet up with his girlfriend and him for breakfast at Toit, where we got some pancakes and waffles. Not the typical idea of resting an injury, but it was nice to be out and about in the sun. From there we walked the length of the 100 Feet road to end up at Lenskart for some new glasses for Yash. I got one of their complementary eye checkups which confirmed that despite my best efforts to the contrary I still have a 5/5 eyesight, having two bespectacled friends with me and receiving that result was funny.</p>
<p>The neck problem did not improve throughout the day, so I had to get a hot watter bottle and a neck brace, which have helped with the problem as the week progressed. Really starting to feel like a proverbial unc with these random aches, and had to skip the gym for the whole week.</p>
<p>I’m planning to finally take a proper holiday sometime next month, and have already taken some recommendations from <a href="https://rohanarthur.com">Rohan Arthur</a> for lake houses near Bengaluru. Reach out to me if you have ideas for any idyllic places close by where I can be <em>mostly</em> offline for a couple of weeks!</p>
<p>I am also working on my passport application in anticipation of a trip to Singapore for the PGL Counter Strike 2 Major with Yash, <a href="https://github.com/anunaym14">Anunay</a>, and <a href="https://github.com/akhilnarang">Akhil</a>. I have one failed application under my belt and no other real knowledge of the matter to speak of, so I am also open to someone helping me out here as well!</p>
<h1 id="media">Media</h1>
<p>Continued reading <a href="https://bookwyrm.social/book/1586797/s/the-ask-and-the-answer">The Ask and the Answer</a>, no more power cuts to help but illness has covered for that.</p>
<p>Started watching <a href="https://www.imdb.com/title/tt33332385/">Widow’s Bay</a> on Yash’s recommendation as well as an <a href="https://aftermath.site/widows-bay-apple-tv-matthew-rhys/">Aftermath post</a> I had read a month ago. With all the downtime this week I was able to finish the first season quickly, albeit in Italian for 9 of 10 episodes because I am a dumbass. Genuinely could not tell you how I came to think the show is meant to be Italian but at least not understanding the language made me actually watch instead of it being second monitor content.</p>
<p>Watched <a href="https://www.imdb.com/title/tt26657236/">Backrooms</a> with Yash, <a href="https://fknil.pages.dev/">Fenil</a>, and <a href="https://wantguns.dev/">Gunwant</a>. The movie was <em>awesome</em>, I fully get why these new age directors are rocking the boat in the upper echelons of Hollywood. Make some non-horror movies now!!</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Found footage is one of my favorite narrative devices" aria-label="A tilted shot of a yellow backrooms hallway on a screen" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" alt="A tilted shot of a yellow backrooms hallway on a screen" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Found footage is one of my favorite narrative devices</figcaption></figure>
<h1 id="meta">Meta</h1>
<p>The site has had some minor changes this week. <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/99325e9a151f220e59c80dc2af3de30f700d3bde">Share buttons have been removed</a> since they don’t get used, and all text on the home page is now about <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/db047f21b6101184abacc8dfe8f6fae296d5fafd">1.3x larger</a>, since I was starting to feel very old trying to squint at the text. I also noticed a bunch of my received webmentions were being incorrectly cut off during parsing, and weren’t being rendered as proper HTML; this has been <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/450ec0d14f2f46b4ce6c69b71e85358872233515">fixed retroactively</a> on all posts.</p>
<p>I wrote <a href="https://msfjarvis.dev/weeknotes/week-24-2026">last week</a> about being overwhelmed by my <a href="https://miniflux.app">Miniflux</a> RSS reader, and my attempts at clanking something to identify the problem. That was unsurprisingly useless, but I did find out some good quality of life changes to improve the scenario which have been documented in <a href="https://msfjarvis.dev/posts/taming-my-intimidating-rss-reader-queue/">this blog post</a> I wrote this week.</p>
<h1 id="projects">Projects</h1>
<p><a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> had a minor change to add a smoke-tests JVM-only CLI that runs daily to validate the HTML parsing code, hopefully to catch any regressions early.</p>
<p><a href="https://github.com/android-password-store/kage">kage</a> received an external PR this week <a href="https://github.com/android-password-store/kage/pull/539">to improve memory usage</a> in the streaming API, which motivated me to catch up on some pending work there. Kotlin is <a href="https://github.com/android-password-store/kage/pull/540">upgraded to 2.4.0</a>, the upstream test vectors <a href="https://github.com/android-password-store/kage/pull/541">have been updated</a> and the bugs uncovered by that fixed, and a longstanding TODO to <a href="https://github.com/android-password-store/kage/pull/542">properly handle some invalid inputs</a> been resolved.</p>
<h2 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h2>
<p>The <a href="https://github.com/rohitg00/agentmemory">agentmemory</a> experiment has concluded in <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/44e880d63bf897502f35425ac36e169e7f7ccff0">failure</a>. Clankers failed to find any meaningful information in the saved memories because they couldn’t figure out how to get them in a non-truncated form. I stole some <a href="https://pi.dev">Pi</a> extensions from <a href="https://lucumr.pocoo.org">Armin Ronacher</a>, adding <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/ec1802ee1b8334f8da5ac0790944896507a12363">some whimsy</a>, a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/b524ccd460a7e94d2984a3639cbed8c901cf1531">session analyser</a>, and a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/dee979282d5d67997741c627d0c78b349d8199d6">Q&amp;A widget</a>. I also added a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/82e1980f2c7044fcbb8817d7a2391e27565ebec6">Markdown viewer overlay</a> to make it easier to review specs and plans inline.</p>
<h1 id="gaming">Gaming</h1>
<p><a href="https://store.steampowered.com/app/553850/HELLDIVERS_2/">Helldivers 2</a> had a big update this week with a ton of buffs across the board, had a great time playing the Illuminate faction with the new Supply FRV.</p>
<p>I played even more <a href="https://controlgame.com/">CONTROL</a> this week, and finally finished the Foundation DLC just before writing this weeknote. In celebration of this feat I pre-ordered CONTROL Resonant, something I typically don’t do. The mêlée hack and slash combat simply looks sick, and I am fully invested in the story.</p>
<h1 id="food">Food</h1>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Been a while since I've been back at The Filter Coffee" aria-label="A crisp paper dosa on a banana leaf with chutneys and sambar" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" alt="A crisp paper dosa on a banana leaf with chutneys and sambar" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Been a while since I've been back at The Filter Coffee</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The air fryer browns the sausages a little too much for my preference" aria-label="A slice of pizza toast topped with chicken sausages and herbs" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" alt="A slice of pizza toast topped with chicken sausages and herbs" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The air fryer browns the sausages a little too much for my preference</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A simple egg sandwich just hits some days" aria-label="Two toasted egg sandwiches on a steel plate with ketchup" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" alt="Two toasted egg sandwiches on a steel plate with ketchup" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">A simple egg sandwich just hits some days</figcaption></figure></div>
<p>For all the Toit breakfast images, head to <a href="https://yashgarg.dev/weekly-notes-25-2026/">Yash’s weeknote</a> who is much more diligent about these things than I ever will be.</p>
<p>Since I was by myself on Monday I made myself a pretty sloppy salad of corn, cucumbers, onions, and tomatoes all doused in some crumbled feta cheese and a Greek yogurt dressing.</p>
<p>On Tuesday the whole team at work went out to Meghna Foods for lunch since our PM <a href="https://www.linkedin.com/in/korinne-alpers">Korinne Alpers</a> was getting read to head back to the US and wanted to sample some great biryani. For dinner, we just made our regular okra.</p>
<p>Thursday was feeling like a sandwich kind of day, so I just made an egg sandwich at home during our morning standup. Turns out there’s a lot of downtime in a 10-person meeting :P</p>
<p>I had been craving pizza toasts this week, so I decided to make some on Friday morning, I kinda screwed up by accidentally ordering sausages instead of pepperonis, but it was delicious regardless.</p>
<p>This morning I joined Mayank, Yash, and <a href="https://github.com/swapnilmadavi">Swapnil</a> for some dosas at The Filter Coffee which were great.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-24-2026/</id>
    <title>Weeknotes: Week #24 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-24-2026/"/>
    <published>2026-06-14T12:22:08.239Z</published>
    <updated>2026-06-14T12:22:08.239Z</updated>
    <summary>Another lazy week dedicated entirely to gaming and programming</summary>
    <content type="html"><![CDATA[<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Saw this angry fuzzball after a long while" aria-label="Ginger cat resting on a mat beside a plaid cushion." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" alt="Ginger cat resting on a mat beside a plaid cushion." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Saw this angry fuzzball after a long while</figcaption></figure>
<h1 id="life">Life</h1>
<p>I didn’t do much this week, owing to busy times at $DAYJOB and then having my semiannual burst of motivation which had me doing a lot of work on <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters">Claw</a>.</p>
<p>I finished reading <a href="https://bookwyrm.social/book/192589/s/the-knife-of-never-letting-go">The Knife of Never Letting Go</a>, after which <a href="https://bookwyrm.social">Bookwyrm</a> helpfully reminded me that I was halfway through the year but only a quarter of the way through my reading goal of 24 books a year 😔✊</p>
<p>That said I have been reading more frequently (started the sequel: <a href="https://bookwyrm.social/book/1586797/s/the-ask-and-the-answer">The Ask and The Answer</a>) during the multiple hour-long power cuts throughout the week (thanks Indiranagar) so hopefully I’ll catch up at some point. Or cheat by reading short stories, I don’t know.</p>
<h1 id="meta">Meta</h1>
<p>This site has seen some minor tweaks: the “divider” between the header and the content should be slightly better aligned now, and we can now render Mermaid diagrams!</p>
<p>I’m working on a blog post about the stuff I’ve been doing on Claw where those will come in handy, stay tuned for that to be published soon™ <sub>psst you can read the current draft <a href="https://drafts.msfjarvis.dev/posts/rewriting-claw-html-parser-for-over-the-air-updates/">here</a></sub></p>
<h1 id="work">Work</h1>
<p>I’m finally free of my self-inflicted deadline jail, and went right back to my cosy janitorial duties of refactoring ugly code and accidentally stumbling upon latent bugs. All in all a great week at work!</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>Energized by the aforementioned periodic burst of motivation, I managed to wrap up a handful of large changes to Claw.</p>
<ul>
<li>The search button now expands in-place rather than taking you to a separate full screen destination [<a href="https://github.com/msfjarvis/compose-lobsters/pull/1197">PR</a>]</li>
<li>All the HTML parsing logic is now delegated to a <a href="https://github.com/cashapp/zipline">Zipline</a>-based module, which means I can now do over-the-air updates of that code without a new app release. This will significantly improve the time-to-fix for site markup changes, and also ended up being a pretty interesting exercise in general. The draft post I linked above covers this work, and I hope to finish it off in a few days. <a href="https://github.com/msfjarvis/compose-lobsters/pull/1183">[PR]</a></li>
<li>I <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116687510122725010">talked on the Fediverse</a> some time ago about how the ability to log into the app was causing my pre-login tagging feature to break down. This week I implemented a simple solution to it after being <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116692105799028538">massively disappointed by Codex’s</a> attempt at it. [<a href="https://github.com/msfjarvis/compose-lobsters/pull/1203">PR</a>]</li>
</ul>
<p>I checked my <a href="https://miniflux.app">Miniflux</a> unread count at the start of this week: it had breached the 100 posts mark again, which made me wonder how that keeps happening because I look at it at least once a day, often more. To determine the issue, I sketched up a very basic “algorithm” involving gathering all entries for a specified period, calculating the time it takes for them to go from created → read and bucket those based on feed and tags. This gives me a very rough idea of what kinds of posts stay unread for long, which was good enough for what I had in mind. I let Codex loose on the problem, and obviously it was unable to follow a detailed spec and implementation plan, instead writing an empty shell that just had a bunch of no-op methods where the actual analysis would go 🙂</p>
<p>It took a lot of prodding to get it all to a proper spot, and I’m still tweaking it as I’m writing this weeknote because I like to suffer or something. You can find the slop code <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/miniflux-analyzer">here</a> if this seems interesting for any reason. My own instance is behind Cloudflare Access because I don’t trust even this fully static HTML by a clanker.</p>
<h1 id="gaming">Gaming</h1>
<p>This week was even more <a href="https://controlgame.com/">CONTROL</a> with <a href="https://kat.bio">Amogh</a> as we finished the base game and explored the DLC, getting my ass kicked by random side missions and continuing to unravel the mysteries of The Oldest House. I enjoyed this playthrough a <em>lot</em> more than any of the previous attempts by a huge margin, who knew companionship makes things more fun. Since Amogh also hasn’t done much of the DLC it’s been a fun time for the both of us to come across abominations beyond mortal comprehension.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="This game has some of the most mindbending visuals I've encountered" aria-label="A character stands in a warped office space with tilted rooms and floating papers." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" alt="A character stands in a warped office space with tilted rooms and floating papers." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This game has some of the most mindbending visuals I've encountered</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="The final fight was honestly pretty easy but the atmosphere kept me on my toes the whole time" aria-label="A lone figure walks through a huge red-lit hallway toward a bright opening." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" alt="A lone figure walks through a huge red-lit hallway toward a bright opening." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The final fight was honestly pretty easy but the atmosphere kept me on my toes the whole time</figcaption></figure></div>
<h1 id="food">Food</h1>
<p><a href="https://msfjarvis.dev/weeknotes/week-23-2026/#food">As promised</a>, the pasta from last Sunday in all its glory (I ate a second serving on Monday so it counts as this week, hush). With Yash <a href="https://yashgarg.dev/weekly-notes-23-2026/">back from his Europe trip</a> we were back in the kitchen, and made a big pot of Shakshouka with 6 eggs instead of our usual 4. I was working from home on Friday, so I whipped together some plain ham and cheese sandwiches for breakfast and a simple garlic-based Greek yogurt dip, with a nice Coke Zero to round it all off. Sandwiches are awesome 😄</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="My first time cooking spinach and I'm blown away by how quickly it wilts and how little you get out of it" aria-label="Pot of creamy chicken and spinach pasta on a stovetop." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" alt="Pot of creamy chicken and spinach pasta on a stovetop." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">My first time cooking spinach and I'm blown away by how quickly it wilts and how little you get out of it</figcaption></figure><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Protein maxxing" aria-label="Bowl of shakshouka topped with herbs, served with toast on the side." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" alt="Bowl of shakshouka topped with herbs, served with toast on the side." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Protein maxxing</figcaption></figure><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Now that I think about it this kind of looks like a struggle meal..." aria-label="Ham sandwich, yogurt, and a can of Coke on a metal plate at a desk." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" alt="Ham sandwich, yogurt, and a can of Coke on a metal plate at a desk." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Now that I think about it this kind of looks like a struggle meal...</figcaption></figure></div>
<p>I was feeling the feels this morning for some reason so decided to treat myself to a nice breakfast at the nearby Cafe Muziri’s and also get some reading done under the pleasant sunlight. Eternally grateful to <a href="https://rohanarthur.com/">Rohan</a> for introducing me to this place, the vibe is always nice and cosy and the hash browns are to die for.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The scrambled tofu in the center was just the right amount of rich" aria-label="Cafe breakfast plate with toast, eggs, vegetables, fruit, and coffee on a table." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" alt="Cafe breakfast plate with toast, eggs, vegetables, fruit, and coffee on a table." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The scrambled tofu in the center was just the right amount of rich</figcaption></figure>
<p>See you next week!</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-23-2026/</id>
    <title>Weeknotes: Week #23 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-23-2026/"/>
    <published>2026-06-07T11:25:00.000Z</published>
    <updated>2026-06-07T11:25:00.000Z</updated>
    <summary>The most productive yet unhealthy week in a while</summary>
    <content type="html"><![CDATA[<p><a href="https://yashgarg.dev/">Yash</a> has been out this week for his trip to Europe, so I’ve been by myself and mostly filled that time with work and games.</p>
<h2 id="personal">Personal</h2>
<p>With all the free time this week I decided to sort out the discrepancies in my budgeting software and made some rather upsetting discoveries. The egregious one was me having flubbed my SIP changes last month, which meant I hadn’t actually ramped up my investments and was just blindly counting money as invested which was still sitting in my savings account. Thank you, ICICI Direct for a definitely-not-confusing UI.</p>
<p>The other one was mostly just annoying, but was caused by a very subtle interaction within Actual Budget that I wasn’t aware of. To make a long story short; when using enveloped budgeting and overspending a category, even if you add money back in the next month to zero it out, Actual will continue seeing it as overspent until you explicitly roll over the overspent month into the next one where you reimbursed it. I had a very confused 3 days after having to recreate an old account and its transactions.</p>
<p>I also watched the first season of <a href="https://en.wikipedia.org/wiki/Spider-Noir">Spider-Noir</a> this week, was surprised by how good it was. Definitely a little miffed that Amazon dumped it all in one go instead of letting the suspense build week over week but 🤷</p>
<h2 id="projects">Projects</h2>
<p>This website received some important updates:</p>
<ul>
<li>Webmentions are now <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/bab9074b33d9a152a08ebc4509916477212d1e6f">grouped by type</a> to make the UI more compact</li>
<li>As part of that change, I discovered that I wasn’t capturing the full content of Fediverse posts being sent via <a href="https://brid.gy">brid.gy</a> in my Webmentions server, which has <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/commit/b1110c8f115c0dd71d39c9a4d12c6c3becc41460">since been fixed</a>.</li>
<li>I discovered the <a href="https://www.brailleinstitute.org/freefont/">Atkinson Hyperlegible</a> font family last week, and finally <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/792f1ae90afe73d43a18428a226951d1689f9152">switched over</a> the site to them. As part of the change I’ve also made the site text a bit bigger since I had started to feel like I needed to squint to read some of it.</li>
<li>The dark theme is now using a <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/68b48529e20f3b5e05d1ac84f0ea272920162488">slightly lighter tone</a> to improve readability.</li>
</ul>
<p><a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a> had a new release and some new features added later.</p>
<ul>
<li>The app now has the ability to upvote and reply to comments, provided you’re logged in.</li>
<li>The release also fixed a bug caused by the use of certificate pinning by foolish past me.</li>
<li>The comment UI has been tweaked to match the now-defunct app <a href="https://www.reddit.com/r/BoostForReddit/">Boost for Reddit</a>, which does a far better job of using mobile screen real estate than I ever did.</li>
<li>The search UI is now a proper “search bar” style experience instead of being a separate navigation destination.</li>
</ul>
<h2 id="work">Work</h2>
<p>Things at work were pretty chill. I went to one of the client meetings I <a href="https://msfjarvis.dev/weeknotes/week-22-2026/">mentioned last week</a>, and let <a href="https://github.com/mayankofficial999">Mayank</a> sub in for me on the other one. After my visit we ended up at Burma Burma for lunch, where I focused too much on the food to actually take any pictures. Unsurprisingly, the food was incredible.</p>
<p>Other than that I mostly focused on a bunch of refactoring work and dealing with customer reports.</p>
<h2 id="gaming">Gaming</h2>
<p>I spent a <em>lot</em> of time gaming this week since I was home alone, and it was raining every time I wanted to do anything else.</p>
<p>I found this short and emotionally moving pixel art game called <a href="https://store.steampowered.com/app/4515660/Control_Im_Not_Coming_Back/">Control, I’m Not Coming Home</a> and played through it in around 30-40 minutes which was on par with their 45-minute estimate. The game and its story are too beautiful to not be experienced, so I’m not going to explain anything here. The only thing I can share is that the game does not have a keybind to walk backwards, make of it what you will :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Pixel art astronaut gloves reaching toward a floating person near a green planet." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" alt="Pixel art astronaut gloves reaching toward a floating person near a green planet." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">&nbsp;</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Pixel art view of Earth in space with text about drifting farther away." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" alt="Pixel art view of Earth in space with text about drifting farther away." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">&nbsp;</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Bright pink and teal game scene with a small figure facing a dark tree." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" alt="Bright pink and teal game scene with a small figure facing a dark tree." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">&nbsp;</figcaption></figure></div>
<p>After seeing the gameplay trailer for <a href="https://store.steampowered.com/app/3669870/CONTROL_Resonant/">CONTROL Resonant</a> I decided to finally best my oldest foe, and beat the original game: <a href="https://store.steampowered.com/app/870780/CONTROL_Ultimate_Edition/">CONTROL</a>.</p>
<p>Some backstory: CONTROL was the first game I bought after being cyberbullied by my friends into getting a GPU, and I was so dogshit at it that I got stuck on a minor boss for <em>weeks</em> until I just gave up. I tried again a few years later, and got my ass beat again by the same boss, and the game was uninstalled in shame once more.</p>
<p>This week I decided to play it on a Discord stream with <a href="https://kat.bio">Amogh</a> watching alongside who could at least help me since he’s beaten the game already. Shockingly I was no longer absolute ass at the game, so things have been smooth sailing so far. Hopefully I’ll be done long before the release of Resonant 🤞</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="The Mold gives me the creeps" aria-label="Titular character Jesse Faden aims a gun at enemies known as The Mold in a dark green cave." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" alt="Titular character Jesse Faden aims a gun at enemies known as The Mold in a dark green cave." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The Mold gives me the creeps</figcaption></figure>
<p>I also got mildly addicted to this spin off on Werewolf called <a href="https://store.steampowered.com/app/3803820/Demon_Bluff_Demo/">Demon Bluff</a>. It’s only available as a demo, but I’ve sunk 5-6 hours into it in less than 10 days, and it makes for a great screen share game in a Discord call.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="Every character has its own unique abilities, and the game packs in a lot of depth through those even in this limited demo" aria-label="Card-based puzzle game board with numbered characters and speech bubble clues." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" alt="Card-based puzzle game board with numbered characters and speech bubble clues." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Every character has its own unique abilities, and the game packs in a lot of depth through those even in this limited demo</figcaption></figure>
<h2 id="food">Food</h2>
<p>With Yash away I kept finding excuses to not cook since it was boring to just cook for myself. I finally decided today that it was enough dilly-dallying and finally made some air fried chicken nuggets with the chicken breast that had been sitting in the freezer for 5 days.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I had to do something to remind myself I can cook" aria-label="Breaded chicken nuggets on a steel plate with a bowl of creamy dipping sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" alt="Breaded chicken nuggets on a steel plate with a bowl of creamy dipping sauce." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I had to do something to remind myself I can cook</figcaption></figure>
<p>I’m also finally cooking a proper dinner tonight, but that’ll be revealed next week :D</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-22-2026/</id>
    <title>Weeknotes: Week #22 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-22-2026/"/>
    <published>2026-05-31T13:05:36.365Z</published>
    <updated>2026-05-31T13:05:36.365Z</updated>
    <summary>The first anniversary of IndieWebClub!</summary>
    <content type="html"><![CDATA[<p>Pretty “happening” week this time around! Let’s get right into it…</p>
<p>After a couple of weeks of frustrating silence, <a href="https://yashgarg.dev/">Yash</a> got <a href="https://yashgarg.dev/weekly-notes-22-2026/">his Visa</a> and will be heading out to Europe for a couple of weeks. Last time he was away for a similar trip I found myself somewhat struggling being by myself, but I’m much better prepared this time around so hopefully things will go smoothly back here. I got a sneak peek at his itinerary, and you should definitely be keeping an eye out for his next weeknote!</p>
<p>My colleague Tarush is leaving Cloudflare at the end of this week, so we had an impromptu farewell party followed by a trip to Karachi Bakery with the boys on our way back.</p>
<p>In some more fun news, it was the first anniversary of <a href="https://blr.indiewebclub.org">IndieWebClub</a> this week! There was a <a href="https://blr.indiewebclub.org/2026-se/">special session</a> on Saturday where we had a series of 13 lightning talks across the whole spectrum of the IndieWeb. Most talks were recorded, so hopefully there will be a public playlist on YouTube or PeerTube at some point 🤞</p>
<p>I took some awful pictures which I’ll attach here, but you can find the ones taken by smarter people in the <a href="https://photos.app.goo.gl/YNR9iQCzWV3kaD6X6">shared Google Photos album</a> and this <a href="https://lightroom.adobe.com/shares/836ab564df1e468c80ed1d3570dd66b5">Adobe Lightroom album</a>.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Arpit talking about obsessively building a website with Claude but forgetting to actually use it" aria-label="Arpit speaking at IndieWebClub, standing beside a projected slide showing his website." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" alt="Arpit speaking at IndieWebClub, standing beside a projected slide showing his website." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Arpit talking about obsessively building a website with Claude but forgetting to actually use it</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Sagrika's guide to finding your writing voice. Let the hate flow through you..." aria-label="Slide from Sagrika Padha’s talk about finding one’s writing voice, with notes on collecting sentences and writing in a continuous flow." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" alt="Slide from Sagrika Padha’s talk about finding one’s writing voice, with notes on collecting sentences and writing in a continuous flow." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Sagrika's guide to finding your writing voice. Let the hate flow through you...</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The importance of honesty in writing feels very underappreciated these days" aria-label="Sagrika Padha speaking into a microphone beside a slide about specific, emotional writing and developing a distinct voice." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" alt="Sagrika Padha speaking into a microphone beside a slide about specific, emotional writing and developing a distinct voice." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The importance of honesty in writing feels very underappreciated these days</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="That's my roommate!" aria-label="Yash giving a talk titled “Owning Conversations on the Open Web” at IndieWebClub." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" alt="Yash giving a talk titled “Owning Conversations on the Open Web” at IndieWebClub." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">That's my roommate!</figcaption></figure></div>
<p>After the talks everyone got together to hang out on the terrace and there was cake! And also some very ominous clouds, forcing Yash and I to dip back home to avoid getting stuck in the rain.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Anything for some rain in the AM instead of evenings..." aria-label="Very gray clouds overhead, some light gray buildings and the top of a very lush tree are visible towards the bottom of the image" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" alt="Very gray clouds overhead, some light gray buildings and the top of a very lush tree are visible towards the bottom of the image" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Anything for some rain in the AM instead of evenings...</figcaption></figure>
<h2 id="work-stuff">Work Stuff™</h2>
<p>Work has been somewhat chaotic this week as I chased self-imposed tight deadlines, but I was ultimately able to get everything that was within my control to the finish line. I did however fully exhaust myself due to compulsively working late nights, and by Friday I just needed to take an afternoon nap or risk falling asleep at my home desk. Definitely not the healthiest week I’ve had with respect to work but these should be very rare, since it was my own decision to take on just a <em>little</em> more than I was really capable of delivering 😅</p>
<p>Next week is going to involve visiting some clients which has the potential to be interesting, looking forward to the experience.</p>
<h2 id="personal-projects">Personal Projects</h2>
<p>Big week for the tens of users of my <a href="https://lobste.rs">lobsters</a> app <a href="https://msfjarvis.dev/g/compose-lobsters">Claw</a> as I had to make two releases in quick succession. The first release had been baking for nearly 2 months, and added the ability to log into the app to lay the groundwork for building interactive features in the future. I also switched the app over to not rely on the JSON API the site exposes due to a Ruby on Rails misfeature (according to the site admin) and instead just scrape the HTML itself. As my luck would have it, the markup changed literally 2 days after I made the release after having been perfectly stable for <em>weeks</em> since I made the initial swap, so I had to do an emergency hotfix. Grrr</p>
<p>I’ve continued hacking on the app, making a big range of changes to bring it up to parity with the website experience. In no particular order:</p>
<ul>
<li>Screenshot testing to make it easier to do iterative improvements</li>
<li>Changed the comments UI and UX to closely resemble the defunct Reddit client <em>Boost</em> — big thanks to Yash for that suggestion</li>
<li>(Unsuccessfully) <a href="https://github.com/msfjarvis/compose-lobsters/pull/1183">attempt</a> to move the parsing logic to a <a href="https://github.com/cashapp/zipline">Zipline</a>-backed module that would let me hot patch it without making users update the app</li>
<li>(In progress) add the ability for users to <a href="https://github.com/msfjarvis/compose-lobsters/pull/1184">reply to comments</a>. I paused work on it to write this weeknote!</li>
</ul>
<h2 id="clanker-things">Clanker things</h2>
<p>I talked <a href="https://msfjarvis.dev/weeknotes/week-21-2026">last week</a> about experimenting with <code>agentmemory</code> to remove the need for <code>AGENTS.md</code> files, so far that has yielded exactly 0 value. I haven’t had any luck in steering LLMs into autonomously persisting facts and decisions into memory, and <code>AGENTS.md</code> files themselves have been feeling useless as LLMs seem to mostly ignore them even in projects that do have the files. I did some tweaks to the prompt today to improve <code>agentmemory</code> usage, and will report back next week on how that went.</p>
<p>I also made one major-but-not-really change to the harness by <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/3045be0afc8bff4cea4fb148e39840bd360b9861">vendoring every single skill I use</a> into the Git repository itself rather than having them be symlinks to an untracked <code>~/.agents</code> directory. This makes the setup more portable and easier to make modifications to should I need to.</p>
<p>I don’t always agree with <a href="https://lucumr.pocoo.org">Armin Ronacher</a>, but I like to keep up with his excellent writing regardless. This week he posted a <a href="https://lucumr.pocoo.org/2026/5/26/clankers/">great article</a> about his persistent use of the word “Clankers” for what the AI pilled call <em>agents</em>, and I found myself nodding along to everything he was saying. I’m not going to do him the injustice of distilling his argument down to a couple of lines, so please go give it a read.</p>
<h2 id="the-obligatory-food-section">The obligatory food section</h2>
<p>This week had more Instagram recipes and me finally going back to my scoopable veggie salad. Expect more salads in coming weeks when I only have myself to feed :D</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Still can't believe this was just onions in a pan" aria-label="Creamy onion gravy or masala cooking in a frying pan with a spoon and spatula." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" alt="Creamy onion gravy or masala cooking in a frying pan with a spoon and spatula." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Still can't believe this was just onions in a pan</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="For how few steps were involved in this recipe it was incredibly delicious, can't do better in <15 minutes" aria-label="Chicken pieces browning in a frying pan on a stovetop during cooking" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" alt="Chicken pieces browning in a frying pan on a stovetop during cooking" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">For how few steps were involved in this recipe it was incredibly delicious, can't do better in &lt;15 minutes</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="My beloved bowl of chopped veggies..." aria-label="A bowl of chopped vegetable salad with cucumber, tomato, onion, and sweet corn, held in one hand with a spoon inside." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" alt="A bowl of chopped vegetable salad with cucumber, tomato, onion, and sweet corn, held in one hand with a spoon inside." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">My beloved bowl of chopped veggies...</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-21-2026/</id>
    <title>Weeknotes: Week #21 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-21-2026/"/>
    <published>2026-05-24T12:58:09.071Z</published>
    <updated>2026-05-24T12:58:09.071Z</updated>
    <summary>Honestly not even sure how I feel about this week</summary>
    <content type="html"><![CDATA[<p>As I’m sitting down to write this weeknote and looking through <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">my outline</a>, I’m realizing that I remember basically nothing I am reading. I can’t remember the last time a week has felt this long, but hey at least it’s over and I have words to prove it happened.</p>
<p>This week I had decided to be in the office every single day instead of our usual 3, so obviously I got rewarded for it on day 1 itself with very heavy rains. Thankfully an expensive taxi saved my hide before the traffic jams really started to materialize, and I was very grateful to be back inside before it really started pouring.</p>
<video controls="" loading="lazy"><source src="https://media.msfjarvis.dev/rain_on_monday-2026-05-24.mp4" type="video/mp4"></video>
<p>This was admittedly a little scary, but I came back home to the news that <a href="https://yashgarg.dev">Yash</a> had finished printing the Rocktopus I had requested last week. Here it is, guarding my workstation at the office the next day.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="He's perfect" aria-label="A 3D printed octopus with the head of Dwayne 'The Rock' Johnson, perched neatly on top of my monitor" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" alt="A 3D printed octopus with the head of Dwayne 'The Rock' Johnson, perched neatly on top of my monitor" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">He's perfect</figcaption></figure>
<p>A few weeks ago, Yash had come across a Reddit post from someone wanting to sell the mangoes they were growing, and we had decided to get some. They got delivered on Wednesday and goddamn were they huge. Unfortunately still raw and will take a few days to be ready to eat, but I feel it’ll be worth the wait.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" data-pswp-width="960" data-pswp-height="1280" data-pswp-caption="That's a thick boy" aria-label="A large raw mango in Yash's hand, him barely managing to hold on to it because of how huge it is" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" alt="A large raw mango in Yash's hand, him barely managing to hold on to it because of how huge it is" loading="lazy" decoding="async" width="960" height="1280" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">That's a thick boy</figcaption></figure>
<p><a href="https://github.com/swapnilmadavi">Swapnil</a> and I got stuck debugging something after a late work meeting, after wrapping it up Swapnil decided to start a group call with the lads. We did a solid half hour plus of just shooting the shit which was a nice way to wind down before bed. I had forgotten how much I love group calls with friends, it’s so hard to get people together these days. Damn you capitalism!</p>
<p>On Friday the entire RealtimeKit team got together for lunch at <a href="https://thepizzabakery.in/">Pizza Bakery</a>, where I was too focused on the pizza to actually take more than one picture. As usual, Yash <a href="https://yashgarg.dev/weekly-notes-21-2026/">has you covered</a> on that front.</p>
<p>I try to keep Sundays free so I can just exist for a day, no thoughts head empty. Unfortunately Mayank had other plans, so we went and watched The Mandalorian and Grogu today. I found the movie to be a fine spectacle, but it doesn’t really advance the wider world too much which seems to be my constant problem with Star Wars.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" data-pswp-width="4064" data-pswp-height="3056" data-pswp-caption="I am convinced Grogu being a puppet instead of CGI is the entire reason this character ever got traction" aria-label="A frame from the movie The Mandalorian And Grogu" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" alt="A frame from the movie The Mandalorian And Grogu" loading="lazy" decoding="async" width="4064" height="3056" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I am convinced Grogu being a puppet instead of CGI is the entire reason this character ever got traction</figcaption></figure>
<h2 id="reading">Reading</h2>
<p>It took me 2 months of <em>very</em> distracted reading, but I managed to finishing reading <a href="https://www.couldshouldmightdont.com">Could Should Might Don’t</a>. I think the book itself is great, but with so many distractions available I found myself struggling to read it regularly. According to the statistics on my Kobo I averaged 9 minutes per session on the book which is significantly lower than my usual of 15-20 minutes. My usual fare of Science Fiction works better here by having continual suspense drawing me in, so I started reading <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11327057">The Knife of Never Letting Go</a> instead of going for more non-fiction books. I’ll see if I can piece together a book review for Could Should Might Don’t, and definitely see what I can change to make non-fiction stick better. I can’t have great books take me 2 months to go through 400 pages when I typically manage that in under 2 weeks.</p>
<h2 id="food">Food</h2>
<p>With a lot of busy evenings we didn’t get to cook a lot this week. Yash has finally started whipping out the Instagram reels, and we had a couple of successes. It was nice to break up our usual cycle of the same 4-5 dishes in rotation, I think we’ll keep pulling one or two items off his evergrowing list every week.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Another staple of this household, just can't beat the ease." aria-label="A bowl of chickpea curry and rice" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" alt="A bowl of chickpea curry and rice" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Another staple of this household, just can't beat the ease.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This one's off Instagram and a bit of a sleeper hit, go pester Yash for a link" aria-label="A pan with rice that has been cooked in a bunch of spices to an almost biryani like appearance" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" alt="A pan with rice that has been cooked in a bunch of spices to an almost biryani like appearance" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This one's off Instagram and a bit of a sleeper hit, go pester Yash for a link</figcaption></figure></div>
<h2 id="random-llm-experiments">Random LLM experiments</h2>
<p>Just wanted to have some place to dump info about what shenanigans I have been up to, so I’ll probably just make this an ongoing section.</p>
<p>I’ve written previously about <a href="https://msfjarvis.dev/weeknotes/week-19-2026/">switching to OpenAI Codex</a> and the associated GPT-5 laziness problems that I had to deal with. In the two weeks since, I’ve had multiple incidents of the extension I wrote either not firing when it should or misfiring when it shouldn’t so I decided to make it entirely too complicated. As I say <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/b243e6caf15ae2bfd648a65a2143429e9da1eda7">in the commit message</a>; what more RegEx can’t solve, more AI definitely can. Now instead of putting every message through an impenetrably complicated RegEx, the extension instead pipes it through an impenetrably complicated text classifier LLM. This approach also hasn’t been foolproof so far either, but iterating over the prompt (<a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/7347bf2b607ca71d8682e853f0db95844660422a">here</a> and <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/59d79e9892ac6c04c9ee02a0e09daf2db300dc71">here</a>), has been helpful when paired with a proper test suite.</p>
<p><a href="https://agents.md/">AGENTS.md</a> files have been the de-facto way of giving LLMs persistent knowledge of codebases, but I find it somewhat annoying to have a bunch of them in my repositories. This week I’ve been looking at alternatives, and unfortunately mostly came up empty. Only one thing stood out to me, which was <a href="https://github.com/rohitg00/agentmemory">agentmemory</a>. So far I’ve only put “memories” into it, and I’ll see if during the next week LLMs actually use this or continue reading all files from scratch.</p>
<p>I’ve been going all in on <a href="https://agentskills.io">skills</a> as a way of steering LLMs, and found an adversarial reviewer skill from my colleague <a href="https://mk.gg/">Matt Kane</a> in the <a href="https://github.com/emdash-cms/emdash/blob/283bcf059e8c6889d14292e822953f13eaf6a6b0/skills/adversarial-reviewer/SKILL.md">EmDash CMS repo</a>. I had it run across the full diff of <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> since the last release, and it was able to identify <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters/commit/1b6ae68e0d4a27d99709a09b7ef759f6bcda5b17">a couple of valid problems</a>. Obviously like any LLM usage, it also fully made up how to properly detect login sessions but that wasn’t too difficult to rectify early on.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-20-2026/</id>
    <title>Weeknotes: Week #20 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-20-2026/"/>
    <published>2026-05-17T12:10:00.000Z</published>
    <updated>2026-05-17T12:10:00.000Z</updated>
    <summary>Ignorance is bliss</summary>
    <content type="html"><![CDATA[<p>This week was relatively quiet all things considered, all the “excitement” was at work related to things I cannot share yet :)</p>
<p>We had two big meetings this week with leadership, first the R&amp;D All Hands with our engineering leadership and then celebrating the Bengaluru office’s 1st year with the people who helped make it happen. The All Hands was used to peddle some more apologia for the <a href="https://msfjarvis.dev/weeknotes/week-19-2026/#work">layoffs</a> last week and lay the path forward. Wasn’t super convincing, and I think I was better off not hearing any of it. The other call was less depressing, but I could’ve done without that one too. Not great for the brainworms :)</p>
<p>What I can share though, is that our Product Manager <a href="https://www.linkedin.com/in/korinne-alpers">Korinne Alpers</a> is visiting the India office, and we’ve been having a lot of productive discussions about the team and product’s future. I’ve come out of the week feeling much more hopeful about what’s in store for my team and I.</p>
<p>Other than that, I started the week off by discovering the <a href="https://www.genesispc.in/products/wobkey-rainy75-mechanical-keyboard?variant=43852369068085">keyboard</a> that I <a href="https://msfjarvis.dev/weeknotes/week-12-2026/">bought for my birthday</a> did have wireless support, hidden behind a switch whose position I can only describe as chaotic evil.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" data-pswp-width="3278" data-pswp-height="3072" data-pswp-caption="I was so mad at this" aria-label="A keyboard with a light blue aluminium frame, with its Caps Lock keycap removed. Below where the key would sit, next to the key switch there is a physical on/off switch that enables the keyboard's wireless features." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" alt="A keyboard with a light blue aluminium frame, with its Caps Lock keycap removed. Below where the key would sit, next to the key switch there is a physical on/off switch that enables the keyboard's wireless features." loading="lazy" decoding="async" width="3278" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I was so mad at this</figcaption></figure>
<p>Surprisingly I received <a href="http://msfjarvis.dev/apsg/kage/pull/517">a pull request</a> for a project of mine: <a href="https://msfjarvis.dev/apsg/kage">kage</a>. It’s a Kotlin library that implements the <a href="https://c2sp.org/age">age</a> cryptography protocol, originally written for use in <a href="https://passwordstore.app">Android Password Store</a>. <em>Unsurprisingly</em>, the CI pipeline needed some fixing :) Glad to see people using this library though, given I don’t get to work on this too much.</p>
<p>On Friday, the boys got together for a movie in a very long time! <a href="https://yashgarg.dev">Yash</a>, <a href="https://github.com/mayankofficial999">Mayank</a>, <a href="https://github.com/swapnilmadavi">Swapnil</a> and I went to see <a href="https://en.wikipedia.org/wiki/Hokum_(film)">Hokum</a>. We all liked it a lot, the horror elements felt very well done without relying too much on the trite jumpscares that seem to be the only way horror gets done these days.</p>
<p>Having read the <a href="https://en.wikipedia.org/wiki/Silo_(series)">Silo books</a> this year I was excited to finally pick up the <a href="https://en.wikipedia.org/wiki/Silo_(TV_series)">Silo TV series</a> this week. I got through a couple of episodes, and I’m starting to realise why so many people say they felt checked out pretty quickly. Already knowing the story makes it easy to maintain some suspense for what’s coming but for someone who hasn’t read the books there seems to be next to nothing to hook them into it. I’m told Season 2 is even worse at this so maybe I won’t end up finishing the whole thing.</p>
<p>Not a lot of cooking this week, contributed in part by cooking bigger portions, being lazy, and just not being home on time. You’re still owed pictures though :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Some days a good old bowl of dal chawal just hits right" aria-label="A bowl of hearty lentils and white rice. The lentils were cooked with some sauted onions and tomatoes." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" alt="A bowl of hearty lentils and white rice. The lentils were cooked with some sauted onions and tomatoes." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Some days a good old bowl of dal chawal just hits right</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The rajma is just a staple at this point" aria-label="A spicy curry made with red kidney beans, sitting in a big saucepot. It clearly looks half empty, since we had already served ourselves." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" alt="A spicy curry made with red kidney beans, sitting in a big saucepot. It clearly looks half empty, since we had already served ourselves." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The rajma is just a staple at this point</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-19-2026/</id>
    <title>Weeknotes: Week #19 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-19-2026/"/>
    <published>2026-05-10T13:12:00.000Z</published>
    <updated>2026-05-10T13:12:00.000Z</updated>
    <summary>Super busy week of work, fun, not-fun work and a lot in between.</summary>
    <content type="html"><![CDATA[<p>I’m dreading starting this weeknote because the cliff notes I auto-generate from my daily journal (explained <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">here</a>) are effectively two pages long. Either a lot more happened than I remember or I was feeling <em>very</em> strongly about a lot of inane things at the start of the week. Only one way to find out…</p>
<h1 id="meta">Meta</h1>
<p>The week started with an RSS feed mishap on this very site that caused mismatched GUIDs to spam all subscribers of the feed. I got rather fed up with trying to patch this all, so I took <a href="https://yashgarg.dev">Yash’s</a> help and copied the code for his RSS feeds. Massive thank you to him for that, I was at the end of my rope.</p>
<p>Since then, I’ve also added Atom and JSONFeed support, and brought back the per-category and per-tag feeds that had gone missing in the transition away from Hugo. I’ve manually checked as much as I could, please reach out if things are still out of place.</p>
<h1 id="life-and-people">Life and People</h1>
<p>This week I’ve been trying out going to the gym early in the morning instead of the evening. So far that has made a very positive impact in both my schedule for the day and how I feel at the gym itself, so I intend to stick with it. This also forces me to sleep at a better time which is always a win.</p>
<p>I did however roll my ankle <em>pretty</em> badly on my way back from the gym on Wednesday, which continued to be a problem well into Friday. Never felt older in my life.</p>
<p><a href="https://rohanarthur.com/">Rohan Arthur</a> took us out this week to <a href="https://rageroom.in/">Rage Room</a> which was shockingly close to our house in a rather secluded corner. Wrecking some shit on Friday evening (context in next section) was very cathartic and couldn’t have been any more well-timed, despite being a complete accident.</p>
<h1 id="work">Work</h1>
<p>Hoo boy, was this a week. I spent the first half of the week debugging what seemed like an endless stream of bugs while trying to cut a new release. One of these debugging sessions ran for a full 5 hours focused on a single bug, which I thought was gonna be my worst problem this week…</p>
<p>Lo and behold, <a href="https://blog.cloudflare.com/building-for-the-future">Cloudflare announces layoffs</a> for nearly 20% of the workforce bright and early on Friday. Nobody in my team was affected, but holy fuck did this completely annihilate the vibes in the office and company chat room. Seeing so many profile pictures just disappear overnight felt like walking through a graveyard. My heart goes out to everyone affected, they’re all incredibly talented people who did not deserve this treatment.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>Talking about AI and LLMs after Cloudflare cited it as the reason for decimating the workforce and organisational structure feels rather tone-deaf, but I wanted to come out and be honest about where my own head is at. It’s a well accepted sentiment that continued usage of AI and LLMs causes some amount of skill atrophy and the formation of unhealthy dependence, and I never felt that more than I did this week.</p>
<p>So far I’ve been relying on unsustainably subsidised access to GitHub Copilot Pro via GitHub’s Open Source program for coding-related LLM usage, which recently received <a href="https://github.blog/news-insights/company-news/changes-to-github-copilot-individual-plans/">changes</a> that reduce usage limits significantly. While working on this very site I ran afoul of those limits pretty quickly in the first week, and then again in the second week. I had to go without access to an LLM for a few days, and I found myself being unreasonably anxious about not having this tool that I’ve lived without just fine for nearly a decade of programming.</p>
<p>I wasn’t liking how this made me feel, and the layoffs didn’t exactly help, but I did ultimately concede and admit to myself that like a rat to cheese, I have been trapped. For the first time, I had to take out my wallet and shell out the cash for a monthly subscription to OpenAI’s Codex. My sole reason for preferring it over Claude was that it lets you use third-party harnesses, so that I could use it with <a href="https://pi.dev">pi</a>. Pi is far from the most featureful coding agent you will come across, but it does that by choice and instead focuses on being incredibly extensible so you can build something exactly as per your needs. You can check out my customisations on top of pi in <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">this repository</a>.</p>
<p>This transition was obviously not sunshine and rainbows, after all there’s a reason Claude Sonnet is my consistent workhorse choice at work over GPT models. GPT-5 has a widely known problem of not executing tasks and just kind of sitting around, which is something OpenClaw has worked around, so I <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/src/commit/90b58cf63a7d3a411b0f84ba1d1fef0517a27214/pi/extensions/openai-codex-execution-bias.ts">implemented a Pi extension</a> to replicate those fixes. Since adding this, things have been much more reliable on longer sessions.</p>
<p>This week I’ve shipped changes in <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters">Claw</a> to switch out the use of unsupported JSON endpoints on lobste.rs to scraping the actual HTML instead, which is hopefully more in line with the site admin’s preferences. I will reach out and verify before doing a wide rollout.</p>
<h1 id="food">Food</h1>
<p>Thankfully this week had rather quiet evenings so a lot of home cooked food was had, but obviously I was terrible at documenting it all. We made pulao one day, a high protein salad the next, and a beautifully executed shakshouka on Thursday. On Saturday we did burritos as per our usual and managed to not make too much of a mess.</p>
<p>On Friday we ate dinner at the Amicii Bar and Restaurant where I had a citrus-y mocktail and a chicken burger that was honestly kind of mid. On Sunday I went to Cafe Mizuri’s to try out their English breakfast platter, which was also very delicious and the portion size was just right. I followed it up with a Vietnamese Coffee as a treat to myself :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I finally had the totally original idea of blending frozen fruits into my protein shakes, total game changer." aria-label="A lavender colored protein shake in a plastic shaker cup" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" alt="A lavender colored protein shake in a plastic shaker cup" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I finally had the totally original idea of blending frozen fruits into my protein shakes, total game changer.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Nothing super exciting about this burrito bowl, but it keeps me fed and that's all that matters." aria-label="A simple burrito bowl of rice, beans, corn, salsa and jalapeno and some cilantro" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" alt="A simple burrito bowl of rice, beans, corn, salsa and jalapeno and some cilantro" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Nothing super exciting about this burrito bowl, but it keeps me fed and that's all that matters.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I only remembered to take a picture after Yash had served himself :'D" aria-label="A pan of bright red shakshouka and two eggs nestled into it. The pan is clearly half empty." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" alt="A pan of bright red shakshouka and two eggs nestled into it. The pan is clearly half empty." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I only remembered to take a picture after Yash had served himself :'D</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This hit all the right citrus notes but was a little too sweet for my liking. The branding on the basil leaf was a nice touch!" aria-label="A pink/red drink in a short glass cup. There's a single basil leaf on top with the name Amicii branded onto it" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" alt="A pink/red drink in a short glass cup. There's a single basil leaf on top with the name Amicii branded onto it" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This hit all the right citrus notes but was a little too sweet for my liking. The branding on the basil leaf was a nice touch!</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The bread didn't feel like it belonged but everything else on that plate was perfectly done." aria-label="An English breakfast spread of sausages, hashbrows, salami, baked beans, toasted bread, baked tomato, an egg, some fruits and a cappuccino on the side." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" alt="An English breakfast spread of sausages, hashbrows, salami, baked beans, toasted bread, baked tomato, an egg, some fruits and a cappuccino on the side." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The bread didn't feel like it belonged but everything else on that plate was perfectly done.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Yep, that's white chocolate at the bottom." aria-label="A tall glass of Vietnamese coffee with a thick layer of white chocolate at the bottom, and filled up the rest of the way with an Americano coffee" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" alt="A tall glass of Vietnamese coffee with a thick layer of white chocolate at the bottom, and filled up the rest of the way with an Americano coffee" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Yep, that's white chocolate at the bottom.</figcaption></figure></div>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/weeknotes/week-18-2026/</id>
    <title>Weeknotes: Week #18 (2026)</title>
    <link href="https://msfjarvis.dev/weeknotes/week-18-2026/"/>
    <published>2026-05-02T21:02:00.000Z</published>
    <updated>2026-05-02T21:02:00.000Z</updated>
    <summary>A brand new website, powered by Astro and Cloudflare! And a lot of other things...</summary>
    <content type="html"><![CDATA[<p>Welcome to the new website! It’s powered by <a href="https://astro.build">Astro</a> but still fully static to the highest extent possible, and performs impeccably on synthetic benchmarks. I was growing increasingly frustrated with both Hugo and Netlify, so this was a great opportunity to kill 2 birds with one stone and also move the site to Cloudflare.</p>
<p>I’ve painstakingly tried to keep all old links working even as I reorganized things, but please please let me know if you find anything out of place. There are still missing features due to technical and human limitations, which will be restored slowly over time:</p>
<ul>
<li>Automatically generated OpenGraph images</li>
<li>GitHub Discussions powered comments (Not sure I want to bring this back TBH)</li>
<li><del>The glorius post footer that let you share my writing to LinkedIn, boosting my street cred</del> Back without LinkedIn, RIP my king</li>
<li><del>Incoming Webmentions viewer</del></li>
<li><del>The build-time integration that I had on Netlify to queue pages for outgoing Webmentions</del> Cron is good enough for this.</li>
</ul>
<p>Onwards to the weeknotes!</p>
<h1 id="life-and-people">Life And People</h1>
<p>HOLY SHIT WE FINALLY HAD RAIN BLESSED BY THE GOD WHO RELENTED FOR A SINGLE DAY</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Seeing this right outside the office building felt almost surreal after the incessant heat we've had for the past month" aria-label="A thunderstorm outside my office building, the picture shows trees being buffeted by strong winds and heavy rainfall that's started to waterlog the area a bit" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" alt="A thunderstorm outside my office building, the picture shows trees being buffeted by strong winds and heavy rainfall that's started to waterlog the area a bit" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Seeing this right outside the office building felt almost surreal after the incessant heat we've had for the past month</figcaption></figure>
<p>This however did cause our taxi back home to take a total of 2.5 hours from being booked to dropping us off, which usually takes 15 minutes to arrive and 15 more to reach our home.</p>
<p>Not a lot of socializing happened during the week until Saturday when <a href="https://yashgarg.dev">Yash</a> and I invited <a href="https://hachyderm.io/@vi_mi">Fenil</a> to IndieWebClub. I was a little reluctant since I didn’t feel that the discussion topics were going to be particularly interesting to me but I was pleasantly surprised and had a great time.</p>
<p>Fenil convinced us to do a watch party of <a href="https://www.imdb.com/title/tt1327035/">Dev D</a> at our apartment, we invited over Kunwar to join us and it ended up being quite the fun night.</p>
<p>Also since there’s no better place than this, my childhood friend Prajwal got a raise, promotion and bonus; go friendo 🎉</p>
<h1 id="work-and-career">Work And Career</h1>
<p>Things at work have been moving along quite well, after a long period of working exclusively on documentation and such we’re back to doing good old engineering and it’s nice to be back. I’ve been managing my increased responsibilities okay so far but it’s barely been 2 weeks so who’s to say things will stay the same.</p>
<p>Our last sprint was planned around culling our backlog and I’m pleased to report it has gone under 100 issues for the first time in maybe 2 or 3 years. A lot of important but low-key improvements have landed and we’re on track to ship in the coming week with a casual 60 or so tickets shuffled out of the backlog.</p>
<p>We had CI problems the whole week with macOS runners failing to boot up which was causing a lot of trouble in merging backlogs, so I had Claude write a bash script that just waits for jobs to fail and retries them until the pipeline is green. I jokingly spun out a side business of lending this service to my colleagues and made my first sale: ₹5 off Mayank to get his release PR through. If I still used LinkedIn this could make an excellent motivational post.</p>
<p>On Thursday Yash, Mayank and I decided to work together out of Cafe Grey again which was a fun and surprisingly productive time. Mayank was shocked we actually got so much shit done! We tried some new items off the menu this time and they were all pretty solid.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later" aria-label="This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" alt="" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home" aria-label="Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" alt="" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home</figcaption></figure></div>
<h1 id="games">Games</h1>
<p><a href="https://www.playstation.com/games/helldivers-2">Helldivers 2</a> dropped a new update this week with a new biome and enemy class, we were getting wiped pretty frequently on difficulty 10 where we usually play so we toned it down to 8 and have been having a much more acceptable time since. The new Bullet Storm stratagem is absolutely busted and will definitely catch a nerf in the next patch.</p>
<p><a href="https://store.steampowered.com/app/3509230/Gambonanza/">Gambonanza</a> also released this week which is a chess roguelike that looks super interesting, I’ve been meaning to give it a try but I already have enough roguelikes taking over my life at the moment…</p>
<h1 id="personal-projects-and-tech-stuff">Personal Projects And Tech Stuff</h1>
<p>Rebuilding this website occupied my whole week and I’m still not remotely done, which is just going to be a constant problem I suppose. No wonder people say rewrites don’t fix anything.</p>
<p>My Forgejo instance was being absolutely pummeled this whole week by spammers which was a problem because I rely on it constantly and can’t afford downtime. I tried using <a href="https://anubis.techaro.lol">Anubis</a> which didn’t make much of a dent and ended up just letting it be and accepting that Cloudflare will have to take care of it.</p>
<p>I finally caved and ordered a new set of earbuds since my existing ones have gotten very unreliable in terms of charging both buds at the same time and pairing properly. I went with the OnePlus Nord Buds 4 Pro which are a massive upgrade from my CMF Buds. The fast pairing feature actually works, they have a Spotify integration and the active noise cancelation blows the CMF Buds out of the water. I am very impressed!</p>
<h1 id="food">Food</h1>
<p>I am writing this weeknote after attempting to pressure cook a batch of chickpeas with no water in the cooker so please excuse my lack of enthusiasm.</p>
<p>On Tuesday I was too tired to cook and Yash too hungry, so we decided to not do any cooking. I still needed to eat though, so I channeled my inner <a href="https://www.youtube.com/@coachjohnnoel/">John Noel</a> and mixed together whatever I could find in the fridge, into a bowl and ripped open a pack of nachos. The beans were pre-boiled and from a packet, which I didn’t know was a thing that was sold here and was pleasantly surprised by.</p>
<p>We had gotten some potatoes after I complained about its lack in our diets so I decided to make a classic aloo bhujia for us, which was also when I discovered how intensely Bihari/Western UP this dish is because Yash had never heard of it. It was hard having to find words for something you’ve gone 27 years assuming people just knew. Came out nice though! Could’ve made Mom proud.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Bar none the coldest nacho dip I've ever eaten, next time I'm throwing some of this shit in a pan." aria-label="A bowl of beans, corns, cheese and some salsa that was used as a nacho dip" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" alt="A bowl of beans, corns, cheese and some salsa that was used as a nacho dip" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Bar none the coldest nacho dip I've ever eaten, next time I'm throwing some of this shit in a pan.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Next time I'll have to remember to slice the onions instead of dicing them" aria-label="A glass bowl of the aloo bhujia sabzi" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" alt="A glass bowl of the aloo bhujia sabzi" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Next time I'll have to remember to slice the onions instead of dicing them</figcaption></figure></div>
<p>And that’s kind of all! I will continue fucking around with this site as I find more nooks and crannies where things are broken, but hopefully it all functions well enough for people watching at home. Thanks for reading!</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-17-2026/</id>
    <title>Weeknotes: Week #17 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-17-2026/"/>
    <published>2026-04-26T10:00:00.000Z</published>
    <updated>2026-04-26T10:00:00.000Z</updated>
    <summary>Adapting to changes at work and doing a bunch of gaming</summary>
    <content type="html"><![CDATA[<p>On Wednesday 22nd April this site was down for a few hours in the morning India time thanks to Netlify failing to renew its certificate. Why they thought it was not an operation that should be retried is beyond me, because when I logged into the dashboard and pressed the renew button it was able to provision a certificate in under 2 minutes. Netlify has been a good host for nearly 4 years now (logs say I signed up on Sep&nbsp;23,&nbsp;2022), but at this point I’ve had one too many problems to continue here. I’ve set up a Cloudflare Pages project with this site already, and will cut over the DNS in a week or so when I’ve ported the <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/netlify-webmentions-extension">WebMentions Publisher</a> build plugin I wrote to a Cloudflare native solution. Onward to the actual week notes now!</p>
<h1 id="work">Work</h1>
<p>This was my first week assuming full responsibilities of my team as part of the <a href="https://msfjarvis.dev/posts/weeknotes-week-16-2026/#work">transition</a> I talked about last week. There’s still a bit of chaos and new processes we’re having to work up to but it has not been as disruptive as I had expected. I’ve continued to mostly focus on my engineering work and burn down our backlog as part of a bug bash sprint, inspired by a similar thing Lalit Maganti <a href="https://lalitm.com/fixits-are-good-for-the-soul/">wrote about</a> some time ago. LLMs have been quite useful here, both for identifying low hanging fruit to work through as well as actually implementing solutions. One of the tickets I worked on this week was so old that half the code it was meant to change is gone already.</p>
<p>On the flip side I had an absolutely abysmal time getting release PRs through our mandatory AI reviewer since it tries to understandably be extra paranoid for those. The issue is that these are PRs that go from one protected branch to another, so I have to raise <em>another</em> PR to fix its (often benign) complaints for multiple rounds. There’s a lot of complaints across the org about this specific issue so hopefully there’s some improvements on this front soon.</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>I lightly maintain a small Telegram bot named <a href="https://github.com/msfjarvis/linkleaner">linkleaner</a> which rewrites URLs sent by users to have better link previews and optionally redirect to privacy preserving frontends, which saw a <a href="https://github.com/msfjarvis/linkleaner/issues/70">little more</a> <a href="https://github.com/msfjarvis/linkleaner/issues/72">external attention</a> than I’m used to so I took some time to work on addressing the reported issues and fighting the bitrotted deployment pipeline.</p>
<p>Work on <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">my-pi</a> continued this week, I’ve continued adding features to the harness. First up was a robust permissions system for the Bash tool so I can control what commands LLMs can run. I took care to ensure I was learning from the ways OpenCode falls short here, so the extension takes care of handling pipelines, “proxy” commands like `sudo` and `exec`, and much more. I also ported <a href="https://github.com/obra/superpowers">superpowers</a>, and a very rough implementation of the <a href="https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum">Ralph Loop technique</a> that has so far been rather terrible.</p>
<h1 id="people">People</h1>
<p>On Friday I worked out of <a href="https://www.bangaloreeats.com/place/cafe-grey-by-dongle-and-co-indiranagar">Cafe Grey</a> with <a href="https://yashgarg.dev/">Yash</a> and <a href="https://github.com/anunaym14">Anunay</a>, which was pretty nice and let us beat the heat for a few hours. The food was decent, coffees were great and the pricing was not as eye watering as I’ve come to expect from Bengaluru cafes.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="These nachos were tasty but also obviously fresh out of a bag." aria-label="A white ceramic plate with a pile of nachos in the middle. There's melty white cheese all over the top." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" alt="A white ceramic plate with a pile of nachos in the middle. There's melty white cheese all over the top." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">These nachos were tasty but also obviously fresh out of a bag.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Can't really complain about fried chicken." aria-label="A plate of fried chicken popcorn with small bowls of mayonnaise and ketchup. There's a lemon half sitting on top of the chicken, which itself is on thin bed of lettuce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" alt="A plate of fried chicken popcorn with small bowls of mayonnaise and ketchup. There's a lemon half sitting on top of the chicken, which itself is on thin bed of lettuce." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Can't really complain about fried chicken.</figcaption></figure>
<p>On Saturday I went to watch <a href="https://www.imdb.com/title/tt11378946/">Michael</a>, with Yash, Anunay, <a href="https://github.com/mayankofficial999">Mayank</a> and Anunay’s friend Harshit. The movie was great, and I only learned after the movie that Michael Jackson was portrayed by his nephew Jaafar who is also making his debut with this film. One hell of a start to an acting career!</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The picture's a little lopsided because of letterboxing, my positioning and most importantly my ineptitude." aria-label="A scene from the movie Michael showing him singing on stage in a black jacket." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" alt="A scene from the movie Michael showing him singing on stage in a black jacket." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The picture's a little lopsided because of letterboxing, my positioning and most importantly my ineptitude.</figcaption></figure>
<p>When the movie finished we noticed some ruckus erupting in the front of the theater and apparently it was knock-off mascots just dancing away?!?? We still don’t know what the hell was happening there.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="For how random this was, the mascots were having fun with it." aria-label="A slightly blurry zoomed in photo of the front of a movie theater, showing mascots in costumes: Hello Kitty, Mickey Mouse and a nondescript mouse I cannot identify immediately." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" alt="A slightly blurry zoomed in photo of the front of a movie theater, showing mascots in costumes: Hello Kitty, Mickey Mouse and a nondescript mouse I cannot identify immediately." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">For how random this was, the mascots were having fun with it.</figcaption></figure>
<h1 id="gaming">Gaming</h1>
<p>Big week of games news for me, Hades 2 got a couple of updates adding post end-game content that I checked out and loved being terrible at.</p>
<p>Marvel Rivals got another limited time zombies event which I will be sinking a lot of hours into, like last time. It will also probably be a solo affair, again like last time. Had a chance to play some Rivals ranked with <a href="https://www.sasikanth.dev/">Sasikanth</a> which validated our theory that the correct time to win games are the weeknights when the proverbial electricians and plumbers are playing (people who are too employed to be great at the game, to put it more directly).</p>
<h1 id="food">Food</h1>
<p>We didn’t do anything particularly new this week with food. We had an early mishap with a veggie pulav that we both put too much spice into and also failed to cook that spice out so it was borderline inedible. Yash and I found ourselves quietly eating mangoes right after to soothe our burning palates.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This thing was genuinely close to being radioactive." aria-label="A bowl containing pulav, an Indian rice dish that's typically pressure cooked rice with misc veggies and spices. Ours doesn't look particularly different from what you'd expect, but the flavor was abysmal. We fucked up big time here." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" alt="A bowl containing pulav, an Indian rice dish that's typically pressure cooked rice with misc veggies and spices. Ours doesn't look particularly different from what you'd expect, but the flavor was abysmal. We fucked up big time here." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This thing was genuinely close to being radioactive.</figcaption></figure>
<p>On Friday I only had myself to make dinner for so I went for a classic nacho dip/salad thing which was incredibly easy to put together and tasted delicious, validated by resident protein maxxer Yash.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I could eat this every day and not tire of it, veggies in a bowl is a pretty versatile canvas." aria-label="A bean nacho dip with red beans, cucumbers, onions, tomatoes, and corn; all wrapped up in a dressing made with a some jarred salsa, olive oil, apple cider vinegar, onion powder, and a bit of hot sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" alt="A bean nacho dip with red beans, cucumbers, onions, tomatoes, and corn; all wrapped up in a dressing made with a some jarred salsa, olive oil, apple cider vinegar, onion powder, and a bit of hot sauce." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I could eat this every day and not tire of it, veggies in a bowl is a pretty versatile canvas.</figcaption></figure>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-16-2026/</id>
    <title>Weeknotes: Week #16 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-16-2026/"/>
    <published>2026-04-19T13:42:00.000Z</published>
    <updated>2026-04-19T13:42:00.000Z</updated>
    <summary>Big week for watching movies and being outdoors!</summary>
    <content type="html"><![CDATA[<p>This week was a bit of a roller coaster, lots of fun and not-so-fun things happened but I’ve come out of the other end feeling good and that’s all that really matters.</p>
<h1 id="absolute-cinema">Absolute Cinema</h1>
<p><a href="https://yashgarg.dev/">Yash</a> and I finally managed to grab tickets for an IMAX screening of <a href="https://www.imdb.com/title/tt12042730/">Project Hail Mary</a> for Monday morning. Taking the half day off work felt worthwhile for how long we’ve had to wait for this, and by sheer coincidence I ran into <a href="https://www.rahulgonsalves.com/">Rahul Gonsalves</a> at the theatre who also agreed that Monday mornings are the best show times :P</p>
<p>On Thursday I watched <a href="https://www.imdb.com/title/tt39139925/">Dhurandhar 2</a> with Yash and <a href="https://github.com/swapnilmadavi">Swapnil</a> which was honestly quite a letdown. The first movie was <em>obviously</em> military and BJP propaganda, but the second one in so in-your-face about it that it really dampened my enjoyment of it. Since they were shot together, my complaints about the <a href="https://msfjarvis.dev/posts/weeknotes-week-51-2025/#:~:text=I%20watched%20Dhurandhar">first movie’s CGI</a> also apply to this one. The shock factor of the incredibly gory movie constantly getting interrupted by god awful CGI that fully breaks your immersion makes for a very lame viewing experience.</p>
<h1 id="personal-stuff">Personal stuff</h1>
<p>Not a lot of things happened since I was so busy hopping from one thing to the next.</p>
<p>Anunay and Yash had bought me a mouse pad for my birthday that arrived this week, it’s super cute and pretty high quality.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I fear the day I spill anything on this beauty." aria-label="A cyberpunk style image of a girl with white hair and a can of paint in her hand. She has a lot of temporary tattoos all over her visible arm and a cute black cat reaching for the paint can. My mouse is resting next to her face." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" alt="A cyberpunk style image of a girl with white hair and a can of paint in her hand. She has a lot of temporary tattoos all over her visible arm and a cute black cat reaching for the paint can. My mouse is resting next to her face." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I fear the day I spill anything on this beauty.</figcaption></figure>
<p>Getting increasingly frustrated at <a href="https://opencode.ai">OpenCode</a> shipping showstopper bugs that go unfixed for weeks and months I decided to switch to using <a href="https://pi.dev">pi</a> as my coding agent of choice. For the uninitiated, it’s a very robust but minimal coding agent that is also at the heart of OpenClaw. It is designed to be extended by the very LLMs that the harness manages, and users are encouraged to build their own custom UIs, extensions, commands and what not on top of this. I have started my <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">custom distribution of pi</a> where I’m mostly focusing to first implement features that I’ve come to rely on in OpenCode, then go from there as my imagination takes me.</p>
<h2 id="people">People</h2>
<p>The big highlight this week was RustIndia Conference on Saturday, which sadly overlapped with IndieWebClub so I had to ditch this week’s session :(</p>
<p>RustIndia was great, met a lot of people I’ve talked to online for years and generally had a pleasant time. Niko Matsakis’ <a href="https://nikomatsakis.github.io/rusts-big-moment-2026/">keynote</a> was very illuminating, he talked at length about Rust’s current limitations and the work they’re doing to address things not just with the language but at the ecosystem level itself. I’m excited to see how these things shake out over the next year or two!</p>
<p>There were a lot of quizzes and prizes going around at the stalls so I tried my hand at them but massively fumbled on the e6data booth manned by my friend <a href="https://github.com/feniljain">Fenil</a> by knowing enough Rust but being horrible at mathematics.</p>
<h1 id="work">Work</h1>
<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-15-2026/">last week</a>, my manager <a href="https://rohanarthur.com/">Rohan Arthur</a> is leaving the company which has, to put it mildly, caused some problems. I’ve spent the week figuring things out with him, planning next steps, and talking to our director <a href="https://www.linkedin.com/in/willigeiger">Willi</a> about the future of my team. Obviously can’t divulge much here, but things are looking as good as they can be in the circumstances. Rohan prepared us well in making himself redundant in our day to day work but it’s still quite a sad transition to navigate.</p>
<h1 id="games">Games</h1>
<p>With how much I was out gaming ended up being rather sparse, but I managed to eke out a Platinum rank up in Marvel Rivals with <a href="https://github.com/akhilnarang">Akhil</a> right before the season ended. I also tried <a href="https://www.graveyardkeeper.com/">Graveyard Keeper</a> since it was free for a while on Steam but it doesn’t seem like something I’ll go back to. Genuinely just feels like a morbid Stardew Valley and I didn’t quite gel with that game either.</p>
<h1 id="food">Food</h1>
<h2 id="at-home">At home</h2>
<p><a href="https://github.com/anunaym14">Anunay</a> is still in Bengaluru which means we’ve been away more nights than not doing things (what can I say he’s just a fun loving guy), so we’ve only had one night where we really got to cook anything. <a href="https://yashgarg.dev/">Yash</a> pitched that we make a chickpea salad and so that’s what we did. During cooking this somehow became an exercise in how much protein one can fit into a single salad, and that’s how we have this abomination of chicken, chickpeas, cottage cheese, and broccoli.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="How much protein could this bowl possibly contain?" aria-label="A chickpea salad bowl containing strips of air fried chicken, some impeccably blanched broccoli, cubes of cottage cheese, corn, onions, and tomatoes. All of this is coated in a greek yogurt based sauce which had some random spices added to it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" alt="A chickpea salad bowl containing strips of air fried chicken, some impeccably blanched broccoli, cubes of cottage cheese, corn, onions, and tomatoes. All of this is coated in a greek yogurt based sauce which had some random spices added to it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">How much protein could this bowl possibly contain?</figcaption></figure>
<h2 id="away-from-home">Away from home</h2>
<p>Got to try lots of fun stuff at great restaurants during the week! On Tuesday we were at Burma Burma:</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Lotus Biscoff Boba Tea, still as good as ever." aria-label="A glass of boba tea with a thick straw in it. The black boba is visible near the bottom, and the drink is a very faded cream color with some biscoff biscuit crumbs on top as a garnish." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" alt="A glass of boba tea with a thick straw in it. The black boba is visible near the bottom, and the drink is a very faded cream color with some biscoff biscuit crumbs on top as a garnish." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Lotus Biscoff Boba Tea, still as good as ever.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Some hummus thing that I fully forgot the name of, all I know is that it was a banger." aria-label="A basket of pita bread next to a plate of a bowl of hummus that has some big chillies and a red colored seasoning for garnish." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" alt="A basket of pita bread next to a plate of a bowl of hummus that has some big chillies and a red colored seasoning for garnish." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Some hummus thing that I fully forgot the name of, all I know is that it was a banger.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Another papaya thing that I can't remember the name of." aria-label="A plate of small poppers that have a pile of cured papaya shreds on top." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" alt="A plate of small poppers that have a pile of cured papaya shreds on top." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Another papaya thing that I can't remember the name of.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A bowl of khowsuey which again I have forgotten the exact name of." aria-label="A bowl of khowsuey next to a condiments platter. The gravy is a bright yellowish orange in color and has regular flour noodles in it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" alt="A bowl of khowsuey next to a condiments platter. The gravy is a bright yellowish orange in color and has regular flour noodles in it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">A bowl of khowsuey which again I have forgotten the exact name of.</figcaption></figure>
<p>On Wednesday we had an impromptu company dinner at Amicii, where we mostly chatted around and picked at some starters.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This pizza was delicious." aria-label="A regular pepperoni pizza with a ball of burrata cheese in the middle." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" alt="A regular pepperoni pizza with a ball of burrata cheese in the middle." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">This pizza was delicious.</figcaption></figure>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-15-2026/</id>
    <title>Weeknotes: Week #15 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-15-2026/"/>
    <published>2026-04-12T15:59:00.000Z</published>
    <updated>2026-04-12T15:59:00.000Z</updated>
    <summary>A shockingly eventful week that I was not quite prepared for</summary>
    <content type="html"><![CDATA[<p>It was my birthday this week! I was expecting the weekend to be a little chaotic but my whole week ended up being crazy.</p>
<h1 id="life-and-people">Life and People</h1>
<p><a href="https://github.com/feniljain">Fenil</a> and <a href="https://github.com/anunaym14">Anunay</a> dropped by the office one day to meet with their ex-colleagues (they were both at Dyte for a while). Had a small group hanging out, was a fun time catching up with everyone.</p>
<p><a href="https://yashgarg.dev/">Yash</a> and I met with Anunay a few more times throughout the week, had a work-from-cafe day on Friday. We were at <a href="https://www.concu.in/location/849622919">Concu</a>, which was pleasant other than an obnoxiously loud table that was annoying everyone for half an hour or so.</p>
<p>On Saturday (my birthday) we made the rather painful trip to Meco Kartopia for go karting. I wasn’t originally a big fan but managed to get the hang of it. The worst part of it is definitely the 1 to 1.5 hour long car trip to get to the place, and the lack of a cafeteria. I don’t think I’ll ever go back there, but am open to trying it again somewhere that is a more reasonable distance from me. We tried doing dinner at some of the upscale establishments like Burma Burma, but it being a weekend they were all fully occupied. I ended up just pushing through Yash’s suggestion of <a href="https://www.zomato.com/bangalore/element3-indiranagar-bangalore">Element 3</a>, a pure vegetarian place Yash and I have been to many times and everyone loved the food there. A lot of food related escapades were had, which as usual you can head on over to <a href="https://yashgarg.dev/weekly-notes-15-2026/">Yash’s weeknotes</a> to take a peek at.</p>
<h1 id="work">Work</h1>
<p>My manager <a href="https://rohanarthur.com/">Rohan Arthur</a> informed us that he’s leaving at the end of this month which was a bit of a shock. It’s a massive bummer to have such little time with one of the few leaders who have measurably improved me as an engineer and a person but I’ll focus on making the best of the time we have left. Still feels a bit unreal.</p>
<h1 id="games">Games</h1>
<p>I continued playing through bits and pieces of <a href="https://store.steampowered.com/app/3081840/Chrono_Gear_Warden_of_Time/">Chrono Gear</a> when I could find the time. <a href="https://github.com/akhilnarang">Akhil</a> pulled me back into the dungeons of <a href="https://www.marvelrivals.com/">Marvel Rivals</a> ranked queue where we managed to make a good run at our placement games. As of writing we’ve climbed up from Gold 3 to Gold 1, in touching distance of Platinum 3.</p>
<details><summary>Somewhat frustrating health stuff that you probably don’t care for</summary><h1 id="health">Health</h1><p>The doctor I was seeing for my flu had asked me to come in for another consultation to help me with my weight and sleeping, and I decided to go. Historically doctors have pinned that as a personal failing instead of actually giving any helpful advice so I was willing to give someone earnest a shot. After I got blood tests and a sleep study (<a href="https://www.sleepapnea.org/diagnosis/sleep-studies/">polysomnography</a>) done, the doctor told me to get a C-PAP machine that was gonna set me back by 80K INR and to start on the equivalent of Ozempic next month. Wasn’t really a fan of either options there so I took that prescription to another doctor who had a significantly better take on the issue, and gave me helpful tips on lifestyle changes I could make. I’ve started working on meal plans and such, and hope to start on their suggested plan in a week or so.</p><p>I also got diagnosed with an extremely severe Vitamin D deficiency and had to get a shot for it, that one hurt. Intramuscular injections are no joke!</p></details>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-14-2026/</id>
    <title>Weeknotes: Week #14 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-14-2026/"/>
    <published>2026-04-05T18:06:00.000Z</published>
    <updated>2026-04-05T18:06:00.000Z</updated>
    <summary>Finally over my sickness!</summary>
    <content type="html"><![CDATA[<p>Barely managing to squeeze this in thanks to a super packed Sunday.</p>
<h1 id="sickness-update">Sickness Update</h1>
<p>I finally got through the rough week of dealing with the Flu, and used that down time to catch up with TV shows I was behind on. Finished watching <a href="https://www.imdb.com/title/tt27444205">Paradise</a>, and caught up with <a href="https://www.imdb.com/title/tt18923754">Daredevil: Born Again</a> and <a href="https://www.imdb.com/title/tt6741278/">Invincible</a>. I also started reading <a href="https://www.couldshouldmightdont.com/">Could Should Might Don’t</a>, my first non-fiction read in a long time. So far I’m not completely sold on the whole premise, but the topics the author chooses to break down are well presented.</p>
<h1 id="games">Games!</h1>
<p>I’ve also picked up some of my half-completed games while I was sick. I’m almost done beating <a href="https://store.steampowered.com/app/3081840/Chrono_Gear_Warden_of_Time/">Chrono Gear: Warden of Time</a>. I also resumed playing <a href="https://store.steampowered.com/app/2420110/Horizon_Forbidden_West_Complete_Edition/">Horizon Forbidden West</a> but the clunky combat pissed me off again. I love the story too much to let this detract from my enjoyment of it, so I opted to cheese my way using a trainer mod for a boss that was genuinely anti-fun. I’m not no-clipping around the place, just using invulnerability to get past a fight that feels more annoying than skill based. I’ve only used it once so far, maybe in the future I’ll get too lazy and start using it for all bosses, who’s to say. Either way I’d rather enjoy the game this way than not play it at all.</p>
<h1 id="writing">Writing</h1>
<p>In my Flu-stricken stupor I completely forgot about <a href="https://aprilcools.club">April Cools</a> this year, and had to scramble at the last minute to put a <a href="https://msfjarvis.dev/posts/i-guess-i-cook-now/">post together</a>. Admittedly, I tried to cheat my way out of the spirit of the thing by having an LLM convert my rough outline to a post but I found the writing to be so genuinely sickening to read that I threw it all away and just tanked the effort of writing through a fever to get this out.</p>
<h1 id="work-and-career">Work and Career</h1>
<p>I got the increment I was expecting at work, which was nice. I took most days off while recovering from the Flu so not a whole lot got done, but I helped grease things along wherever I could manage to spare some time to review the documentation changes we were working on.</p>
<h1 id="miscellaneous-tech-things">Miscellaneous Tech Things</h1>
<p>I’m planning to redo my room layout to open up some space in the center following Yash’s example, so I had to get a multi-plug extension for my extension so I could neatly tuck away all the power cables that go into my — extension-ception. I didn’t know <a href="https://www.amazon.in/Eveready-Everprotect-Multiplug-i4/dp/B0CQPDT6RT?nsdOptOutParam=true">this</a> was a thing!</p>
<p>I also worked a bit on <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a>, my Android app for <a href="https://lobste.rs">Lobsters</a>. I removed a data migration path that had done its job in the past two releases, and added the very initial bits of login support in the app. Eventually the goal is for the app to be able to let you upvote and save posts directly to Lobsters instead of just the local store, and to maybe let you reply to comments/posts if I take on the daunting task of handling WYSIWYG Markdown input.</p>
<h1 id="people">People!</h1>
<p>The weekend was packed with a lot of socializing. <a href="https://blr.indiewebclub.org">IndieWebClub</a> on Saturday was a discussion focused session and we traded a lot of hot takes about editors, LLMs, writing tools and everything in between. It was a great time! Sadly I was not able to finish my writing draft within the allotted time, but I hope to have it out by next week.</p>
<p>On Sunday Yash and I met up with <a href="https://github.com/anunaym14">Anunay</a> and a friend of his for lunch at <a href="https://www.instagram.com/23rdstreet_pizza/">23rd Street Pizza</a> which was rather underwhelming. We meandered around a fair bit after that for some dessert and much needed steps, then got back to our place to chill for a bit. Aforementioned friend introduced us to <a href="https://boardgamegeek.com/boardgame/420087/flip-7">Flip 7</a>, which was a hilarious time with just 4 players and we fully lost track of time until it had been 3 hours. This game made me fully understand how gambling addictions come to be. The temptation to got for just one more flip is too damn high!</p>
<h1 id="the-food-section">The food section</h1>
<p>For this week I will choose to be lazy and delegate the responsibility for capturing our week’s food to my roommate <a href="https://yashgarg.dev/">Yash</a>, who is far more diligent about this than I can ever hope to be. Check out his <a href="https://yashgarg.dev/weekly-notes-14-2026/">week note</a>!</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-13-2026/</id>
    <title>Weeknotes: Week #13 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-13-2026/"/>
    <published>2026-03-29T14:42:00.000Z</published>
    <updated>2026-03-29T14:42:00.000Z</updated>
    <summary>A Flu is no joke...</summary>
    <content type="html"><![CDATA[<p>This week has been a bit of a roller coaster, was having a pretty normal week then got hit with a <em>nasty</em> Flu to cap it off in the worst way possible.</p>
<h3 id="boring-tech-stuff">Boring tech stuff</h3>
<p>I’ve been trying out <a href="https://github.com/obra/superpowers">superpowers</a>, which takes gaslighting-via-markdown (otherwise known as Agent Skills) to a logical extreme, forcing LLMs to behave like a very disciplined senior engineer.</p>
<p>I used this to change a longstanding misfeature in Claw that caused it to mark comments as unread when you first view a post, which is quite redundant. superpowers spent a solid hour on this, during which I also manually reviewed a spec and an implementation plan, but the <a href="https://github.com/msfjarvis/compose-lobsters/commit/83db9bb8a8f7f1ae7dc3df305ab599f15fa7d512">result</a> is quite exhaustive and has robust test coverage which I definitely wouldn’t have bothered with.</p>
<p>I also let it loose on our work codebase by feeding it a list of prior issues we had faced in a particularly brittle component and had it refactor the code to follow the popular <a href="https://testing.googleblog.com/2025/10/simplify-your-code-functional-core.html">“functional core, imperative shell”</a> pattern and then unit test the core to prevent regressions along the bug categories we’ve been chasing for quite a while. That refactor ran even longer, but ultimately the result was again rather impressive. LLMs are (for the most part) really good at fixing tests, and superpowers forces the LLM to follow a red-green-refactor cycle for all changes which means it’s always trying to fix tests.</p>
<p>I finally finished running the full gauntlet of <a href="https://webmention.rocks">webmention.rocks</a> tests against my <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/webmentions-server">WebMentions server</a>. It exposed a few gaps in the implementation but I’m at 100% compliance now, the only remaining issue is now with my site not returning HTTP 410 for deleted posts because I don’t really know how to make it happen.</p>
<h3 id="boring-not-tech-stuff">Boring not-tech stuff</h3>
<p>I finished reading <a href="https://bookwyrm.social/book/102060/s/project-hail-mary">Project Hail Mary</a>, super good read. I hadn’t realized Andy Weir also wrote The Martian! The book was great, the movie’s promised to be even better but good lord has it been hard to find a way to watch it with the lack of IMAX screens.</p>
<p>The keyboard I had ordered last week arrived, completing the new set :)</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The white mouse honestly works better than the lavender" aria-label="The new keyboard and mouse on top of a wooden particle board desk. The keyboard has an aluminum frame coated in blue, with a mix of blue, purple and white keys with white being the most common one. The mouse rests on a cheap RedGear mousepad." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" alt="The new keyboard and mouse on top of a wooden particle board desk. The keyboard has an aluminum frame coated in blue, with a mix of blue, purple and white keys with white being the most common one. The mouse rests on a cheap RedGear mousepad." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">The white mouse honestly works better than the lavender</figcaption></figure>
<p>I hadn’t spotted our Metro station cat in a while, so it was nice to come across it again.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Angy loaf" aria-label="A ginger cat loafing in the middle of two bar stools." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" alt="A ginger cat loafing in the middle of two bar stools." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Angy loaf</figcaption></figure>
<h3 id="health-woes">Health woes</h3>
<p>I caught a fever on Thursday at the office which was starting to feel concerning right away, and by night had gotten bad enough that I had to arrange to see a doctor in the morning. Got diagnosed with a Flu and got a big dose of medicines to work through the weekend and see the doctor again on Monday. Was not expecting the throat problems, even my damn uvula had swollen and I could barely drink or breath. Super rough 3 days so far, the fever’s settled down now but I still have a very sore mouth and have trouble eating and swallowing. <em>Pain</em></p>
<h3 id="and-finally-the-food">And finally, the food</h3>
<p>Before I got absolutely mauled by the Flu I did do some cooking, which mostly was burrito prep that lasted us two days.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I feel burrito bowls are kind of underrated" aria-label="A typical burrito bowl with rice, corn, lettuce, beans, diced jalapenos and some condiments." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" alt="A typical burrito bowl with rice, corn, lettuce, beans, diced jalapenos and some condiments." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">I feel burrito bowls are kind of underrated</figcaption></figure>
<p>I had some chicken breasts sitting in the freezer that I wanted to finish off, so I used some of the rice from the large batch we made for the burrito bowl meal prep and made a basic tomato and cream curry for the chicken which came out pretty delicious for being basically 20 minutes of work</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Scrumptious and filling. This cooking shit is easy :P" aria-label="A plate of two chicken breasts and some rice with gravy over it. The gravy is reddish-orange in color due to the tomatoes, turmeric and heavy cream coming together. There are also bits of onion visible in the gravy." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" alt="A plate of two chicken breasts and some rice with gravy over it. The gravy is reddish-orange in color due to the tomatoes, turmeric and heavy cream coming together. There are also bits of onion visible in the gravy." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Scrumptious and filling. This cooking shit is easy :P</figcaption></figure>
<hr>
<p>Hopefully the next weeknote will find me healthier :(</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-12-2026/</id>
    <title>Weeknotes: Week #12 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-12-2026/"/>
    <published>2026-03-22T10:32:00.000Z</published>
    <updated>2026-03-22T10:32:00.000Z</updated>
    <summary>Movies, food, rain, and an early birthday present to myself!</summary>
    <content type="html"><![CDATA[<h2 id="life">Life</h2>
<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-11-2026/">last week</a>, I watched <a href="https://www.imdb.com/title/tt27564844/">Iron Lung</a> on Monday. Only the premium cinemas were running shows so I had to buy an expensive ticket at PVR Director’s Cut, and got to watch it in a reclining chair that was basically a bed. Loved the movie, Markiplier did great work as both director and actor. Hopefully we can get a couple more of these authentic video game recreations from individual creators before the suits at Hollywood figure out how to ruin them even more.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Iron Lung was a great watch" aria-label="A scene from the movie Iron Lung, showing Markiplier inside a submarine. The subtitle reads &quot;I'm seeing some voltage irregularities&quot;." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" alt="A scene from the movie Iron Lung, showing Markiplier inside a submarine. The subtitle reads &quot;I'm seeing some voltage irregularities&quot;." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Iron Lung was a great watch</figcaption></figure>
<p>I was back in the office this week, work was mostly CI and suffering. On Wednesday I got caught out in the hailstorm on my way back from the office. Thankfully I didn’t catch anything from that, but I did have to figure out how to wash my shoes which was surprisingly easy — thanks Skechers.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="It was 30 degree Celsius at noon, and by 6 PM I was getting pelted by hail!" aria-label="A short video of rain and hail falling on a slightly waterlogged asphalt road. A red Maruti Suzuki Zen car is visible in the top left corner, with a partial number plate." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" alt="A short video of rain and hail falling on a slightly waterlogged asphalt road. A red Maruti Suzuki Zen car is visible in the top left corner, with a partial number plate." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">It was 30 degree Celsius at noon, and by 6 PM I was getting pelted by hail!</figcaption></figure>
<h2 id="toys">Toys</h2>
<p>I had been saving up to gift myself a new keyboard and mouse for my birthday, and ended up making it an early gift by placing the orders this week. I went with the <a href="https://www.genesispc.in/products/wobkey-rainy75-mechanical-keyboard?variant=43852369068085">Wobkey Rainey75</a> keyboard and a <a href="https://meckeys.com/shop/mouse/vxe-r1-series/?attribute_pa_variations=r1-pro-max&amp;attribute_pa_colour-style=white">VXE R1 Pro Max</a> mouse. The mouse arrived today, surprisingly in white rather than the purple/lavender I thought I had chosen. Clearly I made a mistake during the order, but I’m quite happy with it regardless. It’s been a long time since I had a wireless mouse and it’s such a massive difference from my wired <a href="https://www.razer.com/gaming-mice/razer-viper-mini">Razer Viper Mini</a>. Also nice to have a working scroll wheel again :’)</p>
<p>I also bought myself a microphone arm so I could get a bit more desk space, and struggled through a few bouts of stupidity before realizing that I needed an additional screw to plug my Blue Yeti into the standard 3/8 inch mounts that feature in the microphone arms. I ordered said screw from Amazon, set it all up today and when I went to put the old desk stand in the box I realized that the screw actually came with the microphone and I am just a one-of-a-kind dumbass.</p>
<p>I had been bracing for pricing changes for my Netcup VPS, and it <a href="https://www.netcup.com/en/priceadjustment">finally arrived</a> this week. I run a pretty small ARM VPS at Netcup so my costs are only going from 5.84 EUR to 6.92 EUR, a hit I can take for the time being. Really unfortunate that the unprofitable companies propping up the AI bubble have so much access to free capital that they’re destabilizing the whole industry.</p>
<h2 id="books">Books</h2>
<p>I installed <a href="https://github.com/janeczku/calibre-web/">Calibre-Web</a> last week, and spent most of this week doing manual housekeeping on the 40 or so books I own. Cleaning up metadata, syncing read states, setting up shelves — a lot of frankly pointless work that will hopefully make life easier in the long run. At IndieWebClub I tried to give <a href="https://tanvibhakta.in">Tanvi</a> her own account on my instance, but hadn’t realized that we’d have to share the library. I’ve set up a shelf for my books so we can hopefully rely on that to work around the problem.</p>
<p>With my reading goal quite lagging, I finally finished off <a href="https://bookwyrm.social/book/235804/s/the-wizard-hunters-the-fall-of-ile-rien-book-1">The Wizard Hunters</a> that I started <a href="https://bookwyrm.social/user/msfjarvis/generatednote/9824676">reading on February 6</a>. I usually get through a book in 2 to 3 weeks, but this was slow both because it was technically two books in one and hence around 700 pages in length, and because I was just not reading as often the past few weeks. I want to read <a href="https://bookwyrm.social/book/102060/s/project-hail-mary">Project Hail Mary</a> before I watch the movie, so hopefully reading this in the next week will put me back on track for my goal of reading 24 books a year.</p>
<h2 id="writing">Writing</h2>
<p>At IndieWebClub this week I finished off and published the post about securing <a href="https://msfjarvis.dev/posts/setting-up-forward-auth-with-caddy-and-pocket-id/">Calibre-Web behind Caddy and Pocket ID</a>.</p>
<h2 id="and-finally-the-food">And finally, the food</h2>
<p>As I promised last week, with the missing Cloudflare R2 integration in my CMS no longer being an excuse for not showing off the food I keep talking about, here is some of the food I made this week.</p>
<p>I had some chicken breast lying around in the freezer and an overwhelming desire to consume it, so I threw together a pretty simple pasta sauce using tomato and cream, cooked the chicken in it and then tossed it with pasta and some spices. I used the air fryer to quickly toast some sourdough bread I had and that was dinner and the next day’s breakfast.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Behold, the pasta." aria-label="A bowl of Fusilli pasta in a creamy and tomato rich sauce with some chicken pieces and a couple of slices of sourdough bread poking out from it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" alt="A bowl of Fusilli pasta in a creamy and tomato rich sauce with some chicken pieces and a couple of slices of sourdough bread poking out from it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Behold, the pasta.</figcaption></figure>
<p>Another night I ordered some nachos with my groceries so I put together a simple salad to go with the nachos. Apparently this is called <a href="https://www.spendwithpennies.com/cowboy-caviar/">“cowboy caviar”</a> in the US of A. I made this on a whim so I didn’t have kidney beans, but I did get some feta cheese and it came out very nice. Bright flavors, super satiating, lots of fiber. What’s not to like?</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Breakfast of champions or something I don't know." aria-label="The cowboy caviar salad containing diced onions, cucumbers, cherry tomatoes, corn, feta cheese and a simple sauce made with olive oil, apple cider vinegar, lemon juice and onion powder." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" alt="The cowboy caviar salad containing diced onions, cucumbers, cherry tomatoes, corn, feta cheese and a simple sauce made with olive oil, apple cider vinegar, lemon juice and onion powder." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Breakfast of champions or something I don't know.</figcaption></figure>
<p><a href="https://yashgarg.dev/">Yash</a> was back home on Saturday so we went back to our classic rajma (kidney beans) gravy which I supplemented with a side of raita.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Feels like home." aria-label="A plate with a bowl of raita, a bowl of rajma gravy and two chapattis." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" alt="A plate with a bowl of raita, a bowl of rajma gravy and two chapattis." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption class="figure-caption" data-astro-cid-xekddyko="">Feels like home.</figcaption></figure>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-11-2026/</id>
    <title>Weeknotes: Week #11 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-11-2026/"/>
    <published>2026-03-15T14:07:00.000Z</published>
    <updated>2026-03-15T14:07:00.000Z</updated>
    <summary>Would you believe it, even more travel!</summary>
    <content type="html"><![CDATA[<p>I am starting to realize that every other week I talk about traveling somewhere, in the midst of which I also threw in the part about being somewhat lonely and depressed when I had to be by myself in one place for a couple of weeks. This is probably giving people the impression that I love to travel and despise being a homebody, which is quite literally the exact opposite of who I really am. Hopefully this week was my last trip for the next few months and I can reclaim my nerdy homebody persona.</p>
<p>As hinted above, I was back home this week! My friend Rohan was getting married and I couldn’t imagine not being there, especially when our whole friend group was getting together. It was a great time, he sounded genuinely excited and happy which is all I care for. I got to see a lot of friends I haven’t met in person for over a year now, and it was very nice catching up and being a little rowdy over some drinks :)</p>
<p>While at home I also took the opportunity to hack some more on the homelab server and try out <a href="https://microvm-nix.github.io/microvm.nix/">microvm.nix</a> to enable running more than one instance of things on the same machine which has historically been a problem on NixOS. I intended to use all that preparatory work to try out <a href="https://github.com/booklore-app/booklore">Booklore</a> in a microVM since it uses MariaDB which I had no plans to run on my host, but that fell through when my suspicions around the quality issues in the v2 release were <a href="https://www.reddit.com/r/selfhosted/comments/1rs275q/psa_think_hard_before_you_deploy_booklore/">validated</a> by the revelation that the developer has let Claude run rampant over what was honestly a pretty decent bit of software. The following <a href="https://www.reddit.com/r/selfhosted/comments/1rs4nx0/my_side_of_the_story_from_the_developer_of/">meltdown from the developer</a> cemented my decision to stay away from it entirely. Instead, I set myself up with <a href="https://github.com/janeczku/calibre-web">Calibre-Web</a>.</p>
<p>It was quite straightforward, and most of my time tinkering with it actually went into setting up forward authentication using Caddy and Pocket ID. The end result of it can be found <a href="https://github.com/msfjarvis/dotfiles/blob/d4d81b24cd37456194c2e1a7ca8dde90fa19a986/modules/nixos/caddy/default.nix#L72-L107">here</a>, and I intend to write a post about it next week so others have to suffer a little less than I had to :’)</p>
<p>At home, I do my gaming on Linux where I ran into a peculiar bug involving Discord and Tailscale, which didn’t let me join any voice calls. I investigated this a bit online, and apparently it was <a href="https://github.com/tailscale/tailscale/issues/10396">reported already</a> and the <a href="https://github.com/tailscale/tailscale/issues/10396#issuecomment-3871203280">fix</a> was to hide the <code>tailscale0</code> interface from the Discord client?? That was also how I found about <a href="https://github.com/netblue30/firejail">firejail</a>, and like most things there was already a NixOS module <a href="https://github.com/msfjarvis/dotfiles/commit/d2ea971bd1276e1f47510711a7c5e813c24a50f9">to make the setup easy</a>.</p>
<p>On Saturday I flew back home via a morning flight, which is weirdly the first time I realized that the flight between Bengaluru and Hindon is closer to 3 hours than 2. Always thought otherwise, don’t know why.</p>
<p>I found out about <a href="https://izzyondroid.org/docs/general/AppInclusionPolicy/#ai-policy">IzzyOnDroid’s AI policy</a> yesterday and since I’ve <a href="https://msfjarvis.dev/posts/coming-around-on-the-utility-of-llms/">written before</a> about using LLMs for the development of Claw, I filed <a href="https://codeberg.org/IzzyOnDroid/repodata/issues/60">an issue</a> to ask for its removal from the repository. I massively appreciate the work they do for the FOSS ecosystem for Android (having donated a not-insignificant amount to their OpenCollective through Android Password Store) and I would hate to take that for granted and knowingly ignore their policies. There hasn’t been a decision made yet on it, but I’ve provided all the necessary context to aid the process.</p>
<p><a href="https://github.com/swapnilmadavi">Swapnil</a> and I went to watch <a href="https://www.imdb.com/title/tt33035197">Boong</a> right before I sat down to write this weeknote. Very cute and heartwarming, really loved it. It also made me realize how much I’ve missed going to the movies this past month, so I’m remedying it by watching <a href="https://www.imdb.com/title/tt27564844/">Iron Lung</a> tomorrow.</p>
<p>More meta stuff: I’ve <a href="https://msfjarvis.dev/posts/weeknotes-week-8-2026/">previously talked</a> about how my CMS does not have an integration with Cloudflare R2 as an excuse to not attach pictures of my food, which obviously meant that <a href="https://github.com/sveltia/sveltia-cms/commit/ff7aa3d885b4733d87c64c3a4fad350e325c6c99">the feature got shipped</a> so I have no reason to be lazy anymore. Prepare for diabolical salads next week!</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-10-2026/</id>
    <title>Weeknotes: Week #10 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-10-2026/"/>
    <published>2026-03-08T16:37:00.000Z</published>
    <updated>2026-03-08T16:37:00.000Z</updated>
    <summary>The most boring week I've had this year</summary>
    <content type="html"><![CDATA[<p>Barely anything of note happened this week as practically my whole team was out-of-office so I was both working <em>and</em> living alone which made for an incredibly boring time.</p>
<p>My phone woes continued into this week, with the Pixel 8 seemingly forgetting my home Wi-Fi network entirely and refusing to connect to it. For two days I had it connect to my spare phone’s hotspot for Wi-Fi. Just like last week, this problem also magically resolved itself in two days and things went back to normal. I hate software even more.</p>
<p>I finally had to go bug my landlord to get some maintenance work done in the flat when my ceiling fan broke down, not a fun time in 32 degree Celsius weather. That took entirely too many phone calls than one would expect, but I managed to take the opportunity and get other stuff fixed around the apartment as well. Hopefully that’ll be the end of this.</p>
<p>At work I kept fighting with CI related things, which were made slower by the fact that I had to reach out to a different team to help with reviews since nobody in mine was working. Eventually I think I’ve got it all working but what a colossal waste of time it has been throughout this week. We had a <a href="https://www.cloudflarestatus.com/incidents/cs9vyjjj4trx">minor scare</a> with the Android SDK from a user report about crashes when attempting to join a meeting but thankfully we were able to debug it and identify that the problem wasn’t as widespread as we initially suspected and required a very specific setup to trigger. I fixed the root cause and cut a release, I’ll probably write a blog post about it once I’ve completed the internal incident report.</p>
<p>I had to fly back home via an early flight on the 8th and hadn’t packed for it yet so I was debating if I should go to IndieWebClub but thankfully I did end up going, the <a href="https://underline.center/t/indiewebclub-21/723">topics on the agenda</a> were great and a lot of thoughtful discussion happened that I enjoyed participating in.</p>
<p>I packed for the trip at a definitely-not-too-late 8 PM, stayed up till 2 AM playing games with friends while waiting for my taxi and managed to reach the airport in an astonishing 45 minutes. All the airport staff was still there but the foot traffic was maybe a fifth of what I usually see in Kempegowda airport, so I basically speedran through check-in and security. Time from taxi to departure gate, maybe 30 minutes.</p>
<p>And that was kind of it! I’m back home in Ghaziabad for a week to attend a friend’s wedding and will be back in Bengaluru next weekend.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-9-2026/</id>
    <title>Weeknotes: Week #9 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-9-2026/"/>
    <published>2026-03-01T14:07:00.000Z</published>
    <updated>2026-03-01T14:07:00.000Z</updated>
    <summary>Getting a little honest about my mental health</summary>
    <content type="html"><![CDATA[<blockquote>
<p>Warning: Feelings</p>
</blockquote>
<p>My roommate <a href="https://yashgarg.dev/">Yash</a> is back with his parents for a couple of weeks, which has left me alone in the house and quite severely exposed my delusion of being a loner. I’ll probably write a separate post about this at some point, but I’ve been quite overwhelmed with feelings of loneliness which aren’t helped at all by me being a general homebody so this week has been quite rough, and forced me to start training myself to address the things that feed into it. I ended up finally utilizing the free therapy options offered at Cloudflare, and make sure to have at least one cleaning related task on my daily to-do to ensure I do not spiral into my room becoming a depression nest (shoutout <a href="https://www.youtube.com/watch?v=WjsX_BfhRSo">Geega</a> my goat). This has helped so far, and will likely be plenty to tide me over until I myself go back to my family at the end of next week. I also reached out to my colleagues at work and have scheduled a day of working together out of a cafe since our teams agreed to work from home for the next week due to most people taking off for Holi.</p>
<p>I promise I’ll be okay, it’s a bit of a sad boy funk, I’ll get over it.</p>
<hr>
<p>Onward to the rest of the weeknote!</p>
<ul>
<li>I had to email the customer support for one my credit cards when I realized I needed to use my registered email, and had <em>helpfully</em> used one of DuckDuckGo’s disposable aliases for the job 😅. Figuring that one out was thankfully pretty quick, and has been <a href="https://msfjarvis.dev/notes/til-sending-emails-from-my-duckduckgo-email-alias/">put down in a note</a> for future Harsh.</li>
<li><a href="https://kat.bio/">Amogh</a> helped me figure out how to be able to pay for stuff on Steam (the aforementioned credit card being at fault) again, so any irresponsible gaming purchases I talk about in the coming weeks are his fault.</li>
<li><a href="https://msfjarvis.dev/posts/weeknotes-week-8-2026/">Last week</a> I talked about adding WebMentions support to this site, this week I kept iterating on it and it now properly extracts comment text when available and correctly attributes to the real user instead of the brid.gy relay.</li>
<li>I shipped a new release of <a href="https://github.com/msfjarvis/compose-lobsters/commit/a3d8d5b4d3dfd115b85dba7010393354543b14ee">Claw</a> this week, incorporating some UI feedback from <a href="https://abhinavsarkar.net/">Abhinav</a> and my first attempt at a (mostly) LLM generated feature: <a href="https://github.com/msfjarvis/compose-lobsters/commit/a3d8d5b4d3dfd115b85dba7010393354543b14ee">Temporary tag blocks</a>. I had to get my hands dirty at the end anyway because the LLM just completely forgot about data migration and integrity, but having it do 80% of the work while I was at the gym is pretty cool. I also have to admit that the UI flow that Claude came up with is miles better than anything that had been floating around in my brain. I don’t know much it helped, but I used <a href="https://skills.sh/wshobson/agents/mobile-android-design">this “skill”</a> as part of the prompt.</li>
<li>Someone on the payroll team at Cloudflare probably discovered <a href="https://en.wikipedia.org/wiki/Idempotence">Idempotence</a> this week as everyone at our office got paid twice :P
<ul>
<li>Fret not, the extra money is already back with Cloudflare. Cheers to a brief taste of unearned wealth, the closest I will come to sharing an emotion with a billionaire.</li>
</ul>
</li>
<li>While trying to make that bank transfer I realized that my SIM had stopped working altogether, suspiciously after the Android 17 Beta 2 upgrade. Mild panicking ensued, and I had to add an additional side quest for a duplicate or a new SIM the next morning when I was meeting <a href="https://github.com/swapnilmadavi">Swapnil</a> and <a href="https://github.com/mayankofficial999">Mayank</a> for breakfast.
<ul>
<li>The boys helpfully accompanied me to the Jio store where I got the unfortunate news that the SIM owner has to be present in-person for a duplicate (which happened to be my mother), so I went to get a new Airtel SIM instead which was a relatively quick affair.</li>
<li>Of course right after that when I get home, the Jio SIM starts working again so all of the struggle was for naught. I fucking hate software sometimes.</li>
</ul>
</li>
<li>My weekly NixOS upgrades were basically impossible this week, there was a <a href="https://github.com/NixOS/nixpkgs/pull/494816">bad Linux regression</a>, and home-manager <a href="https://github.com/nix-community/home-manager/issues/8786">also has a severe bug</a> so I just reverted everything and will deal with it next week.</li>
</ul>
<hr>
<p>In case anyone is missing the food talk, this week was rather light on the experimentation front due to the aforementioned sad boy hours. I mostly ate salads and air fried a chicken breast or two a couple of times. I did try air fried potato wedges one night and they came out pretty nice, albeit slightly dry since I got the temperatures wrong. Lesson learned!</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-8-2026/</id>
    <title>Weeknotes: Week #8 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-8-2026/"/>
    <published>2026-02-22T15:26:00.000Z</published>
    <updated>2026-02-22T15:26:00.000Z</updated>
    <summary>The kitchen is my new comfort space</summary>
    <content type="html"><![CDATA[<p>I’ll apologize upfront: I’m going to talk about food a lot and not share any pictures because I have the excuse of <a href="https://github.com/sveltia/sveltia-cms/issues/586">my CMS</a> not supporting the asset pipeline I want to establish. Soon™️</p>
<p>Now, onward to the real content. A lot of time was spent in the kitchen this week, with <a href="https://yashgarg.dev/">Yash</a> and me continuing our burrito escapades. On Monday, I decided to try air-frying some tortilla chips to see how it would go, and despite the obvious problems caused by overcrowding the rather tiny fryer basket, I’d consider it a success overall. Definitely a good option for dinner in a pinch.</p>
<p>A couple of days later, we went back in for even more burritos, building on our previous experience. The beans got a more generous round of seasoning, the rice was cooked and cooled ahead of time, and we were more mindful about how much we tried to shove into each burrito. This was remarkably successful, with both of us managing to create fully wrapped burritos by the end of the ordeal. I opted for a veggie-heavy burrito bowl with my remaining portions instead of wrestling with the tortilla again, which felt like the smarter choice. Throwing in some air-fried chicken sausages elevated the whole situation, but there was a definite lack of carbs, which I’ll have to keep in mind for the future.</p>
<p>On Friday, I had zero energy to cook, so I just chopped up the remaining lettuce along with some onions, tomatoes, and cucumbers, tossed it all in some sauces we had lying around, and pretended it was a gourmet salad. 10/10, would do again.</p>
<p>Yash is back home for a couple of weeks, which means I’m left to fend for myself in terms of sustenance. So I’m making a U-turn back to the Mediterranean phase of my life and already have big batches of falafel and hummus sitting in my fridge. This time I did remember to use the appropriate amount of greens and—shocked Pikachu face—it’s actually come out way nicer than my last mishap. Who knew following the recipe was the way?</p>
<p>With all the food talk out of the way, the boys and I have been getting back into <a href="https://www.playstation.com/games/helldivers-2">Helldivers 2</a>, and things have been <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116087678608961557">going (not) great</a>. Super fun, though!</p>
<p>Relatedly, my laptop is back to its fortnightly cycle of throttling at the most inopportune moments, which has made gaming frustrating every so often. Since Windows is fairly out of my wheelhouse, I decided to commit the sin of letting an LLM replace the usual experience of stumbling through outdated forum articles. I had it run a gamut of debugging scripts to try and diagnose the problem. Everything that came out of this multi-day rigmarole is archived in <a href="https://git.msfjarvis.dev/msfjarvis/nvidia-struggles">this Git repository</a>. I’m not yet 100% confident that what Claude Sonnet 4.5 identified as the problem has truly resolved the issue, but it’s been fine for the past day or so.</p>
<p>Continuing the theme of tying things into the next entry, I have more LLM nonsense to share! I use <a href="https://jtx.techbee.at/">jtx Board</a> to manage my TODOs via CalDAV and wanted a simple way to show them in my <a href="https://github.com/glanceapp/glance">Glance</a> dashboard, which supports <a href="https://github.com/glanceapp/glance/blob/6c5b7a3f4cc409e31739b2914bb6636d08299126/docs/custom-api.md">custom APIs</a>—but unsurprisingly, only JSON. I had Claude try to write a simple proxy that could massage the CalDAV response into a suitable JSON format that I could plug into Glance. On its first pass, it took the credentials I had explicitly provided in a separate gitignored file for integration tests and put them into config.example.yml. When I asked it to remove them, it also included them in the LLM response text itself, causing them to be leaked twice instead. It also tried to claim that integration tests were passing when they obviously weren’t. Somewhere along the way, it lost the ability to issue write tool calls, which resulted in hilarious scenarios where it would attempt a write that never went through, run a test that still obviously failed, and then crash out about it. Fun for the whole family.</p>
<p><a href="https://underline.center/t/indiewebclub-20/720">IndieWebClub #20</a> was this weekend! I had missed the last two installments because I was out of Bengaluru, so I was super excited to catch up with people again. I met a bunch of new folks, had some great conversations—just a really good time. I would wholeheartedly recommend it to anyone who wants to have their own website, regardless of their technical expertise. You can get any level of help from the nicest, most patient people and become part of a small but growing community. It’s really special to me! The next one’s on the 7th of March—mark your calendars 🙂</p>
<p>And finally, this site now supports <a href="https://www.w3.org/TR/webmention/">WebMentions</a>! The server-side of this is built on top of the Cloudflare Developer Platform, leveraging Workers, the D1 SQLite database and Workers Queues. It was a nice way to finally dive back into Cloudflare’s compute offerings since I had last used them in 2022 and I was quite pleased with how much better everything is now. A lot more things are now possible to run on Workers than before, and the local development experience is <strong>really</strong> good now. I’ll probably build some more things on Workers in the future, and hopefully write about them.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-7-2026/</id>
    <title>Weeknotes: Week #7 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-7-2026/"/>
    <published>2026-02-15T14:52:00.000Z</published>
    <updated>2026-02-15T14:52:00.000Z</updated>
    <summary>Back to work and getting really into burritos</summary>
    <content type="html"><![CDATA[<p>This was my first week back in the office after an absence of 3 weeks which was a nice return to my usual routine. Catching up with 10 days of emails and messages wasn’t as herculean of a task as I had expected :D</p>
<p>I was finally able to put in a replacement request for the defective Pixel Watch 4 I had purchased <a href="https://msfjarvis.dev/posts/weeknotes-week-4-2026/">a couple of weeks ago</a> now that I was in Bengaluru and delivery was a more straightforward affair. Finding the chat option for this was an absolute nightmare trying to navigate Google’s endless mazes but once I was in there it was a pretty easy process. Blue Dart’s speed was quite the savior, and I got the replacement device back in just 3 days.</p>
<p>Now that I have a more capable fitness tracker I’ve been trying to be more mindful about staying active, which has been going less than stellar because I had been away from the gym for nearly a month so building back my endurance and stamina is gonna take a few more days. Definitely going to try and push for 10K steps a day again.</p>
<p>On Wednesday I fell on my way back from the gym by getting my foot stuck in an uneven footpath, which left me with some light but painful bruises. Thankfully they seem to have buffed out over the week, and the only permanent damage is going to be to my phone case :’)</p>
<p>On Friday, my roommate Yash and I decided to try out making burritos which were quite scuffed but ultimately rather delicious. The 8 inch burrito wraps that we got ended up being rather small, and the absence of any burrito wrapping skill between the two of us did not help the situation. Would like to try it again sometime if we can find bigger wraps, or maybe make our own.</p>
<p>Valentine’s day was spent enjoying my own company and working on some homelab stuff I had been putting off. My Git server is constantly being spammed by Chinese and Vietnamese spammers, which I <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116069080640569258">tried to mitigate unsuccessfully</a>. Will take another stab at it soon.</p>
<p>I also put out a <a href="https://github.com/msfjarvis/compose-lobsters/releases/tag/v1.60.0">new release of Claw</a> since it had been a month since the previous one, and it seems to have not exploded right away so that’s a relief.</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-6-2026/</id>
    <title>Weeknotes: Week #6 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-6-2026/"/>
    <published>2026-02-08T14:09:00.000Z</published>
    <updated>2026-02-08T14:09:00.000Z</updated>
    <summary>Finally back in Bengaluru!</summary>
    <content type="html"><![CDATA[<p>After 3 weeks of being away, I am finally back in Bengaluru this weekend. I was also off work for the past ~10 days, so I am looking forward to spending half of my Monday sorting through emails and unread Google Chat messages. I may never hit Inbox Zero ever again…</p>
<p>To start off the week, I finally got my first <a href="https://www.playbalatro.com/">Balatro</a> win off an extremely lucky draw of jokers – one which gave “mult” equal to the sell value of all jokers and another that gained sell value each turn. I also hit an extremely lucky spectral card that replaced a whole hand with jesters. The seed for that run was <code>A7IBENU9</code>, in case anyone wants to show me up :P</p>
<p>I also introduced Balatro to my sister who got the hang of the Poker aspect of it, but doesn’t quite get the Roguelike part yet.</p>
<p>Outside Balatro and the occasional ceremony for the wedding I was attending, I occupied my time in trying to finish reading the minor behemoth that was <a href="https://bookwyrm.social/book/1584147/s/book-of-ile-rien">Book of Ile-Rien</a>. When I finally got done with it, I realized I had basically every Martha Wells book on the Kobo <em>except</em> the sequels to the Ile-Rien series which I wanted to read next :’D</p>
<p>The eBook edition was not available on the Kobo India store so I had to get it from Barnes &amp; Noble, then figure out how to transfer it to the Kobo which also became a quick note <a href="https://msfjarvis.dev/notes/til-easily-sending-ebooks-to-a-kobo/">on the blog</a>.</p>
<p>The flight back to Bengaluru was a Boeing which didn’t quite inspire confidence, and the rather rough turbulence in the last 15 minutes of the journey had me genuinely fearing for my life but I made it down in one piece. I had to wait a while for the 3:30 PM bus back to Indiranagar but it was made pleasant by the AC lounge in the basement bus pickup area of the Kempegowda Airport.</p>
<p>Earlier in the week I had discovered (via <a href="https://indiewebify.me/">IndieWebify</a>) about the existence of the <a href="https://microformats.org/wiki/h-entry">h-entry</a> standard, and the site implements it now.</p>
<p>I was planning to be at <a href="https://underline.center/t/indiewebclub-19/708/1">IndieWebClub #19</a> today, having been away for the last 2 iterations of it but I woke up with the sniffles and didn’t have the energy for it. Hopefully next time 🤞</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-5-2026/</id>
    <title>Weeknotes: Week #5 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-5-2026/"/>
    <published>2026-02-01T15:09:00.000Z</published>
    <updated>2026-02-01T15:09:00.000Z</updated>
    <summary>I swear all this travel is against my will</summary>
    <content type="html"><![CDATA[<p>This week was mostly spent back in my ancestral village with effectively zero internet, so this weeknote is being typed up on my phone at 8:40 PM because I completely forgot about it.</p>
<p>The most interesting part of my week was me getting involved in some Discourse™ over a Cloudflare blog post that made dubious claims about a vibe coded Matrix implementation that was written to run on Workers. Needless to say I will not be exercising my “Disclaimer: I’m a CF employee but do not speak for the company” rights in the future.</p>
<p>On a positive note despite the biting cold and fog I’ve been able to get a solid 3-4 hours in the sun every day which were often translated into <em>heavenly</em> naps. To put it in perspective how rare it is for me to sleep out of turn, I’ve owned my Amazfit tracker for 2 years and this week is when I first discovered it tracks naps. During all the sun bathing I also managed to get through the first half of <a href="https://en.wikipedia.org/wiki/Ile-Rien#The_Element_of_Fire">The Book of Ile-Rien</a>.</p>
<p>And that’s kinda it! Having little to no access to the Internet has been kind of driving me crazy but I preloaded the Kobo with enough material to have no excuse to not just be reading, so that’s what I’ve been using my time for. The entirety of next week is going to be wrapped up in the festivities for the wedding I’m here for so I expect to have another light weeknote which will thankfully be written from Bengaluru :)</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-4-2026/</id>
    <title>Weeknotes: Week #4 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-4-2026/"/>
    <published>2026-01-25T10:16:00.000Z</published>
    <updated>2026-01-25T10:16:00.000Z</updated>
    <summary>A slow week back at home</summary>
    <content type="html"><![CDATA[<p>I’m still back at home so there’s not been a whole lot happening with my life other than being unable to deal with the cold.</p>
<ul>
<li>
<p>I started reading <a href="https://bookwyrm.social/book/1584147/s/book-of-ile-rien">The Book of Ile-Rien</a>, without realizing that the copy I bought is actually a combined version of <a href="https://en.wikipedia.org/wiki/Ile-Rien#The_Element_of_Fire">The Element of Fire</a> and <a href="https://en.wikipedia.org/wiki/Ile-Rien#Death_of_the_Necromancer">Death of the Necromancer</a> so I have a 900+ page behemoth on my hand that is a departure from the science fiction fare I usually consume. In six chapters I’m up to 17 unique words describing medieval things that I had to look up so overall this has been quite the experience.</p>
</li>
<li>
<p>The Pixel Watch I ordered last week came in on Tuesday and by Thursday its display had already developed horrid discoloration that forced me to put it in for an <a href="https://en.wikipedia.org/wiki/Return_merchandise_authorization">RMA</a> and get a replacement. It’s particularly bad timing since I will be traveling to my hometown soon for a marriage and then head back to Bengaluru, so I tried to have it be picked up from here and get it delivered in Bengaluru. Unfortunately the support executive I talked to got the wires crossed on that and scheduled the pickup from Bengaluru 🥲. Still trying to get that sorted.</p>
</li>
<li>
<p>We had a fair amount of thunder and rains on Friday which immediately knocked out both me and the power grid. The power came back 7-8 hours later but I continue to have the worst cold.</p>
</li>
</ul>
<p>Being away from work for a couple of weeks now hasn’t been as isolating as I would’ve expected which says good things about the team, but it has still been quite the drudgery being stuck inside what with the cold and the rain. I already miss the fabled Bengaluru weather…</p>]]></content>
  </entry>
  <entry>
    <id>https://msfjarvis.dev/posts/weeknotes-week-3-2026/</id>
    <title>Weeknotes: Week #3 (2026)</title>
    <link href="https://msfjarvis.dev/posts/weeknotes-week-3-2026/"/>
    <published>2026-01-18T06:50:00.000Z</published>
    <updated>2026-01-18T06:50:00.000Z</updated>
    <summary>A relatively quiet week mostly spent traveling and reading</summary>
    <content type="html"><![CDATA[<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-2-2026/">last week</a>, I’ve been traveling most of this week to attend the last rites of some immediate family that passed away at the start of this year. This has meant limited access to my computer and taking the week off work which might’ve been a blessing in some part.</p>
<ul>
<li>When I was leaving Bangalore, I tried taking a <a href="https://kia.bengawalk.com/">KIA BengaWalk</a> electric bus to the airport but it never showed up so I ended up in an expensive taxi instead. My experience with the bus network was pretty good when I used it last time to return from the airport so this was quite disappointing.</li>
<li><a href="http://obsidian.md/">Obsidian</a> updated this week to use rounded elements everywhere which I have mixed feelings about. It hasn’t felt too disruptive this week but I also didn’t use it all that much due to being mostly offline, so we’ll see in the next couple of weeks what side of the fence I end up on.</li>
<li>Finished reading <a href="https://bookwyrm.social/book/225118/s/shift">Shift</a> on the flight to Varanasi.</li>
<li>Immediately picked up <a href="https://bookwyrm.social/book/65228/s/dust">Dust</a> once I reached the village.</li>
<li>The generally poor mobile network at the village exposed a failure condition for the home screen widget in my app <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a>, so I took a crack at having <a href="https://github.com/copilot">Copilot</a> implement a caching feature to make the updates tolerant of transiently bad network. It took some prodding to make it all work, but in the end I was mostly satisfied with its ability to copy existing code <a href="https://github.com/msfjarvis/compose-lobsters/pull/1041">[PR]</a>.</li>
<li>The day before we were supposed to head back home, I got roped into assembling wedding invites with my Dad which ended up taking most of our time but it was nice to catch up with Dad for an extended period that I usually don’t get the opportunity for.</li>
<li>We ended up splitting our drive back home with a pit stop in Allahabad at a family friend, and I ashamedly used that time to catch up with work. I had completely forgotten about the Q1 kickoff meetings so there’s a couple of hours of recordings to watch when I’m back next week.</li>
<li>We left bright and early for the drive back which was rather rough with the heavy fog. I used the time in the car to finish off reading <a href="https://bookwyrm.social/book/65228/s/dust">Dust</a>, which might’ve been the fastest I’ve gotten through 300+ pages. The Silo series is written in quite a cliffhanger-heavy style where every chapter keeps you hooked, so I found it hard to put down. No complaints though, I loved all 3 books.</li>
<li>My Amazfit fitness tracker fell apart <a href="https://msfjarvis.dev/posts/weeknotes-week-1-2026/">again</a> so I finally ordered the Pixel Watch 4 I had been eyeing, with a <a href="https://www.amazon.in/dp/B0FWT8ND63">sturdy case</a> to protect it from my neglect.</li>
</ul>]]></content>
  </entry>
</feed>