From 829c69f55a044ba4794c807a62036093d5a482e3 Mon Sep 17 00:00:00 2001 From: Fabio Henrique Date: Fri, 8 May 2026 21:27:47 +0200 Subject: [PATCH 001/108] Add commonmark-java (#668) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/668 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89f3988..f9bf05a 100644 --- a/README.md +++ b/README.md @@ -649,6 +649,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [cmark](https://github.com/commonmark/cmark) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/commonmark/cmark/commit/9dc68b89800ccba49551f2055f2b41e20e9039b1), [2](https://github.com/commonmark/cmark/commit/cb3fe8c4dcfafb5c291096a1afc84723015e52dc), [3](https://github.com/commonmark/cmark/commit/8c9dcdd2d71cc191f2f9a9791b06e58c9aec5ec3))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/commonmark/cmark/issues/599#issuecomment-3914290545)) | [Markdown.pl](https://daringfireball.net/projects/markdown/) (md to html) | +| [commonmark-java](https://github.com/commonmark/commonmark-java) | [`e62bca1`](https://github.com/commonmark/commonmark-java/commit/e62bca11062dc52b4f7a28d1da3d16c49ba81628) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/commonmark/commonmark-java/commit/f3be489803f3446e610f2948fd77d4e821a5cefd), [2](https://github.com/commonmark/commonmark-java/commit/5815c3c0b17f52b53e65465fd8ff65da8e6304fa), [3](https://github.com/commonmark/commonmark-java/commit/057f13dd8e9472a45c714ad0c06a1a425ec21f61)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Pandoc](https://pandoc.org/) | [`0ce85b0`](https://github.com/jgm/pandoc/commit/0ce85b0cfa8e5d3155dddc77b1408b4d7d7890fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jgm/pandoc/pull/11132), [2](https://github.com/jgm/pandoc/pull/11396), [3](https://github.com/jgm/pandoc/commit/4b26f50118d7c0fdb3c1095dc26ba671e1b4b538)) | [lowdown](https://kristaps.bsd.lv/lowdown/)?
[Typst](https://typst.app/)? | ### Document Viewers From ab83f3bc667f87d60d3f36b8938c480684d31f33 Mon Sep 17 00:00:00 2001 From: Allen123456hello Date: Fri, 8 May 2026 22:00:55 +0200 Subject: [PATCH 002/108] add an alternative to openssl: libressl (#655) Seems to be a hard-fork from openssl. Not affected by slop. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/655 Reviewed-by: Admin --- README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f9bf05a..3834d6e 100644 --- a/README.md +++ b/README.md @@ -1047,15 +1047,21 @@ This is a section for repos that are similar to this one either because they are | [goblint](https://github.com/bilelmoussaoui/goblint) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bilelmoussaoui/goblint/commit/d54da4dc2ac0036bf3864294f1ef9d0f9f3a1dca)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [harfbuzz](https://github.com/harfbuzz/harfbuzz) |[`12.3.2`](https://github.com/harfbuzz/harfbuzz/tree/12.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://typo.social/@behdad/116172838540880597),[2](https://github.com/harfbuzz/harfbuzz/commit/73616f9808dfc31f82877e842be87e4f4543d8ab),[3](https://github.com/harfbuzz/harfbuzz/commit/664085f0ae19bf101ef4c8cda94a590a0f253286)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [LVGL](https://lvgl.io) | [`9.2.2`](https://github.com/lvgl/lvgl/releases/tag/v9.2.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lvgl/lvgl/blob/master/.github/copilot-instructions.md), [2](https://github.com/lvgl/lvgl/pull/9432), [3](https://github.com/lvgl/lvgl/pull/9434))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/lvgl/lvgl/pull/10040), [2](https://github.com/lvgl/lvgl/pull/10042), [3](https://github.com/lvgl/lvgl/pull/10039)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [MbedTLS](https://www.trustedfirmware.org/projects/mbed-tls/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Mbed-TLS/mbedtls/pull/10635), [2](https://github.com/Mbed-TLS/mbedtls/pull/10636), [3](https://github.com/Mbed-TLS/mbedtls/pull/10683)) | [GnuTLS] | +| [MbedTLS](https://www.trustedfirmware.org/projects/mbed-tls/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Mbed-TLS/mbedtls/pull/10635), [2](https://github.com/Mbed-TLS/mbedtls/pull/10636), [3](https://github.com/Mbed-TLS/mbedtls/pull/10683)) | See below | | [Mongoose](https://mongoose.ws) | [`7a21199`](https://github.com/cesanta/mongoose/commit/7a21199d4a64dc9d941417f3ddef12b89905af1f) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cesanta/mongoose/commit/97c53ec5a6e36a7c9ab188314d96ac0772f6c793), [2](https://github.com/cesanta/mongoose/commit/c937144b651eff9c2d4396f1e1d5b43d43956b2e)) | [libmicrohttpd] | -| [OpenSSL](https://openssl-library.org/) | [`3.5.0`](https://github.com/openssl/openssl/releases/tag/openssl-3.5.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openssl/openssl/commit/4cf52a2feda838b99a9255417844fbd20420159d),[2](https://github.com/openssl/openssl/commit/44e453d0f9c765e14c4d1f5dcde9a616fc7d05df),[3](https://github.com/openssl/openssl/commit/e5ff85fd777aee8fd6bd1c8136d8041b5c4fbc78))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/openssl/openssl/pull/29150),[2](https://github.com/openssl/openssl/pull/29074),[3](https://github.com/openssl/openssl/pull/29074)) | [GnuTLS] | +| [OpenSSL](https://openssl-library.org/) | [`3.5.0`](https://github.com/openssl/openssl/releases/tag/openssl-3.5.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openssl/openssl/commit/4cf52a2feda838b99a9255417844fbd20420159d),[2](https://github.com/openssl/openssl/commit/44e453d0f9c765e14c4d1f5dcde9a616fc7d05df),[3](https://github.com/openssl/openssl/commit/e5ff85fd777aee8fd6bd1c8136d8041b5c4fbc78))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/openssl/openssl/pull/29150),[2](https://github.com/openssl/openssl/pull/29074),[3](https://github.com/openssl/openssl/pull/29074)) | See below | | [raylib](https://github.com/raysan5/raylib) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/raysan5/raylib/discussions/5712#discussioncomment-16411612)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [sd-bus](https://www.freedesktop.org/software/systemd/man/latest/sd-bus.html) (via systemd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [*See systemd section*](#system-services-and-daemons) | [basu](https://sr.ht/~emersion/basu/) | | [SDL](https://github.com/libsdl-org/SDL) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/libsdl-org/SDL/blob/c46dfdba543195873c205f8a30957d1a50b99565/AGENTS.md?plain=1#L10)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [WolfSSL](https://wolfssl.com) | [`5.7.6`](https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.6-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wolfSSL/wolfssl/releases/tag/v5.9.1-stable))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wolfSSL/wolfssl/pull/10349), [2](https://github.com/wolfSSL/wolfssl/pull/10352), [3](https://github.com/wolfSSL/wolfssl/pull/10351)) | [GnuTLS] | +| [WolfSSL](https://wolfssl.com) | [`5.7.6`](https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.6-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wolfSSL/wolfssl/releases/tag/v5.9.1-stable))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wolfSSL/wolfssl/pull/10349), [2](https://github.com/wolfSSL/wolfssl/pull/10352), [3](https://github.com/wolfSSL/wolfssl/pull/10351)) | See below | | [zlib-ng](https://github.com/zlib-ng/zlib-ng) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zlib-ng/zlib-ng/commit/927c5a46a72cf058043a4b792ff20d8b50a9f1ab),[2](https://github.com/zlib-ng/zlib-ng/commit/061f0e4fa8b266f643a7070befe8d7a0b412ef31),[3](https://github.com/zlib-ng/zlib-ng/commit/a7e15da75f8ec00b392a467675617a9112948d00))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/zlib-ng/zlib-ng/pull/2197#issuecomment-4020684882)) | [zlib](https://zlib.net) | +> [!Note] +> #### Crypto/SSL/TLS Software Alternatives +> - [axTLS](https://axtls.sourceforge.net/) +> - [GnuTLS](https://www.gnutls.org/) +> - [LibreSSL](https://www.libressl.org/) + ### C++ | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | @@ -1613,7 +1619,6 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Grisbi]: https://grisbi.org/ [GNOME Boxes]: https://gnomeboxes.org [GNOME Terminal]: https://gitlab.gnome.org/GNOME/gnome-terminal -[GnuTLS]: https://www.gnutls.org/ [GoToSocial]: https://codeberg.org/superseriousbusiness/gotosocial [HomeBank]: https://www.gethomebank.org/ [Idris]: https://www.idris-lang.org/ From 27bbe6ff9a9e098433ee4cba3d6580fbfd99f562 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Fri, 8 May 2026 22:13:53 +0200 Subject: [PATCH 003/108] Add fd (#669) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/669 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3834d6e..fd23377 100644 --- a/README.md +++ b/README.md @@ -748,6 +748,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [eza](https://eza.rocks/) | [`v0.21.0`](http://github.com/eza-community/eza/releases/tag/v0.21.0) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/eza-community/eza/blob/eed27ed05e74542af5852aed40e3dbff87d69c43/README.md)) | [ls](https://en.wikipedia.org/wiki/Ls) | +| [fd](https://github.com/sharkdp/fd) | [`v10.2.0`](https://github.com/sharkdp/fd/releases/tag/v10.2.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sharkdp/fd/blob/7f1b1471d5e3f88087eaad77885dc70968750bb3/CONTRIBUTING.md), [2](https://github.com/sharkdp/fd/commit/0ada245e37c0de42e61da50da0ad3bcc49efb74f), [3](https://github.com/sharkdp/fd/commit/19dcbff5627010b11cb409a5ac2e0480bf0a61b7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/sharkdp/fd/pull/1805), [2](https://github.com/sharkdp/fd/pull/1934), [3](https://github.com/sharkdp/fd/pull/1928)) | [find](https://en.wikipedia.org/wiki/Find_(Unix)) | | [LSDeluxe](https://github.com/lsd-rs/lsd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/lsd-rs/lsd/blob/ce869cf60e4d131bf0f781b6705265f34e68b6b5/README.md), [2](https://github.com/lsd-rs/lsd/commit/ae1a2cd964168dee240de1ba13dd85e08b9a26a4)) | [ls](https://en.wikipedia.org/wiki/Ls) | | [zoxide](https://github.com/ajeetdsouza/zoxide) | [`v0.9.2`](https://github.com/ajeetdsouza/zoxide/releases/tag/v0.9.2) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/ajeetdsouza/zoxide/blob/67ca1bc9592854dd4957b8b02f16292638475659/README.md), [2](https://github.com/ajeetdsouza/zoxide/commit/073500cbdf8ba211e5115fc6e51411cf2468fc5b), [3](https://github.com/ajeetdsouza/zoxide/commit/61f19a60d91b7181bfdc88470e72bcd1befc7c6a)) | [cd](https://en.wikipedia.org/wiki/Cd_(command)) | From 375e1a663cebf141127d332581e2e54a77be19c9 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Fri, 8 May 2026 22:21:51 +0200 Subject: [PATCH 004/108] Add Next.js and React and clean up JavaScript/TypeScript section (#670) * Added Next.js and React. * Sorted badges per discussion in #638 / #666. * Mentioned TypeScript taint. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/670 Reviewed-by: Admin --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fd23377..83af27b 100644 --- a/README.md +++ b/README.md @@ -1107,17 +1107,21 @@ Note that Go is itself tainted; see [the Programming Languages section](#program ### JavaScript And TypeScript +Note that TypeScript is itself tainted; see [the Programming Languages section](#programming-languages). + | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | | --- |:---:| --- | --- | | [ArkType](https://arktype.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://arktype.io/llms.txt), [2](https://github.com/arktypeio/arktype/blob/main/.cursor/commands/armstrong.md), [3](https://github.com/arktypeio/arktype/pull/1553#issuecomment-3672923281))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/arktypeio/arktype/pull/1594)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [bun](https://github.com/oven-sh/bun) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oven-sh/bun/blob/main/CLAUDE.md), [2](https://github.com/oven-sh/bun/blob/main/.cursorignore), [3](https://github.com/oven-sh/bun/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/oven-sh/bun/issues/29336#issuecomment-4249855116))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://bun.com/blog/bun-joins-anthropic), [2](https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [bun](https://github.com/oven-sh/bun) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oven-sh/bun/blob/main/CLAUDE.md), [2](https://github.com/oven-sh/bun/blob/main/.cursorignore), [3](https://github.com/oven-sh/bun/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://bun.com/blog/bun-joins-anthropic), [2](https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/oven-sh/bun/issues/29336#issuecomment-4249855116)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Deno](https://github.com/denoland/deno) | [`6002d26`](https://github.com/denoland/deno/commit/6002d2624e567d92c5d659be77dfa14fc4db28fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/.github/CONTRIBUTING.md), [2](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/CLAUDE.md), [3](https://xcancel.com/i/status/2013280952370573666))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/denoland/deno/pull/33335#pullrequestreview-4143170352)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Typebox](https://github.com/sinclairzx81) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sinclairzx81/typebox/pull/1015), [2](https://github.com/sinclairzx81/typebox/issues/1294), [3](https://github.com/sinclairzx81/typebox/issues/1364)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Vite](http://vite.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/copilot-instructions.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md#sponsors), [2](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md?plain=1#L19))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/workflows/issue-template-check.yml#L50)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Zod](https://zod.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/colinhacks/zod/blob/main/AGENTS.md), [2](https://github.com/colinhacks/zod/blob/main/CLAUDE.md), [3](https://github.com/colinhacks/zod/blob/main/.cursorrules))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/colinhacks/zod/blob/c7805073fef5b6b8857307c3d4b3597a70613bc2/packages/zod/README.md?plain=1#L40)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 7de61cabeebd44e87e9f2c93609d39a9e3df7a7b Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 9 May 2026 11:11:39 +0200 Subject: [PATCH 005/108] Move Compiler Tools out of Developer Tools and move Mold and Wild to a linkers subsection (#683) Part of #661 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/683 Reviewed-by: Admin --- README.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 83af27b..209f21e 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,8 @@ Ready to fork a project to introduce a No AI policy? Check out our [**How to Slo * [Cheat Sheets and Documentation](#cheat-sheets-and-documentation) * [Command-Line Shells](#command-line-shells) * [Addons and Prompts](#addons-and-prompts) + * [Compiler Tools](#compiler-tools) + * [Linkers](#linkers) * [Computer Graphics](#computer-graphics) * [3D Tools](#3d-tools) * [Image Manipulation](#image-manipulation) @@ -63,7 +65,6 @@ Ready to fork a project to introduce a No AI policy? Check out our [**How to Slo * [Video](#video) * [Continuous Integration](#continuous-integration) * [Developer Tools](#developer-tools) - * [Compiler Tools And Related](#compiler-tools-and-related) * [Documents](#documents) * [Document Converters](#document-converters) * [Document Viewers](#document-viewers) @@ -572,6 +573,20 @@ This is a section for repos that are similar to this one either because they are > #### Alternative Plugin Managers > * [zimfw](https://github.com/zimfw/zimfw) +## Compiler Tools + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [`Godbolt`](https://godbolt.org) | [`d107352`](https://github.com/compiler-explorer/compiler-explorer/commit/d1073529e6bb26361e1105f5e56ed33510a83d76)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/compiler-explorer/compiler-explorer/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [LLVM](https://llvm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://llvm.org/docs/AIToolPolicy.html)) | [GCC](https://gcc.gnu.org/), [Cranelift](https://cranelift.dev/), [pcc](https://github.com/PortableCC/pcc) | + +### Linkers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Mold](https://github.com/rui314/mold) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rui314/mold/commit/dac20fa24373f35b5dec44e4740db85c3eb7b3dd)) | GNU ld | +| [Wild](https://github.com/wild-linker/wild) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wild-linker/wild/blob/9027437a8776afea1a1f0840fcda3fd6895f6f55/CONTRIBUTING.md), [2](https://github.com/wild-linker/wild/pull/1653#issuecomment-4017584459), [3](https://github.com/wild-linker/wild/pull/912)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Computer Graphics ### 3D Tools @@ -630,17 +645,8 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [curl](https://curl.se/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://mastodon.social/@bagder/116204333476519757)) | [Wget](https://www.gnu.org/software/wget/) | | [Golly](https://golly.sourceforge.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Mold](https://github.com/rui314/mold) linker | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rui314/mold/commit/dac20fa24373f35b5dec44e4740db85c3eb7b3dd)) | GNU ld | | [MTKClient](https://github.com/bkerler/mtkclient) | [`9f64e8e`](https://github.com/bkerler/mtkclient/commit/9f64e8e6212cc94db506339426dcf6b61f9027fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bkerler/mtkclient/commit/b74421a47d19a5eaf5929bf0daad7b9f03c0ef58)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | -| [Wild](https://github.com/wild-linker/wild) linker | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wild-linker/wild/blob/9027437a8776afea1a1f0840fcda3fd6895f6f55/CONTRIBUTING.md), [2](https://github.com/wild-linker/wild/pull/1653#issuecomment-4017584459), [3](https://github.com/wild-linker/wild/pull/912)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - -### Compiler Tools And Related - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [`Godbolt`](https://godbolt.org) | [`d107352`](https://github.com/compiler-explorer/compiler-explorer/commit/d1073529e6bb26361e1105f5e56ed33510a83d76)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/compiler-explorer/compiler-explorer/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [LLVM](https://llvm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://llvm.org/docs/AIToolPolicy.html)) | [GCC](https://gcc.gnu.org/), [Cranelift](https://cranelift.dev/), [pcc](https://github.com/PortableCC/pcc) | ## Documents From a25f98a3fd9a618ec438bf7892ce0727539cdfc5 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 9 May 2026 11:54:58 +0200 Subject: [PATCH 006/108] Add Stylus (#673) In the commit tree, the slop commit appears to have been force-pushed to remove the taint attribution, so that makes it even worse. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/673 Reviewed-by: Admin --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 209f21e..0eb6870 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ Ready to fork a project to introduce a No AI policy? Check out our [**How to Slo * [Bootloaders](#bootloaders) * [Build Systems and Task Runners](#build-systems-and-task-runners) * [Browsers](#browsers) + * [Browser Addons](#browser-addons) * [Desktop Browsers](#desktop-browsers) * [Headless Browsers](#headless-browsers) * [Mobile Browsers](#mobile-browsers) @@ -490,6 +491,12 @@ This is a section for repos that are similar to this one either because they are ## Browsers +### Browser Addons + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternatives | +|---|:---:|---|---| +| [Stylus](https://add0n.com/stylus.html) | [`v2.3.19`](https://github.com/openstyles/stylus/releases/tag/v2.3.19) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openstyles/stylus/pull/2058)) | [Stylebot](https://github.com/ankit/stylebot) | + ### Desktop Browsers | Name | Last Untainted Version or Commit ID | Tags and Evidence | From 0b83fb537eedce08324bd069d3df43fa197aaf51 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 9 May 2026 11:57:21 +0200 Subject: [PATCH 007/108] Add Discourse (#674) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/674 Reviewed-by: Admin --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0eb6870..bfbe3cf 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ Ready to fork a project to introduce a No AI policy? Check out our [**How to Slo * [File Transferring](#file-transferring) * [Filesystem Navigation](#filesystem-navigation) * [File Managers](#file-managers) + * [Forum Software](#forum-software) * [Gaming](#gaming) * [Game engines](#game-engines) * [Alternative game engines](#alternative-game-engines) @@ -771,6 +772,12 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Superfile](https://superfile.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/yorukot/superfile/blob/main/.gitignore),[2](https://github.com/yorukot/superfile/commit/4f875e5c2e0e2a837a2c4a6548dbc09f76905c29),[3](https://github.com/yorukot/superfile/commit/130f1ef57b8314dd4bc5c7a22eac6db996da4361))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/yorukot/superfile/pull/1405),[2](https://github.com/yorukot/superfile/pull/1391),[3](https://github.com/yorukot/superfile/pull/1387))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#ai-sponsored) ([1](https://github.com/yorukot/superfile#----superfile-is-supported-by-the-community--))| [lf](https://github.com/gokcehan/lf),
[Midnight Commander](https://midnight-commander.org/),
[vifm](https://vifm.info/) | +## Forum Software + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Discourse](https://www.discourse.org/) | [`v3.1.0.beta2`](https://github.com/discourse/discourse/releases/tag/v3.1.0.beta2) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://meta.discourse.org/t/discourse-ai/259214), [2](https://meta.discourse.org/t/bundling-more-popular-plugins-with-discourse-core/373574))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/discourse/discourse/blob/af03824f417510aec37091f4f4e3b0c00e71075a/AI-AGENTS.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://meta.discourse.org/t/all-discourse-ai-features-now-available-on-pro-and-business/333409)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Gaming ### Game engines From 9f8a29a8a29c8148607926c386e7a86565f080a7 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 9 May 2026 12:00:18 +0200 Subject: [PATCH 008/108] Rename goblint to gobject-linter (#684) It was renamed a few days ago. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/684 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bfbe3cf..891f5db 100644 --- a/README.md +++ b/README.md @@ -1065,7 +1065,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | |---|:---:|---|---| | [Expat](https://libexpat.github.io/) | [`2.7.4`](https://github.com/libexpat/libexpat/releases/tag/R_2_7_4) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/libexpat/libexpat/pull/1147)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [goblint](https://github.com/bilelmoussaoui/goblint) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bilelmoussaoui/goblint/commit/d54da4dc2ac0036bf3864294f1ef9d0f9f3a1dca)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [gobject-linter](https://github.com/bilelmoussaoui/gobject-linter) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bilelmoussaoui/goblint/commit/d54da4dc2ac0036bf3864294f1ef9d0f9f3a1dca)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [harfbuzz](https://github.com/harfbuzz/harfbuzz) |[`12.3.2`](https://github.com/harfbuzz/harfbuzz/tree/12.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://typo.social/@behdad/116172838540880597),[2](https://github.com/harfbuzz/harfbuzz/commit/73616f9808dfc31f82877e842be87e4f4543d8ab),[3](https://github.com/harfbuzz/harfbuzz/commit/664085f0ae19bf101ef4c8cda94a590a0f253286)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [LVGL](https://lvgl.io) | [`9.2.2`](https://github.com/lvgl/lvgl/releases/tag/v9.2.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lvgl/lvgl/blob/master/.github/copilot-instructions.md), [2](https://github.com/lvgl/lvgl/pull/9432), [3](https://github.com/lvgl/lvgl/pull/9434))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/lvgl/lvgl/pull/10040), [2](https://github.com/lvgl/lvgl/pull/10042), [3](https://github.com/lvgl/lvgl/pull/10039)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [MbedTLS](https://www.trustedfirmware.org/projects/mbed-tls/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Mbed-TLS/mbedtls/pull/10635), [2](https://github.com/Mbed-TLS/mbedtls/pull/10636), [3](https://github.com/Mbed-TLS/mbedtls/pull/10683)) | See below | From 331a72e008dfbbfd0e90d0216a97f4732949e875 Mon Sep 17 00:00:00 2001 From: jbechtel Date: Sun, 10 May 2026 08:53:35 +0200 Subject: [PATCH 009/108] =?UTF-8?q?Add=20=E2=80=9ED=E2=80=9C=20language=20?= =?UTF-8?q?(#679)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is an improved PR which supersedes #676 which can then be closed and incorporates information from #147. In order to match the style guide I put all the reasoning in the commit message. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/679 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 891f5db..d7324f9 100644 --- a/README.md +++ b/README.md @@ -1022,6 +1022,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [.NET](https://dotnet.microsoft.com/) | [`v9.0.0`](https://github.com/dotnet/runtime/releases/tag/v9.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dotnet/runtime/blob/main/.github/copilot-instructions.md), [2](https://github.com/dotnet/runtime/blob/main/.github/agents/agentic-workflows.agent.md), [3](https://github.com/dotnet/runtime/commit/128321e88e2c93d69766e15ad4f06bab70b753b7))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/dotnet/runtime/pull/116200)) | See below | +| [D](https://dlang.org/) | [`2.112.0`](https://dlang.org/download.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dlang/dmd/commit/0bb399977511b76d770868fe14e16cad8dc49104)) | See below | | [Dart](https://dart.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md#ai-contribution-guidelines), [2](https://github.com/dart-lang/sdk/tree/6cd3938741d48681330363b3553da8eccf335407/.agents/skills), [3](https://github.com/dart-lang/core/tree/0def20c4bef2b242db15b38202a54735101f5791/.gemini)) | See below | | [Elixir](https://elixir-lang.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI Policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/elixir-lang/elixir/blob/main/CONTRIBUTING.md#ai-contributions)) | See below | | [Gerbil Scheme](https://github.com/mighty-gerbils/gerbil) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mighty-gerbils/gerbil/pull/1397)) | [Chez Scheme](https://cisco.github.io/ChezScheme/)
[Guile](https://www.gnu.org/software/guile/) | From 6408dc5f62013e0d135528afa2bdaa36d7103e1c Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 10 May 2026 09:11:38 +0200 Subject: [PATCH 010/108] Starting a new FAQ (#685) - closes #680 Co-authored-by: @Pixelo789 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/685 --- FAQ.md | 43 +++++++++++++++++++++++++++++++++++++++++++ README.md | 4 +++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 FAQ.md diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 0000000..5c9cfc2 --- /dev/null +++ b/FAQ.md @@ -0,0 +1,43 @@ +# Frequently Asked Questions + +There's no great place to put these in our current files, but these sorts of questions come up enough, that we wanted to put them down somewhere to easily link responses. + +## Can I self advertise here? + +> Yes, provided it's FOSS, has a code of conduct (even if it's a solo project), and a No AI Policy, you can add your project as an alternative to any tainted software in which it is a good fit, and you can also open a [Call for Collaborators Issue](https://codeberg.org/small-hack/open-slopware/issues/new?template=.forgejo%2fissue_template%2fcollaborate-with-me.yaml). + +## Do closed source or proprietary products belong on this list? + +> No, this repo is only for open source projects. + +## Can we split the "Permissive AI Policy" tag further? + +> No, beyond "vibecoded" being added in some extreme cases. We don't want to have this conversation continually, as it is subjective what "severity" something falls under. The decision to add these tags took us a long time, and unless you have another *specific* tag that cannot be covered under any other tag, we're currently not open to discussion about this. This repo is already quite a lot to manage. + +## Why are you targeting/attacking/harassing my favorite project? + +> We do not "target", "harass", or "attack" any projects. We, in fact, have a [very strict policy on not doing that](https://codeberg.org/small-hack/open-slopware/src/branch/main/CODE_OF_CONDUCT.md#be-kind-or-be-gone). This repo is one based on ethics and is intended as a call to action. If a project meets the definition of one of our tags, it will see itself added to this repo. It can take steps to stop doing whatever it is in that definition and we'll remove it. (See also the [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal).) + +## If a repo had slop before, isn't it permanently tainted? Aren't all forks of slop therefore also slop? + +> No. See also: [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal). +> +> Eventually, the slop will likely either be removed, replaced, or deprecated. +> +> We're also against AI for more than just code quality reasons. There's plenty of ethical reasons to be against continuing to use AI: +> +> - [environmental](https://codeberg.org/small-hack/open-slopware#environmental-impact) +> - [ties to the war industrial complex](https://codeberg.org/small-hack/open-slopware#ties-to-the-war-industrial-complex) +> - [effect on hardware prices hurting newcomers to the industry](https://codeberg.org/small-hack/open-slopware#effect-on-hardware-prices) (especially those already disenfranchised) +> +> The commitment to stop using AI stops those above ethical issues. It's like going vegetarian. You're still a vegetarian if you previously consumed meat, but now you don't. You've still reduced suffering and helped the environment. A commitment to doing better is better than never stopping a harmful action. + +## Is a project tainted if it has dependencies that are tainted? + +> This one is complicated, but in short: No, unless the dependencies are literally AI libraries. +> If the dependency is, for example, the ChatGPT SDK or something similar, then yes, the project is tainted. +> If the project is just built with something like Python, which is also tainted, we do not automatically consider it tainted, as the language is a general purpose language and there are *very* few languages not already tainted or slated to be tainted right now. We take a harm reduction philosophy and we believe that, especially in the case of established projects, demanding that they switch the core language of their project is not a simple undertaking. + +## Can you advise us on the ethical usage of AI? + +> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs section](https://codeberg.org/small-hack/open-slopware#why-not-llms). \ No newline at end of file diff --git a/README.md b/README.md index d7324f9..4f558c3 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ See a project on here that you love, and wish wasn't on here? Check out our [**N Ready to fork a project to introduce a No AI policy? Check out our [**How to Slop Free Fork Guide**](./HOW_TO_SLOP_FREE_FORK.md). +Any other questions? Please check out our [FAQ](./FAQ.md) and if your question isn't answered there, please feel free to open a Discussion type Issue. + * [Definitions](#definitions) * [Permissive AI Policy](#permissive-ai-policy) * [Vibecode](#vibecode) @@ -248,7 +250,7 @@ Evidence can be: ![AI sponsored](./badges/ai-sponsored-blue.svg) -The project is sponsored directly by an AI company. +The project is sponsored directly by an AI company. An AI company is any company that advertises itself as pro-AI or develops an AI product itself. The obvious ones are Anthropic and OpenAI, however, all the big tech companies (e.g. Apple, Google, Microsoft, and Amazon) also count because they all have AI services and direct products as major offerings. Evidence can be: From 4a9f6b82e683b0711281ef525eeebe9a0f34b5c4 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sun, 10 May 2026 12:08:17 +0200 Subject: [PATCH 011/108] Fix FAQ mention in README (#687) https://codeberg.org/small-hack/open-slopware/pulls/685#issuecomment-14598501 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/687 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f558c3..e2504b2 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ See a project on here that you love, and wish wasn't on here? Check out our [**N Ready to fork a project to introduce a No AI policy? Check out our [**How to Slop Free Fork Guide**](./HOW_TO_SLOP_FREE_FORK.md). -Any other questions? Please check out our [FAQ](./FAQ.md) and if your question isn't answered there, please feel free to open a Discussion type Issue. +Any other questions? Please check out our [FAQ](./FAQ.md), and if your question isn't answered there, please feel free to start a [Discussion](https://codeberg.org/small-hack/open-slopware/issues/new?template=.forgejo%2fissue_template%2fdiscussion.yaml). * [Definitions](#definitions) * [Permissive AI Policy](#permissive-ai-policy) From 863f9bf7c296a0a20d3153e06a1bf6689156e7e7 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sun, 10 May 2026 23:13:57 +0200 Subject: [PATCH 012/108] Re-add "AI Sponsored" tags for Next.js and React (#688) Since Vercel and Facebook/"Meta" pride themselves on "AI" slop, Next.js and React respectively count as "AI Sponsored". Also see https://codeberg.org/small-hack/open-slopware/pulls/670#issuecomment-14537760 and #685. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/688 Reviewed-by: Admin --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e2504b2..0063681 100644 --- a/README.md +++ b/README.md @@ -1139,10 +1139,10 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [Deno](https://github.com/denoland/deno) | [`6002d26`](https://github.com/denoland/deno/commit/6002d2624e567d92c5d659be77dfa14fc4db28fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/.github/CONTRIBUTING.md), [2](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/CLAUDE.md), [3](https://xcancel.com/i/status/2013280952370573666))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/denoland/deno/pull/33335#pullrequestreview-4143170352)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://opensource.fb.com/projects/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Typebox](https://github.com/sinclairzx81) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sinclairzx81/typebox/pull/1015), [2](https://github.com/sinclairzx81/typebox/issues/1294), [3](https://github.com/sinclairzx81/typebox/issues/1364)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Vite](http://vite.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/copilot-instructions.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md#sponsors), [2](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md?plain=1#L19))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/workflows/issue-template-check.yml#L50)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 063aa675d58baae518f849d69f2209018427eedc Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 11 May 2026 00:48:03 +0200 Subject: [PATCH 013/108] Add Fedora and OpenWrt (#672) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/672 Reviewed-by: Admin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0063681..9ed6e5f 100644 --- a/README.md +++ b/README.md @@ -949,7 +949,9 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| +| [Fedora](https://fedoraproject.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://docs.fedoraproject.org/en-US/council/policy/ai-contribution-policy/)) | See below | | [NixOS](https://github.com/NixOS/nix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/NixOS/nix/commit/6dddd433f8a40df445257d69f0ec2c3d88d37b21), [2](https://github.com/NixOS/nix/commit/b738af0f5cefaa4fd76d74a981433d608b109d2c), [3](https://github.com/NixOS/nix/commit/5286c0477d77fb919df890324d3a510a199f450e)) | [GNU Guix System](https://guix.gnu.org/) | +| [OpenWrt](https://openwrt.org) | [`7214acd`](https://github.com/openwrt/openwrt/commit/7214acd7599a25863d6185a036d878b593b4b16c) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openwrt/openwrt/commit/af3cbd4013a2c8c82450e4a4b21a73d28ab4cda2), [2](https://github.com/openwrt/openwrt/pull/21284), [3](https://github.com/openwrt/openwrt/commit/410277ca12d811daa8040edf75dfd87a2d9dd5f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/openwrt/openwrt/pull/22565), [2](https://github.com/openwrt/openwrt/pull/22421), [3](https://github.com/openwrt/openwrt/pull/22543)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Ubuntu](https://ubuntu.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://ubuntu.com/ai), [2](https://discourse.ubuntu.com/t/the-future-of-ai-in-ubuntu/81130)) | See below | > [!NOTE] From 34a685d48aa3a8aefb999bc8a79065985241c339 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 11 May 2026 09:16:45 +0200 Subject: [PATCH 014/108] Add Scratch Everywhere (#694) Closes #690 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/694 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ed6e5f..6a32d88 100644 --- a/README.md +++ b/README.md @@ -1092,6 +1092,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | | --- |:---:| --- | --- | +| [Scratch Everywhere](https://github.com/ScratchEverywhere) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ScratchEverywhere/ScratchEverywhere/issues/670)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [spdlog](https://github.com/gabime/spdlog) | [`v1.16.0`](https://github.com/gabime/spdlog/releases/tag/v1.16.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gabime/spdlog/commit/b656d1ceecac83e969faaf8b35f8a5edb964b0e0), [2](https://github.com/gabime/spdlog/commit/6b240a892d40f91f30b81cae73964219ab04c55d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gabime/spdlog/pull/3581#event-24197698244)) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [SQLiteCpp](https://github.com/SRombauts/SQLiteCpp) | [`v3.3.3`](https://github.com/SRombauts/SQLiteCpp/releases/tag/3.3.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/SRombauts/SQLiteCpp/commit/9986f570bef00ca1029a2c19e4ce8fcbf206f775), [2](https://github.com/SRombauts/SQLiteCpp/commit/a9d117e0a38dc12fd49d6bcd675c67a7383fa2fa)) | [SQLite's first-party interface](https://sqlite.org/cintro.html) | From 1ff4e24e125bb6cb9f7714f520d8f40dc9d50601 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 11 May 2026 10:44:57 +0200 Subject: [PATCH 015/108] make it clear that you are not to mention this repo when reaching out to other projects (#693) This is not up for debate. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/693 --- CODE_OF_CONDUCT.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 3198860..753198d 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -53,6 +53,10 @@ We're going to do a 2 strike rule here with an optional warning. You are out on # Be kind or be gone +- Do **NOT** use this repo as a witch hunting device in any direction. You may not reach out on repos, forums, social media, reddit, messaging apps, etc, especially not in a rude way, to maintainers of other repos to harass them and threaten them, especially not with this list. Doing so will result in a ban. + +- Do **NOT** mention this list *at all* when reaching out to a project to discuss AI in any way. It only results in putting the maintainers of that project on the defensive, and then the maintainers of *this* repo need to deal with the fallout of that. If you need help with asking for a No AI Policy, consider checking out our [No AI Request Template doc](https://codeberg.org/small-hack/open-slopware/src/branch/main/NO_AI_REQUEST_TEMPLATE.md#tips-for-success). You are also free to copy and paste anything from the [Why not LLMs](https://codeberg.org/small-hack/open-slopware/src/branch/main#why-not-llms) section of our README. + - We don't want drive by sarcastic comments. - No references to bodily fluids (vomit, urine, feces), this includes emojis. It's gross and unproductive. @@ -65,8 +69,6 @@ We're going to do a 2 strike rule here with an optional warning. You are out on - This repo is not a substitute for social media. The maintainers do not have the mental health bandwidth to manage such a community. -- Do **NOT** use this repo as a witch hunting device in any direction. You may not reach out on social media, reddit, messaging apps, etc, especially not in a rude way, to maintainers of other repos to harass them and threaten them with this list. Doing so will result in a ban. - - Please do not reach out to the maintainers or collaborators of this repo anywhere but this repo specifically (unless they have given explicit permission to do so). We do not operate our personal email or fediverse accounts as extensions of this repo and will not take feedback there. We need a proper work life balance. Please respect that. - No complaining about purity rules, "walking on egg shells", etc. If you can't behave professionally here, then please just kindly exit. From c5ed18360cb405756a02fc9dc34206e36707f246 Mon Sep 17 00:00:00 2001 From: Hiccup Date: Mon, 11 May 2026 20:01:28 +0200 Subject: [PATCH 016/108] Add VisualBoyAdvance-M (#681) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/681 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a32d88..2eac8c0 100644 --- a/README.md +++ b/README.md @@ -817,6 +817,7 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Amiberry](https://amiberry.com/) | [`7.1.1`](https://github.com/BlitterStudio/amiberry/releases/tag/v7.1.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BlitterStudio/amiberry/pull/1870), [2](https://github.com/BlitterStudio/amiberry/pull/1868), [3](https://github.com/BlitterStudio/amiberry/pull/1866))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/BlitterStudio/amiberry/pull/1818), [2](https://github.com/BlitterStudio/amiberry/pull/1809), [3](https://github.com/BlitterStudio/amiberry/pull/1781)) | [Denise](https://sourceforge.net/projects/deniseemu/) | | [Azahar](https://azahar-emu.org/) | [`2124.3`](https://github.com/azahar-emu/azahar/releases/tag/2124.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/azahar-emu/azahar/blob/master/AI-POLICY.md)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | +| [VisualBoyAdvance-M](https://github.com/visualboyadvance-m/visualboyadvance-m) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/CLAUDE.md), [2](https://github.com/visualboyadvance-m/visualboyadvance-m/commit/e5c7eae069aeab4630e588b760586f96f9fe9111), [3](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1515))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1501)) | [mGBA](https://github.com/mgba-emu/mgba) ## Language and Localization From 998a87e779970590b072a792c212b617403a4e2d Mon Sep 17 00:00:00 2001 From: ch0ccyra1n Date: Tue, 12 May 2026 08:15:50 +0200 Subject: [PATCH 017/108] Add last known untainted version for Hugo (#699) I managed to sift through the commit history of Hugo, and this commit appears to be the parent of the first commit with known usage of Claude in their repository, meaning it is the last untainted commit. The version I provided is the last version of Hugo which predates that commit. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/699 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2eac8c0..8033c04 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [Hugo](https://gohugo.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/AGENTS.md), [2](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/CLAUDE.md), [3](https://github.com/gohugoio/hugo/commit/842d8f105256c5656e7895ee61fa5b2dfe90a9e3)) | +| [Hugo](https://gohugo.io/) | [v0.151.2](https://github.com/gohugoio/hugo/releases/tag/v0.151.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/AGENTS.md), [2](https://github.com/gohugoio/hugo/blob/842d8f105256c5656e7895ee61fa5b2dfe90a9e3/CLAUDE.md), [3](https://github.com/gohugoio/hugo/commit/842d8f105256c5656e7895ee61fa5b2dfe90a9e3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gohugoio/hugo/pull/14850)) | | [Pelican](https://getpelican.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getpelican/pelican/pull/3405#issuecomment-2592359405)) | | [Zola](https://www.getzola.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/getzola/zola/blob/ec865e2cb7c159169f4dc56ebcd35a460b8eb297/.claude)) | From ded75d8f2ce46fb6170b5ef365a9992280f5c888 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 12 May 2026 18:04:52 +0200 Subject: [PATCH 018/108] Expand Addons & Prompts section (#702) Co-authored-by: David Knaack Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/702 Reviewed-by: Admin --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8033c04..0ddb428 100644 --- a/README.md +++ b/README.md @@ -574,10 +574,10 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Atuin](https://github.com/atuinsh/atuin) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/atuinsh/atuin/pull/3199))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/atuinsh/atuin/blob/main/AGENTS.md), [2](https://github.com/atuinsh/atuin/pull/2777#issuecomment-2944105696)) | Built-in shell history | | [oh-my-bash](https://github.com/ohmybash/oh-my-bash) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ohmybash/oh-my-bash/pull/729)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [oh-my-posh](https://github.com/JanDeDobbeleer/oh-my-posh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JanDeDobbeleer/oh-my-posh/commit/0ca76357a608f2e4043e10fe9591709ca554d75d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [oh-my-posh](https://github.com/JanDeDobbeleer/oh-my-posh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://ohmyposh.dev/docs/segments/cli/claude))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/JanDeDobbeleer/oh-my-posh/commit/0ca76357a608f2e4043e10fe9591709ca554d75d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [ohmyzsh](https://github.com/ohmyzsh/ohmyzsh) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/ohmyzsh/ohmyzsh/pull/13222))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ohmyzsh/ohmyzsh/blob/master/CONTRIBUTING.md#a-note-on-ai-assisted-contributions), [2](https://github.com/ohmyzsh/ohmyzsh/commit/99b243b9a98576037c864ff115b1fe96621fec8a), [3](https://github.com/ohmyzsh/ohmyzsh/commit/8c5a60644a2a93fb6b7d76ec7a5598f99b426cf0)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [spaceship-prompt](https://spaceship-prompt.sh/) | [`v4.19.3`](https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v4.19.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/spaceship-prompt/spaceship-prompt/pull/1514), [2](https://github.com/spaceship-prompt/spaceship-prompt/pull/1542))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/spaceship-prompt/spaceship-prompt/pull/1513), [2](https://github.com/spaceship-prompt/spaceship-prompt/pull/1532), [3](https://github.com/spaceship-prompt/spaceship-prompt/pull/1541)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Starship](https://starship.rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/starship/starship/pull/7234))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/commit/0d71065a6eb98ff00b42b2bc4ff78dad7b897a1e)) | [shmonad](https://github.com/matthunz/shmonad) | +| [Starship](https://starship.rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/starship/starship/pull/7234))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/starship/starship/commit/0d71065a6eb98ff00b42b2bc4ff78dad7b897a1e))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/starship/starship/pull/7451#pullrequestreview-4214288411)) | [shmonad](https://github.com/matthunz/shmonad) | > [!NOTE] > #### Alternative Plugin Managers From 98c0aca5dae24c1c5ce18f89b88b1f858080443c Mon Sep 17 00:00:00 2001 From: ch0ccyra1n Date: Tue, 12 May 2026 18:05:23 +0200 Subject: [PATCH 019/108] add postmarketOS as alternative linux distro (#701) It's been a while since I've used it but I figured I'd check. Luckily we've got yet another alternative as a result, as well as a lot of solid reasons for why they banned such contributions. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/701 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0ddb428..43117ff 100644 --- a/README.md +++ b/README.md @@ -961,6 +961,7 @@ This is a section for repos that are similar to this one either because they are > * [elementary OS](https://elementary.io/) has [banned LLMs](https://docs.elementary.io/contributor-guide/development/generative-ai-policy) > * [Gentoo Linux](https://www.gentoo.org/) has [banned LLMs](https://wiki.gentoo.org/wiki/Project:Council/AI_policy) > * [Hyperbola GNU/Linux-libre](https://www.hyperbola.info/) has [banned LLMs](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning) +> * [postmarketOS](https://postmarketos.org/) has [banned LLMs](https://docs.postmarketos.org/policies-and-processes/development/ai-policy.html) ### Kernels From e608866f931465035fbac5408512d8c28e1b441d Mon Sep 17 00:00:00 2001 From: jkjk Date: Tue, 12 May 2026 18:09:40 +0200 Subject: [PATCH 020/108] Add gitoxide (#705) Add gitoxide Co-authored-by: jkjk <267793835+znmz@users.noreply.github.com> Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/705 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43117ff..5d65a0f 100644 --- a/README.md +++ b/README.md @@ -1373,6 +1373,7 @@ This section is strictly for software implementing a core set of UNIX-like utili |---|:---:|---| | [Git](https://git-scm.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git/git/pull/2189), [2](https://github.com/git/git/commit/fb1b786ebfab18b851ce1fa94d5063daf11f647f)) | | [Git for Windows](https://gitforwindows.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git-for-windows/git-for-windows-automation/blob/4f62410e5279fe972eee0366992143980a44306d/.github/workflows/rebase-shears.yml), [2](https://github.com/git-for-windows/git-for-windows-automation/commit/052cb1f2ce3dd38ac21c57d4561fa00c20bab643), [3](https://github.com/git-for-windows/build-extra/commit/d1afe4dfd6383c4d51ac5558b9d150ca97b91c41)) | +| [gitoxide](https://github.com/GitoxideLabs/gitoxide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GitoxideLabs/gitoxide/blob/main/CONTRIBUTING.md#please-disclose-the-use-of-ai), [2](https://github.com/GitoxideLabs/gitoxide/blob/main/.claude/instructions.md), [3](https://github.com/GitoxideLabs/gitoxide/commit/61c504dfdd6505eeeda22a6c4254c7342b78d6e3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/GitoxideLabs/gitoxide/pull/2584), [2](https://github.com/GitoxideLabs/gitoxide/pull/2379), [3](https://github.com/GitoxideLabs/gitoxide/pull/2514)) | | [Jujutsu](https://www.jj-vcs.dev/latest/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://discord.com/channels/968932220549103686/1458877549034864703), [2](https://github.com/jj-vcs/jj/pull/9076), [3](https://github.com/jj-vcs/jj/pull/9083)) | | [Sapling](https://github.com/facebook/sapling) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/sapling/tree/0298ebd8e7/eden), [2](https://github.com/facebook/sapling/blob/ddbd9814bc/eden/scm/.claude/settings.json#L9)) | From e65f86e4a987b1cc1c4bbb014c37a7df3adc1137 Mon Sep 17 00:00:00 2001 From: yuli Date: Tue, 12 May 2026 18:35:03 +0200 Subject: [PATCH 021/108] add xc as an alternative to commandline shells (#706) dont think the project has an ai policy but its made by drew devault who made [vim-classic](https://drewdevault.com/blog/Forking-vim/) the slopfree vim fork so xc is like definitely slopfree also :3 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/706 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5d65a0f..137ce35 100644 --- a/README.md +++ b/README.md @@ -566,6 +566,7 @@ This is a section for repos that are similar to this one either because they are > * [elvish](https://elv.sh) > * [fish](https://fishshell.com/) > * [rc](http://doc.cat-v.org/plan_9/4th_edition/papers/rc) +> * [xc](https://git.sr.ht/~sircmpwn/xc) > * [execline](https://www.skarnet.org/software/execline/) ### Addons and Prompts From f16b40207371da8ff8851423ca5b1ec1d4adf4e3 Mon Sep 17 00:00:00 2001 From: matu6968 Date: Tue, 12 May 2026 18:55:50 +0200 Subject: [PATCH 022/108] Add ESP-IDF and BuffaloSDK as tainted into microcontroller tools and libraries section (#686) Alternative Microcontroller Tools and Libraries section was based on #648, with a little bit of modification to generalize it for other microcontroller SDK's in the future if more found Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/686 Reviewed-by: Admin --- README.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 137ce35..236adc3 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Messaging Servers](#messaging-servers) * [Messaging Clients](#messaging-clients) * [Microcontroller Tools and Libraries](#microcontroller-tools-and-libraries) + * [Alternative Microcontroller Tools and Libraries](#alternative-microcontroller-tools-and-libraries) * [Networking](#networking) * [Networking security tools](#networking-security-tools) * [Networking security tool alternatives](#networking-security-tool-alternatives) @@ -904,11 +905,32 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | |---|:---:|---|---| | [betaflight](https://github.com/betaflight/betaflight) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/search?q=repo%3Abetaflight%2Fbetaflight%20Claude&type=commits))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/betaflight/betaflight/blob/master/.coderabbit.yaml)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [ch32-hal](https://github.com/ch32-rs/ch32-hal) | [`07687b9`](https://github.com/ch32-rs/ch32-hal/commit/07687b9f8d7b3823ef91ca23baa21663025c0346) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ch32-rs/ch32-hal/pull/161), [2](https://github.com/ch32-rs/ch32-hal/pull/151), [3](https://github.com/ch32-rs/ch32-hal/pull/139))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://avatars.githubusercontent.com/u/104085502?s=200&v=4)) | Official [WCH C SDK's](https://github.com/openwch), [ch32fun](https://github.com/cnlohr/ch32fun) | +| [BouffaloSDK](https://github.com/bouffalolab/bouffalo_sdk) | [`2.0.0`](https://github.com/bouffalolab/bouffalo_sdk/tree/V2.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bouffalolab/bouffalo_sdk/blob/master/CLAUDE.md), [2](https://github.com/bouffalolab/bouffalo_sdk/tree/master/.claude/skills), [3](https://github.com/bouffalolab/bouffalo_sdk/blob/master/components/wireless/wl80211/CLAUDE.md)) | See below | +| [ch32-hal](https://github.com/ch32-rs/ch32-hal) | [`07687b9`](https://github.com/ch32-rs/ch32-hal/commit/07687b9f8d7b3823ef91ca23baa21663025c0346) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ch32-rs/ch32-hal/pull/161), [2](https://github.com/ch32-rs/ch32-hal/pull/151), [3](https://github.com/ch32-rs/ch32-hal/pull/139))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://avatars.githubusercontent.com/u/104085502?s=200&v=4)) | See below | | [esphome](https://github.com/esphome/esphome) | [`a31a5e7`](https://github.com/esphome/esphome/commit/a31a5e74bdfa3ece19c502a91f81b0d93414bd67) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/esphome/esphome/blob/dev/.ai/instructions.md), [2](https://github.com/esphome/esphome/blob/dev/.claude/skills/pr-workflow/SKILL.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/esphome/esphome/pull/16018#pullrequestreview-4176888667), [2](https://github.com/esphome/esphome/pull/15997#pullrequestreview-4175883662)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [FastLED](https://fastled.io/) | [`3.10.1`](https://github.com/FastLED/FastLED/releases/tag/3.10.1)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FastLED/FastLED/blob/master/ADVANCED_DEVELOPMENT.md#enabling-ai-coding), [2](https://github.com/FastLED/FastLED/commit/a7fcbf316fe7b0d6759e8d9955a22ff9df4328b2), [3](https://github.com/FastLED/FastLED/commit/bcfc3c0ff8b464a50a7f5f0a8b7437131fe08995)) | [Adafruit NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) | +| [ESP-IDF](https://github.com/espressif/esp-idf) | [`5.5.2`](https://github.com/espressif/esp-idf/releases/tag/v5.5.2) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-py.html#esp-idf-mcp-server))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/espressif/esp-idf/commit/a4c014f96ed024ba5139e2e91258ee785741d611), [2](https://github.com/espressif/esp-idf/commit/20b9e06e9262af45863bd7cc7afeba3513083266), [3](https://github.com/espressif/esp-idf/commit/380dde02d0e48a9e85abb0392ce27dcaf9322c36))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/espressif/esp-idf/pull/18195), [2](https://github.com/espressif/esp-idf/pull/18273), [3](https://github.com/espressif/esp-idf/pull/18283)) | See below | +| [FastLED](https://fastled.io/) | [`3.10.1`](https://github.com/FastLED/FastLED/releases/tag/3.10.1)| [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FastLED/FastLED/blob/master/ADVANCED_DEVELOPMENT.md#enabling-ai-coding), [2](https://github.com/FastLED/FastLED/commit/a7fcbf316fe7b0d6759e8d9955a22ff9df4328b2), [3](https://github.com/FastLED/FastLED/commit/bcfc3c0ff8b464a50a7f5f0a8b7437131fe08995)) | See below | | [WLED](https://github.com/wled/WLED) | [`62d3e15`](https://github.com/wled/WLED/commit/62d3e155bde1077bf5784eb481cdc6e0059f993a) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wled/WLED/blob/main/AGENTS.md), [2](https://github.com/wled/WLED/blob/main/.github/agent-build.instructions.md), [3](https://github.com/wled/WLED/blob/main/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wled/WLED/pull/5547#issuecomment-4321911776), [2](https://github.com/wled/WLED/pull/5503#issuecomment-4238198330)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +> [!Note] +> #### Alternative Microcontroller Tools and Libraries: +> Suggestions for alternative microcontroller SDK's are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new hardware development project and the fact that a microcontroller SDK contains many peices (like HAL's for hardware blocks, Wi-Fi/Bluetooth libraries) that are not easy to replicate from scratch, so don't feel pressured to switch. +> +> Switching to a different less known platform (e.g. Realtek or Beken) means losing out on many examples, community support and depending on the SDK also different licensing. +> +> Depending on your needs and technical concerns, you may find any number of different alternative microcontrollers useful. For example, when considering alternatives to ESP32 based chips, Beken may be an interesting candidate from the perspective of being a similar WiFi based microcontroller replacing the legacy ESP based microcontrollers in Wi-Fi enabled devices. +> +> For Bouffalo Lab microcontrollers: +> * [bl_iot_sdk](https://github.com/bouffalolab/bl_iot_sdk) +> +> For WCH microcontrollers: +> * [ch32fun](https://github.com/cnlohr/ch32fun) +> * Official [WCH C SDK's](https://github.com/openwch) +> +> Everything else not microcontroller-specific: +> +> * [Adafruit NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) + ## Networking ### Reverse proxies From 5895e6fca5355ec9e1da5263413f38a6bd221e76 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 12 May 2026 20:31:09 +0200 Subject: [PATCH 023/108] Give info on how to use gender nuetral language (#710) shamelessly stolen from https://codeberg.org/small-hack/core-resources/src/branch/main/CODE_OF_CONDUCT.md Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/710 --- CODE_OF_CONDUCT.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 753198d..c70cfe9 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -75,6 +75,14 @@ We're going to do a 2 strike rule here with an optional warning. You are out on This repo is specifically meant for identifying LLM usage in other projects, and coordinating on alternatives. You can also come here to ask others to please help you in chatting with another repo maintainer to sway them away from AI usage. But you need to do all of it *with kindness*. We have no interest in a rage feedback atmosphere here and won't tolerate it. Please consider your words before you hit send. +## Gender Nuetral Language + +When referring the people who work on this repo, please use gender nuetral language unless you are referring to a specific person who you know the pronouns of. You should prefer to use "they/them/themself/themselves" if you do not know the pronouns of the person you're talking to/about. You can learn more about gender nuetral language in the following resources: + +- [What are personal pronouns and why do they matter?](https://pronouns.org/what-and-why) +- [Gender-Neutral Pronouns 101: Everything You've Always Wanted to Know](https://www.them.us/story/gender-neutral-pronouns-101-they-them-xe-xem) +- [Dictionary of gender neutral language](https://en.pronouns.page/dictionary) + ## Accessibility ### Alt Text From 5c7f4f722f5391fd12a0f5950b2670d7761315b9 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 12 May 2026 20:40:57 +0200 Subject: [PATCH 024/108] Do not want to encourage more unproductive conversation around the term GNU/Linux (#711) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/711 Reviewed-by: Max --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 236adc3..ace5095 100644 --- a/README.md +++ b/README.md @@ -106,8 +106,8 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Operating Systems](#operating-systems) * [BSD-based](#bsd-based) * [Alternative BSD-based operating systems](#alternative-bsd-based-operating-systems) - * [GNU/Linux-based](#gnu-linux-based) - * [Alternative GNU/Linux-based operating systems](#alternative-gnu-linux-based-operating-systems) + * [Linux-based](#linux-based) + * [Alternative Linux-based operating systems](#alternative-linux-based-operating-systems) * [Kernels](#kernels) * [Other](#other-operating-systems) * [Other alternative operating systems](#other-alternative-operating-systems) @@ -969,7 +969,7 @@ This is a section for repos that are similar to this one either because they are > * [MirBSD](https://mbsd.evolvis.org/) has [banned LLMs](https://mbsd.evolvis.org/permalinks/wlog2021_e20240726.htm#e20240726_wlog2021) > * [NetBSD](https://www.netbsd.org/) has a [somewhat ambiguous policy](https://www.netbsd.org/developers/commit-guidelines.html) -### GNU/Linux-based +### Linux-based | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| @@ -979,7 +979,7 @@ This is a section for repos that are similar to this one either because they are | [Ubuntu](https://ubuntu.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://ubuntu.com/ai), [2](https://discourse.ubuntu.com/t/the-future-of-ai-in-ubuntu/81130)) | See below | > [!NOTE] -> #### Alternative GNU/Linux-based operating systems +> #### Alternative Linux-based operating systems > * [Chimera Linux](https://chimera-linux.org/) has [banned LLMs](https://github.com/chimera-linux/chimera-linux.github.io/blob/4d7dee4c389e7d18f52b35da5b0eb016d17dd03d/community/index.md#contributing) > * [elementary OS](https://elementary.io/) has [banned LLMs](https://docs.elementary.io/contributor-guide/development/generative-ai-policy) > * [Gentoo Linux](https://www.gentoo.org/) has [banned LLMs](https://wiki.gentoo.org/wiki/Project:Council/AI_policy) From 78f3477c6e37b3b27b8914e67068e6ac8f39c3a5 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 12 May 2026 20:50:21 +0200 Subject: [PATCH 025/108] fix misspelling of neutral in CoC (#712) this is what I get for not getting a proper review :') With help from @jkjk Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/712 --- CODE_OF_CONDUCT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index c70cfe9..c92770b 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -75,9 +75,9 @@ We're going to do a 2 strike rule here with an optional warning. You are out on This repo is specifically meant for identifying LLM usage in other projects, and coordinating on alternatives. You can also come here to ask others to please help you in chatting with another repo maintainer to sway them away from AI usage. But you need to do all of it *with kindness*. We have no interest in a rage feedback atmosphere here and won't tolerate it. Please consider your words before you hit send. -## Gender Nuetral Language +## Gender Neutral Language -When referring the people who work on this repo, please use gender nuetral language unless you are referring to a specific person who you know the pronouns of. You should prefer to use "they/them/themself/themselves" if you do not know the pronouns of the person you're talking to/about. You can learn more about gender nuetral language in the following resources: +When referring the people who work on this repo, please use gender neutral language unless you are referring to a specific person who you know the pronouns of. You should prefer to use "they/them/themself/themselves" if you do not know the pronouns of the person you're talking to/about. You can learn more about gender neutral language in the following resources: - [What are personal pronouns and why do they matter?](https://pronouns.org/what-and-why) - [Gender-Neutral Pronouns 101: Everything You've Always Wanted to Know](https://www.them.us/story/gender-neutral-pronouns-101-they-them-xe-xem) From 7fa1ff6056fe0be097fcb7081cfb64dcd75b2233 Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Tue, 12 May 2026 20:51:27 +0200 Subject: [PATCH 026/108] fix spelling error in the CoC (#707) albeism -> ableism Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/707 Reviewed-by: Admin --- CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index c92770b..552f858 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -7,7 +7,7 @@ - No transphobia. - No homophobia/queerphobia. - No sexism. -- No albeism. +- No ableism. - No islamophobia, antisemitism, or hatred to anyone based on their religion or lack thereof. - No classism. - No fascism. From 26a91920c92442b94cb5ca646357ec500af6793d Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 12 May 2026 20:54:07 +0200 Subject: [PATCH 027/108] add that you're not supposed to mention this list again, more explicitly than last time (#700) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/700 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ace5095..2327f6b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Free/Open Source Software tainted by LLM developers/developed by genAI boosters, along with alternatives. -The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. This list is not a resource to be used for the harassment of other open-source developers. If you wish to advocate for the cessation of use and/or removal of AI-generated code from another project, we ask that it be done respectfully and constructively. +The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. This list is not a resource to be used for the harassment of other open-source developers. If you wish to advocate for the cessation of use and/or removal of AI-generated code from another project, we ask that it be done respectfully and constructively (and do *not* mention this list). For more information on why we think this list matters, please see [Why not LLMs?](#why-not-llms). From b319113c856837ac08c417c7106a98496726a623 Mon Sep 17 00:00:00 2001 From: cloudymax Date: Tue, 12 May 2026 21:31:18 +0200 Subject: [PATCH 028/108] Add last known clean version for SeaweedFS (#714) Signed-off-by: cloudymax Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/714 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2327f6b..66f7361 100644 --- a/README.md +++ b/README.md @@ -741,7 +741,7 @@ This is a section for repos that are similar to this one either because they are | [Nextcloud](https://nextcloud.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextcloud/desktop/blob/master/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextcloud.com/assistant/)) | | [Rook/Ceph](https://rook.io/) | [`v1.17.0`](https://github.com/rook/rook/releases/tag/v1.17.0) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews)([1](https://github.com/rook/rook/pull/15563#pullrequestreview-2724068439))| | [RustFS](https://rustfs.com/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rustfs/rustfs/blob/main/AGENTS.md), [2](https://github.com/rustfs/rustfs/commit/6ce24f3b632f86c456a95d6e8b6ba9d05c8e4ae5), [3](https://github.com/rustfs/rustfs/commit/2bf4b1439495db1aeed5bbe474083a04a25f69e5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/rustfs/rustfs/pull/2584), [2](https://github.com/rustfs/rustfs/pull/2583), [3](https://github.com/rustfs/rustfs/pull/2581))| -| [SeaweedFS](https://seaweedfs.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/seaweedfs/seaweedfs/pull/7996)) | +| [SeaweedFS](https://seaweedfs.com/) | [`3.87`](https://github.com/seaweedfs/seaweedfs/releases/tag/3.87) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/seaweedfs/seaweedfs/pull/7996)) | | [Silo](https://silo.pigsty.io/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgsty/minio/commit/ee55e5391a5d5e4bd46d555a11b2215eb6ed836e), [2](https://github.com/pgsty/minio/commit/ce1c537eb1dd6c4efa1cf75cf5df0e2c489c947a), [3](https://github.com/pgsty/minio/commit/8630937e7d1c3426ae28508e06f7091d7bde3a49))| | [Syncthing](https://syncthing.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/syncthing/syncthing/blob/main/.deepsource.toml), [2](https://github.com/syncthing/syncthing/pull/10652)) | > [!NOTE] From 5fd011fbe57b42963c52652041de82f2eff229ef Mon Sep 17 00:00:00 2001 From: ruriofdoom Date: Tue, 12 May 2026 21:57:27 +0200 Subject: [PATCH 029/108] Add reverse-engineering tools (radare2, gdb, etc) (#671) I'm a little surprised this tool went under the radar. I might need some help with this. So, from what I've gathered: * [AGENTS.md was added on September 23rd, 2025](https://github.com/radareorg/radare2/commit/3a456fd06bbe4b8a19c661ac37919186b14f1cfc). * The project has experimented with generative AI as early as [November 29th, 2024](https://github.com/radareorg/radare2/pull/23704#issuecomment-2508575666) and [March 21st, 2025](https://github.com/radareorg/radare2/pull/24045#issuecomment-2744564684) (ChatGPT), and [June 13th, 2025](https://github.com/radareorg/radare2/pull/24284) (Claude). I've even found a mention of [Codex](https://github.com/radareorg/radare2/pull/25913). * However, I can find mentions of "copilot" from as early as [June 13th, 2023](https://github.com/radareorg/radare2/issues?q=copilot%20sort%3Acreated-asc). The mentions consist of "copilot:all", "copilot:summary", etc, which appear to be options for [Copilot-assisted PR descriptions](https://githubnext.com/projects/copilot-for-pull-requests/). I considered [Ghidra](https://github.com/NationalSecurityAgency/ghidra) as an alternative, but things don't look great there, either. At least one contributor stated to use Claude ([1](https://github.com/NationalSecurityAgency/ghidra/issues/8730), [2](https://github.com/NationalSecurityAgency/ghidra/issues/8750)), and there are open pull requests from people who also admit to using AI assistance ([1](https://github.com/NationalSecurityAgency/ghidra/pull/8366#issuecomment-3103772328), [2](https://github.com/NationalSecurityAgency/ghidra/pull/8971), [3](https://github.com/NationalSecurityAgency/ghidra/pull/9081#issue-4159907727), etc). But I'm not confident enough to add Ghidra as "slopped" because I can't find any concrete proof like an AGENTS.md or a policy directly accepting or forbidding AI. I might need to look deeper. Co-authored-by: rurionice Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/671 Reviewed-by: Admin --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 66f7361..f54c459 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Python](#python) * [Rust](#rust) * [Alternative GUI crates](#alternative-gui-crates) + * [Reverse Engineering and Debugging](#reverse-engineering-and-debugging) * [Search Engines](#search-engines) * [Service Monitoring](#service-monitoring) * [Social Media](#social-media) @@ -1234,6 +1235,29 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro > > On facet: If possible avoid all-in-one libraries for deserialization, and avoid macros that slow things down. +## Reverse Engineering and Debugging + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [binutils / gdb](https://www.gnu.org/software/binutils/) | [`928e6f5`](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=928e6f5a728f6cb917ee6bdceed45e8f9da7203e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c1da013915e93155ddeedb2aea50ce3e29689e17)) | See below | +| [ImHex](https://github.com/WerWolv/ImHex) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WerWolv/ImHex/issues/1070#issuecomment-1546944994)) | See below | +| [radare2](https://github.com/radareorg/radare2) | [`7a4aa2c`](https://github.com/radareorg/radare2/commit/7a4aa2c24c063e55104bfe9cd30c3e7719479a9d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/radareorg/radare2/blob/dfe41793cade9de466d8119c4a6d04975cf300a0/AGENTS.md), [2](https://github.com/radareorg/radare2/pull/21890)) | See below | +| [Rizin](https://github.com/rizinorg/rizin) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rizinorg/rizin/blob/dev/CONTRIBUTING.md#usage-of-ai-tools)) | See below | + +> [!Note] +> #### Alternatives +> [![Request for Help](./badges/request-for-help.svg)](#request-for-help) +> - Debugger: +> - [scanmem & Game Conqueror](https://github.com/scanmem/scanmem): last updated in 2024 +> - Disassembler: +> - [da65](https://cc65.github.io/doc/da65.html) (part of [cc65](https://github.com/cc65/cc65)) (MOS 6502-only) +> - [DIS6502](https://sourceforge.net/projects/dis6502/) (MOS 6502-only) +> - Hex editor: +> - Vim Classic's [xxd](https://git.sr.ht/~sircmpwn/vim-classic/tree/main/item/src/xxd) +> - [hexedit](https://github.com/pixel/hexedit) +> - [ghex](https://github.com/GNOME/ghex) +> - [hexcurse](https://github.com/prso/hexcurse-ng) + ## Search Engines | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 8d0fa3477fae0d88ba092921728e82591e7aaa41 Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Tue, 12 May 2026 22:29:42 +0200 Subject: [PATCH 030/108] add Warp as an alternative for LocalSend (#715) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/715 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f54c459..9803be9 100644 --- a/README.md +++ b/README.md @@ -759,7 +759,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing) | +| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | | [rsync](https://rsync.samba.org/) | [`3.4.1`](https://github.com/RsyncProject/rsync/releases/tag/v3.4.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b), [2](https://github.com/RsyncProject/rsync/commit/b905ab23af2d71363271e99e446e8fe0bfc77f7f)) | [openrsync](https://github.com/kristapsdz/openrsync),
`scp`,
an FTP client,
[tar](https://drewdevault.com/blog/rsync-without-rsync/) | ## Filesystem Navigation From 1b046db2f0a2682c0fdeb2ab59761773b232553e Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Wed, 13 May 2026 08:20:28 +0200 Subject: [PATCH 031/108] Upate LocalSend (#719) add Sponsored by AI tag and reorder the tags as specified in STYLE.md Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/719 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9803be9..55eb79e 100644 --- a/README.md +++ b/README.md @@ -759,7 +759,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | +| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
![AI Sponsored](./badges/ai-sponsored-blue.svg) ([1](https://github.com/localsend/localsend#sponsors)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | | [rsync](https://rsync.samba.org/) | [`3.4.1`](https://github.com/RsyncProject/rsync/releases/tag/v3.4.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b), [2](https://github.com/RsyncProject/rsync/commit/b905ab23af2d71363271e99e446e8fe0bfc77f7f)) | [openrsync](https://github.com/kristapsdz/openrsync),
`scp`,
an FTP client,
[tar](https://drewdevault.com/blog/rsync-without-rsync/) | ## Filesystem Navigation From f46005eb046a0a376706cdf312a6cfff312ab0f1 Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Wed, 13 May 2026 08:54:33 +0200 Subject: [PATCH 032/108] fix formatting (#720) fixes my formatting errors Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/720 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55eb79e..b6b6ade 100644 --- a/README.md +++ b/README.md @@ -759,7 +759,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
![AI Sponsored](./badges/ai-sponsored-blue.svg) ([1](https://github.com/localsend/localsend#sponsors)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | +| [LocalSend](https://localsend.org) | [`a14e610`](https://github.com/localsend/localsend/commit/a14e610ee015a15b5fcd84c0f46f3033cda9a033) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/localsend/localsend/pull/2741#discussion_r2404361615), [2](https://github.com/localsend/localsend/pull/2518))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/localsend/localsend/pull/2880#pullrequestreview-4093401027), [2](https://github.com/localsend/localsend/pull/2922#pullrequestreview-3723284938), [3](https://github.com/localsend/localsend/pull/2777#pullrequestreview-3342581351))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/localsend/localsend#sponsors)) | [LocalShare](https://github.com/defname/LocalShare),
[PairDrop](https://pairdrop.net/#about),
[Sharing](https://github.com/Ammar64/Sharing),
[Warp](https://apps.gnome.org/Warp/) | | [rsync](https://rsync.samba.org/) | [`3.4.1`](https://github.com/RsyncProject/rsync/releases/tag/v3.4.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/RsyncProject/rsync/commit/aa142f08ef31d3ffa8d6b3b8af16d00324a98c1b), [2](https://github.com/RsyncProject/rsync/commit/b905ab23af2d71363271e99e446e8fe0bfc77f7f)) | [openrsync](https://github.com/kristapsdz/openrsync),
`scp`,
an FTP client,
[tar](https://drewdevault.com/blog/rsync-without-rsync/) | ## Filesystem Navigation From 40e927dc637785e8899a949889c7a94a7b38cee0 Mon Sep 17 00:00:00 2001 From: axaloteDev Date: Wed, 13 May 2026 08:55:16 +0200 Subject: [PATCH 033/108] Fix typo in collaborate-with-me.yaml (#718) Signed-off-by: axaloteDev Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/718 Reviewed-by: Admin --- .forgejo/issue_template/collaborate-with-me.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/issue_template/collaborate-with-me.yaml b/.forgejo/issue_template/collaborate-with-me.yaml index 9663707..cf10126 100644 --- a/.forgejo/issue_template/collaborate-with-me.yaml +++ b/.forgejo/issue_template/collaborate-with-me.yaml @@ -1,7 +1,7 @@ name: Call for Collaborators for a New AI-free Project about: Put out a call for collaborators on a new or recently forked project that has an explicit No AI policy. (must have a code of conduct) -title: '[Call for Collaborators]: project name here' -ref: 'main' +title: "[Call for Collaborators]: project name here" +ref: "main" labels: - call-for-collaborators body: @@ -28,7 +28,7 @@ body: - type: input id: language attributes: - label: Programming Lanaguage + label: Programming Language description: | What programming language will this be primarily written in? From 1c77533134729688e6994b7320eec291ca15580e Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Wed, 13 May 2026 09:24:53 +0200 Subject: [PATCH 034/108] stick vacation notice to top of README as Issues and PRs will be disabled and therefore not viewable (#721) Relates to #695 This will be removed as soon as we get back from vacation :) Putting it in right now to avoid any confusion, but the repo will remain open and accessible for both PRs and Issues until this evening (CEST). Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/721 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b6b6ade..a300ee6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +> [!Note] +> ## Vacation Notice +> The core maintainers of this repo will be on holiday from 14th of May until the morning (CEST) of the 18th of May. During that time Issues and Pull Requests will be closed as we cannot properly moderate during that time. Please also take time to enjoy the spring season <3 + # Open Slopware ![enbyware](https://pride-badges.pony.workers.dev/static/v1?label=enbyware&labelColor=%23555&stripeWidth=8&stripeColors=FCF434%2CFFFFFF%2C9C59D1%2C2C2C2C) From 411587e1b54eee4761c4c3b61c66b8c99623140e Mon Sep 17 00:00:00 2001 From: matu6968 Date: Wed, 13 May 2026 12:30:35 +0200 Subject: [PATCH 035/108] Fill in the missing no AI templates (#708) They were mostly based off the readme's "Why not LLM's?" section since the reasons in the first template also were based off that section Co-Authored by: @Pixelo789 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/708 Reviewed-by: Max Reviewed-by: Admin --- NO_AI_REQUEST_TEMPLATE.md | 100 +++++++++++++++++++++++++++++++++++++- README.md | 29 +++++------ 2 files changed, 113 insertions(+), 16 deletions(-) diff --git a/NO_AI_REQUEST_TEMPLATE.md b/NO_AI_REQUEST_TEMPLATE.md index a361ed6..27411ea 100644 --- a/NO_AI_REQUEST_TEMPLATE.md +++ b/NO_AI_REQUEST_TEMPLATE.md @@ -79,8 +79,104 @@ Thank you and kind regards :pray: ## Appeal to Code Quality Template -Feel free to submit a PR to fill this one in. +```markdown +Hello, +I'd like to talk about your AI policy. Below are some reasons why using AI can result in poorer code quality: + +## Poor Code Quality + +Vibe coding / agentic workflows result in poorer code quality, and relaxed oversight practices. These effects may be compounded by the common practice of using additional LLM-based tooling to provide code-reviews. + +* [How I Dropped Our Production Database and Now Pay 10% More for AWS](http://archive.today/2026.03.06-144058/https://alexeyondata.substack.com/p/how-i-dropped-our-production-database) +* [Claude Tested Everything Except the One Thing That Mattered (AI agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) +* [Amazon calls engineers for a “deep dive” internal meeting to discuss “GenAI”-related outages](https://ghostarchive.org/archive/3TfgF) +* GitClear has released reports in [2024](https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality) and [2025](https://www.gitclear.com/ai_assistant_code_quality_2025_research) indicating a worsening of key code quality metrics correlating with increased LLM adoption. + +### Deskilling + +There is increasing evidence to show that LLMs negatively impact developers' coding abilities: + +* [Brains show less activity when completing tasks with LLMs](https://arxiv.org/abs/2506.08872) compared to completing tasks with search or completing tasks without digital help. +* [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. +* In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. +* [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. +* There are [anecdotal reports of LLM users forgetting how to code](https://www.theverge.com/ai-artificial-intelligence/767973/vibe-coding-ai-future-end-evolution). +* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". + +### Infosec risks + +LLM usage results in massive security holes. + +* [Meta Security Researcher's AI Agent Accidentally Deleted Her Emails](http://archive.today/2026.02.26-153034/https://www.pcmag.com/news/meta-security-researchers-openclaw-ai-agent-accidentally-deleted-her-emails) +* [Moltbook's "vibe-coded" breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) +* [In a study evaluating over 500k code samples, LLM-generated code was found to contain more high-risk security vulnerabilities than human-generated code](https://arxiv.org/abs/2508.21634) +* [LLMs make up package names, making them vulnerable to incorporating malicious code in "slopsquatting" attacks](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/) ([Arxiv study](https://arxiv.org/abs/2406.10279)) + +## What You Can Do + +I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with what seems to be larger and larger influxes of low quality drive-by PRs by AI agents. + +You can find other projects that have taken steps to say no to AI here: +https://noai.starlightnet.work/list.html + +For a specific policy, I can recommend the following policies for inspiration: + +- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) + +- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) + +Thank you and kind regards :pray: +``` ## Appeal to Fear of Legal Ramfification Template +```markdown +Hello, -Feel free to submit a PR to fill this one in. +I'd like to talk about your AI policy. Below are some reasons why using AI can result in legal trouble in the future: + +## Legal Ramifications + +LLMs are often trained on, and thus prone to regurgitate (either completely, or in-part), chunks of code that are licensed under terms which have specific legal requirements that a contributor using LLMs may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. + +### License Problems + +Legal, copyright, and ethics problems arise, especially with copyleft licenses such as the GNU (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. + +Here are some ongoing problems with AI "license-washing" in the FOSS world: + +* `chardet` - used an LLM to rewrite the codebase from the LGPL license to Expat/MIT (and later 0-BSD) license, violating the (L)GPL. + * relicensed release: + * original author's concerns: + * "consumer's" concerns: + +Additionally, there have been legal cases regarding the usage of AI: + +* [GitHub Copilot litigation](https://githubcopilotlitigation.com/) +* [IEEE article explaining concerns about AI generated code ownership](https://spectrum.ieee.org/ai-code-generation-ownership) +* [Tracker of broader lawsuits against AI companies](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) + +### Stolen Training Data + +AI companies use data from across the web to train their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. + +* In 2023, [the Washington Post published a list of sources in Google's C4 data set](https://archive.ph/eehKq). A multitude of fediverse instances and personal sites were included. The fediverse is known for its userbase being major proponents of privacy and opt-in consent, making this especially jarring for those who have chosen to use decentralized social media for control over their data. +* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to scrape content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). +* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply fine-tuning LLMs resulted in outputs containing up to 90% of entire (copyrighted) books, contradicting LLM companies' previous statements in court that their models do not store copies of training data. After fine-tuning exclusively on a single author, the researchers were able to cause the LLM to output works from over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, which indicates that LLMs always carry with them a considerable amount of copyrighted materials from training. + +Usage of AI in your project is usage of tooling that blatantly disregards licensing and violates the Code of Conduct in your project (if present), making said tools antithetical to FOSS' purpose. + +## What You Can Do + +I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with staying your code legally clean as code by AI agents often ignore licensing requirements. + +You can find other projects that have taken steps to say no to AI here: +https://noai.starlightnet.work/list.html + +For a specific policy, I can recommend the following policies for inspiration: + +- [wafrn's Contributring Doc](https://codeberg.org/wafrn/wafrn/src/branch/main/CONTRIBUTING.md) + +- [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) + +Thank you and kind regards :pray: +``` \ No newline at end of file diff --git a/README.md b/README.md index a300ee6..0dab579 100644 --- a/README.md +++ b/README.md @@ -1523,31 +1523,32 @@ Could use some help writing this with concrete receipts on environmental, social ## Legal Ramifications -LLMs are often trained on, and thus prone to, regurgitate either completely, or in-part, chunks of code that are licensed under terms which have specific legal requirements that a sloperator may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. +LLMs are often trained on, and thus prone to regurgitate (either completely, or in-part), chunks of code that are licensed under terms which have specific legal requirements that a contributor using LLMs may not understand or even be aware of when making a contribution. Regardless of this ignorance, it falls to the repo's owner to comply with the terms of any and all licensed code integrated into their project. ### Legal Cases And Law Problems -* [copilot litigations](https://githubcopilotlitigation.com/), [IEEE article explaining how we go here](https://spectrum.ieee.org/ai-code-generation-ownership) -* [broader lawsuits against AI companies tracker ](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) +* [GitHub Copilot litigation](https://githubcopilotlitigation.com/) +* [IEEE article explaining concerns about AI generated code ownership](https://spectrum.ieee.org/ai-code-generation-ownership) +* [Tracker of broader lawsuits against AI companies](https://chatgptiseatingtheworld.com/2025/11/02/tracker-of-tort-lawsuits-v-ai-companies/) ### License Problems -Legal, copyright and ethic problems arise especially with copyleft licenses such as (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. +Legal, copyright, and ethics problems arise, especially with copyleft licenses such as the GNU (A/L)GPL. With the "help" of AI the copyleft code may be "license-washed" very easily. There are ongoing problems with AI "license-washing" in the FOSS world: -* `chardet` - switched from LGPL to MIT license without asking all contributors (which itself is a violation of GPL) +* `chardet` - used an LLM to rewrite the codebase from the LGPL license to Expat/MIT (and later 0-BSD) license, violating the (L)GPL. * relicensed release: * original author's concerns: * "consumer's" concerns: ## Stolen Training Data -AI companies use data from across the web for training their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. +AI companies use data from across the web to train their models, most often without the website owners' and users' consent. Big tech companies like Google and Meta are scraping data from the users of major FOSS projects, such as Mastodon, WordPress, and other ActivityPub-powered and self-hosted software. * In 2023, [the Washington Post published a list of sources in Google's C4 data set](https://archive.ph/eehKq). A multitude of fediverse instances and personal sites were included. The fediverse is known for its userbase being major proponents of privacy and opt-in consent, making this especially jarring for those who have chosen to use decentralized social media for control over their data. -* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to mine content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). -* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply finetuning LLMs unlocked exact verbatim recall of up to 90% of entire copyrighted books contradicting LLM companies previous statements in court that their models do not store copies of traning data. After finetuning exclusively on a single author, the researchers were able to unlock verbatim recall of over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, this indicates that LLMs always carry with them a considerable amount of copyrighted materials from pre-training. +* In 2025, [a similar leak of Meta's sources was published](https://archive.ph/NZlf3). Meta's list demonstrates how their integration of ActivityPub into their Threads software has enhanced their ability to scrape content without authorization. Threads is widely blocked in some parts of the fediverse, but their scraping of server CDNs has allowed them to get around that. Notably, both the CDN domains of the managed hosting services masto.host and fedi.monster are included in the list; large servers like mastodon.art, which is hosted by the former and has many artists who've left sites like DeviantArt and others due to their AI scraping of user content, had [media unknowingly scraped](https://mastodon.art/@Curator/115022115346692178). +* In March 2026, [a research paper](https://arxiv.org/html/2603.20957v2) showed that simply fine-tuning LLMs resulted in outputs containing up to 90% of entire (copyrighted) books, contradicting LLM companies' previous statements in court that their models do not store copies of training data. After fine-tuning exclusively on a single author, the researchers were able to cause the LLM to output works from over 30 completely unrelated authors across different genres. None of the models were explicitly trained on these books by the researchers, which indicates that LLMs always carry with them a considerable amount of copyrighted materials from training. FOSS projects listed in this repo are using tooling that blatantly disregard licensing and violate of Codes of Conduct, making said tools antithetical to FOSS' purpose. @@ -1575,7 +1576,7 @@ On one hand, many things that you think are "AI" are actually humans in another Vibe coding / agentic workflows result in poorer code quality, and relaxed oversight practices. These effects may be compounded by the common practice of using additional LLM-based tooling to provide code-reviews. * [How I Dropped Our Production Database and Now Pay 10% More for AWS](http://archive.today/2026.03.06-144058/https://alexeyondata.substack.com/p/how-i-dropped-our-production-database) -* [Claude Tested Everything Except the One Thing That Mattered (Ai agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) +* [Claude Tested Everything Except the One Thing That Mattered (AI agent refuses to follow explicit instructions to test `createPost()` in increasingly erratic ways)](http://archive.today/2026.03.09-201135/https://christophermeiklejohn.com/ai/claude/2026/03/08/claude-tested-everything-except-the-one-thing-that-mattered.html) * [Amazon calls engineers for a “deep dive” internal meeting to discuss “GenAI”-related outages](https://ghostarchive.org/archive/3TfgF) * GitClear has released reports in [2024](https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality) and [2025](https://www.gitclear.com/ai_assistant_code_quality_2025_research) indicating a worsening of key code quality metrics correlating with increased LLM adoption. @@ -1584,18 +1585,18 @@ Vibe coding / agentic workflows result in poorer code quality, and relaxed overs There is increasing evidence to show that LLMs negatively impact developers' coding abilities: * [Brains show less activity when completing tasks with LLMs](https://arxiv.org/abs/2506.08872) compared to completing tasks with search or completing tasks without digital help. -* [Developers who use early-2025 LLMs reported higher subjective performance](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/), but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. -* [In an Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. +* [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. +* In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. * [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. * There are [anecdotal reports of LLM users forgetting how to code](https://www.theverge.com/ai-artificial-intelligence/767973/vibe-coding-ai-future-end-evolution). -* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from the MIT, Oxford, UCLA and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for approximately only 10 minutes causes 'inpaired unassisted performance and reduced persistence'. The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up", they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". +* A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". ### Infosec risks -This also often results in massive security holes. +LLM usage results in massive security holes. * [Meta Security Researcher's AI Agent Accidentally Deleted Her Emails](http://archive.today/2026.02.26-153034/https://www.pcmag.com/news/meta-security-researchers-openclaw-ai-agent-accidentally-deleted-her-emails) -* [Moltbook’s ‘vibe-coded’ breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) +* [Moltbook's "vibe-coded" breach is the future of security failures](https://thehill.com/opinion/cybersecurity/5744310-ai-powered-security-risks/) * [In a study evaluating over 500k code samples, LLM-generated code was found to contain more high-risk security vulnerabilities than human-generated code](https://arxiv.org/abs/2508.21634) * [LLMs make up package names, making them vulnerable to incorporating malicious code in "slopsquatting" attacks](https://www.theregister.com/2025/04/12/ai_code_suggestions_sabotage_supply_chain/) ([Arxiv study](https://arxiv.org/abs/2406.10279)) From 7dcf4d08e163a3cab495c6310f81150cfa0a04ed Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Wed, 13 May 2026 14:04:39 +0200 Subject: [PATCH 036/108] Move MTKClient to new Device Exploiting section (#689) Part of #661 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/689 Reviewed-by: Admin --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0dab579..d2c0b1c 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Video](#video) * [Continuous Integration](#continuous-integration) * [Developer Tools](#developer-tools) + * [Device Exploiting](#device-exploiting) * [Documents](#documents) * [Document Converters](#document-converters) * [Document Viewers](#document-viewers) @@ -662,9 +663,14 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [curl](https://curl.se/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://mastodon.social/@bagder/116204333476519757)) | [Wget](https://www.gnu.org/software/wget/) | | [Golly](https://golly.sourceforge.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [MTKClient](https://github.com/bkerler/mtkclient) | [`9f64e8e`](https://github.com/bkerler/mtkclient/commit/9f64e8e6212cc94db506339426dcf6b61f9027fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bkerler/mtkclient/commit/b74421a47d19a5eaf5929bf0daad7b9f03c0ef58)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | +## Device Exploiting + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [MTKClient](https://github.com/bkerler/mtkclient) | [`9f64e8e`](https://github.com/bkerler/mtkclient/commit/9f64e8e6212cc94db506339426dcf6b61f9027fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bkerler/mtkclient/commit/b74421a47d19a5eaf5929bf0daad7b9f03c0ef58)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Documents ### Document Converters From cf7368aa8bb259878ac953a714c9c0277d5dac05 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Wed, 13 May 2026 20:34:33 +0200 Subject: [PATCH 037/108] Add TinyWiiBackupManager (#692) The icon always seemed suspicious to me, so I always ignored it based on that. I only decided to look deeper when I found out that [wii.hacks.guide was recommending it](https://wii.hacks.guide/backups). The repository itself seems fishy (lots of minor commits, emojis in the README), but the only evidence I found was [adding a deepfaked icon](https://github.com/mq1/TinyWiiBackupManager/commit/3eef34254c18e9ad93e4291999d2abbc6d90b6a0) (the mention of the deepfaked icon was removed in [this commit](https://github.com/mq1/TinyWiiBackupManager/commit/aaf6036a5a409e6f6a1439dae9611e8e419be09b)), hence the "None?" for the last untainted version. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/692 Reviewed-by: Admin --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d2c0b1c..7f2a4ed 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Gaming](#gaming) * [Game engines](#game-engines) * [Alternative game engines](#alternative-game-engines) - * [Game managers and Launchers](#game-managers-and-launchers) + * [Game Managers and Launchers](#game-managers-and-launchers) * [Mod managers](#mod-managers) * [Emulators](#emulators) * [Language and Localization](#language-and-localization) @@ -810,12 +810,13 @@ This is a section for repos that are similar to this one either because they are > #### Alternative Game Engines > - [LÖVE](https://love2d.org/) is a 2D game engine based on Lua with some 3D capability that may serve as a viable alternative to Godot/Unity depending on your project's requirements. -### Game managers and Launchers +### Game Managers and Launchers | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [Heroic](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) | [`2.20.1`](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v2.20.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/5373)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help)| | [Lutris](https://github.com/lutris/lutris) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://web.archive.org/web/20260312043526/https://github.com/lutris/lutris/issues/6506#issuecomment-3976118573), [2](https://github.com/lutris/lutris/discussions/6530)) | [Bottles](https://github.com/bottlesdevs/Bottles) | +| [TinyWiiBackupManager](https://github.com/mq1/TinyWiiBackupManager) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](#gen-ai-art) ([1](https://github.com/mq1/TinyWiiBackupManager/commit/3eef34254c18e9ad93e4291999d2abbc6d90b6a0)) | See [this post](https://pixelo789.codeberg.page/blog/2026-05-11-slop-free-wii-library-managing/) | | [umu](https://github.com/Open-Wine-Components/umu-launcher) | [`1.3.0`](https://github.com/Open-Wine-Components/umu-launcher/releases/tag/1.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Open-Wine-Components/umu-launcher/commit/424ffbf63c64107b87d948a7bbbea64d419bce4d), [2](https://github.com/Open-Wine-Components/umu-launcher/commit/12eb390fee3821fa3260ea856006e39ed85b26ae)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | ### Mod managers From 4122f594a88b95f39708237d42873df9bd89f33d Mon Sep 17 00:00:00 2001 From: matu6968 Date: Wed, 13 May 2026 20:37:35 +0200 Subject: [PATCH 038/108] Add Nerimity (web client) (#724) This is part one of adding Nerimity as both the server and the client are tainted, but because of the policy only letting one PR per section i had to split it into 2 PR's for both the server and the client. This is for the web client part of it **For the adding of the server side of the PR, see #725** Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/724 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f2a4ed..52f5e94 100644 --- a/README.md +++ b/README.md @@ -895,6 +895,7 @@ This is a section for repos that are similar to this one either because they are | [Fluxer](https://fluxer.app/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://web.archive.org/web/20260213205023/https://blog.fluxer.app/how-i-built-fluxer-a-discord-like-chat-app/), [2](https://github.com/fluxerapp/fluxer/blob/refactor/CONTRIBUTING.md#4-understand-the-code-you-submit), [3](https://github.com/fluxerapp/fluxer/issues/435)) | | [gomuks](https://github.com/gomuks/gomuks) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gomuks/gomuks/commit/5d6c1ba57cc4617ef1218805b1cfd0d1f7613ed0)) | [Mattermost](https://mattermost.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mattermost/mattermost/commit/e7f021de3683c72faf99fa82427304f3aae5bbf5))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.mattermost.com/administration-guide/configure/agents-admin-guide.html))| +| [Nerimity](https://github.com/Nerimity/nerimity-web) | [`9077876`](https://github.com/Nerimity/nerimity-web/commit/90778766e5947540f5fcbe5075247c8990507f40) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Nerimity/nerimity-web/pull/638), [2](https://github.com/Nerimity/nerimity-web/pull/621), [3](https://github.com/Nerimity/nerimity-web/pull/605))| | [Psi](https://psi-im.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/psi-im/psi/issues/793#issuecomment-2118897607)) | | [Sharkord](https://sharkord.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Sharkord/sharkord/issues/85), [2](https://github.com/Sharkord/sharkord/blob/fd637b6f369b54f2726cd78603b6147d6fe45a29/.gitignore#L2)) | | [Telegram](https://telegram.org)| [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/telegramdesktop/tdesktop/commit/983bd1a57bfd9a88bb0e17b51103c5e6cf1e3f24))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://telegram.org/blog/ai-editor-mighty-polls-and-more))| From 6ebefa275bd9efba65d78f442f5355df0354b067 Mon Sep 17 00:00:00 2001 From: matu6968 Date: Wed, 13 May 2026 20:39:00 +0200 Subject: [PATCH 039/108] Add Nerimity (server component) (#725) This is part two of adding Nerimity as both the server and the client are tainted, but because of the policy only letting one PR per section i had to split it into 2 PR's for both the server and the client. This is for the server side part of it **For the adding of the client side of the PR, see #724** Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/725 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52f5e94..edb9432 100644 --- a/README.md +++ b/README.md @@ -875,6 +875,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| | [Dendrite](https://github.com/element-hq/dendrite/) | [`v0.14.1`](https://github.com/element-hq/dendrite/commit/40bef6a423d91fff69afb1cfb926d0b1612f38ec) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/dendrite/commit/7f4ba1f6ebeffc709e5be97930122711cb8c9d63)) | +| [Nerimity](https://github.com/Nerimity/nerimity-server) | [`661d069`](https://github.com/Nerimity/nerimity-server/commit/661d0693474180cee8d167c1201015c278c7a360) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/Nerimity/nerimity-server/pull/40), [2](https://github.com/Nerimity/nerimity-server/pull/38), [3](https://github.com/Nerimity/nerimity-server/pull/32))| | [Synapse](https://github.com/element-hq/synapse) | [`b4282b8`](https://github.com/element-hq/synapse/commit/b4282b82d0dbc3ba34954d442a581ad9331e465a) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/element-hq/synapse/commit/539f708f32af4cc01f6d82f1bb0069ff38e93593), [2](https://github.com/element-hq/synapse/commit/f545aa4f33377f2c68aad7032afbe5a395c35cbc), [3](https://github.com/element-hq/synapse/commit/40d699b1d4d7855ffb892723eac90cd34f22aa6f)) | > [!Note] From d6fac91717d981fcf4f20b79c7eb2df2cb59e6af Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Thu, 14 May 2026 09:06:07 +0200 Subject: [PATCH 040/108] it's euopean spring (#727) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/727 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index edb9432..62be375 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ > [!Note] > ## Vacation Notice -> The core maintainers of this repo will be on holiday from 14th of May until the morning (CEST) of the 18th of May. During that time Issues and Pull Requests will be closed as we cannot properly moderate during that time. Please also take time to enjoy the spring season <3 +> The core maintainers of this repo will be on holiday from 14th of May until the morning (CEST) of the 18th of May. During that time Issues and Pull Requests will be closed as we cannot properly moderate during that time. Please also take time to enjoy the European spring season <3 # Open Slopware From 5e36a94be4572c6e2696087448d1cfb40af4e11d Mon Sep 17 00:00:00 2001 From: Admin Date: Thu, 14 May 2026 09:10:53 +0200 Subject: [PATCH 041/108] add redumper (#723) closes #253 Co-authored-by: JesseBot Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/723 --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 62be375..36a0e9f 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Photography](#photography) * [Video](#video) * [Continuous Integration](#continuous-integration) + * [Data Archival](#data-archival) * [Developer Tools](#developer-tools) * [Device Exploiting](#device-exploiting) * [Documents](#documents) @@ -654,6 +655,12 @@ This is a section for repos that are similar to this one either because they are | [Act](https://nektosact.com/) | [`v0.2.85`](https://github.com/nektos/act/releases/tag/v0.2.85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nektos/act/blob/48822e4a7722a1c43621218a9d5ae705fc395679/CLAUDE.md)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | | [Woodpecker](https://woodpecker-ci.org/) | [`v3.12.0`](https://github.com/woodpecker-ci/woodpecker/releases/tag/v3.12.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/woodpecker-ci/woodpecker/pull/6501), [2](https://github.com/woodpecker-ci/woodpecker/commit/92b48f813aa3c6be5421fa9747acb33abdf9f192))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/woodpecker-ci/woodpecker/pull/5767), [2](https://github.com/woodpecker-ci/woodpecker/pull/5886), [3](https://github.com/woodpecker-ci/woodpecker/pull/6166)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | +## Data Archival + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [redumper](https://github.com/superg/redumper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/superg/redumper/issues/365#issuecomment-4159043849)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Developer Tools > [!WARNING] @@ -700,7 +707,7 @@ This is a section for repos that are similar to this one either because they are | [Memos](Memos) | [`v0.12.1`](https://github.com/usememos/memos/releases/tag/v0.12.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/usememos/memos/blob/main/AGENTS.md), [2](https://github.com/usememos/memos/pull/5794))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/usememos/memos/pull/5794))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/usememos/memos#-featured-sponsors)) | See note software below | | [Microsoft Edit](https://github.com/microsoft/edit) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/edit/pull/72))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/microsoft/edit/pull/738)) | See editors below | | [Neovim](https://github.com/neovim/neovim/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neovim/neovim/blob/b8a976afdaf0080498e85530fae65a3165f201d5/CONTRIBUTING.md#ai-assisted-work), [2](https://github.com/neovim/neovim/issues/38186#issuecomment-4018682912), [3](https://github.com/neovim/neovim/blob/master/AGENTS.md)) | See editors below | -| [Nextpad++](https://nextpad.org/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | See editors below | +| [Nextpad++](https://nextpad.org/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | See editors below | | [Ox](https://github.com/curlpipe/ox) | [`v0.7.5`](https://github.com/curlpipe/ox/releases/tag/0.7.5) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/curlpipe/ox/pull/190/commits/7b2addcfb8c14b5dcae9210b3d18e68dd57c9a93)) | See editors below | | [Qt Creator](https://www.qt.io/development/tools/qt-creator-ide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.qt.io/development/tools/qt-creator-ide)) | See editors below | | [RStudio](https://posit.co/products/open-source/rstudio) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.posit.co/ide/news/#rstudio))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rstudio/rstudio/tree/main/.claude), [2](https://github.com/rstudio/rstudio/pull/17500)) | See editors below | @@ -1341,9 +1348,9 @@ This section is strictly for software implementing a core set of UNIX-like utili | [LogFox](https://github.com/F0x1d/LogFox) | [`dd1405c`](https://github.com/F0x1d/LogFox/commit/dd1405c67737601b27530533feeebf73711fe47e), version [2.0.7](https://github.com/F0x1d/LogFox/releases/tag/v2.0.7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/F0x1d/LogFox/blob/master/AGENTS.md), [2](https://github.com/F0x1d/LogFox/tree/master/.claude), [3](https://github.com/F0x1d/LogFox/commit/c7953ec38f480c4d0a8ec5311e03ff2d562422b3)) | > [!note] -> +> > #### Alternatives for Android -> +> > - [Rootless Logcat](https://github.com/tananaev/rootless-logcat) > - [aShell You](https://github.com/DP-Hridayan/aShellYou) or [aShell](https://gitlab.com/sunilpaulmathew/ashell) running the `logcat`command. > - Direct use of the `logcat` command in the Android shell. From 1cc259934237a6f74d045e5484e1f81915455af6 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 18 May 2026 11:13:33 +0200 Subject: [PATCH 042/108] Remove vacation notice (#728) Closes #695 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/728 --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 36a0e9f..da5bab7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -> [!Note] -> ## Vacation Notice -> The core maintainers of this repo will be on holiday from 14th of May until the morning (CEST) of the 18th of May. During that time Issues and Pull Requests will be closed as we cannot properly moderate during that time. Please also take time to enjoy the European spring season <3 - # Open Slopware ![enbyware](https://pride-badges.pony.workers.dev/static/v1?label=enbyware&labelColor=%23555&stripeWidth=8&stripeColors=FCF434%2CFFFFFF%2C9C59D1%2C2C2C2C) From 23695a4337da53d15978d9ba264052f0a3d67ace Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 18 May 2026 12:34:05 +0200 Subject: [PATCH 043/108] Add Citations as an alternative for Zotero (#729) While I haven't personally tried it, it seems like a suitable alternative. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/729 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da5bab7..6bc5159 100644 --- a/README.md +++ b/README.md @@ -454,7 +454,7 @@ This is a section for repos that are similar to this one either because they are | [Booklore](https://github.com/the-booklore/booklore/tree/develop) | none | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/the-booklore/booklore/blob/develop/CONTRIBUTING.md#ai-assisted-contributions)) | [Clbre](https://github.com/grimthorpe/clbre), Calibre fork without AI
[Arcalibre](https://codeberg.org/rereading/arcalibre), Calibre hard-fork from before AI | | [Calibre](https://calibre-ebook.com) | [`8.15.0`](https://github.com/kovidgoyal/calibre/releases/tag/v8.15.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/kovidgoyal/calibre/blob/master/Changelog.txt)) | [Clbre](https://github.com/grimthorpe/clbre), Calibre fork without AI
[Arcalibre](https://codeberg.org/rereading/arcalibre), Calibre hard-fork from before AI | | [KOReader](https://koreader.rocks/) | [`2023.08`](https://github.com/koreader/koreader/releases/tag/v2023.08) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/koreader/koreader/issues/11147#issuecomment-4171255898), [2](https://github.com/koreader/koreader/pull/13806), [3](https://github.com/koreader/koreader/pull/13884))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/koreader/koreader/pull/13633), [2](https://github.com/koreader/koreader/pull/14578), [3](https://github.com/koreader/koreader/pull/14583))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://github.com/koreader/koreader/releases/tag/v2023.10), [2](https://koreader.rocks/user_guide/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Zotero](https://www.zotero.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zotero/zotero/blob/main/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Zotero](https://www.zotero.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zotero/zotero/blob/main/CLAUDE.md)) | [Citations](https://apps.gnome.org/Citations/) | ## Bootloaders From 355d772e9bf0b6f3d36a7459a87dc8275552e12a Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 18 May 2026 13:35:31 +0200 Subject: [PATCH 044/108] Update Luanti evidence with more egregious PR (#733) Also see https://codeberg.org/small-hack/open-slopware/pulls/221#issuecomment-15189738. TL;DR: larger LLM-generated PR got merged while LLM policy discussion was ongoing. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/733 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6bc5159..8b8942b 100644 --- a/README.md +++ b/README.md @@ -806,7 +806,7 @@ This is a section for repos that are similar to this one either because they are | [GDevelop](https://gdevelop.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gdevelop.io/), [2](https://github.com/4ian/GDevelop/commit/6ec16045d140a9d55721f71620e128d4969c5fe6), [3](https://github.com/4ian/GDevelop/pull/8509/commits/74409a280cd248ee4d54523b23f5c1507d6380af)) | [Pandemonium Engine] | | [GZDoom](https://github.com/zdoom/gzdoom) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ZDoom/gzdoom/commit/584af500736b0317e42824f39285ed3d954fc4e2)) | [UZDoom](https://github.com/UZDoom/UZDoom), [Chocolate Doom](https://www.chocolate-doom.org/) | | [Jmonkey](https://jmonkeyengine.org/)| [`3.6.1-stable`](https://github.com/jMonkeyEngine/jmonkeyengine/releases/tag/v3.6.1-stable) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) [(1)](https://github.com/jMonkeyEngine/jmonkeyengine/pull/2640)
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) [(1)](https://github.com/jMonkeyEngine/jmonkeyengine/pull/2640#issuecomment-4039106977) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [Luanti](https://luanti.org) | [`5.14.0`](https://github.com/luanti-org/luanti/releases/tag/5.14.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/luanti-org/luanti/pull/16808), [2](https://github.com/luanti-org/luanti/pull/16961), [3](https://github.com/luanti-org/luanti/pull/17019)) | [ClassiCube](https://www.classicube.net/)
[Cubyz](https://github.com/PixelGuys/Cubyz)
[Cubos](https://cubosengine.org) | +| [Luanti](https://luanti.org) | [`5.14.0`](https://github.com/luanti-org/luanti/releases/tag/5.14.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/luanti-org/luanti/pull/16808), [2](https://github.com/luanti-org/luanti/pull/16961), [3](https://github.com/luanti-org/luanti/pull/17095)) | [ClassiCube](https://www.classicube.net/)
[Cubyz](https://github.com/PixelGuys/Cubyz)
[Cubos](https://cubosengine.org) | | [UPBGE 0.5](https://upbge.org/) | [`0.36.1`](https://github.com/UPBGE/upbge/releases/tag/v0.36.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/UPBGE/upbge/wiki/Release-notes-version-0.50#b-implementation-technique-and-limitations)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | > [!NOTE] From bc60689eaaaff17a909f42cabdcc563fe6732ca6 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 18 May 2026 15:36:17 +0200 Subject: [PATCH 045/108] note our stance on the term NSFW (#735) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/735 --- CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 552f858..889cff9 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -32,7 +32,7 @@ That will display like this: homophobic content goes here. -Failure to do so will first result in a one time warning and future offenses will be considered a strike. +Failure to do so will first result in a one time warning and future offenses will be considered a strike. We ask that you do not use the acronym "NSFW" and instead use specific tags such as "nudity" or "discussion of sex" as to be inclusive to all workers. # On handling rude comments in this repo specifically From e23c0ffcd2060ea14b0bad8d8a025d15eb406ec6 Mon Sep 17 00:00:00 2001 From: Christopher Araujo Date: Mon, 18 May 2026 20:53:00 +0200 Subject: [PATCH 046/108] Add es-toolkit and fnm (#740) This PR adds `es-toolkit` and `fnm` to the JavaScript section. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/740 Reviewed-by: Admin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8b8942b..f925038 100644 --- a/README.md +++ b/README.md @@ -1184,6 +1184,8 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [Deno](https://github.com/denoland/deno) | [`6002d26`](https://github.com/denoland/deno/commit/6002d2624e567d92c5d659be77dfa14fc4db28fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/.github/CONTRIBUTING.md), [2](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/CLAUDE.md), [3](https://xcancel.com/i/status/2013280952370573666))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/denoland/deno/pull/33335#pullrequestreview-4143170352)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [es-toolkit](https://es-toolkit.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://es-toolkit.dev/ai-integration.html))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/toss/es-toolkit/blob/main/AGENTS.md), [2](https://github.com/toss/es-toolkit/commit/b3f1f5433144a54c80fb61e4c9fda0d71cf9c85f)) | [Lodash](https://github.com/lodash/lodash) | +| [fnm](https://fnm.vercel.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Schniz/fnm/blob/master/AGENTS.md)) | [asdf](https://asdf-vm.com/), [n](https://github.com/tj/n) | | [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 8c0f5130e2fcd1fc85231fccca174b9e742bcf1f Mon Sep 17 00:00:00 2001 From: Christopher Araujo Date: Mon, 18 May 2026 20:54:28 +0200 Subject: [PATCH 047/108] Add Ruby section with Hanakai and Rails (#741) This PR adds Hanakai and Rails to a new section for Ruby. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/741 Reviewed-by: Admin --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index f925038..6831877 100644 --- a/README.md +++ b/README.md @@ -1222,6 +1222,15 @@ Note that Python is itself tainted; see [the Programming Languages section](#pro | [uv](https://docs.astral.sh/uv/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/uv/blob/00d72dac7b789d1c64ed21626175b80f4a1b8f2b/CLAUDE.md), [3](https://github.com/astral-sh/uv/commit/bd2e0c9b09551c6570b14c4da80364fe90805b78))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [ty](https://docs.astral.sh/ty/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/astral-sh/.github/blob/c5187e200db51bfe11d56e13053d29bd3793fdd8/AI_POLICY.md), [2](https://github.com/astral-sh/ty/commit/065338a1fcc24ac5b974724dbb5d8a3ab740c5b7))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://astral.sh/blog/openai)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +### Ruby + +Note that Ruby is itself tainted; see [the Programming Languages section](#programming-languages). + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Hanakai](https://hanakai.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hanakai.org/ai-policy)) | [sinatra](https://sinatrarb.com) | +| [Ruby on Rails](https://rubyonrails.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rails/rails/blob/main/AGENTS.md)) | [sinatra](https://sinatrarb.com) | + ### Rust | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 68609b1379affb38da047242eb50ce5f467a0eef Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 18 May 2026 21:15:53 +0200 Subject: [PATCH 048/108] Add TS for GIR (#730) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/730 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6831877..5c26331 100644 --- a/README.md +++ b/README.md @@ -1190,6 +1190,7 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://opensource.fb.com/projects/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [TS for GIR](https://gjsify.github.io/docs/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gjsify/ts-for-gir/blob/80ecf9e071c82f4d107ebf7d1129cb363a025f0d/AGENTS.md), [2](https://github.com/gjsify/ts-for-gir/pull/320), [3](https://github.com/gjsify/ts-for-gir/commit/7b1e2b31df06f59046899d4b2d476187afad95aa)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Typebox](https://github.com/sinclairzx81) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sinclairzx81/typebox/pull/1015), [2](https://github.com/sinclairzx81/typebox/issues/1294), [3](https://github.com/sinclairzx81/typebox/issues/1364)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Vite](http://vite.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/copilot-instructions.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md#sponsors), [2](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md?plain=1#L19))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/workflows/issue-template-check.yml#L50)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 75c2d54a31757fdc0a08449d4b57fa9bc1ece6c5 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 18 May 2026 22:09:53 +0200 Subject: [PATCH 049/108] add "what about open source ai" section (#744) Co-authored-by: cloudymax Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/744 --- FAQ.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index 5c9cfc2..eb8bf91 100644 --- a/FAQ.md +++ b/FAQ.md @@ -40,4 +40,8 @@ There's no great place to put these in our current files, but these sorts of que ## Can you advise us on the ethical usage of AI? -> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs section](https://codeberg.org/small-hack/open-slopware#why-not-llms). \ No newline at end of file +> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs section](https://codeberg.org/small-hack/open-slopware#why-not-llms). + +## What about "Open Source AI"? + +> Yes, simply being open source does not resolve the issues listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section and thus such projects will still be included on this list. \ No newline at end of file From d95deccca65fbadb2a8fe6ac1d0ea12b09eed734 Mon Sep 17 00:00:00 2001 From: Fireye Date: Mon, 18 May 2026 23:04:10 +0200 Subject: [PATCH 050/108] Update SearXNG (#742) - Add link to project - Remove references to ai functionality: all seem to be issues and proposals, not actual features. The worst thing I could find in this vein was a comment within [3] that suggested maintainers would theoretically accept such features, should their integration be "technically feasible and the goals of SearXNG are not violated" (https://github.com/searxng/searxng/issues/2163#issuecomment-2676107816) - Add link to permissive LLM policy Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/742 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c26331..34a633e 100644 --- a/README.md +++ b/README.md @@ -1290,7 +1290,7 @@ Note that Ruby is itself tainted; see [the Programming Languages section](#progr | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| Searxng | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/searxng/searxng/issues?q=copilot))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/searxng/searxng/issues/2273), [2](https://github.com/searxng/searxng/issues/2008), [3](https://github.com/searxng/searxng/issues/2163)) | [LibreY](https://github.com/Ahwxorg/librey/),
[marginalia](https://github.com/MarginaliaSearch/MarginaliaSearch),
[securityops.co](https://git.securityops.co/securityops/securitysearch) | +| [Searxng](https://github.com/searxng/searxng) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/searxng/searxng/blob/master/AI_POLICY.rst))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/searxng/searxng/issues?q=copilot)) | [LibreY](https://github.com/Ahwxorg/librey/),
[marginalia](https://github.com/MarginaliaSearch/MarginaliaSearch),
[securityops.co](https://git.securityops.co/securityops/securitysearch) | ## Service Monitoring From ebbea77dcbc5d2a42aac3ac9d7c4770f6fa88be0 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 19 May 2026 19:36:16 +0200 Subject: [PATCH 051/108] update KeePassChi to their new name, ChiPass (#751) Also include their contribution policy which explicitly bans AI. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/751 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34a633e..9beae21 100644 --- a/README.md +++ b/README.md @@ -1059,7 +1059,7 @@ This is a section for repos that are similar to this one either because they are > ### Password Manager Alternatives > * [rbw](https://github.com/doy/rbw) (client) > * [KeePass 2](https://keepass.info/download.html). It is a .NET application, but [Mono](https://keepass.info/help/v2/setup.html#mono) or [Wine](https://keepass.info/help/v2/setup.html#wine) can be used for non-Windows platforms. -> * [KeePassChi](https://codeberg.org/keepasschi/keepasschi): A fork of KeePass 2.7.9 [with clear stance against LLMs](https://social.anoxinon.de/@whitequark@treehouse.systems/116403781772180051). +> * [ChiPass](https://codeberg.org/ChiPass/ChiPass): An active fork of KeePass 2.7.9 [with clear stance against LLMs](https://social.anoxinon.de/@whitequark@treehouse.systems/116403781772180051) and a [No AI Contribution Policy](https://codeberg.org/ChiPass/ChiPass/src/branch/main/CODE_OF_CONDUCT.md). > * [Secrets](https://apps.gnome.org/Secrets/) uses the KeePass file format. > * Password managers based on [pass](https://www.passwordstore.org/) or [Himitsu](https://himitsustore.org/) could be interesting. From beaf5489d3ccdb13d067d0621391266c63a6bdb4 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Tue, 19 May 2026 23:44:11 +0200 Subject: [PATCH 052/108] Add Vibecoded badge for Bun with Zig to Rust vibe-rewrite (#732) At this point, I believe Bun has crossed the line into "Vibecoded" territory with their vibe-rewrite. Of course this had to happen during vacation. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/732 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9beae21..b9fde7c 100644 --- a/README.md +++ b/README.md @@ -1180,7 +1180,7 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | | --- |:---:| --- | --- | | [ArkType](https://arktype.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://arktype.io/llms.txt), [2](https://github.com/arktypeio/arktype/blob/main/.cursor/commands/armstrong.md), [3](https://github.com/arktypeio/arktype/pull/1553#issuecomment-3672923281))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/arktypeio/arktype/pull/1594)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [bun](https://github.com/oven-sh/bun) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oven-sh/bun/blob/main/CLAUDE.md), [2](https://github.com/oven-sh/bun/blob/main/.cursorignore), [3](https://github.com/oven-sh/bun/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://bun.com/blog/bun-joins-anthropic), [2](https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/oven-sh/bun/issues/29336#issuecomment-4249855116)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [bun](https://github.com/oven-sh/bun) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Vibecoded](./badges/vibecoded.svg)](#vibecoded) ([1](https://github.com/oven-sh/bun/pull/30412), [2](https://www.theregister.com/devops/2026/05/14/anthropics-bun-rust-rewrite-merged-at-speed-of-ai/5240381))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bun.com/docs/runtime/templating/init))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oven-sh/bun/blob/main/CLAUDE.md), [2](https://github.com/oven-sh/bun/blob/main/.cursorignore), [3](https://github.com/oven-sh/bun/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/oven-sh/bun/pull/29395))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://bun.com/blog/bun-joins-anthropic), [2](https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/oven-sh/bun/issues/29336#issuecomment-4249855116)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Deno](https://github.com/denoland/deno) | [`6002d26`](https://github.com/denoland/deno/commit/6002d2624e567d92c5d659be77dfa14fc4db28fa) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/.github/CONTRIBUTING.md), [2](https://github.com/denoland/deno/blob/ac0a7e60295f00ccd1a0f057062fca8fde5e8140/CLAUDE.md), [3](https://xcancel.com/i/status/2013280952370573666))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/denoland/deno/pull/33335#pullrequestreview-4143170352)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From d3ccc8566fce6ff7fdfe35adaa226480befda241 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Tue, 19 May 2026 23:55:27 +0200 Subject: [PATCH 053/108] explain why removal is hard. (#754) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/754 --- FAQ.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index eb8bf91..c7bfb6b 100644 --- a/FAQ.md +++ b/FAQ.md @@ -44,4 +44,8 @@ There's no great place to put these in our current files, but these sorts of que ## What about "Open Source AI"? -> Yes, simply being open source does not resolve the issues listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section and thus such projects will still be included on this list. \ No newline at end of file +> Yes, simply being open source does not resolve the issues listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section and thus such projects will still be included on this list. + +## Why is removal harder than landing on the list in the first place? + +> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforcable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. \ No newline at end of file From c703e400ba5cacd0e7749f2082f3f3a7b8f0d6ac Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Wed, 20 May 2026 21:29:14 +0200 Subject: [PATCH 054/108] make it clear that we don't want social media posts (#752) Co-authored-by: JesseBot Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/752 --- CONTRIBUTING.md | 4 +++- FAQ.md | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ebbeff6..625aca6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,6 +45,8 @@ The criteria for being included in this repository are any of following tags. Yo Alternatives should not contain any slop as defined by our tagging system above. +Please don't submit social media posts as evidence unless it is a post *by a maintainer of the tainted project* talking about using AI to develop the tainted project. Even then, we'd prefer links to a project's LLM commits in a git forge, AI/contributing policies, or blog posts. + ### Style guide When submitting new software to this list, please check out the [style guide](./STYLE.md) to ensure you are conforming to our community agreed upon standards. @@ -82,4 +84,4 @@ In either case, one thing you can do is react positively to a given upstream iss # Social media -We would appreciate it if you did not mention this repo on social media or in chats in order to shame a project or community. Do not make posts like, "`` should be added to the open-slopware list", especially if you are tagging a maintainer or using a project's hashtag. +We would appreciate it if you did not mention this repo on social media or in chats in order to shame a project or community. Do not make posts like, "`` should be added to the open-slopware list", especially if you are tagging a maintainer or using a project's hashtag. Please also don't quote social media posts in the "Why not LLMs" section. \ No newline at end of file diff --git a/FAQ.md b/FAQ.md index c7bfb6b..75aa5d5 100644 --- a/FAQ.md +++ b/FAQ.md @@ -20,16 +20,16 @@ There's no great place to put these in our current files, but these sorts of que ## If a repo had slop before, isn't it permanently tainted? Aren't all forks of slop therefore also slop? -> No. See also: [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal). +> No. See also: [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal). > > Eventually, the slop will likely either be removed, replaced, or deprecated. > > We're also against AI for more than just code quality reasons. There's plenty of ethical reasons to be against continuing to use AI: -> +> > - [environmental](https://codeberg.org/small-hack/open-slopware#environmental-impact) > - [ties to the war industrial complex](https://codeberg.org/small-hack/open-slopware#ties-to-the-war-industrial-complex) > - [effect on hardware prices hurting newcomers to the industry](https://codeberg.org/small-hack/open-slopware#effect-on-hardware-prices) (especially those already disenfranchised) -> +> > The commitment to stop using AI stops those above ethical issues. It's like going vegetarian. You're still a vegetarian if you previously consumed meat, but now you don't. You've still reduced suffering and helped the environment. A commitment to doing better is better than never stopping a harmful action. ## Is a project tainted if it has dependencies that are tainted? @@ -48,4 +48,12 @@ There's no great place to put these in our current files, but these sorts of que ## Why is removal harder than landing on the list in the first place? -> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforcable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. \ No newline at end of file +> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforcable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. + +## Why can't I include an social media post? + +> We do not want to have a social media type atmosphere here and quoting social media posts, no matter what side people are on, gets messy. The mtaintiners here do not have the mental health to engage in social media drama that inevitably arises from AI bros, nor do we want to inflict that on anyone who is unaware of this list and hasn't consented to that attention. This does not mean you should reach out to your favorite anti-AI influencer for permission to include them in this list. We don't want you to do that. + +### But what if it's a social media post against AI? + +> We would then need to research those social media users and see if we endorse them or not and we don't want to do that either. From 73f3910d7530a945a43742c4e4472ffe60d75742 Mon Sep 17 00:00:00 2001 From: yuli Date: Wed, 20 May 2026 22:06:49 +0200 Subject: [PATCH 055/108] add Yazi (#760) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/760 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b9fde7c..985c636 100644 --- a/README.md +++ b/README.md @@ -789,6 +789,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [Superfile](https://superfile.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/yorukot/superfile/blob/main/.gitignore),[2](https://github.com/yorukot/superfile/commit/4f875e5c2e0e2a837a2c4a6548dbc09f76905c29),[3](https://github.com/yorukot/superfile/commit/130f1ef57b8314dd4bc5c7a22eac6db996da4361))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/yorukot/superfile/pull/1405),[2](https://github.com/yorukot/superfile/pull/1391),[3](https://github.com/yorukot/superfile/pull/1387))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#ai-sponsored) ([1](https://github.com/yorukot/superfile#----superfile-is-supported-by-the-community--))| [lf](https://github.com/gokcehan/lf),
[Midnight Commander](https://midnight-commander.org/),
[vifm](https://vifm.info/) | +| [Yazi](https://yazi-rs.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sxyazi/yazi/pull/3038), [2](https://github.com/sxyazi/yazi/commit/eb537733a2c5b09649b56284b74dbdd4e70006ec))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/sxyazi/yazi/pull/3949),[2](https://github.com/sxyazi/yazi/pull/3934),[3](https://github.com/sxyazi/yazi/pull/3930))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#ai-sponsored) ([1](https://github.com/sxyazi/yazi/blob/main/README.md), [2](https://github.com/sxyazi/yazi/commit/7f1e9b83fdd5a63aed048ecf17ef51e9b2584901))| [lf](https://github.com/gokcehan/lf),
[Midnight Commander](https://midnight-commander.org/),
[vifm](https://vifm.info/) | ## Forum Software From b1240532239fb5a9d6e8ceab392c63f470f79bc5 Mon Sep 17 00:00:00 2001 From: KazWolfe Date: Thu, 21 May 2026 23:24:07 +0200 Subject: [PATCH 056/108] Add Rust and links to AI-assisted PRs. (#761) Add Rust and links to AI-assisted PRs. (#761) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/761 Reviewed-by: Admin --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 985c636..4b83454 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ This is a section for repos that are similar to this one either because they are | [CircuitPython](https://circuitpython.org) | [`9.2.9`](https://github.com/adafruit/circuitpython/releases/9.2.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/adafruit/circuitpython/pull/10872), [2](https://github.com/adafruit/circuitpython/pull/10794), [3](https://github.com/adafruit/circuitpython/pull/10703)) | See below | | [Racket](https://racket-lang.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/racket/racket/issues/5466), [2](https://github.com/racket/racket/pull/5415)) | [Chez Scheme](https://cisco.github.io/ChezScheme/)
[Guile](https://www.gnu.org/software/guile/) | | [Ruby](https://www.ruby-lang.org) | [`v3.3.8`](https://github.com/ruby/ruby/releases/tag/v3_3_8) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc), [2](https://github.com/ruby/ruby/commit/a0fc03ef3717ad0aab363a53a6f6f178dab7b526))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc)) | See below | +| [Rust](https://rust-lang.org/) | [`v1.95.0`](https://github.com/rust-lang/rust/releases/tag/1.95.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rust-lang/rust/commit/6fd846676801486d304030698cc8dac261b98680))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/rust-lang/rust/commit/eceed7c1c28a05b31dc5dffacf3abab22a7cb1c2), [2](https://github.com/rust-lang/rust/commit/eb2c80dabef0358c953ed49258061ab58f485c56), [3](https://github.com/rust-lang/rust/commit/47e6437af4ada1fa90771999740da861c5c2f9cb))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://rustfoundation.org/members/)) | See below | | [Scala](https://scala-lang.org/) | [`v3.7.1`](https://github.com/scala/scala3/releases/tag/3.7.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scala/scala3/blob/main/AGENTS.md), [2](https://github.com/scala/scala3/commit/a3a3fb8a907132a19181b5e76f0a3cf19e4f8cd3), [3](https://github.com/scala/scala3/commit/04dcaa43df3d4959114c7875a246f7f1bed09299)) | [Scala 2.13.18](https://github.com/scala/scala/releases/tag/v2.13.18),
[Scala 3.3 LTS](https://github.com/scala/scala3/releases/tag/3.3.7),
See below | | [Scratch](https://scratch.mit.edu) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://medium.com/scratchteam-blog/introducing-creative-ai-at-scratch-bcdbd6c3efc9))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scratchfoundation/scratch-editor/blob/develop/AGENTS.md), [2](https://github.com/scratchfoundation/.github/blob/main/CONTRIBUTING.AI.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scratchfoundation/scratch-editor/pull/264#pullrequestreview-3019481549), [2](https://github.com/scratchfoundation/scratch-editor/pull/291#pullrequestreview-3109857889), [3](https://github.com/scratchfoundation/scratch-editor/pull/327#pullrequestreview-3263575779))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](#ai-databroker-usage) ([1](https://mitscratch.freshdesk.com/en/support/solutions/articles/4000219182-scratch-terms-of-service), [2](https://scratch.mit.edu/discuss/topic/862281/)) | [Scratch 1.4]
[Scratch 2] | | [TruffleRuby](https://truffleruby.dev/) | [`v33.0.0`](https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truffleruby/truffleruby/commit/9f028ec178642bc71285a32c82b0a2761723b40b), [2](https://github.com/truffleruby/truffleruby/pull/4133))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/truffleruby/truffleruby/pull/4161)) | See below | @@ -1235,6 +1236,8 @@ Note that Ruby is itself tainted; see [the Programming Languages section](#progr ### Rust +Note that Rust is itself tainted; see [the Programming Languages section](#programming-languages). + | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [c2rust](https://github.com/immunant/c2rust) | [`0.21.0`](https://github.com/immunant/c2rust/tree/v0.21.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/immunant/c2rust/issues/1653#issuecomment-4035773395),[2](https://github.com/immunant/c2rust/pull/1614))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/immunant/c2rust/tree/master/c2rust-postprocess))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/immunant/c2rust/pull/1664),[2](https://github.com/immunant/c2rust/pull/1595),[3](https://github.com/immunant/c2rust/pull/1587))| [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From e7b19089a5500c9a551f1838d40ffbe0a32a1b06 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Thu, 21 May 2026 23:37:05 +0200 Subject: [PATCH 057/108] Move curl to Networking section, add AI sponsorship, and add permissive LLM policy (#763) Part of #661 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/763 Reviewed-by: Admin --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b83454..719b73a 100644 --- a/README.md +++ b/README.md @@ -664,7 +664,6 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [curl](https://curl.se/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://mastodon.social/@bagder/116204333476519757)) | [Wget](https://www.gnu.org/software/wget/) | | [Golly](https://golly.sourceforge.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | @@ -951,6 +950,10 @@ This is a section for repos that are similar to this one either because they are ## Networking +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [curl](https://curl.se/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://curl.se/dev/contribute.html#on-ai-use-in-curl), [2](https://mastodon.social/@bagder/116204333476519757))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/curl/curl/pull/20797), [2](https://github.com/curl/curl/pull/20798), [3](https://github.com/curl/curl/pull/20787))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://mastodon.social/@bagder/116609161259593989)) | [Wget](https://www.gnu.org/software/wget/) | + ### Reverse proxies | Name | Last Untainted Version or Commit ID | Tags and Evidence | From a1d48f26f6d445912238070ebc3d0d04e0ff93f8 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Thu, 21 May 2026 23:44:16 +0200 Subject: [PATCH 058/108] Add GitHub Store (#759) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/759 Reviewed-by: Admin --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 719b73a..693fbd2 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Accounting and Budgeting](#accounting-and-budgeting) * [Accounting and Budgeting Alternatives](#accounting-and-budgeting-alternatives) * [API Documentation](#api-documentation) + * [App Catalogs and Downloaders](#app-catalogs-and-downloaders) * [App Launchers](#app-launchers) * [Mobile Launchers](#mobile-launchers) * [Mobile Launchers Alternatives](#mobile-launchers-alternatives) @@ -356,6 +357,12 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Scalar](https://scalar.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://scalar.com/products/docs/configuration/ask-ai))
[![Permissive AI Policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scalar/scalar/blob/main/AGENTS.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scalar/scalar/pull/8977#pullrequestreview-4167901335)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +## App Catalogs and Downloaders + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) +|---|:---:|---|---| +| [GitHub Store](https://github-store.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/OpenHub-Store/GitHub-Store/blob/2c7026337d6e8df6d87962a4bbe2366fcc336296/AGENTS.md), [2](https://github.com/OpenHub-Store/GitHub-Store/commit/49cd2c1378915af0435ccf15ab6158d3b330f278), [3](https://github.com/OpenHub-Store/GitHub-Store/commit/4c3af650d977d8aaac62a59d8db273b05bc81a7d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/OpenHub-Store/GitHub-Store/pull/107), [2](https://github.com/OpenHub-Store/GitHub-Store/pull/115), [3](https://github.com/OpenHub-Store/GitHub-Store/pull/632)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## App Launchers ### Mobile Launchers From 5f40a492d23c7259b39f05b162adf5698898407d Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Thu, 21 May 2026 23:48:02 +0200 Subject: [PATCH 059/108] Add Open-Shell (#762) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/762 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 693fbd2..dffb070 100644 --- a/README.md +++ b/README.md @@ -1554,6 +1554,7 @@ All-in-one solutions for stitching together a desktop. |---|:---:|---|---| | [DankMaterialShell](https://github.com/AvengeMedia/DankMaterialShell) | none | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/AvengeMedia/DankMaterialShell/blob/master/.agents/settings.local.json), [2](https://github.com/AvengeMedia/DankMaterialShell/commit/7cdeba162531baecb2fd8dc302b4cc33b4a229a8)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Noctalia Shell](https://github.com/noctalia-dev/noctalia-shell) | [`v2.7.0`](https://github.com/noctalia-dev/noctalia-shell/releases/tag/v2.7.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/search?q=repo%3Anoctalia-dev%2Fnoctalia-shell%20Claude&type=commits)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Open-Shell](https://open-shell.github.io/Open-Shell-Menu/) | [`4.4.197`](https://github.com/Open-Shell/Open-Shell-Menu/releases/tag/v4.4.197) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Open-Shell/Open-Shell-Menu/pull/2451)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | # Why not LLMs? From c26b374af81b608cf80291b5169164ca097c379a Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Fri, 22 May 2026 10:54:49 +0200 Subject: [PATCH 060/108] add cryptsetup (#722) closes #292 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/722 Co-authored by: @PeculiarDemon Co-authored by: @axaloteDev --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index dffb070..02b4f90 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Calendar Mobile Clients](#calendar-mobile-clients) * [File Storage](#file-storage) * [File Storage Alternatives](#file-storage-alternatives) + * [Disk Encryption](#disk-encryption) * [File Transferring](#file-transferring) * [Filesystem Navigation](#filesystem-navigation) * [File Managers](#file-managers) @@ -774,6 +775,12 @@ This is a section for repos that are similar to this one either because they are > For MinIO: > MinIO no longer maintains open source software so the entry is just for their old FOSS presence. +### Disk Encryption + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/blob/main/CONTRIBUTING.md?ref_type=heads#how-to-contribute-changes-to-cryptsetup), [2](https://gitlab.com/cryptsetup/cryptsetup/-/work_items/986))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.8.6/docs/v2.8.6-ReleaseNotes))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/901)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## File Transferring | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From e9f4bb982b66579447885c7437e3c36ec5cfe92a Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Fri, 22 May 2026 11:45:24 +0200 Subject: [PATCH 061/108] remove verge article by an author quoting racist people (#772) see #736 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/772 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 02b4f90..0d046b6 100644 --- a/README.md +++ b/README.md @@ -1634,7 +1634,6 @@ There is increasing evidence to show that LLMs negatively impact developers' cod * [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. * In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. * [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. -* There are [anecdotal reports of LLM users forgetting how to code](https://www.theverge.com/ai-artificial-intelligence/767973/vibe-coding-ai-future-end-evolution). * A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". ### Infosec risks From 6ac069ec15d53a7c749577a60484bdf81a0422b2 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Fri, 22 May 2026 12:16:22 +0200 Subject: [PATCH 062/108] Sort badges in CMS section and add WordPress 7.0 for "AI Functionality" (#768) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/768 Reviewed-by: Admin --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0d046b6..e6e4367 100644 --- a/README.md +++ b/README.md @@ -430,9 +430,9 @@ This is a section for repos that are similar to this one either because they are | [Bludit](https://www.bludit.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bludit/bludit/pull/1642))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/bludit/bludit/pull/1642)) | [WriteFreely] | | [Drupal](https://new.drupal.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://new.drupal.org/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([2](https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquette/policy-on-the-use-of-ai-when-contributing-to-drupal)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Ghost](https://ghost.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TryGhost/Ghost/blob/main/AGENTS.md), [2](https://github.com/TryGhost/Ghost/pull/27666), [3](https://github.com/TryGhost/Ghost/pull/27642))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/TryGhost/Ghost/pull/27667), [2](https://github.com/TryGhost/Ghost/pull/27211)) | [WriteFreely] | -| [Wagtail](https://wagtail.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wagtail/wagtail/blob/main/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wagtail.org/wagtail-ai/)) | [WriteFreely] | -| [Webiny](https://www.webiny.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/webiny/webiny-js/blob/next/AGENTS.md), [2](https://github.com/webiny/webiny-js/pull/4954), [3](https://github.com/webiny/webiny-js/pull/5092))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.webiny.com/docs/build-with-ai/ai-assisted-development), [2](https://github.com/webiny/webiny-js/pull/4990))| [WriteFreely] | -| [WordPress](https://wordpress.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WordPress/gutenberg/blob/trunk/AGENTS.md), [2](https://github.com/WordPress/gutenberg/pull/74449))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wordpress.com/blog/2026/03/20/ai-agent-manage-content/)) | [WriteFreely] | +| [Wagtail](https://wagtail.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wagtail.org/wagtail-ai/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wagtail/wagtail/blob/main/AGENTS.md)) | [WriteFreely] | +| [Webiny](https://www.webiny.com) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.webiny.com/docs/build-with-ai/ai-assisted-development), [2](https://github.com/webiny/webiny-js/pull/4990))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/webiny/webiny-js/blob/next/AGENTS.md), [2](https://github.com/webiny/webiny-js/pull/4954), [3](https://github.com/webiny/webiny-js/pull/5092)) | [WriteFreely] | +| [WordPress](https://wordpress.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://wordpress.com/blog/2026/03/20/ai-agent-manage-content/), [2](https://wordpress.org/download/releases/7.0/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/WordPress/gutenberg/blob/trunk/AGENTS.md), [2](https://github.com/WordPress/gutenberg/pull/74449)) | [WriteFreely] | ### Static Site Generators From 4f8d437e8599d842c56609897543d94f048b4886 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Fri, 22 May 2026 12:16:56 +0200 Subject: [PATCH 063/108] Move Golly to new Cellular Automata subsection and add last untainted commit (#769) Part of #661 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/769 Reviewed-by: Admin --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e6e4367..19ac5bf 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [File Managers](#file-managers) * [Forum Software](#forum-software) * [Gaming](#gaming) + * [Cellular Automata](#cellular-automata) * [Game engines](#game-engines) * [Alternative game engines](#alternative-game-engines) * [Game Managers and Launchers](#game-managers-and-launchers) @@ -672,7 +673,6 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Golly](https://golly.sourceforge.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | ## Device Exploiting @@ -812,6 +812,12 @@ This is a section for repos that are similar to this one either because they are ## Gaming +### Cellular Automata + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Golly](https://golly.sourceforge.io/) | [`883b1ff`](https://sourceforge.net/p/golly/code/ci/883b1ff4f61d66426caf49768e7b1704ec7dadfc/) | [![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://golly.sourceforge.io/Help/changes.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ### Game engines | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 2f0c24f18715b2344bf13d59c57986e32753dd44 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Fri, 22 May 2026 15:06:08 +0200 Subject: [PATCH 064/108] remove article that references a racist (#775) relates to #736 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/775 --- NO_AI_REQUEST_TEMPLATE.md | 1 - 1 file changed, 1 deletion(-) diff --git a/NO_AI_REQUEST_TEMPLATE.md b/NO_AI_REQUEST_TEMPLATE.md index 27411ea..90e56d2 100644 --- a/NO_AI_REQUEST_TEMPLATE.md +++ b/NO_AI_REQUEST_TEMPLATE.md @@ -101,7 +101,6 @@ There is increasing evidence to show that LLMs negatively impact developers' cod * [Developers who use early-2025 LLMs](https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/) reported higher subjective performance, but were measured to have lower objective performance. This gap between subjective and objective performance was considered notable. * In an [Anthropic study](https://www.anthropic.com/research/AI-assistance-coding-skills), learners using LLMs demonstrated lower learning rates on average compared to learners not using LLMs. * [A recent study uses the term "cognitive surrender"](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6097646) to describe the way humans tend to offload key critical thinking skills onto LLMs, even when the output is wrong. -* There are [anecdotal reports of LLM users forgetting how to code](https://www.theverge.com/ai-artificial-intelligence/767973/vibe-coding-ai-future-end-evolution). * A paper entitled ["AI Assistance Reduces Persistence and Hurts Independent Performance"](https://arxiv.org/abs/2604.04721) from April 2026 by academics from MIT, Oxford, UCLA, and Carnegie Mellon showed alarming evidence that performing a variety of tasks with the help of AI for only 10 minutes causes "inpaired unassisted performance and reduced persistence". The researchers noted that "although AI assistance improves performance in the short-term, people perform significantly worse without AI and are more likely to give up"; they also pointed out that "these findings are particularly concerning because persistence is foundational to skill acquisition and is one of the strongest predictors of long-term learning". ### Infosec risks From 25d1dd4bdfbe173ef20b1f596ac1f6dd73dc8b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chlo=C3=A9=20Chagnon?= Date: Fri, 22 May 2026 16:15:22 +0200 Subject: [PATCH 065/108] add fastfetch and hyfetch (#765) add fastfetch and hyfetch (#765) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/765 Reviewed-by: Admin --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 19ac5bf..948e627 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Clients](#clients) * [SSH](#ssh) * [System Base](#system-base) + * [System Information Utilities](#system-information-utilities) * [System Logs Managers](#system-logs-managers) * [Android](#android) * [Alternatives for Android](#alternatives-for-android) @@ -1373,6 +1374,24 @@ This section is strictly for software implementing a core set of UNIX-like utili | [plan9port](https://9fans.github.io/plan9port/) | [`0155f29`](https://github.com/9fans/plan9port/commit/0155f29bdc3cf0cab017fd7b33bf9e93cb9af64c) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/9fans/plan9port/pull/748)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [uutils](https://uutils.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/uutils/coreutils/pull/11717), [2](https://github.com/uutils/coreutils/commit/6e18efb218dbd4d7ad7441d255d02fb0c1df4bf0) [3](https://github.com/uutils/coreutils/pull/11918#issuecomment-4284527284))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/uutils/coreutils/pull/7266), [2](https://github.com/uutils/coreutils/pull/10505), [3](https://github.com/uutils/coreutils/pulls?q=copilot)) | [Busybox](https://busybox.net/),
GNU coreutils | +## System Information Utilities + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [fastfetch](https://github.com/fastfetch-cli/fastfetch) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fastfetch-cli/fastfetch/commit/f5dfec6dcb0ea3048826b5e5f558f0ab4c9f4506), [2](https://github.com/fastfetch-cli/fastfetch/commit/451bc394eeffe2e1b709cf4fd102de8400db528d), [3](https://github.com/fastfetch-cli/fastfetch/commit/fe1c5c8f6f8139a56e20fd50effd144d09682744))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fastfetch-cli/fastfetch/pull/2331), [2](https://github.com/fastfetch-cli/fastfetch/pull/2287), [3](https://github.com/fastfetch-cli/fastfetch/pull/2220)) | See below | +| [hyfetch](https://github.com/hykilpikonna/hyfetch) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/hykilpikonna/hyfetch/pull/482), [2](https://github.com/hykilpikonna/hyfetch/commit/9500e8c0aa0f64ed231ba700c4eaac75e505312d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/hykilpikonna/hyfetch/pull/484), [2](https://github.com/hykilpikonna/hyfetch/pull/481), [3](https://github.com/hykilpikonna/hyfetch/pull/480)) | See below | + +> [!Note] +> #### Alternatives +> As of writing and to the best of our knowledge, none of these projects have LLM usage, but they also have no explicit policies against AI. +> +> - [Archey 4](https://github.com/HorlogeSkynet/archey4) displays info in a similar way to neofetch (and fastfetch) +> - [macchina](https://github.com/Macchina-CLI/macchina) +> - [nerdfetch](https://github.com/ThatOneCalculator/NerdFetch) +> - [neofetch](https://github.com/dylanaraps/neofetch) and [screenFetch](https://github.com/KittyKatt/screenFetch) are still technically options, although they both have officially ceased development. +> +> The [Wikipedia page for neofetch](https://en.wikipedia.org/wiki/Neofetch#Other_implementations) also lists many implementations of neofetch in different programming languages, it may be worth a look as well. + ## System Logs Managers ### Android From 0895a3e8179fc0a66ced2fc603873092a52b4726 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Fri, 22 May 2026 22:36:15 +0200 Subject: [PATCH 066/108] Move watchexec to new File Monitoring section (#770) Closes #661 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/770 Reviewed-by: Admin --- README.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 948e627..2e8af47 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,6 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Video](#video) * [Continuous Integration](#continuous-integration) * [Data Archival](#data-archival) - * [Developer Tools](#developer-tools) * [Device Exploiting](#device-exploiting) * [Documents](#documents) * [Document Converters](#document-converters) @@ -81,6 +80,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [E-mail Desktop Clients](#e-mail-desktop-clients) * [E-mail Mobile Clients](#e-mail-mobile-clients) * [Calendar Mobile Clients](#calendar-mobile-clients) + * [File Monitoring](#file-monitoring) * [File Storage](#file-storage) * [File Storage Alternatives](#file-storage-alternatives) * [Disk Encryption](#disk-encryption) @@ -667,15 +667,6 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [redumper](https://github.com/superg/redumper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/superg/redumper/issues/365#issuecomment-4159043849)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -## Developer Tools - -> [!WARNING] -> We are working on deprecating this section. Please do not add anything else here and instead add to existing sections or create additional sections that are more specific. - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) *or* [`a17505e`](https://github.com/watchexec/watchexec/commit/a17505ecbe3abb2b1daacbd5e7051bfb74f4940d) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | - ## Device Exploiting | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | @@ -753,6 +744,12 @@ This is a section for repos that are similar to this one either because they are |---------|:--------------:|----------|-------| | [Giggity](https://github.com/Wilm0r/giggity) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Wilm0r/giggity/blob/master/CLAUDE.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +## File Monitoring + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [watchexec](https://github.com/watchexec/watchexec) | [`2.3.2`](https://github.com/watchexec/watchexec/releases/tag/v2.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/watchexec/watchexec/commit/1715e7fc9d1f0cfd79ae23b96385df22deecc83a)) | [entr](https://github.com/eradman/entr), [watfs](https://codeberg.org/chjlsch/watfs) | + ## File Storage | Name | Last Untainted Version or Commit ID | Tags and Evidence | From 709d3cf13cdfd42451bf64088544253878393add Mon Sep 17 00:00:00 2001 From: FlemyJY Date: Sat, 23 May 2026 00:36:47 +0200 Subject: [PATCH 067/108] Update nushell (#748) * Added their `AGENTS.md` as evidence * marked `0.95.0` as last untainted * the `mcp` was added in `0.108.0` * the first commit of the vibe-coder is `21a54d47a00f09e3710e08ee7624e7b4332dcb27` (<`0.108.0`) * the first commit co-authored-by a LLM is `21a54d47a00f09e3710e08ee7624e7b4332dcb27` (<`0.108.0`) * the first code definitively written by a LLM is `3aab69110e5864518f51c97a6453d15551115a64` (<`0.96.0`) (tests generated by copilot) * with [this](https://github.com/nushell/nushell/pull/9145#issuecomment-1544593839) (<`0.96.0`) i am not entirely sure if and to which degree it got added (`Let's run with it and see what happens` might be about the AI-suggestion or about the PR as a whole) * if anything before that exists it is undisclosed * since one is uncertain and both are <`0.96.0` i decided to just mark `0.95.0` as last untainted instead of a commit Co-authored-by: FlemyJY Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/748 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2e8af47..44276a9 100644 --- a/README.md +++ b/README.md @@ -561,7 +561,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| -| [nushell](https://www.nushell.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/nushell/nushell/tree/main/crates/nu-mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nushell/nushell/commit/21a54d47a00f09e3710e08ee7624e7b4332dcb27)) | +| [nushell](https://www.nushell.sh/) | [`0.79.0`](https://github.com/nushell/nushell/releases/0.79.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/nushell/nushell/tree/main/crates/nu-mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nushell/nushell/commit/21a54d47a00f09e3710e08ee7624e7b4332dcb27), [2](https://github.com/nushell/nushell/commit/67952a46ad3df4ec5bea6f1a26d8f40585f1c65f), [3](https://github.com/nushell/nushell/pull/9145#issuecomment-1544593839)) | | [Oil Shell](https://magicant.github.io/yash/) | [`dddab4a`](https://github.com/oils-for-unix/oils/commit/dddab4a73c479e3ad4831778dd25729ed89c83d3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oils-for-unix/oils/commit/c6dbffb30396b4085e8649190e1c178daa67af9a)) | | [PowerShell](https://github.com/PowerShell/PowerShell) | [`v7.4.0-preview.2`](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.0-preview.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PowerShell/PowerShell/tree/25e80cefdb14d0c69eaa976314e31d035aeddd73/.github/agents), [2](https://github.com/PowerShell/PowerShell/commit/1241ad2794cc84c18554e36ce658bfd86781cf8e), [3](https://github.com/PowerShell/PowerShell/pull/27074))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PowerShell/PowerShell/pull/27077)) | | [xonsh](https://xon.sh/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xonsh/xonsh/blob/main/CLAUDE.md)) | From 479f37c6c23fb26f262655cf5a371d75b06d3d4f Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 23 May 2026 08:12:19 +0200 Subject: [PATCH 068/108] Add Webpack (#780) Webpack piloted Copilot for PRs when it was introduced, so the last untainted tag is the last tag before they started piloting Copilot. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/780 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44276a9..cc5edb2 100644 --- a/README.md +++ b/README.md @@ -1217,6 +1217,7 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [Typebox](https://github.com/sinclairzx81) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sinclairzx81/typebox/pull/1015), [2](https://github.com/sinclairzx81/typebox/issues/1294), [3](https://github.com/sinclairzx81/typebox/issues/1364)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Valibot](https://valibot.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/open-circle/valibot/tree/main/prompts), [2](https://valibot.dev/guides/llms-txt/))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/open-circle/valibot/pull/1388))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/open-circle/valibot/issues/1389)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Vite](http://vite.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/copilot-instructions.md))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md#sponsors), [2](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/README.md?plain=1#L19))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](https://codeberg.org/small-hack/open-slopware#ai-in-issue-tracker) ([1](https://github.com/vitejs/vite/blob/640202a2167b0c19b94e4d3b8ff87309ae1f44d0/.github/workflows/issue-template-check.yml#L50)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Webpack](https://webpack.js.org/) | [`v5.76.3`](https://github.com/webpack/webpack/releases/tag/v5.76.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/webpack/webpack/pull/20640), [2](https://github.com/webpack/webpack/pull/20648), [3](https://github.com/webpack/webpack/pull/20978))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/webpack/webpack/pull/16881), [2](https://github.com/webpack/webpack/pull/20828), [3](https://github.com/webpack/webpack/pull/20834)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Zod](https://zod.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/colinhacks/zod/blob/main/AGENTS.md), [2](https://github.com/colinhacks/zod/blob/main/CLAUDE.md), [3](https://github.com/colinhacks/zod/blob/main/.cursorrules))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/colinhacks/zod/blob/c7805073fef5b6b8857307c3d4b3597a70613bc2/packages/zod/README.md?plain=1#L40)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ### Lua From e694e45535e85d639add3c59e32a73d5bdda1dd8 Mon Sep 17 00:00:00 2001 From: ch0ccyra1n Date: Sat, 23 May 2026 12:19:31 +0200 Subject: [PATCH 069/108] add last untainted OpenBSD release (#777) Based on available evidence, it appears that version 7.8, pre-dating the recent contributions from Anthropic, is the last untainted version of OpenBSD. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/777 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc5edb2..c6c8f0a 100644 --- a/README.md +++ b/README.md @@ -1000,7 +1000,7 @@ This is a section for repos that are similar to this one either because they are | [DragonFlyBSD](https://www.dragonflybsd.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=41fb76421dce54f90c9cfb9f4f7e2993ae795266)) | | [FreeBSD](https://freebsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/freebsd/freebsd-src/commit/6495dafd58b94a44fc9bc966ef47d6bc6916f5b9), [2](https://github.com/freebsd/freebsd-src/commit/1644e2ffd2640fa3e2c191ceaf048a5fc8399493), [3](https://github.com/freebsd/freebsd-src/commit/e1cff854997884ed9b7251d409d9c9c7a025606d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/freebsd/freebsd-src/commit/943a05528494b2f4585541089606796476fb229e), [2](https://github.com/freebsd/freebsd-src/commit/25cc459286a02b646751541ccde5a33319471c73), [3](https://github.com/freebsd/freebsd-src/commit/18b7115cba2f698909a4801dc2cc1b04b1f4f210)) | | [MidnightBSD](http://www.midnightbsd.org/) | [`ed4b0a5`](https://github.com/MidnightBSD/src/commit/ed4b0a5d41d2dcdd89a3795713fd5c8f91c39533) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/MidnightBSD/src/blob/ea6d4e4fb944e0f3a76dd9bfb91d23917a27d24b/AI_POLICY.md), [2](https://github.com/MidnightBSD/src/commit/7c14aa7a887490da483646a84a23d7452d7f719c))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/MidnightBSD/src/pull/262), [2](https://github.com/MidnightBSD/src/pull/302), [3](https://github.com/MidnightBSD/src/pull/302)) | -| [OpenBSD](https://openbsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | +| [OpenBSD](https://openbsd.org) | [7.8](https://www.openbsd.org/78.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | > [!NOTE] > #### Alternative BSD-based operating systems From 2ad94a4e9946218937b6b13e38ad06db6612f05a Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sat, 23 May 2026 12:20:38 +0200 Subject: [PATCH 070/108] really drive home the ethical issues in the no ai request template (#776) content warning: the file change here contains mention of genocide, murder (especially child murder). Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/776 --- NO_AI_REQUEST_TEMPLATE.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/NO_AI_REQUEST_TEMPLATE.md b/NO_AI_REQUEST_TEMPLATE.md index 90e56d2..e58eb9a 100644 --- a/NO_AI_REQUEST_TEMPLATE.md +++ b/NO_AI_REQUEST_TEMPLATE.md @@ -61,6 +61,21 @@ This has resulted in pricing historically marginalized individuals, who are more A lot of AI companies also work directly with nation states for use in their War Departments, which in turn leads to further AI usage during war and invasions. This is coupled with [NYT: Palantir, Anthropic and small start-ups are generating rewards from their investments in defense tech](https://www.nytimes.com/2026/03/18/technology/silicon-valley-war-defense-tech.html). +As another example [NPR: OpenAI announced Pentagon deal after Trump banned Anthropic](https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban) which was due to the USA Department of War [launching an AI acceleration strategy](https://web.archive.org/web/20260113071131/https://www.war.gov/News/Releases/Release/Article/4376420/war-department-launches-ai-acceleration-strategy-to-secure-american-military-ai/). + +Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intensionally or not. Examples: + +
+ Content Warning: War details, death + + - [Gaza: UN experts deplore use of purported AI to commit ‘domicide’ in Gaza, call for reparative approach to rebuilding](https://www.ohchr.org/en/press-releases/2024/04/gaza-un-experts-deplore-use-purported-ai-commit-domicide-gaza-call) + - [Lavender & Where’s Daddy: How Israel Used AI to Form Kill Lists & Bomb Palestinians in Their Homes](https://www.democracynow.org/2024/4/5/israel_ai) + - [Microsoft says it provided AI to Israeli military for war](https://apnews.com/article/microsoft-israel-military-gaza-hamas-artificial-intelligence-20b2adb438b39ee9cb6eb2f52c1ae44a) + - [Google has dropped its promise not to use AI for weapons](https://theconversation.com/google-has-dropped-its-promise-not-to-use-ai-for-weapons-its-part-of-a-troubling-trend-249169) + - ["We want to use it for everything": How Project Maven became central to America’s AI-powered warfare](https://web.archive.org/web/20260312035736/https://www.independent.co.uk/news/world/americas/project-maven-ai-us-airstrike-iraq-anthropic-b2929138.html) + +
+ ## What You Can Do I'd like to kindly suggest implementing a strict "No AI" policy. This can also help with what seems to be larger and larger influxes of low quality drive-by PRs by AI agents. From faca9aacd94e5e433a2479b72736f4cf4b8d4ac2 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sat, 23 May 2026 12:21:25 +0200 Subject: [PATCH 071/108] give a bit more info on gotosocial and wafrn (#766) just to help people find their community and/or share their art :) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/766 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c6c8f0a..f7e6acb 100644 --- a/README.md +++ b/README.md @@ -1343,9 +1343,9 @@ This is for both social media websites and apps. | [Lemmy](https://join-lemmy.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://join-lemmy.org/docs/code_of_conduct.html)) | [PieFed](https://join.piefed.social/) | > [!Note] -> #### Generic social media server alternatives -> * [GoToSocial] -> * [Wafrn](https://codeberg.org/wafrn/wafrn/) supports both ActivityPub and ATproto +> #### Social media server alternatives +> * [GoToSocial] (Note the [gallery profile layout](https://docs.gotosocial.org/en/v0.21.2/user_guide/settings/#gallery) for those that want a more pixelfed/instagram experience such as artists/creators) +> * [Wafrn](https://codeberg.org/wafrn/wafrn/) (Closest to tumblr) supports both ActivityPub and ATproto > * [snac2](https://codeberg.org/grunfink/snac2) > * [Iceshrimp.NET](https://iceshrimp.net/) > * [Epicyon](https://codeberg.org/bashrc/epicyon) From 0b6cf1df0d28faaaa3b4ded4f6079a85579e268b Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 23 May 2026 12:23:00 +0200 Subject: [PATCH 072/108] Add FreeRDP (#781) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/781 Reviewed-by: Admin --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index f7e6acb..58a9713 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Python](#python) * [Rust](#rust) * [Alternative GUI crates](#alternative-gui-crates) + * [Remote Desktop](#remote-desktop) * [Reverse Engineering and Debugging](#reverse-engineering-and-debugging) * [Search Engines](#search-engines) * [Service Monitoring](#service-monitoring) @@ -1289,6 +1290,12 @@ Note that Rust is itself tainted; see [the Programming Languages section](#progr > > On facet: If possible avoid all-in-one libraries for deserialization, and avoid macros that slow things down. +## Remote Desktop + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [FreeRDP](https://www.freerdp.com/) | [`3.20.0`](https://github.com/FreeRDP/FreeRDP/releases/tag/3.20.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FreeRDP/FreeRDP/commit/bd67348eb3380a66b544835346191bd2138a5ba4), [2](https://github.com/FreeRDP/FreeRDP/commit/95e17c57fd1a5e729516ee6bfb351ec02c431f90), [3](https://github.com/FreeRDP/FreeRDP/commit/45ace279494e8dfdfe0f94ac885d807a4288cda7)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Reverse Engineering and Debugging | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 9332b0017a5581526e8c62dc3eb04164385fd710 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sat, 23 May 2026 12:23:35 +0200 Subject: [PATCH 073/108] Add PyO3 (#779) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/779 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58a9713..bd10dd5 100644 --- a/README.md +++ b/README.md @@ -1269,6 +1269,7 @@ Note that Rust is itself tainted; see [the Programming Languages section](#progr | [iocraft] | [`0.7.17`](https://github.com/ccbrown/iocraft/tree/iocraft-v0.7.17) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ccbrown/iocraft/commit/1daff8bdef6d6c0f0ceeb89d0308b1990a5fa428),[2](https://github.com/ccbrown/iocraft/commits?author=domenkozar))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/ccbrown/iocraft/pull/98), [2](https://github.com/ccbrown/iocraft/pull/70)) | [console],
[cursive] | | [Matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk/) || [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/matrix-org/matrix-rust-sdk/pull/6162)), [2](https://github.com/matrix-org/matrix-rust-sdk/pull/6417)) | | [Nextest](https://github.com/nextest-rs/nextest) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextest-rs/nextest/commit/3853279b41cc4a81f82e26fd88fac3bf85054af5)) | `cargo test` | +| [PyO3](https://pyo3.rs) | [`v0.23.5`](https://github.com/PyO3/pyo3/releases/tag/v0.23.5) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PyO3/pyo3/pull/5615), [2](https://github.com/PyO3/pyo3/pull/5933), [3](https://github.com/PyO3/pyo3/pull/5870))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PyO3/pyo3/pull/4768), [2](https://github.com/PyO3/pyo3/pull/5724), [3](https://github.com/PyO3/pyo3/pull/5729)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [ratatui](https://github.com/ratatui/ratatui) | [`0.29.0`](https://github.com/ratatui/ratatui/tree/v0.29.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ratatui/ratatui/discussions/2201),[2](https://github.com/ratatui/ratatui/pull/2308))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/ratatui/ratatui/pull/1998),[2](https://github.com/ratatui/ratatui/pull/1490)) | [console],
[cursive] | | [rust-analyzer](https://github.com/rust-lang/rust-analyzer) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](https://codeberg.org/small-hack/open-slopware#permissive-ai-policy) ([1](https://github.com/rust-lang/rust-analyzer/pull/21314/changes),[2](https://github.com/rust-lang/rust-analyzer/blob/master/CLAUDE.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/rust-lang/rust-analyzer/pull/21968),[2](https://github.com/rust-lang/rust-analyzer/pull/21957),[3](https://github.com/rust-lang/rust-analyzer/pull/21750)) | cargo check | | [Slint](https://github.com/slint-ui/slint) | [`1.14.1`](https://github.com/slint-ui/slint/tree/v1.14.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/slint-ui/slint/blob/master/AGENTS.md), [2](https://github.com/slint-ui/slint/commit/f479ae6d8ee24de17634e22e8079374222a4a8fd)) | See below | From 07974036f20591c5126eea6adffd55def903c513 Mon Sep 17 00:00:00 2001 From: znmz Date: Sat, 23 May 2026 22:55:00 +0200 Subject: [PATCH 074/108] Add cppcheck & cpplint (#704) Add cppcheck & cpplint Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/704 Reviewed-by: Admin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bd10dd5..d6b9ff1 100644 --- a/README.md +++ b/README.md @@ -1135,6 +1135,8 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence |Alternative(s) | |---|:---:|---|---| +| [cppcheck](https://github.com/cppcheck-opensource/cppcheck) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cppcheck-opensource/cppcheck/commit/376d7f1896e1b9145a369055d5f15be2d87cea11))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cppcheck-opensource/cppcheck/pull/8491), [2](https://github.com/cppcheck-opensource/cppcheck/pull/7517), [3](https://github.com/cppcheck-opensource/cppcheck/pull/7457)) | [ccls](https://github.com/MaskRay/ccls)? | +| [cpplint](https://github.com/cpplint/cpplint) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cpplint/cpplint/pull/423), [2](https://github.com/cpplint/cpplint/pull/412), [3](https://github.com/cpplint/cpplint/pull/411)) | [ccls](https://github.com/MaskRay/ccls)? | | [Expat](https://libexpat.github.io/) | [`2.7.4`](https://github.com/libexpat/libexpat/releases/tag/R_2_7_4) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/libexpat/libexpat/pull/1147)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [gobject-linter](https://github.com/bilelmoussaoui/gobject-linter) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bilelmoussaoui/goblint/commit/d54da4dc2ac0036bf3864294f1ef9d0f9f3a1dca)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [harfbuzz](https://github.com/harfbuzz/harfbuzz) |[`12.3.2`](https://github.com/harfbuzz/harfbuzz/tree/12.3.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://typo.social/@behdad/116172838540880597),[2](https://github.com/harfbuzz/harfbuzz/commit/73616f9808dfc31f82877e842be87e4f4543d8ab),[3](https://github.com/harfbuzz/harfbuzz/commit/664085f0ae19bf101ef4c8cda94a590a0f253286)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 3fc9235f2cf37f94b6afaa7bf8586f43f566b427 Mon Sep 17 00:00:00 2001 From: axaloteDev Date: Sun, 24 May 2026 02:04:36 +0200 Subject: [PATCH 075/108] Tidy Editors (#667) - Remove the VS Code image evidence in favour of a link - Remove VSCodium as alternative as per #549 - Add Lapce, Gram and Hemlock to the Alternative Editors note, removing the alternatives column - Correct Lem's tag order as per #638 and !666, and remove the last untainted version (keeping the commit) - Alphabetize alternative editors and links at the end of the file - Separate Note Software - Change category name to "Text And Code Editors" Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/667 Reviewed-by: Admin --- README.md | 95 ++++++++++++++++++++++------------------ img/evidence/vscode.png | Bin 382280 -> 0 bytes 2 files changed, 53 insertions(+), 42 deletions(-) delete mode 100644 img/evidence/vscode.png diff --git a/README.md b/README.md index d6b9ff1..0341de5 100644 --- a/README.md +++ b/README.md @@ -73,9 +73,6 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Documents](#documents) * [Document Converters](#document-converters) * [Document Viewers](#document-viewers) - * [Editors](#editors) - * [Note Software Alternatives](#note-software-alternatives) - * [Alternative TUI Code Editors](#alternative-tui-code-editors) * [E-Mail and Calendar](#e-mail-and-calendar) * [E-mail Desktop Clients](#e-mail-desktop-clients) * [E-mail Mobile Clients](#e-mail-mobile-clients) @@ -151,6 +148,10 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Terminal Emulators](#terminal-emulators) * [Terminal Multiplexers](#terminal-multiplexers) * [Terminal Multiplexer Alternatives](#terminal-multiplexers-alternatives) + * [Text and Code Editors](#text-and-code-editors) + * [Alternative Text And Code Editors](#alternative-text-and-code-editors) + * [Note Software](#note-software) + * [Note Software Alternatives](#note-software-alternatives) * [Unified Push Distributors](#unified-push-distributors) * [Alternative Unified Push Distributors](#alternative-unified-push-distributors) * [Version Control](#version-control) @@ -690,39 +691,6 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Sumatra PDF](https://www.sumatrapdfreader.org/) | [`v3.5.2`](https://github.com/sumatrapdfreader/sumatrapdf/releases/tag/3.5.2rel) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sumatrapdfreader/sumatrapdf/commit/aad9f76790d2f44894d73e28620eac41aeb5eb5c))| [Xournal++](https://xournalpp.github.io/) | -## Editors - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [CotEditor](https://github.com/coteditor/CotEditor) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/coteditor/CotEditor/commit/dcef4b2aa399aadb8c1c50f2139ca62eedb2cfc7), [2](https://github.com/coteditor/CotEditor/pull/2063)) | See editors below | -| [Helix](https://github.com/helix-editor/helix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/helix-editor/helix/commit/22d0d294bdb2e8f90fd6cb6f2546aefe2844e642)) | See editors below | -| [Joplin](https://joplinapp.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/laurent22/joplin/blob/dev/CLAUDE.md)) | See note software below | -| [Kakoune](https://kakoune.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mawww/kakoune/commit/ca2c93470352e89cde62cecf2507110509d7be20)) | See editors below | -| [Lem](http://lem-project.github.io/) | [`e039567`](https://github.com/lem-project/lem/tree/e039567bc8976d2d59920d91e865440068ea8097) [`v2.3.0`](https://github.com/lem-project/lem/releases/tag/v2.3.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lem-project/lem/blob/main/CLAUDE.md), [2](https://github.com/lem-project/lem/commit/bec98d7d0600f67e5f430cc3032970efeb24b80c), [3](https://github.com/lem-project/lem/commit/376601e2213ba7d1ef83a85e8dc37ddeb7a9f9ea))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/lem-project/lem/commit/4f2713e0af6afda559d8aaa896285f18b4a969bb)) | [Hemlock](https://phemlock.common-lisp.dev/) | -| [Logseq](https://logseq.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/logseq/logseq/blob/master/AGENTS.md)) | See note software below | -| [Memos](Memos) | [`v0.12.1`](https://github.com/usememos/memos/releases/tag/v0.12.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/usememos/memos/blob/main/AGENTS.md), [2](https://github.com/usememos/memos/pull/5794))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/usememos/memos/pull/5794))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/usememos/memos#-featured-sponsors)) | See note software below | -| [Microsoft Edit](https://github.com/microsoft/edit) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/edit/pull/72))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/microsoft/edit/pull/738)) | See editors below | -| [Neovim](https://github.com/neovim/neovim/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neovim/neovim/blob/b8a976afdaf0080498e85530fae65a3165f201d5/CONTRIBUTING.md#ai-assisted-work), [2](https://github.com/neovim/neovim/issues/38186#issuecomment-4018682912), [3](https://github.com/neovim/neovim/blob/master/AGENTS.md)) | See editors below | -| [Nextpad++](https://nextpad.org/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | See editors below | -| [Ox](https://github.com/curlpipe/ox) | [`v0.7.5`](https://github.com/curlpipe/ox/releases/tag/0.7.5) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/curlpipe/ox/pull/190/commits/7b2addcfb8c14b5dcae9210b3d18e68dd57c9a93)) | See editors below | -| [Qt Creator](https://www.qt.io/development/tools/qt-creator-ide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.qt.io/development/tools/qt-creator-ide)) | See editors below | -| [RStudio](https://posit.co/products/open-source/rstudio) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.posit.co/ide/news/#rstudio))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rstudio/rstudio/tree/main/.claude), [2](https://github.com/rstudio/rstudio/pull/17500)) | See editors below | -| [VIm](https://www.vim.org/) | [`v9.1.0189`](https://github.com/vim/vim/releases/tag/v9.1.0189) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hachyderm.io/@AndrewRadev/116175986749599825), [2](https://github.com/search?q=repo%3Avim%2Fvim+claude&type=commits&s=committer-date&o=desc), [3](https://github.com/vim/vim/issues/18800#issuecomment-3568099543)) | See editors below | -| [VS Code](https://code.visualstudio.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](./img/evidence/vscode.png), [2](https://github.com/microsoft/vscode/pull/310226))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/vscode/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/vscode/tree/main/.agents/skills/launch), [3](https://github.com/microsoft/vscode/commit/899cb3b5084400ff10d771c65023c32da2e704f6)) | [VSCodium](https://vscodium.com/)'s builds disable AI "features" | -| [Zed](https://zed.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://zed.dev/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zed-industries/zed/blob/e613b2c9d36f48248018d3684ddd034f2eade31e/.rules), [2](https://github.com/zed-industries/zed/tree/e613b2c9d36f48248018d3684ddd034f2eade31e/.factory), [3](https://github.com/zed-industries/zed/commit/beb0b028f11c341e2d59f71a3dae29abe41b3df4)) | [Lapce](https://lap.dev/lapce/)
[Gram](https://codeberg.org/GramEditor/gram) (fork)
Others (GNU Emacs, etc.) | - -> [!Note] -> ### Note Software Alternatives -> - [flatnotes](https://github.com/dullage/flatnotes) (Markdown-based) -> - [Zettlr](https://www.zettlr.com/) (Markdown-based) - -> [!NOTE] -> ### Alternative TUI Code Editors -> * [GNU Emacs] -> * [EVi] -> * [vim-classic] -> * Other forks of VIm prior to March 20th 2024, build [v9.1.0190](https://github.com/vim/vim/releases/tag/v9.1.0190) or commit [`8950bf7f8b85c1287d4e696965d88091fcc60594`](https://github.com/vim/vim/commit/8950bf7f8b85c1287d4e696965d88091fcc60594) - ## E-Mail and Calendar ### E-Mail Desktop Clients @@ -1469,6 +1437,45 @@ This section is strictly for software implementing a core set of UNIX-like utili > - [GNU Screen](https://www.gnu.org/software/screen/) > - [mtm](https://github.com/deadpixi/mtm) +## Text and Code Editors + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [CotEditor](https://github.com/coteditor/CotEditor) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/coteditor/CotEditor/commit/dcef4b2aa399aadb8c1c50f2139ca62eedb2cfc7), [2](https://github.com/coteditor/CotEditor/pull/2063)) | +| [Helix](https://github.com/helix-editor/helix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/helix-editor/helix/commit/22d0d294bdb2e8f90fd6cb6f2546aefe2844e642)) | +| [Kakoune](https://kakoune.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mawww/kakoune/commit/ca2c93470352e89cde62cecf2507110509d7be20)) | +| [Lem](http://lem-project.github.io/) | [`e039567`](https://github.com/lem-project/lem/tree/e039567bc8976d2d59920d91e865440068ea8097) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/lem-project/lem/commit/4f2713e0af6afda559d8aaa896285f18b4a969bb))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lem-project/lem/blob/main/CLAUDE.md), [2](https://github.com/lem-project/lem/commit/bec98d7d0600f67e5f430cc3032970efeb24b80c), [3](https://github.com/lem-project/lem/commit/376601e2213ba7d1ef83a85e8dc37ddeb7a9f9ea)) | +| [Microsoft Edit](https://github.com/microsoft/edit) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/edit/pull/72))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/microsoft/edit/pull/738)) | +| [Neovim](https://github.com/neovim/neovim/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/neovim/neovim/blob/b8a976afdaf0080498e85530fae65a3165f201d5/CONTRIBUTING.md#ai-assisted-work), [2](https://github.com/neovim/neovim/issues/38186#issuecomment-4018682912), [3](https://github.com/neovim/neovim/blob/master/AGENTS.md)) | +| [Nextpad++](https://nextpad.org/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/5420e8cf93dd7fdd4aa878035e203748b6aedabf), [2](https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos/commit/9bb0503d758d7f5b9be166fc4b544344fdc9cfe7)) | +| [Ox](https://github.com/curlpipe/ox) | [`v0.7.5`](https://github.com/curlpipe/ox/releases/tag/0.7.5) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/curlpipe/ox/pull/190/commits/7b2addcfb8c14b5dcae9210b3d18e68dd57c9a93)) | +| [Qt Creator](https://www.qt.io/development/tools/qt-creator-ide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.qt.io/development/tools/qt-creator-ide)) | +| [RStudio](https://posit.co/products/open-source/rstudio) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.posit.co/ide/news/#rstudio))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rstudio/rstudio/tree/main/.claude), [2](https://github.com/rstudio/rstudio/pull/17500)) | +| [VIm](https://www.vim.org/) | [`v9.1.0189`](https://github.com/vim/vim/releases/tag/v9.1.0189) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://hachyderm.io/@AndrewRadev/116175986749599825), [2](https://github.com/search?q=repo%3Avim%2Fvim+claude&type=commits&s=committer-date&o=desc), [3](https://github.com/vim/vim/issues/18800#issuecomment-3568099543)) | +| [VS Code](https://code.visualstudio.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://code.visualstudio.com/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/vscode/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/vscode/tree/main/.agents/skills/launch), [3](https://github.com/microsoft/vscode/commit/899cb3b5084400ff10d771c65023c32da2e704f6)) | +| [Zed](https://zed.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://zed.dev/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zed-industries/zed/blob/e613b2c9d36f48248018d3684ddd034f2eade31e/.rules), [2](https://github.com/zed-industries/zed/tree/e613b2c9d36f48248018d3684ddd034f2eade31e/.factory), [3](https://github.com/zed-industries/zed/commit/beb0b028f11c341e2d59f71a3dae29abe41b3df4)) | + +> [!NOTE] +> ### Alternative Text and Code Editors +> * [EVi] (TUI) +> * [GNU Emacs] (TUI, GUI) +> * [Gram] (GUI) +> * [Hemlock] (TUI, GUI) +> * [Lapce] (GUI) +> * [Vim Classic] (TUI) + +### Note Software +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Joplin](https://joplinapp.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/laurent22/joplin/blob/dev/CLAUDE.md)) | +| [Logseq](https://logseq.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/logseq/logseq/blob/master/AGENTS.md)) | +| [Memos](https://usememos.com/) | [`v0.12.1`](https://github.com/usememos/memos/releases/tag/v0.12.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/usememos/memos/blob/main/AGENTS.md), [2](https://github.com/usememos/memos/pull/5794))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/usememos/memos/pull/5794))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/usememos/memos#-featured-sponsors)) | + +> [!Note] +> #### Note Software Alternatives +> - [flatnotes](https://github.com/dullage/flatnotes) (Markdown-based) +> - [Zettlr](https://www.zettlr.com/) (Markdown-based) + ## Unified Push Distributors | Name | Last Untainted Version or Commit ID | Tags and Evidence | @@ -1772,29 +1779,33 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [cursive]: https://github.com/gyscos/cursive [`dash`]: http://gondor.apana.org.au/~herbert/dash/ [Deepin Terminal]: https://github.com/linuxdeepin/deepin-terminal -[Eqonomize]: https://eqonomize.github.io/ -[GNU Emacs]: https://www.gnu.org/software/emacs/ [Epiphany]: https://apps.gnome.org/Epiphany +[Eqonomize]: https://eqonomize.github.io/ [EVi]: https://codeberg.org/NerdNextDoor/evi [ffplay]: https://ffmpeg.org/ffplay.html [foot]: https://codeberg.org/dnkl/foot [Game of Trees]: https://gameoftrees.org/ [Garage]: https://garagehq.deuxfleurs.fr/ -[Grisbi]: https://grisbi.org/ [GNOME Boxes]: https://gnomeboxes.org [GNOME Terminal]: https://gitlab.gnome.org/GNOME/gnome-terminal +[GNU Emacs]: https://www.gnu.org/software/emacs/ +[GnuTLS]: https://www.gnutls.org/ [GoToSocial]: https://codeberg.org/superseriousbusiness/gotosocial +[Gram]: https://codeberg.org/GramEditor/gram +[Grisbi]: https://grisbi.org/ +[Hemlock]: https://phemlock.common-lisp.dev/ [HomeBank]: https://www.gethomebank.org/ [Idris]: https://www.idris-lang.org/ [iocraft]: https://github.com/ccbrown/iocraft [IronFox]: https://gitlab.com/ironfox-oss/IronFox [Java]: https://dev.java +[Konsole]: https://invent.kde.org/utilities/konsole +[Lapce]: https://lap.dev/lapce/ [libmicrohttpd]: https://www.gnu.org/software/libmicrohttpd/ [LibreOffice]: https://www.libreoffice.org/download/download-libreoffice/ [LibreOffice Draw]: https://www.libreoffice.org/download/download-libreoffice/ [LibreTube]: https://libretube.dev [Lua]: https://lua.org -[Konsole]: https://invent.kde.org/utilities/konsole [MATE Terminal]: https://wiki.mate-desktop.org/mate-desktop/applications/mate-terminal/ [matrix]: https://matrix.org [Pandemonium Engine]: https://pandemoniumengine.org/ @@ -1804,10 +1815,10 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Schilytools]: https://codeberg.org/schilytools/schilytools [Scratch 1.4]: https://scratch.mit.edu/scratch_1.4 [Scratch 2]: https://scratch.mit.edu/download/scratch2 -[Showtime]: https://apps.gnome.org/Showtime/ [SMPlayer]: https://www.smplayer.info/ +[Showtime]: https://apps.gnome.org/Showtime/ [vaultwarden]: https://github.com/dani-garcia/vaultwarden -[vim-classic]: https://drewdevault.com/2026/03/25/2026-03-25-Forking-vim.html +[Vim Classic]: https://sr.ht/~sircmpwn/vim-classic/ [virt-manager]: https://virt-manager.org [wafrn-rn]: https://codeberg.org/wafrn/wafrn-rn [waterfox]: https://www.waterfox.com diff --git a/img/evidence/vscode.png b/img/evidence/vscode.png deleted file mode 100644 index 1ec022b7e0c8bfca586c35aa9026e52ee58bd787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 382280 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%0D*CZ+dF2+fIkf~c}-K4Bb)gSVbml?ApG4r zb*G;ThS>)28mwFS0BZn>Q9{1`fQJ~g1jwVc1BVvNPq0$Xln~m{v1|TvVEt+5)jW$+Kyi2^LOs#(>@#0fA#_K zVy8k+LA>?Z(y*m}?FAjeFe>guhN9LlAAu7M_5Mh2@5->=$9W*`*agOfkyB-5WmW3x zkTJoKB@^1zGCrGtUHE+5MMv`>^PI(V@;tjycm9~N@C(=AsjrCX`@om({5}b5SFEDf ziY9F0KcpTu7zpY;B>JEXa{BR*VD$%21fGZZjUS-|^wiUGjXWG3;SyDLXNSfWw(`Xw zJw2c`Am0YqaG;FNtD}Pj!kmpJmMfnD*TpJi)&mAUez$gq3`oEREEw6K_ag9OHGw%V zB8(+=;Ssd5CRy+fSfZ>+Adn&Dbb@TJ6br9PpIpLX>0yIO4>+Q}sR;#H1MO)9gv%R5 z1}Xw$K>N}XoT5!c_~Qn*si$Z6eJ{cHmVKE%V6SOOt$mn?EoZbxdoMs{RzLYKEdlV# zW5z*Kle```hMe}Z{5J`Z#6UyiqNr9-E&416=;l#?SJ3Zd+KIdS@iJkm+3Q@hfA@$|7&@9hu@4CU8BH#12ELY!&kF!W5 zObO{Nf72>W*jW4op$-Z#VNU)_c?`3dz<_{u2JeZ^ZZ><|tp*8%DLNQ9=7`{tcimPU zn5W}!Qw)2nH{%a-eE61$ECBJ?zdh=*cMhyj=_y*W2g{c@wV1s{sYrnwALK7!`+x)? zqT#(j$p9hbkTE%>e?N}`?AejF!~G5$Wq)n5R^1$ZTxZ-pcupxc=S2{wvJ-ifqTlnN zl<+GC5{T+!nErl4^#r>_DuX>^jcTHf0meKaP`bWD+EanIQtEv+Vn$*LIi~v^h-a~% z+g(#E4J5W^+ai$8^9l;2rZ1*kKWRq?@4cqHYeIf(W3GLE6f+p7Tucr*KJ9>7V(5hN zbx!ghR$&yA81z)Fm4`y6TUFux_)9YS`BPy9{+#>2O(NExlo4k?886q8}c zNDgf={e;chbRfy5m*q~mhn4P(#3o9V5oEXWwJ-t}(EhW@!f7+$DNOcx5-0+eNmSC{ zw{+QO){t{f$H8TVcv{fS0T)9&Xi$5K0KTnF$On6?ddJ(_Z8%%iPPR$|Z9rEJJmRx$;|N@0^b$4%gkv4BcR}I8sy7dh@Zl4XHr!O?T%C{l zxwlGmQ5%eY^0!B_Q@gyBBOy&JaGu2=0U(guE?Ep(<3S`yV9-vS)EVgF9j()e0_${6 z(@9^3*6GMifpt1fz``)>Ep}>#u~r|6S98lF%fcmUC3=cze-xOG`y{BNu0DTqIiq=c zfoQS6)u-AzI(^~<6SkDl>CZu&-H4Bu@9Deg)OKy-`BF-Ja-!>U_CBjIHggbcDp4~@ zt#^1Q+@FpIeEg$(uVA_lByu=S*qTPbezXYi=9HcpzG$!6yqz6`J^yLC?MORW2}GH1 zQ)fNRS#b&ikAv_Kuy3SjoB)s!kQai*HFx+GG(5%y-dk<}Aa0{Z9cCbO?@LXpOV1*P8S+xu8ct#zj*+BQz00JvL!aq8#5eig7f+Ur_O-LJd(F)9@dSZuie%o3cZ5%=7GgYLg9+g&ZzXi+_hZz!aXL7NK|HmldJp6ELVe z2x4r^*y$qGG`~hr!yj~XxI7s9b#E>y60HOljPZ{I)}^IOpyzLv$N7Y-QBiK!GYGBoA9ud zn#H`q5fSs5u*l?O8>i_;R&Z(p;2q{9BIC%7gBWLkQ_v{wz3txaSEl(S# zlmIAU8AohK#NAIBUQ0iLa-R+e%cBY5AH(G3StcfDd@WE2xUi_+tuMCuO8g%B5QaXK zJJiRh7(s)XJYqpEr+*Xh9dDF^Q-g@{Z~Wjx({Et8JYgmOQs7t!JL+B#MC1+)a=HbHHm5~!|o*S)u)b~STp6-tbN zO`?~LwIm#-qViwH3@=QP&4(i2yg6|}=+m>EU@Hg0aSjfZ(Xo΢qg#)h#FBrHUy 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%0DNZasjkff z!(}ooPZEu%F5KPYs-~AYn0f4OwA{o?l@4Wjaa>SER=AVg78aIe;6LBq^!em~G@d7? zwpO;HFC?5eMrYnTCnl{JSS7{9N|PR01J*8 zY}S?R{$CtOcx;&A{ElU0K6g)eUDn>70blG*YPow+tPN5=f%2AoG@+?JfqIH`e$Sd^ zuID#Hkp`5@+UnVM7lRPFuj6AV#Ix20-UHG6BnI18b~$7>2dTkxIFs3S)3aEIz3-8O z3Q2ZuPKKx}V$EIzf7>jU!by!oI!O~8>(6Jw#wO7~e>TmPxw(h-0uEUY&ESk|e=#d> zZ-pWsbIXzOzqEC7Qb2Ed%y!_uVJz0(2wc7NBBL=(PbWOSLa`?0*MLQ|>$GEFGU15+ z?r6H!_`L|_L<sb8@8G}3s8+*UY?keoMGwQqQ2H+-+UGj_12Hvf-Ei7pr?s=!eY zQtc{=cU|a0`eWZ9+HIKzVbNhQgHtSrc1DMVq{eLP$sM}4*Jvjk@ukW#hPa zr#M+1#K%#5;%Sn~aF{w$zm}~qX z6v2(u(doM)&ZXe_Lt^ps5|c-utW*CE@5W8DAeL4|RW-Gjq_iTsc|q`+pQg9dHlFcJ zNcFy!bhojxT{h#)dMtQuFS@e&y?G_VqOCw93k${v6%2VENH0F@pwmIVnDlWaqanVmJ8YL=dg>Fk_Mvk|!|x;$u=rn2 zAp+qH6I#i%`Kmd7oR=4p(|%UixJ^60S<4U-ZQs*!>Qa(u)e{|!Nm&Cv@VkU*t$cMY zuhzJOX?C%1Rev)KMC>TyQ~~Y~``tSXEJZ$-Ts&b1lKBPi$Fq_ozb|k_(=6ju&6@R9 zc(kABHPCw64R3c=_~fm1c>8>MUS%(Bn^phsQ%q;d{!B4ZzNCTm6NZ?Sg*tPne$Ykw z7r%#`^SXbZi)Nk0$rFhVeJQ|Kcy9(8cqZ4U5TOB*2%ZSkbeE1(@ZXio)4vKA(`lsM zLA9BT_%iTK*Ifo1g6z>-RDgxmghEQ` z6q^2nygN>inb3x4yup3(lYM=+27Ge@&UQTIM4qIH-cJkn4&b3Z z*E5XL@+>ZltMDTuZC(dXfdtZO&6+35L$#bz9BMWGIwmG(>uauL z;l~{_rj_@rhy61T@uYlGGac%jJ7AV^LTWIiXXN>wp#baJEy~Jbt&*XK(XLaDfr0hF z`w%}sc??!Il>F|lJV87&9hXngTL$*>Tux+zHs2w12DK<-l@ti5Q|5O;oiaiKmwm{l z*n9&5q5iqNA)4b4=h2m6Tbkx!}h#p>Op1hFg7G67inu3D7 zXyQE=y3T{M1T1%B0ZT=!v>IDD?o%*o|s#6ERq&to*#pHITtpxS`Yfp7cW?U<-%POI3R~-nj$5^38Opi zB*MoCIKyNk?)qY?5aMwe;lOO5Pe1>ZQm+u_bof`_gRaF;x?idwkb z;^m+ci0tkh9f|Y^XEqLC!ELAwP1rwV?}Q$3s9nX1tDo@bRI*SW-n zqiAJy{qTH5t*z9*_b$f~z|LWU$>3zWS&p)dB5z~xZEMk3^@{ekNW&K*uPl}>4Jqz* z*r6|Z&20#E53uYekAlt*VGR&AkdKtmXICUqz&lu1S_!GeYu@H53|_+A@feMQOT`+D zdH!jFTM*#?Z-U0Mb{AKNTJNlZ62SFC;%lV3=`(DbU&l%UiYeZ(f}Q?*5g2a8`(Th& zMMWj_E&A(MeGHWfZfNKQCxeW=J(B&#V%W-x2KKIJeJ|ap^g-H-etBW{E25&Tg8WJ@ zNn4>TEm9tQ0`^TWX_iOT_u!D2{Dy}QF=C(Yx)%jFo?}V~kE?6V3@I)?uMkUVS@T^( z*T&Pcf^1LYVZYhHZ7`&+!Lm$R%1Cd0dtm6!IG$~4pj$*&Uqe^y3|~K~=X?uJ^!c6A zdI;MQ`ziyOM+_Xkz);xIVu z=4;$R_ak}Nkc!+F;%HmIBG`_O%uLG)r?NY*z1HriUl%DcJpH85DEzvT)M7v^Q+-Uz z6?}M^k95b{a%4WNO=WOPuE$ZD=>Xywk>o;9_9qiB0uV9I|HcbgN-%KL~0df6ZpR^)eO=h1_ zXO4^KLFG2bpDiIuN2QMxUVY4YkkJqkiu%rgOr!m60l3D^>SH*i9iSt+4YehBu+slG zhT@xNv!ee8MS;ZrClrNw7v~aX&pX@|A}dB?r*6x~`3GAhA15D)Z&QskuznE=eD$ll3h9sIw0*Ln5 ztM+6eHI_)0!(7ZCXv?Zrf{a1gzx}>KDFf`=&q>)jN57&tKC1(m>?zihy+V@cx8RnJ z#5lGhl=`3*F4KUY28DqmMkr;C+kKs_@!IOMx;II<&=YyJN)p9n+ROTO@xFf)1pm?& zXtPt1%e%iejUN4%*7CP1=P%{u@xR^z#ZD6G(*mHw`UFfMC_#LGp}U;9nZIKOb{*ii$w5YMGc=KCYQZ7Y6R` zDtvr%E%1-pyNds9M-G|1M&_ihO0I8IjkPY6PA#=4uwMGbgq*_Xgfw zAI9AAqCOcG)sp)D3X=8;4-fs?dYFG>HlTq{czJtY_RC~oxDUn>&M`1BgvztUR##Rs z85t#IfZ^4wO&-wwz7@gPJdhIwPNGrQ|e%@ z$Z7Bs?lj>6z3$XHYx;F1+5`f+Ejq2y#JOfhoH>rOPy&K_CD?jIp>D&%w(jO7YZLdw zI+a#E_z2jp5`_0Cgf@!-&_~pUBZs|4u8T)R0)+gS^41k&-M69m@H9n`S$yRtW zp;~eDgcmX|KEh@(8`Q}Q2Z)i87VbaqjSihjbTTT>zv$&v?eoDwy1TP8sIN~|K}%So~-z zH6(Vv4)E=x7U-*Bc;!AH9}l}=O6EpDTU^zdzJ8&Bs(#w=j%(MnOodgbJ>-K0?w2W3 zV+M++rd-+;opjhkmX?;%Yijx(5hQwgO9fif@?*DeU)Ob~%6O9|%@`UQs^`FQWz5^5w?vEZ_P7TZr84O;%=TXfIp^Q9Zl zYv-@sFdj_5I3AtKGgV#gmSS{8er#V}e-t4$i`Z?-882|GoC0`_#|t1qI5B;ikg}@U z^aw`5KXZzOVGvtjmUD7o6(HTm2V@)783O4@sTEzU94CRNZgXp30iO4js9z{yCsF?S zry5MbS0cz4QP_ykMhZy%{eYEG5@|pZ2!qG=+*z-1SG;aiUSX@b40MtiZr{aXpBM(S zVCv3$>C)4MYqu~{KP0E`7G6$PwYX+)KWNZmWNggmB{Ebf@@?}~6P2#+K>ieC%$3z2 zyk9G$l&|9MO1!06 z6sy@T0*f>>4genqiqD3c4g&PG0@K^@rfEmnk0o_lh-Ja(c+>@?DN89>Jn(2|0eZG}&mz59iT=`1PU%+J+oRInFV04iq% zL+fcNOm#3Gk5}RS?xCc_1h(+#ZZi2@rQ5OP?7K=GBjR@`fbah$HKMsT+}+h>z!y5# zwf9Ze#LJ62oJr|LzRg1}Po~(R4ATzUQ?kx*rWJWIS_b8@e#JfoU7JUb3Kve&DW*x< zU+W$F4ivuN`|zyL-9u()n?N5k=C^<8Ri?8H(eLKr@s{=188{otVqpWIlYbc??mP^H zM1bZ`BNyN%U-_nyL)Ol_z=1HgD;fu${D%`$Q!Dy&c=dVB9^mJig^s$Rprs~2Yy?Vb zt=kS%;RQEicl1_SFk|xhk(v_bP-sxvb!ty^N z&FKM3QE3bswAE_oyq+=8Yj%dEUflh~%|REQF})kzV&)&WqQL`pV-QN!n)rP%GQ%qP zf`IQUG(cDjUj9bE!z zIrzpS@^hj02t3>6oz+0~-=t7FU?>bW)^fRe`bHeM;1=`LJCd*|MST5i*WC<~=9^3% zKW0{B?n!cSsZ$T?^U;JaE$*em23?xwARA5bPa}5{`xCiy+_NDcpTlSJe?$gS5|F%gz;v ze;rOV5?)tRLyljXPt3v137L`^JBvz-nWB;(GfVXUWWTMO42;kuGK3fJ4+ONZ@g{(K zCmmm!*f}-lQ{RPZbJ$V|vMYk1tR?SZkztdD2jl4*L4lM5Tej=&?T|`eINwTuwcLzp zuzeozrDN+HLj|2+G35DM#S-gdoZ#XO@*bNAgFoW>BK199bat@`(5eqjgr$AJc?$vl zk(efq2!V2dC0ImlL;H|$rrg0>i zKjcADpdZrYg2}s2b(wo?q}%F6Ej~JNv9SYVPV#0wsr=rpNMF(LLj8lmkecC` zIiB>pV<5#Nrgei$&++cqw(2L(XCui)>){v|_?6li$NMUL7>&bX2&&)y3w{Pdg z#XT1~OasRH5erag8d5O|?~;Cj?ZpcsE#tipov!#O{=gfk$1>ElVoFk!8O%<+dN?o)&~>h1>v)R_C@%^B1k zG%;A&jIEkAZPi=vAL3diB$YUVFAWP>qQxxG@A&LeFZT*{cQ=5H6OdYS9!i_<$h@VN zUJU?G0FM)aYK?GUwqwvGz?*_>SV?I;bpc%{tDry;bYfL!Y=AJ%;_~RTtZeaH~%)9O@BQ=%L~ zSY;NFm8(dMa=Yf>T9hheN{~wEH4ygAW5DBfxx|6A+BhRC%TytJ;XB?x=(GD+?ghH= zPg)b7@z`L8$%DQCBIe&ks`nKbH5d*W0W@ycE)Kt)``DxckWlgs-qA5I%psxJ=xUGv zpm&u%I+1B3{P$l;StG>Q-+nV&*RlU~QSCbeCATGd*a@7GC%eJ+K<|-E{~=biv;Xga zA_1d^^z9RamF32;%Kk`e9;8q6Iqiif66TodQ*VTYy>fU31*y5!hP4m^=Jmv&t*IMV zaE%V$`>4@)V0_IJ-`yHrS*NTx^n9{IeLMoJ;)@w3&>Aj9vB$2{JM=r}{BMmDbckPE z)PL!I3a>-9y1XO|_1Z9OM+@|o)t%fl{gZt(&_lc-wSeoT19jSg- z*AzVo4+_}D-7GfRH0D{cR7y(o=l29b-eV-@ySzK2m!JVVwL|vdAqM4yH&J+d$#d~i zrZ;wk3U~L-03TXry2e&I$}+2RK?gIh|0I5OdS-AtAY`Qm|Y;7WZga;lpX9Trz>=gn82qDRR0UoplJctSI z>2ymP{@zCNX)x5P0c!Q;Hac;Ef%3cth$fMR`skE3w?$wK_isY_?llS^+7%z?pN}B_ zP@dw5C#0W~H0h`1`nh>{_&Dump+$|`>Vbh)>7}KHp5o}VBffM0eI1zm)UW@x4$R>b zZohnE(y@3*jF#y0Hz=}d7WcHfJ`E%s!Zxzae4D*fCh;FcdcQROi}ENtmGp*E;ls`1 z_j@{jI$lRE0rpi{U5J8i&HV=BgF&n%I@lKsMKKs?)3&^aTKSFu&jb+x_m?dI)(ats z#Po2xGYEP@K+!aB#r$G10MF+lXa#zOST3ie_{}pL6s1;EVP1C1hTHP36A!LYtMixC zu8#=mqe6hOA9DUE6qL~=qKn`Uc)s7OEKezGid&U=*AQdd7hp0E(8(v1Y)bCGf~4#m zOkTRbyM@$G1Nu2|GuhihIJYTC9jkkCX?;$IPOR*;yG^Yam%!dFDYWOKw{;Slwu<`2 z217s}Cb+w_S3tfEc3*{)y{}Jdd~&?|YTXiOuO%y-gexLspKot%{SxVqvHDjP+Y?N1 z94z_O5@_=^P@^tgHYmc=ADl;>&~Me_89P28Q~x+1m9;gSbshM`B?7}wh$S1JQ>neV zMJr{*RXQX~cPgp7z$p>(0wpaW1QGJEVkAI~7 zH2(2O(R0GgbN;grSe7IVi)6Z-E|o_j&H`1fPWY&Ig(DYWIwAOsdDhu15nMOV>M;)h z7*gLe&QZ)Ae5(K|xaLJ@n;Ac5Mjp3=HVx}|1~bAwj@orVuK{R@}>H;o6gb8{SmW|1?umoGqrU%FSWWooFd z)kc??R9yzb=hIJ&Iq9>frM>~8KzTyj^l>^<^E5X{V#4zlww%A20s^K|@-8KR2J%+2 zqM`yk4`A~XKl#$0pq1@UC9v1#YT3ymmI|RNu)zbygVP633AmMz!NRkwpiWNP*WdqB z@}&Os2gm%97xfr9^4RasfI{_mr_>HP_!y*_IldQk=IU1`Q1ycfmBm1z;R_0R46FPG znE(m!r6#=a69si5J$a;dzJW7ng9)ttF^EvL4B{CmgpCM_B!zohRjFQQ6)X=dPRHbK0BY7&oWM ztJQ&^HXxW~ebDZE5?Dd{1Abzf#afw;kU$3AgoSOHVDB}O?a7~{+r|WCDWTGhd*(6{ zqbofm8E}lgAdOq~WZ9f!VZt{>VxBb@j2G0ItgXxu;F1DI02~o&|Jli8F&N-YkmC^^ z*~zfHdL>9P@EG3f`ZR&mYJ@czJ~KOcLfU7sgf$tCiCgyWUYhm@A9DSK36^tgJ5s4s z6Tm?))82GY@bb!KFZA}R9(aDadu!oc@-g;_Ko2+Yf5Nd+!&5*dQZv11w0&=*Mwnk? zo@_;fopu{ZcOacO?6t*zJG(odm%Cjm~u5d-XpAf}i`-1C+f^t3BX<{KoSD zU>^)98({mNf!6+4CI}Pr0(36_e<1aLyU=tZ@Lk>0ue<*rndIN!{*;<3bA&wb^8fga z3xqum%vbL+|NE!?AAO1$Fwd4O+nN9I8~>l&O3T=M4P|Bjfq~l#OG|;mj|UeT*&gAQ zH8g@=zLYnts}^`PG7}VpVu0@!QJgzBapWs1iGRDu!9$2sML-5LPbUS~$i43SqM|G8 ztCAks#<2PQqN*xT3P@_2JJVx5sU`~aW=x&u@A&8G$G|_Cik`Y9&9NR+{V?)_R1BPj z5R`Pr@*TT(fUL7>IZ-*ahC~}dn7NBiGbbkI&H+zl>KPrSRoSt?#l^&s1O|SNj)}== zH)1dNGx#?$Y7nTW&q>e2%`NL_#x@h#c}9Ze^5vIcwk#?;zjTG|69d%iy7j|Z8C6we zbtQoH2}w*xhvTEwm3M3GRd4Y*HmUJYGMZ9<5Z4W>-C&#wfj&_a#jM*iGjx}Pa_RgY z-;aL%Iy;r&#<`5~Z$LxbaJgs~SRO+V1JzjhwiXdozU|MlzcwsQL*>z^D5t4% z4$$0ZA<}-*V2G!#a@wwwE6U-G%3hP@mD_6H*w}FM*0{Wz93M}SlM^4Bp3B>wB_=L@ z0e!L#d6IPWv|)vP4o3w@%^WIW#O{t63FTR#zajk?i3nLzI9@bn;C1k8?&ql^@*x+` zUN2XHC=vjQg-k?_7=i?5m?%70EX#KKn{XO=7!!4K4M6g2HFRcdyd9ql{>H zn{Z%+$a($~!a5&m552Gjp07+`6B@3uN3X9_c%HCzG&{{_Ao7jZ1?v?=koXgpbe+rd z{he)L^8>4nt$+}3i*yqLs=oeuy7=u>~ zef|$T-;YH2gW-8zlhWvKIUlpq=rcWT+zWUVk9)uy|bV=-)Qlj_3C>cmI$&Nr2^gg)(h|9uZA> z0waX)%>{r7lRpka8F547znkc*QItKIk7@SSbCydB284Bf3#0O4a)XbbE2{B?r4 z)}9G(&9Z?-wk{Py+N>eboU3+(*%A^s3-+4q9Y;s0pjcLa033?2)ativ^3Wg>Ex4`~Jy)mqO z;~qfr&&A9SY)fGay-vn{16V#$j-E6zd>;C(EoxjQ(8I~e=`+=yTra6|YimUEi4E`D z*4>?7#_?4OaR7%Ww$I`}j`3*cC2+@q+7EP<(}ZycAQE@1oZw&UwoLT%w*4hhYV_JVpnb{>eer|4f?#fxp1}jfpGTI zb>i&>=j~Gra{&|lD2O=aS8*_7qDBKEsuElEy>d@J^jJtZ^vN;den_#(d z&_RCah{%)>?yYHPkiKm-MobF-d8J#<~=MPXkd1x-&i@DWw|NQ*Nx&kD6&YsFs@fo zPm*R)<5VV8x4vIYh9&V!@JuyCFN~H9=Ib%l|8lu9)4mv;(=LWIrKP2LfF0JpxjK6P zTIgBq=49$ANm|iU@Bj#(_|4T-WHdUve2aEX`J>ANVG#$+zih|Yb)SugY9E2FS6N0d zO$uQzV9L07H1Goj4LQSC7nPsQ)pAO?N=(I)T8U<@8HwN;eD=6u)V_BphMG>FyjrLP}C#=6PDv^0?i?f~hepB~y5qa}-Oqi$_xpV7`~GpcX6ZU- z_PNh}9{V_seO-Mc8RoSCj-}B?YZI>i8@sz46aiv)rW{#;L2jX#-V0y-E81ehhU5*V zERr`;2m8p?JwX~Lm5Y95*mJ<{Mhhy7^d@$m4uHaUD)PbEO)TSNrxhD;x%(vq@CW$% zRC%KZg_Xr}^26L)NCdo04;ldZvBI~IzUuCyjRFhk92HWous}?d=yzYNcHO%msXsXS zj+Iq)u%A4dXP=X8#&Hz@vvOnpnzInIcDY6>9q(baZGP!C6^NcOA^l_X8FuR(LGS zFUSyH4wf?Tx6(9yFnBxoVxHkdww6IT8&MBM*yj$d_Bo1#TiWJFWahu{M4egIM8YTu z+dD+?&j@P^K0M3HSoU2cq`DUnl;-erXX=`45w`Y>qa#MK(Rc=B%HH8b-|y}0%-34B zVzbX}P=K$P#h0@_40YeAlCszOC8)eSyJLsqt9`J9(}d}`n z`P(r(aW-+<%IrXV2ikEr5iYRpT&z*ozN-JqNAgZWTSLott{_rFd#wr^EFsqVoz{W4 ziN^g$9MV%pUMtj}X>)AFzr_0f;8&ds7CDPm9mtx3iPDo%8 z)(ZizO8ipZl5l?xT5dkYXW2(h;60x%Q7&2-CYlAqmV-u9)gvVvXp|DZs8Wz5<8q;z z#qWfk_9e0Dhna?W*_cAlmdMb$t;T%3P%^rb? znmm#3pop$J+}5uaK2dz<0UK?u4=QZ``&j^R$wP--;u;> z+X8Aw=}83ZHfPyRXN$1IG3fb}=ft+hl zv)c2TZ;%aZWEq;xq0~-BGnpKOjZOOx;^J*)3mIui&xkqtX!%mJ(2^x2dJ8=lHiWLJ z0$*#r#cBA2xxApKQP3}vEz=)l*YS()xd(e#WGi*QPbyTNfdB0aF&u?un&Wjy7CvX0 zxj~en`{qO<t)g|wJP1(!($^R5;a4^^qFt*-Fr$>mzJ&npJhxQi77Nv7!!7OV5~ zZ8lRtcqH3#Y*vSI4X-HotMtAL0Z&p=QJXaRkb+8izM-VfPX8w>R!D8lPI)=lOKON_ z8#k8XLNQ?VdJ;IN<~OeGdLQ6zo#jG~yUj7q-t#Bz8RR-XRnFT_*V(AFcAuMXX5W{N z6Z^5x^1@dHk;J_z48B_} z^cDw0x#6es+j=MBenj%G!*lkT@Tm}5t)`U>KrO~~pKUX1Xp~FwcB+TQ{P?;HIGko# z9W07Us|@ml`UbL#BC2gnU30;LrzG>2Y*77UQ1Y!)d)YC`yb~+TJ9<@@xoq1-+FDP# zb`7q#H#y-YwU(VA*Om-%-kU=y(M*js^HIODKANZZRMPd{ zIb(WjenKlxFdML{ZUV17Q&Oj7y7H_)o2pDf0&WXK2K4JF*N5x`!O7OT2uNx4Z=75D z4{)z7I1po5ctEGL{E_}WNYisyYU}CpOAphuFwFmvJWaEaeKMAgpJ1XjaZ1A;d3twH zdo@*bnt)P!7u7$D7AH0Ef+RilOGhoewx-^hl$4bG$So=^4BsGzA=Ui67w5H{;ARY} z$k7@q{aKms!=0=N|9uXbfpd6_-9^pV-z7fUQ5&uLkiU!OpN8@8_~33>a4VCxCE{cQESjYX+edx)zsZ_-D}bKG(*Aay6Q zZ?mi|UtxooiTFJ)ux314W9TBR+nc6SBGEm-aelKWGXAai4#X!URIy2-?_GcMp?mB~ z01-^xTROJ}lHsoEq%Z4IVCvj^vps=a=li#>lwe6-G14Jr1LG29IG#p9Fm84iSc!^? zpNf`Nq4q||`{uRV-BtXl>3(PQGb=N^iQ^Jg-9HX>hhf9ffAgjQ`{c$}29e!L8;*8$ zKk1&7HbwcX(5YM?YuUXh8A681a#Z(B| za@KWn<4Jlt6HkVqmmvj-l+{5b=awt~Y>JY$cu83c{j>EZW3WvGFo!$ZJt| z-$eXjz{CGaene34O+`179h1xaBr&M0RLC?d3J9r!)pRk97HU6j@L8q4qrKh3?3AukT>~iweZ9ZJPi={e6g?WOtT5@{e$74zR z*kVbvAd93+jkvoyp>IiaDK@K`@*7?u$ah!PB*L zJ9^CP@o2ww(+NlwiQXq2P8!=7N5YIu%5@c)--^;-KPX0aAy1E^9pFYW@ko4 zsg!o--t;{fk=L&eN!%Zop8O8!<*1et?rY&(=C!djPW+G3#MI*@{;gpA^^Jb+zVl0b zS^r4RjN^}p#lIu_76mwq8XC^JwnW_!`6yILN0|g`)+RD|GkHS3S}2b!93|cDl8Xvl z`-i`7cG{*Vs#=i2R7RgDeeXPm%lQGkE3|yFc5IGNvE4Ac!>+$4=|*=h+Ocum2ag=fevWD9H+k0v>&->rDrXPj z^j8XZYr_@}zwiEJalnMGv5X!jh@a{UF*t77z4f+A>Z4TmK&4cv&GLfK9?>Y7I~$V!cOlGmpkMG zgn6rIu6?xsj#?nYRylG=?#|!tN9J6AarSQ#z8rWCYyi54&#ch%C@4hP|^qq z6-k6=_@}H|n#*yo-{t3@#5do_kDIVsYfRl1f}}hmkBunAm)Egi2F2fOoWdwpJS7WN5<++edeTGYV|%Ks<&K>LKAr{Z{F@L zyeS`HEjZnpb&UmqmobRYa3d2PfQ?GPL;zw&b9A#7e8%^r5FAp(FWI#RI=5;DE4VEoa2 zKR;HbIddG8jcxhe@2@c&C|Q&Ts2p|+N(U}utIm3X?xa{DeTageLi{CVoD40|eQLEq z?mp)S>pQ5g8>TC8^2EC^!H1a)Io%KL$G~5RVQqU^46y90+aOt}SjXM9V^~Vb!+nPz zjp!rm`KWkT81{5NIInb0nzG(ue!je*9`x@pbq>yymJT$h=K+B#+EXv-0iW&`?Yk7} zE}LiYcr>u&ylC<)ewBSdLUd;~l#B4g?3eiXt>*Id!_6)_gKmVySbfS>p`w11+j@YB zV`Y;C{VGPeR(0O*5Vhh?qi4r0#K=~Uyo+62P1?$GQ4EyNHxtVbfB!^*E$1CLsvMCV zY{y@TqrfhDD4@-85Hxq%DStIN+X(A#1-amZJ)p%9+D3j4HiT-fHkm$t-a^)aTIN&b z$Z7#kB1Mk$_(R#nQP6278AUYUDr*(S-~4(ZY3+Qqoz{xmB(?eUTS=Cq^!&-g144p6 zZB7KuUh_Y^NtN&Jrk`` zFK7Pt-bcY#5@3Wjs`8j}STP5m%$dcI|}oyhD|ipQoqAJu8y$K)!@~K7M$gSGprb zpKt0fRwm`wV8Wys$Ux5k{HH>(F8!myw-;95)&E)5L_cpKI{X zQ4kRk{QdrG4G%oL2y0=>@Y?_SJWbqqH0Cvxa&}ws;#>V@_0ZT)(*x(9Gd~#`F_xuE zunORz{eFpHugbdc(u>o|UyNA-SXOo}_s#F0rW|X@QayOi_H(6(7A8uWc1nz8iV}>Z z|N24ySwm(U4NcO8*|*!o<3FDr5g{AiLFIoq_mjeUKhW_qm$wU}OExriQgMp-``J^k zu|?29KPpG*0r7E=>dL&5t=nPCGkWx&=;gj61H~3#I+4mUmRaR8F8=S;#-CQR_GvY- z`#-BuBa6W2U+dL>8TbD9=b{zM@i9wm+0XOq%Lr?GA3>8ZhzL;0u1o^?j>!C1%|O8X z(A>yGNqAkUXS@$6)H!x{dqZ<2r=^aL)+N;c4kZWY>q&_l{J+9G0<7G?#ZImLpG`$X zh(IfpPsMS)cf)hq8k4Qj+*CY=EnsU^=~%ZRU|M5HHlVzTWJgAP_pxhnQ6<8fjX33tzxeX;m9^DNezq>Fr)wcc09DV;<*}owQs@QCQ_9L_7{UIt+|?`#WyT^IueX!Y{>e~ba+2rAg&hc z)V??~DFc=d_2WB9thbsL->nkP9UuIQfGcOMSgy?;%5ignc-AJtjV{Tn$Rnx$Uu!&N z@b?!8d8JCx_L^g|{|SI$NY`2(P41_H%l6M2v9Cn~PKxBa&JP?7x#{QqfoQQ%Zx{mq zIM?5gk2%G1Oun89$ZVZhKfcq%I}{A@UG|kcr`dhKlsUP*7a&yD6X1?VVIv5@ShXdM&duBS>Byw zRo8A8Cha4F4DZy291PIm$}pCh)AngTMIzjfgE7T&Lc5+0h{O*Gu_JuQZy-%9qCTSk zuif^1`kfa(k0uxY*$Cs9uC(LCT-U6|w9A6Vz!K#g@$CrnHy0Zy?V4;%90ao|U918x z(0=0}W;l1d(&5eMNzFrb2-3@`}+zP6Yc9p&`>W#8W zOr}hq;JyW&n@jR4d+T1d1{)P~9X95@e?W>H;tMt~+!U{>c^ZQ%y`p)=!s|QvF2tN2u zYgGBpun0m{I@6v0MA>q90!|E^TFK~Q$3#1nLXNpA@614dOBBHor9`YJU?i_mI?Hb zu6E&_YkviJOY7+*@u~z7+?qx z!6GLBTB310Nsu;yx`L!L7Wk;_J|}`4rI+0RcJ%?4OI%~mRckM&r9o3SAxEIqz3^3R zz&F|T1LSBCY~_SO@&L>B9Xy2Oqr8rPhutdxR@lhaTwY4nn{>Pi})FqtE`mdke0 z`6bfe18lijHffu9nBzukpv@8TjUV&l$E{?7nfKcDj7m8oG|dckbkpq~=hVv`-bk-i zmD?N#-3t;(@tKQMKjg4yZ8|)s9BXo*3Q5-#R`wX=e~yZe;-VsRl81%*TzPG4Sd>mk z=e{>{)qP_kbM@~C)P1^jjhpJDtT38fn_&WmzWdb?RTBHL=o9^G`Ky*U`CU!?A}=%k z12{m=lc%%1qp(!!VIpzWYNIL@@9+thddE@0{^~rh#R4$ihofbv$zwCFdIA)+6U$$ZXcTy zE`wdhU+vLfos+NL^I=YDnFpG$Mb_SZ8!XYQ_ zo7o}~&xeRXA2V1eKQ=kLl1LC$YttYunx00ThQ?_z&<)UF zALoMw0pPQGoP{Zpm_qJ1it&}0UFKpkpeapO6u1a0Med%-br_QF_+GZB7pu)=30WaV zz2@eU%#J5pglYnL3B+Ns>A?LGC|b3)v2&XlL=$|v|VApzYgF1QNyY% zV!G=>+wscq0DQQl-BE6Y`x?E$dcL1ZUH(trr}Z*qc=ebana*xe=V#%&L+>XID*_;q4og^=F>FF+q9IIRo z-oZlVM=H^j+MQicN+?50P_7N;rT?ju1Z%}qq#+n3S*qR(#5`~1Hzsc-=+`{G*q&MJ*g$V zK0C|Di~4fP=DF`qu$id(te$ygkpYFz)J}4Ed8)fof1ZvHI$_!?fggrV@3mXMsdZX- z*;TRd1|X?7Htt?H{`FC;O~J*+4*l}c3ZnOve?a;tuKtY@R0d)&&~3r2Rrai16uvuV zqImyM=4&)eNK5&-w`u;vLT$RWa+TM`AxWuWbDNjVmE3LXKFdF)h72r>Y-}My;{Zr1 zh5mw=lDsYZD>b&EK>q*cJKo}UHIzOv=)9c*H(c&|m$HrQyI3PJaNcUwc`$gzbN|1PU zyeU1UO@|q-ZkwD>nrv2z_3^-pU$>}KYIGf#^4Zw9=KLmbp1R!be13}QC*+Q27Fxuo zH=m!(R=MSX(2aZPbsZrCtAF_tCidlUfnZvk_=rCY5g(uVt#ZzTeoHZ<*+vKh>`wrd zkdPdyF!P_R&FX>^Qsvd5WcyW>^lzy<~UjgL!1D_kk|94R76P@us zulCR-oO5GSMhKOgEF|<{4w!#$UN0Ev5rn_X{Z&6B)$8H14!pCObC&WioS8-PoP~p^ zq$PV@5nk^IrV9X&pB(BXY^8Pg1`Vh*^=mQg>)d#_B7-saQgb)BIo%LTDeD1>V{xC* zP>kdRqUD52|3i4I zOK1;N0S(T^)oqxpMm+vq3F^!sFIYSmw4jTt0!UNMhWjkg?;jX9X*73+0pP1i~_%z(3$CiypN%<{#`2N ztGiHO?-m8+Q{Kov3&S+rrEL{SfLR-C77!y` z=yxg$H8KBT3L$j?HM)-^m5??v^2@^`JWDaZ&cbI&^9e6qksE`8+)jKE4LT`N8Dd@s zZf-r|55~L*My8}}vri-N4(=?F{{dj>o=A=dTtl~Gy6}rh!H;uY6>+?bVPCfHXt7|+ z9c-VRHwUoyJl5~r-@7@80{kKprI4Gk_5Fmns&H`AK1kW%e8k4met|DII9MV+zdzTq zW@Cz%nOW|pRZ0Mx))$J9&MkjSL4Mf|i2n@PlNMe9A4^hAI1(g?9^*QXr{mHbVvT)* z-O^i(uRCP-Vtbf9wD&W&1zzGlCuG(LYAes55@eC_K}EGlT-DV&nTTUBB~froqoI1h zStv-jlw4ih@YNNE zKV1(NS5>QU>yoOhJiT*Lxk8ioxP-HqyAZ`Eu%n`Jnt!?FqO+bqb%{6s>BEPuOqn^8 zp^|$f#BXz-V$nDr>?vLV_~sYORQP60C)hxK2vrXoAKFQ%p84$=Ze`oq3Ck41MnZKe z^})|&yaeHoH_tbc;0XpqvMP>esqN=vplF@eN`}&ibEU_dJ=(zld;`Reu{6>A92|ZYsI~uV+mllwx}R z`RF+=;x~G^N08vp?m4zh;Njgde{MYMt%XgI!Dln-$I&Ay)!m*dKfk!k9@*j1%gWvl z!aEb)CNquy;+BVPoF&X8Wk1zPUgnez{kO5V9ZZ<~#%kZ4G)q;>-zBkL3!uMv@r7XD zVt=L8lQ@Q)AB$|hI`L?*m)XO?xA+4-$x{izv#O?vB=p6xo~gi2F4qVS2*!w)*xE~O znav6f#hu6!#1w3_4`$2c>w$#gTJ12k&BI|=3J-U|;XQlir3MYmNsPK&*A9_(eljTa zD#Bhz&kk4H@!#3%FdXBzLuc7nT4bOoH23ARAAGoMc6dN1>8VEU(QC&odWj(?kJq;x zCw#siXQzz;I)wN5^h*$KgY{`m9%oZ|P$+9W?w+E4_Z=7sysUcRYpNrn@CW_tT$GiQ<81jdI1*R?gJleP*>)18 z*JNqD^RvWY0|kyJ^GFe2p{Vj29Xi_hW7Gk zCf-Wu>`rNl@@Z??Tqq!0G;lWU=u5(@?nf>=LRu>cXWh!)8g=APwSN7{EET!&=Z|=T zWLG-(;4ss+P#-fb_cC3{AtXnXuG5BIyBzKJLe{H^<8Gu-6!|xf*MRkjzSENfo&B4r zBEdBz-o2O#)60YXhx;ab>q8hr zo<#cNNL)I7NnU#oZ4bECF-cJeCj{pS#&ku@9?(gqkW%~^uU0QFGxOdvu-}j3PZ00n zhm65@Uh@PX-CmMd2lRuJ0dYaENKRv(8@LNGVV1$aHhSNw6dUln{cX?=Pqz2V16MS@ zWR}IDyh0}$yG>zicqdP^;IZVOy~?~?aJrqke5g%F^fefR(3Ow23{r)^etTi7Z+zdv z`@xh5q(?PBtIh(8{IFGCwf7eDc>`9Wo6h|r=p>p zBS1J1OEF;%4I=s}nZtsmS*8)_w9TR>ES7hnG}#~!68YZi=xqh)7U}Nv(q7?0(fS_P z47vMh9qD|A$VTXQ1`5WZM22cLzL`@yJPsT;w4Kmd7Fx-aRvfo#Xz~@-2Jn(dJC$I@ zQl#*WNY{kx;hyW$p-%{dRAOvS0aYulFN@rH%X&XZo&zjEVmq;AJft2zi7o&>kaZyk zgkJwViRa&$%PuM2%T+8$e7~@gGzAGXgko85m;p5VR!qyrhajtf5d3 z<#H*nHWi!*D`wO)0Wa@l;B1zVRj_ma_3|4V0YD_ujbA#CiPF-)Y;TH?d!yG4lo1VSuy<#XJ6 z4zUrm7)45;wMy_R6~@+?TyIfEC`NHK*}Jaas=Z;2L70^Da8`m@Q>kb_D|Pw=m1lE* zGiyV4f>PL)!~;XH-+0QPX)2uaq{tX3Lox+J-H?7OvbwwscZy!^khLWTYO~to=ec-G z;g$7i_5@x!N`jr_$rg_jzRk5k;a0-XF3)?|m_&Q4niA*r>aMENWTiB?RHF!^Xq93-H{XMKoxx*^TU@pBp0EiJg?CX*8aAL(Wqn0=IH3b zl-`LGd;q436~e99ivI@(JPvugP%yd{$Oa zbrPfAmAQYp;v^%hasfIeUeejlL>Lg(qm|_0f zBl%85iC;L$iHKyEK^6?`oz-%7oyX~38JWdPU$dJ8Tm1oFUi;vSRQL({-zQ&QHmP)x zx7JI2PN6ZX8L6Us@0aEOb}xD{E-;q?B-P>*G$=jKS=<91k;DZ}X0U89q0MYT;>SHc{&75au z`H5V(*(BX|kYm9oD#!S!1MGruI#_iwBl=%KSO41WY+-T}=eGL&^}OWt>5^x9&3WYx zyJr0!QkbxFvJTW0&og?WnKJ_=LCExqeU!~g`$37rgF!`oho=5h*~2B_dA8#%7^$OC z2j$B<_$>wJ3szoqc{3MvW02m`3pwO=E@=C-B5>t8@nyJY@rx&HU;hK#`kqWzIzOPr zw4|z!w5f#v-=NaA{PY*I&&Cz!56}4+0??^Jr{HP26XA&XQmm-I@k{x+{UFr0Ev~R< zt*&;cV5b0>uxA%pGK)F|C39Jc0%^6p2o1sPqLF`je#X0YQ?!tsEn~?@Tv3w^#gDfN zIc(uJ)eWK*Axw!3;#lZ>`6-q#?Me-e0^WrHNqJc}KkeD#V*b~JvzIVoV`^e`Jz!Rj z+xmcHJkgO^CUZ3_#=0|Psu8_R~?79?niij zpE5Td`k}ftnb*q_v3hB#d5zBy(;Mf1zh2@kN(xJOmxGRlm9#O!=T=>_&Z(<;{M6vB z=D5he!09SGk0OON+8c$6c;9}gTy&`n_)zn@{=LzAdlAN^vLEF3%V1mOc2jSOelVqo9yeb8baR}p9W zxc+G`^Q-r{uh%}|DgdaEqwRN6xpVK=z+;-%D%hgvlQ3a(( zOEyqmN2zGoJhC`wYD^bip7b?b=H~S_>#KN*BW)Wd(#O!S@02i7k{31`HK?gZr_9vP zIhL0CI6S_77rb*%2r6-?PIa2oiOD)>S{olZX+dU&<`+eBGT< z290cw8&p!Sy)oe=-!bF-#v;ULMmvYT3mKG|+d3gP`}ECgUtxmp>vptf$DJgV#0?hh z>I9pNOjs)GAN<6ZYa797TUO?f?8GKS+(ejpZ{s~lJHxyC4pwc9x z`uTp}_NwdQ{-}SqJ=|n(p&e6RlDFI&zXkEW2_$Wjyc8V7Bv(z0!@jM}YJ?$ydd}b( z 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 z zM*D=E3J`MaIn}9fueYoMTLJDlut%Ga$$HgFfG~dH9NHi?#_NM%Tx*pLhyY4{2eLh= zN@^fb>^)DaEYChy99GgddW+*`<-DTX+R(cv){}X8FM!P2hoNXZ9g@iSO5Bgo{BZ8J zkXO`|Ry%^OIM34BT1Sj&TksQ(?Cn7gJ51~-WLr}_8BZ^xN0RaP?#H+nv>tPn!zyn-*)D86$$>!&JqrT6aKQZ!U-#B z5K|{OW(~A~rC5Qt@x-{7F`5e~TK-W!i(c;9iQ7li|2diOkb<2FWdN(C*7^RNPaK5} zmmUhC&oiFq0@uV4FQ4nAokS3gb8F_Q$S*}2qk|l)@cx?_nFe~lFWqhS-_j!i|Bz`5 zbPZQtyX_kJeo;xeq)ZoNV9fYTej)T>m*NK7|}*J8u1MrYD&#n zsk*k(Zmz+aw1F@DyE6+wvwY!b)8$=(fHh-8b=E6ZvoDQbM$)Jw0?l~45b87emB^~i zO2t1xCs3G$8BUINRsw%^AGtG%lTn5(q$5}w?lB0Tvv zb;Lq)6%6&B$_CBb#Kz?>0H>zPJ-`c27jQjS(zrsr6pLn?z>%#&z}?uCvIs!dyt7s_ z^J}okBPDhUm$8VEZW{jJrs;yiV2r5|?Y}QqVOX_8GgvNjeF7?zK3<+p8O-WJ1XxF~x#3^ejy{rTi?3e*<8O<#Ea8wTrJkI{$t~84z5e-ss>4%} zTv8?(`dq^-clcgDb~+XRa03of3EX!cA0zsq1*!L(Rcr~ zgI7ISRqYbCIQ`LA=l^L~|H&;0$K`R^p}pFie}yeO@x=dd`FPb`Luj7A+?Rp0T}BO1 zP7KZpDgTu(^@9Ixct=s7aeBJKwnKg)`T93~pKFH05dke;k7X$~g;`B8_mV|>k9G+C z0$NLao#bqHh_{?AVY$tIiZ}>@JzDE-7B;rrvR$V2(M>mok9Hg%eWk4JSsuH1cn};_ ztM#6ovj3H{S9lC&2oCMq!ey^w38_D^MCBj-^nb+?%xG{SUU_={zdZd%gnK?GxE0B$ z_rEb3gA5Fuk}ByR0NyU^+S(0%URMPCObHM~>eN8y0@5&+Ei>b&f1WrH!W|aOJ<8kw zHu}6l^Hu*I;`vt~(!Bg9tOFD%@DEHLeE>07?u>btYs?=Q4dZijY->yPOo|qqKlU7g9L>00z_;75QKImkk;qHGXNZvRO*-d$y9e}Ybe3;Dxf%bBDWk1EUZ zGRx@ND;Gqvb*eyg@4|}Rww05Zg&h7JT>mh`naNn#0`PdNtsz0gTZhMk@F>)Ip4LAe za312Z=7F?4e$)n6UWWYc-5-tKhennb7TWbzd}QT->Ptq8&?!V zd=O1b?pmE-4GxADNFiLh*rs|ckSdwlb&}QVRHsxCvG0)a>L~1^wPot6ZoR+mGA$F+WYmkkifa!GD>ouM{vl&cuY8r83@!G^fcUBYkFjK0-<~pF2Vqug zeHEvx1}Y!qYmcJ8u0+TIxwq{?NJ{C92)B;o8E&m|cC0XP^B2eAM3u7_1u^N*jpV zRevl@D9nnAxho!Mw=vn>{fp!53gmIe?mfJ`ZzlWL=ayCyhH0{XXP0s6;+G6q2ar@( zMlH<~5Rs7J&~G@aDlzOOhZ&ZIx;KpeIuY%$_uA!P8$G=`s|6s-eMuOZs!zvIq1Dh8 z1ONV4j%N;XyslElrFknIa0&$$j`Ey=NrDPeB_lX{32oTj<_%r$#Uvot^*cpX@4&zB zTIpPHje_El>EZ;h57b=%(p5Zi8#?ep1<1NQ0qBBXPpJZtk93151M`6(NG17A)`Tic zD|vpEkoq>~@&nr}1z@JhXT0TP_t`hQSwrX5C31{r}!1%y;O z4WjbmGLDnlEBaxIHzioctD{nFXMh&Ql;Ps)-9M_sak-{O3tYf7+=@Y_7YP>vIn0&C z5p5k?ZU_%o{yC%FV2r_4^)Ld|6Mv>`$OtWfNRoQ$c|#I#hF7PLQ4`rtP0k4FXt@BC z3CDZOm76)d5pm=}(5Rv67y z_TPLo63fiA_A-HZwld>Y$oQ2;I|$i8w(l%`Q!9Jo>p#mt(%1s| ze=4XpPZOey|C}kf(5{sU%$tXG9r64s^Pj;~>ak*hkPPhUgi9mZXHlo!^|?+zUR1OR}54gXnu188e+IY_x(j z(R{fV*ot^T)WozMb-!#|{UgBts_ZH}kvc3jR4=oI7lcKe@hnZZJLbhOE2DaX5gNLE zk1mMsIgipAR*)Ehu^n{f)V%Chl?kKH$^_fEcVM&ZTCsu9f5Jg92+MfRr~!s!Y5xN# z0s<8Q)Ybl?fJ&{M%cR%~X7Iop>~MkUx5LT@iiLc2vt)!Y$vR~&brsr>WjdsqMfd-pEu?EdOt z>J-C1B?lre@6$!`oy6h>Q*ax4wn-PCCP1#z`{K(iH|*=CSpOe$?-|tOx`hoZpa{A} zrKwa!dJ_<-0a1$d-kYF^pn%j6x&;*w>74-53B8vDQ0ZMjdJ>dg6A2}B-#hNT&)H|* zGxMJB-!~J%86AdaJ!`Fdt?Rnhx;uaO#|tEkssGXE{MpBC@HzMzG%HPnPeq6<3ax*J(&3awbY9;Ps^~N+I+mcv-8P)HMJLD&6!p-hpPWft1FLy zKoICug5$E{b)P)B{H-*-zx%@*aOqb7)unk8+>aK@Z_XF}1kTt#oCS!$6&;6%-F=w8 zNo%3H)Z~e-R+gtghIMYkGlpGG=!HwVv?sL}9&1#Y*}!}a9o`Na4+W9CM{fqqJT#ao z%8x24E`iCTbfHTNi3O(fEUq^>NO>VQAYsocE}XOuO&1B8(MYwfq{yF2_OM zTLR~jAEot$aNKyjxk&_)R!GWU`;M-wrpCnl(GiglD#R)(HZb$C-SxRJ*uf)Au3Gf^ zwNE4lBA*p%2TkSOgSlh#O~ z2l&H%c$0BBD|aM7ikgkVPXTzzGjyLL={(s2ED|4J9$gj$frrO;t@`AauxHp5TxP<6qfe9SnkdRZ5A{qL$oI40F~w2uUXhQHUhF*?{wzO`{aCPx3GP>R4u30+OF zd=bQ!Dj3H^5o!0_$lgv=z8Uc0O5wTmC-1U%gFb4Y*2xM0jDTVVb<&^Y+200YC41C7 zC4A8!W&QuNmE77n?3#>K2RaAwTUMOt@MGsoIrfse;U7=v>5B=>@o;i+cZc^JvTbgaE;rAUn^e~A)}?el!){?>IqyIBG^zuYG!9?P3~{< zjn}(}S!(^sj8NCwwbS~p)+?V=noFqA@S-5uL8nV;G4U{J%2ICvKnUBWDmVbVxx-J9G_pLzNg~4ax+P0h(+r1`;#&5(qEF8H6>?0vpsa{e;|4q+ak$Zls!_C zJ)(x3Ox+&U&%!NBia{`z;+5O{{#C<ORm^dMSr^S{NH^Pt~kPJ1|3})ws3O%7zOI3gQ+e zt&azAKgSi4lOPTqA->PsuPo{SsYze2#^8?@4llRV>F?jQW(cO9>B-Vsv$GGqQg5A4 zHlNHdh3atmfB(*EW@d4pgUM7Fj(){gt<-6TjI7??_MEI-v{um7J4;U7s$X5R|3YDZ ze+yDQ!)WN#pG0bD$R zhO<}TM;bbfQW_)P%J#ol4WKBAoL|`N7+)PM^Jy6OWap;XlKnf4l!$M87UHl&)^8mM zpOVw_#T9`x-PR+LqC778b*pRBg9CS_DIn=re44WNlcXs9KLls zzC=`g zx(4+&=tOp*ui-B@r`!sFdI*->qX&@ry|*eO-lvab21QV%lhFw~vM=CKi+AEsz7=s+ zhMN=$F!#jJ0A->#S3V9=mm-^X5(+s&_Am0yVFb4k`&XbPrs<)_kd%~zGXohrtNu%bcJ8ITpHZqR-vA5qyItD-7DtmV#8k$yZ74>i85k6nTc^@MOC;p z^mPY3)<337)GJH4e{6D60RkZ>%p4uK!qC?R!hD16HonZrvRs|urt4k|{YfqD zYMaW%^?@NFX%Uf}e08$vNZ`uKp-;5wxj)vUJ?BKXx6bK3d`K%O&^z4OX{F8AzGa3Nw+J6ijjB>uzF^!$a<-Gm|HrrR0)&OdV_Ux9aOOawL*sQ09L5a8j!!q|r zB!}Qn+wIAqm?N3}EAOX2F6uwjZPZNzR_Rmw9vZ6VCgjwpYC;F43bR#*VFs~EDYaYO zSik9?#Z`PoMKRCg=SB0Xp?JYBw!U!)zQQL{Us>j&(Uh&CvjX4ZsrI^JVr*5@?x{W! zjK%+^g`+Sw_Wc;1KJ`CCkR`}-@t;cz&{p7$=7)B_@V?3(vdx9PQ_ zdt77^I35(bTJ589ax6{UTk;XS= zMSGej*9|Hpk(HHR9^C65bW)0Lgf;4ZYoR&GB;c7E>fcgD{AH3$g@4!_I(P4qd?~&* zbVFvJcrAntUzm4)MD~RijHbtYL{`D%n8{z3*2u*Wt;sSFbP%bS(GWOxWD$%)a#|b8 z&-RP2>JK*CySuX$Tvlmt@7>q<{sBg|lp+vf%n6)Ma3;z6c|@)?#7Wmbtt`K!Ob~HE zS);H2P>e;&?OkpjH|NC8j@At28JQZs$E!0pQtj&d95xt*s;jH3JXg=#C^c#nU6A)& ziS2E#$X_5luaAEIhpp6Rv2CEU*E3y+yaa#zp_jSaX1!cFh1A(m<%;~#E_l*uDPRXK z_eC08k8LppLc7i7$a}ghTuiPlp54fPkPO@nxrsNEbO#3#|BMyYe+J4%6T&U+&Yw|| z$q%AL%;wJ!(PSM6LZ%&CF1phbaPdBdNAG3EinNt}rSxgQo2ia>2@4S!LPYVA6sZ`niP??|G@aFO3+$UaM%4T!}eFH;FA8k@_xtiv!dfzca zE~au*+z*+nsMOb;-{yF^3>YDb3u#AtTZRx5YLizLO^rB=yi=`fnC;b_yimOo!XcmI z(J0E>_+Y2{lOO9`=t2*a%B^=kzhZhA;Rr_ymSC-a+hMw-Jbj}(dAcQ58GAoKflK7>EIC)?#$1qs z)PkviBwC6{pWs2~WcoaRo@X!wG@bW@J(cWosvdipX}Vz1>MSglA;N*{7H?iAU?2bL zDwy@~@auJ+P}5C=%M8RFKkPU^JU92+U#MRpXFS0-Z#+H4k_-R1JbN!%M;Tu(SihIr z#@%JtA%$VjQw#ERqd`c#O}cqUBnj!sw!CEj<}E!fz^z*0cT${Z_~ z7~lStnEHEIrq;Ky;8+n20RQxQzS!~b!!ZlK5ItR(%>7jmudoNcpXp9%(YQQ7F=9y% zjp-2kUXm9$wnvJC9IO9~gR3A8`gTci@bcQk_*aR7sjRC=Lw zow-xALihLM<7)+qR#sNg2S!s-4_Uua@h>>t)pf2P8KI9lb}qP3`(>r=66RH2!jhby zx1w2q`QprR1z9Tnk2UYOji@My+m`{ggap0?@ZkMjG2Gen)t*A()`nz7DZUqEe!qP1 zKong}Z*A_JSMp4J*80a7FTUa63V3;>cdu+H|B&xr@17_I9`vtwzXBtJgLhwxfW7>G zzI#LP?mO1NyMILb#tV{Tq=Wm&?0q=8QZEgnN6G`0y?bZSVzSgDrD{sm?!O#rx;q72 z;1f*AF|(~+I9ZiLqoHqeu2<#btG)UkF)q5CTEC!9W^8QSquAbl{@r{>o+Xu+m-EN| zerJbyl*@E+RZY!`G+W0o|4zE|#RKiihw4s7Lo$~4?!}hK4 zy}&PanrFdnY-)f)HMM~%Ap_kPNz6!2`D|H=0+S6Ma>mV|WK8H(3S3PJ{xhr8iV`VnwnpC>wGKn zK$gdu_hry9j|;|kSb2y>_@k@q-`@6o#t^#Xd6l&ZzRSH1v&Hacl3U4)Gx9v)AHRpp8I7mdXhf2pXmWQJdgZz(G4GZ7yf9qqEKg%O|*4hlR7;v={F zKZO@XZdIvgn<$(;>wZhR!J4nnM77WN;U=TxTDx*^^>*siq*>a#?YGTalKLhdWB1ja zYPf257MvaEsrS>0MYq|Xu9{4wH6wtw53hNo10o{8R(WI z$mkjxiW^eZSD?9Uq^9{2E5B@I-0Rn(N~)S{4P_!SqPL%eFe>Xc82hG^vuj`9^x_(# zxFBb5PwJ|?wBxDa$$hg-eu?K_a=T^5Fa|j3c}tgHCB%9}4AKfFksve2G7F7q$NL;y zX`H>Xh4;2Ll+n&G#(FlDuB_W{eX#d%`;VNO27AzWB$HO?v%s+}_h&J>VQ~stjo0kj z606As>bTI;r)$pk%%2W$zKB=qqi)&X_xVwnL2olJD=n(g!*AMF@ILWtdQHvwj~Of% zj4&wUtp*(v;rslKLX1eT$$qf4HR`pSJGZ{@P8SY8Ekvi9I>u{up(ow=ET?0*&V%xl z^z=A2f~Rgtwxzo})Asfs46$oJe>#QmKl5~(t_YUDyVPwCttqpAx^si2ZuLhAGJT@P zDPhf+&^5HRMaLo~8ZB&=y~)*sEI@nqkV?))cS8wKq&oleoRRJjTbc%EtxwvWJk)A{ z^$1AHpz&F7Uiq^C1NB=Z@lapQp_d$VE*lnhEb7h)?S9#ybl<-MAsOg<$$lemNI<)h zfxAT4XffnVMMHVHsStVEvb0#}6vtbYOUBVY$j3Fg>nkf!qkW@NR&FW9Nv68++}WHq z-`Cq7mX`2Nf13jS37UwL{nyeX#-SE}o%Jk1cspjmp zEnzy&a=HU6u~4DHl4JPh=(fc?%F_+_Mq)2~mDI7p=Rds$=^;RQaTh+tcqD^0Ha$OH zkjVWNWZgw7j~y{|Q$sr_4csxB%%oys?|!@l2)j-h+RpWx@-Zpev6Ub@>!%l@m6z;q z2GrsV>1Uz+XJP!PyDR9Ylq7dU?oeE$AS<}^b^gKOc@SY=-h}pDMV1T| z<~YM7JY};$wW<0IB$5SZ1Zp)_qTiew3ip&S#eyJ(*A@^;Qe+5}C*vqIaMPY2I1Fn< z2;G-%nqn*IzOjM5zfJ8E%%A|~av!J(+ULN4hNpRT!RmeXDINrWeojufv~i% zlxjx=TX?cX_O5_riUd(lU;nJ@(L`}c$-9Pu!QI`<#igZ6YNd&t4R!9O;KH>6fL%?R z$;@r+?@O;w2l|SP@XTBlo44eKVhH_2Z+rXNx-q6Xm1{-WR%T`yU0qbLX2xrZQ9>ey zSk3tobF8W4U~?hcz)~!!R+X;bY|JeT9K!%y$+-dr(y6E0qEC#s`nT;SM_{Oh{=L3Vl;Lt0^KZGXTU_c2a-NEw3w7wco=s|0=f&k*dBG*^{hUTnNXP_h5U{uUM)Nv8KHlr2 ztS!A~dtYDQeWm(&?b!rtGH{$BV_W0m3@gYN4?$BHT;XTH%<1CU<+;8(#TEB0m61Qk z)YZr^Zts4O`~^vmCz9f;&Tw@72NssQ3YbxcK;}rB-^EQBjlMfLcAUWx+*nXxigiIb zo|Lhw&uC~c+LD^VG1L-wcX{BluomnlcU#=;d35uZ3MGGb@NjUnRM6Zf1Pqe^$dqpIB`a`DENze%FW{a_Dp5$*z>!K7 z@B?>%qX27(B+1N?Ob22NRE|gI>QH@PCsHSMY;@$T(sq>rYtPH9f*?^7l_I?=pAT^z;B|C^gTPZ8Msw z7hYVOm;0f|t_dDe0Ujz>Q1soVmd`Zkip|ZY3To{OO=kQI1?v4Y%*wqyw{?&@lX=DY zw}0meLA;;v2BeMP`Tdjg*ikI+)C8d=WObi(-%<*TjJ@D!)qXWwZ3L z02f%AE2;d?_yQ#zsftFXZM@gQk${(jE6>L`@RtW3$VD5Eh}p>v8NkLc&8u@IoAr)_ z1AuS>$L+#vGJQ;!a?=*_uIU%6>GpN28iCD*Rr3bCh>7Tm;^KP( z#f{3oMC>y=;lR~ZCWq&dapPCiU1}U3uP$UW3xEDPEXE%5ur0}*?YWUvrCn^bwxqdx zr6Dw0i<{Wq{@9_dpZsnOyM2f6>p~p^`*`e40Gqju3F4<}(|Hq!>2P>%c{zEBc}T77 zxPV;jgO1QO{{!c!=92p&veNad@la3+!~=kXb|?M{AILGl<$piw0RRcXBZH>_g&#L5 z{cyRz1sBkfY_wUAK&Ar#7T}ZbZ)$z<%NE&;0_g)s`j5beVy2BfNe-qN;4*pU=zXI~ zwJ~Luo9$SN#DO6%VnA}1xxRI`w>Q>=TJotB-Tni=ulsi zA%0wF!8f|3y@p35CH&I(TbHcQjPme-U)j7X;q z_Cb~c^hZdjqKCVLA@LF8XRyqUUmgepwbkGemd=B%AR0soumMds)4<49dLfrP4Z>IC=>1@*qmkPB zq-WYA*t3~4nxS?bg7&5+{nU1bnwoF}6G~HCvyHGl7G~LdYvkCaskc)Vb5^FN7a7p* z9~q|G=92JNQ9(1OZl%Ac^R>!DZKmOmj_y?~QMMVKMyXWKOQsI6$p^$r%OLH3{t4yV zD5=iZCZ3lmc$t5d1UBcP-gZFoqWNB{t-GB>fzSJUucnUW?(iv9>>T?J1G8{qZC zjN6MhJAE5SDYJ!Ov~BT6H-HLhV(GQ zaU3dTziDOOY0uELmf(JjxJo*{w#4pLboH3xZK^UGa&zC*xX7#D&K&NJ78H2<#!FRw z1z_xqJ?=FBfXWyBSy#tJyV5WE&alcgatlox#B&mtmI4YoacjM6`i;Is%^lH+a?yTQ z5v$ifXVUM<+QNr;@%{6Uchg8vjHkmzbLOp`^Fx2Z^>P+c#;=WauBxy5{`eD8(t;5I zoTlh$#Bu={5CN*I<^*Zsak6H;8!swv20Q)Q*=LOueKnLKIcfGS5--7vmBCwLI;(GRL| z7+J5%zWF75;R@DRGX~mRb+JGXy}V}sa;47(vB2TkAC}Y$$;W6$LNNn|`t_6}DJ`MP z_V0}h#>OP>=iF>zlJSdtY%i*QWX2F5PiQE0NioSp8sf4bvVKe|+O6e!MVXmH)!DmT z<;KnlnmDLm^2Grn(I<6SKR$rwxD(c1>7#`z0!3A3Bd(1XX9pjSDwUB5U>*? zVE@^AD}T9wuy9Xi?7m{@N(eq~~xbTa@EpNtSq-qO!GU_y4l6DsAWO?+tZVj9MjAIwlVTe?+%2=JfPw;kU_A1qg;*)ZZvqFr*PN>~Z;WuFTDIPm$sM;N0Hq zU^~2cM&_yAOB^nsyy%##e2!RWv6C`jYJI@j*ejp6?#XpdM}t%(HdZ{|lkky$I5K>Y zvhyi&3i+`qZKbut#mabvwh_VI)ad7NFw5^2U3{|V63KtzPZrITn}4Cl7P;e!WR>Cu z{)=sU$XJV;29eErPhFtFF-^@`d5q!B5?)(7KXWt2@XmkeGFS&;3D=1E6fc<~i;EcB zen}p|`-z6YU*}KY3zz#A=(e-3uBOmr}3qsd-pM$wz+P^n(BGLmwL(> z3-$wWyUus@*DVxuPf1dXaCF7=u}yy zm;rqyo*DNM#McIHV{0KzgL%J_tN9Sdgg|F({Xl5)LimL{_ikBMjfOGEu&WsB+}iW9 zWSC*S@C8uGMw%XEnm|?rnmJg~f%N<-DS_buME(cqd!Cm(CsC z6paw`0;4r18BtLIW9_oZHo$%qGMoHxI86Qx>H~Hv#+Y^=Fm`$3H=jLwa;7TtJm0J6 zvNEZIpY;&VHokccHGN&Di)WwetjY%TMBHiUZb8e=^ynM38H#pSXG@oPZws>pd&V2P z9#)P~cE#X}gxQx6WG&2^bCSKTt~TXvH@-{L8#Y-orti>opw+r)#H@Ub8rqJyK4;aX zo^9?{>1EXMHhX8fLU935BzZ+7pu0Goj_hQG%tL|)W%ZRl$Y4;`EUM2NT%PD+WogdZzX~9 z1}gL`s(#FTY3`e=w6xq~3DumsUtYN0Ey|7$EV-a(Jg~S*+2%2>8h3Bx)evA&=OG$e zUz@qdnk8=E)`jnm=gg%-u~_+1V>hKy(~Kb_1F58aBUvpOa zmFOTtB3`u{32La*U7@^93ga6=&_|CVETr$BekXr;3L;F|>#CI|drh#k*xfbo;Gj0- z#oa=D1H``#i3nsn;=_KgUQNO%C#k?;HkZTs_IePHwzdZ)#z&_d?sSh zW`q81*UTpWY1ALd&jRji3clDSFc9B-;MNY<>+KWPh>ASmTb!ud_RMYTa9w4?`?xqn z6Ok~bMSK(1TyEObI*1thE`Y`=LV~^gP=ri~`j1e)Y3%FF&7GX@)bG;M`0G2<>SV9m zU)~@~-`yj-&h>7IQ|lAvQ#~#szuOUmFHDT^2xG+>55prsqlk%)-{6D*ii7ek!1oP= zz@a6**ru_-`fVW>CH74zFD64q$EU(CFn5pWTA*>>}eR6CVNw6vbw=qIQ+f9 zp53iPJyD`jx#u53`W8y!dENNOIm_sx%uT2@zBmiyf=|9m7Xv8GI&40?rVfkaI5}Nl zn<63Y;xg)-F|>G|U=`WWY{F2$*c^fLZJIaP?1mf>!-W-fDhpqbYgE zFS{O4#Z~Wxy8w^2RcYf>Z{HII(GzDYfLirh;3nexS(C1lv<9Y=6CC<=_D@qGe7Wf& zR=VpJ)V9yoGISKvdoR(eU@%8+(~d@Fns`3G)R zm}+uEgU_A_HGjph*Y8xIig^{?X@F~(huk;PSONtjJQf9rnQpr4 zyJQYuF>Wij7Kub%S5|^#&R@jJ;XJz2m7?(%g87Sjl2UdPTLmeU4n*mO9{y;Ch6y=V zorMI+V#$WO{eyvlGlB%D!>=cEo1Ik(vwR}*t=*m6bI*dcI%fu5)#X8EC|GUpOJ;cY zQd*wEH78WrO>KVu3F48(1wfkE$_-&e!TA+PYN4U(X6*^zWEFHKu{Yu9Mmw8k#9y@n zjibB%90`AT1o{%;-1Kt#5mc3@r(rnUIcvN$iS|*4T8dpcv~u3aD1p{++^qosBnG_4 zrX?;9-Z?&XbO;Fe&>r!@>~mF3Q+!ztN1%;+Zdp}P)N+MkWwnZjI>5Pz&*ET|rsh+@ zp{`%2kcK86wPAExRQ*Lf118UYb6M}|^{vg!E`+W?MBJ#F4cMTW2!tcz(sm`_nFc5M z5=%=ebe(dJSLTztoge1Ep30??&tF{t&W*(*41v#H5zWNI)dUD|PYHCof&%>7-kL5(}LqQDUWl65E#gO^Hp=oQf8BrG+!EDRV31ckvu2 z#1&7(c!2U<3%GhC08{*e#Mp}|#w&bmY!r56l6=#bT0CxV)CKhnmxqIn)=4*O~*2Q=Gepy@^Sp3FP5{Ti9?BM)^93|pX9?N5`A zIZHQUHCd0BCuMDkM(=>YUkSqCE+LwX{Qj|~jsAqmO^B7#^J;tmZ<%~(1x4NOnwWsL z2c(zm%?10d-mv9ZDEN{TI0g~UtqfF=e-*$rHeCF5uhYW8dms*px~J>kpakohX0?G> z8XI%p6%}qOx|v4H(691=m2XL1qx3o5ihbb>tBomUe0**EKp^X;yqoupjR>;T`IpyQ zR5^Af!#}hb;51C~Q0~Xis;5UrIE-~4$jewwrWv*W6v!dj6D@WwVkGgy%-r7rZ#cW@AH-|F+ zrq--~21&~*rJj5-#0jV}nCTo~*y_zrmOeU>_a^8!shK>ANvyy1j$Uhp$$KQmE&Z}~ zq5mQ6J6*R>(TU5P7`OK+=298z$1~NXwJf1dc=R(#MoT}G_||?Uxb4Gt$H%36jYhrF z&pUWb_@~B$2PcwFxSl!VW|4SM#4&SPT7YiB!My!T7Gp0@bE;1aAJL2YEziK~^qrUY z+wq^5H@IR{vJJkdU7*o0k-t*#g)5jPZh;UaLv4`GS*PFo&6A zpzsskM(54n=Egon2aFKr`Z37Zr`Sr^%4#F_VEyj#FalCJQTYJ`QQO)f1e4O5k@k z=&?raY}Y8FcZ48v*sDHA&H;m~ptMTx!42ye_&PI2jD_j%Zg!lh%YXlha3(VE@!+G~Cw0 z!a{3k$kR00AE*97ZSrseYB53YX@|U6aq+qCmDBSJ_+p)pgoQ?--gIlBS0w_AHC=r&4owPM7B;N0tfl;j ztJ)tqJNrbeP2=4AjoDM77v7E5>`e{9u`@H*1%vXL)M(;#*eNIAHzDb~Q!Veq`}TG`5h! zp;jdTSFdJ#-bv34<$nuu24ZFH5qM{d|Ip#a#Y^Fp5*=0Z=oGfYVDJFBdsAQG*lq%~ zpnwpa-i6ka|M>O4DxL^+)chVL`1h}W$AR{Vg9E44@s!&h_k_CLr7=ENv^7x?JiyS- zsn))Mwbdg+T#c;K(@%%AE%PG*0az?SWgfq9CEa*vxqdaF`53o5SUiH6C+0GwM@Y0i zIX>Kum^>aNXv=#!A7c-Pog)rWjhuvi^+t$VSZzWYv^-?#R+jY-{(G4x2fckOwE!}+ z_c=WRxKHnN0B*~B!o}*C>HI(4-Gf9JH#ohD{ueF%+il^^M}}dY_aN zjJQA%`(^>vn#FZ1b7 zgsVd=j5j!Z&@q0_>G!)CFNnYtp%>326jwdsGb3L}r}Hw*dnWq>UCgKWBi%0fTAAi{K&qKK%~|P8io!sC_@;5jKhY!{$XE6lAkDT}E)HPeXf=|3v?* zf6)F`Pg zoPnWK7wCA4pJQ`8(-%t(oHHBjWK-Qu`ntmdO(1TyXRULPPG8hMJfDz;iOjjk*PeTR zm~@2)vH4Po;@_HsulIpthyRQc|CeJgU%IKO>r@gw8Ldzqv$Ya;<~YQ>aKSMEv!^nk z?{qN7pKfdluS%Alt~j;Fy|Ov-$zQHPwxKj)MZMurcazv|Y#Hcs9C84uP3cJS_R^)@ z+7v22kO}m6qa6{P4rtnQG;luL9LcMi;QtYMmFCgjdb_N%_uuoc zq1Rsdh0rsL+_)xTz3sH#FP|NGilSp)=MKZgOp|WMkgR>Dy>6!(tJg;u^(Hn4@ zeyCetY)Zp-xtZ-FEv8e{^kT2mbsONg2FO(|&?sWqDcJE$+1EIX?%Dq;ac8Y#o`-0As3@FHerX771Uw<(o^F&LPHcx`t=;ohF9wA-AHYlu=EqM_kU4FK0c zhYz$2(Z&^DydE#yV37~FbysaLtK$1JpxxEf6l~qLuWe|!ySeFpOHNLCb@k~WZTRz3 zWA&hm|JJC$*JY~OSXFf=CWf}+_+m64pQD`}XLU7H&-^Ln#@`YLT?eK5Gw9E7dFmIa ztn`o}7sc>GWcm+6@~%Z+mHy#|Mr7t>^vPd}GU>b>UD&lpX~|vN&jJ|K8=IGFOg|UA zRXzvNWxp+fpPL$o2fPSYV>h!9qN2MNcY}H{$f`rgVU~H=j~q4O$0q*6J>_Mw zp51qBI6XQD?gG^Zbw3XVEGyraW>2=f7KDoUSd`TguW9f=Ps3vj=KhT#a4I*QDW`ItKwFKJ%CIxsgSW@d*v zO2-it`Te)XvHQx}*CzP8!)w#63oy-tIC+<+@fN<`KYdV{yT=z?;N4T{NQin#V>go* zbxy=o0B*Iuag!IZfqe~oaGOC7T+;OIz)?gZqigdMz)=AQI{?`9^CVWjA@FTlsW&9u zz@YNf252Z>zpPM}n-yhv69#U^WIuA?N0=&LMn(h)-Kd)zjOWoIZvRqWpdNE>{5SQ* zhHd)^snTTzBlI)PUa;Ijw}8(6_?abUOoFFdmsgW>lJ4jv&+j>zqxcCU;bp~2xmj{(T#jh+q-!ZonR+V z4pWh*oiuHe{8*VTvR$9N<$XGI<+8+`?>V@TmQOrt|(>2$YI^KyeYC{p2nb zumr$Q>)^*-d{-SQN$t> zXW#og{ZCg{f-`;0_#(38{LY3CEc`UD#YGNwyv~f@^pckAa2+SOdGFp{EEw-V&7F2% zEZxcdZ>kQhl+6ciKVOg|Etl=Py=n|@XlrXzg%K{=58ATTR@LZ(Ns98;J%owvVPe%J zZe``8*T*U#!TAIC{XA>{`(??#LLgdp2s4nlZ=vZUOKYjyr)MA((|oLox`96#XofpH zT=Wdip0YZX$9h#{OOf>f$?o0A;Q{?bI&H=t?zZdnaF1KLU9}EdFU`9<^mx>_hE$rr zAY8WiV;VEj-aW`~(87JP=wLdj>LvAyW0G&E)r#&j6AnWBMq$$m^4=h$N=a-Wyg zox=gC`u#k(7&Nw??$12a4f~!wZJdSm&g~~(T_CBGq<#S*+Z@XgvisPQDEm`6k~qvT zf}(IwK*xAHIT^|=Cb!9rAm~PlQXg>&m}{GB#R1lacWP3)b!hTw6%^lRv_q(EYKl5d zX&M5DCCzfyO*BaHcBor#ZJq0!GjUx&Q>Mm^JzI8Kr|lm_KO2E(Pc>u`X?8L(1%_{lGs{2!`^BrUCZ$JxIpnZ%+&Q?l9E@x@WY!Y(3NE8U;_dtKLl{` z)4E1@5XExkjK$Q=I3?0}wRD|SwF@*Tkld>%THmxvqaPfH?dl)L3y1Sko}Kq{+)JPPc=gqVMkPv0s2;p*<#90U!K z{}Z%!o`&bYedQq>w|L`OYE$iOr1)bi#l=1KY*>H}rcHPO`uyj)z3Mb5 zoAc_~h`2a9+FEOq zcDd=9?8~mv>F*-OZPS)mUEU|#32j$@5dM^+ggt{j>$dN|zFd&eks?;y+x5iw#&pvu zx{JDZGVYKyAq4~Pyx`5FFYd+5(^y9s-`RYdtyFPqs1K921lZBIFX~ZwM<~YqOeDD$ z9073SC(4Z8E|YbkE8#m$D~&8}dzxvK=Vvb2gW=7_d>epfm5CN4Q=ad(rUy#1lqNph z?@_GZ(mN>{lY`dn?RQ|G_VmGgCrH;B71*dg$%&N*o!g-MF!*y8BLWAq2O*2;Vs;`Tst+auMi<&e{~`z*gDSd;IaA(jtloggZyhJDEni{$>A62*b+9578RB^ z(iSc=BQ95bS#zu9-q#7%)b%ieO@2*se(>$tg91K;#H4RbrD`ao9mqM@&LqmxFyDxA zU7&h76m~WDF1DpRo8+T`|KX#ZNHCDx5BnZ|9k0xf0Lr^;y+oIk@)pXj$p@GUo|@P( zfB&i0OPFFewsjy$tbm&Kau|^T@p3~v-Smx}H@Hi__sqLjKkNuiqH>HEs$6!B%;=3q zRV90DQ->#!M2329&A4$!-;{Ai(oz-gfoDcm=IUIjvQoV9XXIlQM?X5``{=wxBB?%s zLEnIOf9)GThQZicoORnL9iqEmH+pqCMRGwi6R`W?xF}I~v^8 zg3JohGZ(-7yDb8U-zTo;j{cTKI0@~J58+|;ACEkG`Xq*@oe%lJUL=W0*Kf>^==&A+ zx+rM6KK3s+Dh0h1@KQW8EC@7|fyZf4%!ju=0}n zW!l&O1O4S1f_vlFY?(fZT-+CSj(FVUI^* z_;x}7;X1PEUTNFqQmZ7AzDlcZv-wA3MTJI}nL#?Y0D}Kn*vj#X^>5$CHNc{gOwcU! zCr?hvtyF%qtJYah<+oj>T@Sry9FVlV#UVn*O54i5E^f7^u5zf-+`|0ZFjmR? z*JpcaDRLOaHG)xZ<5WjvpX(eWKw`#h8M;CjleY_g%hceTpZ?TPRh|+vKUXK0fiUBH}xb;PDy;x9GcxJ+3Y=;K{x8LvbxZtf!efc|^??#x((uNae?vp;7vfHs8#fT&n}ZZ-AQoP{A{e)^5WsM8D3Uaa9Sr8kN>)-Su{;E4AXIW;G-|DQ8OkDj z<(6oLiiwu+efeKMI5S~V4?egP=BONCPU-JqUrE!r@6G=YVQ&G|Wc&XCD+)*m79t^F zAjkw%M7l&oKuTI#1eERpV{}NXl#)_{bSR^TQc^=edUTB37`3rr?~Tvz@p+#A`=0Zj zqn=o%MzkS;n;b(#^G_F41Bc1isGuvT(w+b9 z82%_b#AJDihO#ypO*uR^MLA?XRV4J^b68#?$egmqy4ziBminNXLr1&s8tvd|#t!^{amJhD~Gow9rT>a#r5sh?s)iaZ4Q4n4C z9fv&Jr|WH}F~z`;BJxQFEz`SxaloHqRq3=2FGgYMsVFmNB1{$i2Is&~xR}`|3dvLb zJ5QYSf&EQ!5LAeL4!1$qj#a*MGuoJPs7o4NddO0f?&PU{S}!Ufd7a}@&P3|7)U2#r zY;Lap?b6b6UWf4>bI$aex1#M|)H@72Y@VGO6u8hXV{ARGFf!tm{T!e~JF#4x+PoU3 z6D$Ji7P&YHj8Waj9WQR@=Tm1FPM^P)GOH#LpPg+w|AHEDEg1kti$x*CcQtKMC*~QD>DXBLJjkzH;eyd7tf1xRYn*@2lYfJks=+Oj zGlUxi1guOm`_{-0aq(68hIdp)?R586oAm9sQ9iTRXAD9xp<7xBs31TKb#Y*{e+A&` zc3s|PlHmqgkbG1%%Wz+xFfIUZShx~K1_@bte(zqRCc&3O9}z87waMY zv$Oh$+-t308sCw%c)IR>`Re(a`5et+bE<<;Q$+>OH1jI9OVHr))Ay zSpXsr8_mHWso%YeI59DH?Dy!xO*)}4CzTpeT!N4pwE=w=^Yj|@91TbTvQNhIXsdsR z-5GufD);K@-P#^*6}~ub&1{D{+Mlx4p2wr?8pW2JZ}gr(+3LQG0qzn*-w<2>@9`!e zeUe1YcmiS$Da_%l)h_0nNfcdJ^Ucg=x~R3Gr=4mhxKrz^_4Sfx-+fTA3B#sWxX1#M z+WCu%8kT=(2e(Q;h@kG$?;NRfDf}%T#JH>M=37iP)k36dfggG8M3MXOfk~|KXd#dX z`t9#+f*@<_9I%U`9JXW--Kvy5>>oUj>4e_b5 zC79N@`8!vEw8LouHjO7&Eo1uyC5^yii!#SwTPKGi4ln!0uY9Lc^7OE&rTTkkv>c;q z=Pwexl`K249YJ0mFc^w9-@fZRA#!+a!|nf6v?}ND^C&qr?t@w4X4Mi0ZsM#v*P=!{ zY!~*p*yO^nL~(4wKgeE15CEz)1#z(I{i*->GvzsfS}0Z1Clnr zq-r9dAm*L8&42N4j4aTMs-9(-a+H~fP)ZbtFeL)vgW)rw6r=a^2n)PLf zQadlD)7V9gZ^b1YgELnyon`zd0C^t(Sl78%r!JiM`}ckPa%x3i7mk9<$>ZSocZ0#f zgMY{hM=#`qPWqFJ&3_IH!|z`Ax))Y0_x5{PM9zdJ)0Ka2nwIL3PC9=?-sn&NrWzjT zq_j6$M!X0#`r3D;wa)zaUOcd%Y{~i#E^sF-y!)QmH%GS!=Zac$@fAPu&(-G316TX> zC3WKQKUceWbhVWEQFy_p<>hw^!Bl^s=HC~4<#+Y^jyMBS{zZyf=46f5IRNlJNil`= ze~}!ffU6yuqWZ!8=f_^B%lll2kjYQ}hV6utLIearYVS_d{|h7pKI_4$^k?P;5agba zPtFn-8w8iW&v(&Z#+*UvYu2R)e?GYU$HXJnhiYk1)t?)g$QX3*!tmVC%R@WLY6oS9 z_Ug&MfA#O&(EYk)O1M$yZN6uGdbGBoqPFREUlW>tZUp@iN`2;j)gKu;KR1=i(U`*V zKtf(SBkSz*Kfelik$697o@LlX7qt>b|)rM@o;vSz}s@M50DpzbY>qDAi=}@0ylM*n)reLo&co+cA4DI*c0;ej=SYsWKU7i(w`lSEqzwlrCqV|^P>C@`J#>dr9pFaIm1);hI z)CsBS=^sCQNT4pzacJxAR<*OolNJGYtSZJj<@QC^dLWBoB+#mh{;Ul}_2^F0)dO z(9(i=PK2CCgs==BS+lHen5?cYBg}UkCcYT)pPr<)??FeubaHwmz+@VxJ_hJX6PB9v z{7wyCc~Q2%+j%?L@UnDm#6?!tTh0P-VC|DFKCjJO!7KsxTsaf5xo z5A##ZF@dH9Igpg*Kdi3{jxPT(mim5bAUAhAyEn?NrVPE#k;w7_WUQ~xw^?Lw_mcSY z!&B|(J^bcMByB=<~ z)SdD=Yu`EzZTJJyfZv-1*HR@I~Nb13=Ud zVuyFx1MQ5JHw=-ET2v989V^jUlw0IwF?bH5Oo%{Yh1VY7^o9St`DTc^HHTT))>yoq1+?umMu2<>e8(O2JfKaw85^v2h;0o}zH31)ppfT2B^ zMUij{6hApOMVqXSF7Bam3y>z zI`-G76o39=U`3&s>Oc-V0InM>X$`{_r^PzlS)$h7M2H6~$e%GZd0)WXOo6ZNPJ$isUP0)-^!R%-A$oG00GU*G z+xy#z^L1JU3+|i|f&<=6(kiw<-~x3v0-kmY1E}Zw3lbW-$T7f}?I~agmYQ;7bCvB) zznT68DO{xWl4yXB)#kMx^8~DcwMzZwWPf5$X)i(pz?Y623^qR8vdI>=>5N+VqeYI5 z?b`-P>RVKV@kveRJ`BrwCI&9M#@smOJK+WZGQWdIM9tZwO9pi$r~V-t4J`uH#NVLb zr|XX+hbU+0w$1qDNCG$%0K<-~9E0=B-ni|*%P&LzteGx@HK3N9>$0 zc)e_vRLt}e4OrE?KlDy5`dIvLZzbG2rC0iYf=LY`CI(X}ey)E~D&y;QI?ek#clrOI zM1Uz=LnG&HDKj@@9kVDVyX9Z*rJezsH#D!~m6LLw0UmcIz#ULHNNWM?3;;g79=(nW zc!(Ca%QEaV&&FL_&@Z!k^r;oz#oQjE>+M4fS_w5IGI2?-C}PWSCW?Rs)p@_UQ-Aze zZl}n*McLV0Qa1wdGRJLcg+YwEcAl{qP6Q#Y?BpXZBEnmf*;_WzwSx!=k&5iG?F*tU zm1NH^o36d#j;peO1AsE1bGog!g8{6PYS#yLj(nuxbVnASzhl7{0CXxf9dez`pRcP` z0f-Kkdfa4%)m9532IUHQwC} z=YXMzYy}4tc2bTM2GC)ks53xu`qv)|p`fQn^KH#HyAYiVtAM>=(m;b(246Jfw-Q@$ z^_FeviUcSo*UoM&@4Mv7B~6h39r!0VW-IIO(k_NmdcFTdJ;ZPt5CQ>e4;426G4HwO z_h@6%4Zq9v6CvF7=>K9ZOrR&(a|mnAeGEJ!IVEK=U+}rgtXU;^^MA5rnsY}kqLt;2 z+iLNUo}weuJKV_lcCokCGasJ-^;y8^12TDpNrGpOEKFBHPo~;LWL-3~AcOsS{6!(x z*(`6IuU%RWptE0#pt&l z`561Vlo#CF^Sfw^DW^wIOA8(a0iZByA14|!f3Tt$PRGah_>z! zi{yoOE>+F=AqZ=?R;>-h9m{pDv>=wmJY0@q%Xv3W@wd6jJ7G+@K>Ov|hOQ6@fnG-p z8^eqoTFQJx;nLH-{3)+y5t!ekvS4?G0ryd!EjvD!!^`~_CXe?ubl<6Uxa3!i#(r9 z^{UK4>08Rk@Rbzcx~lef8P6CWO;rXmWyBh~%}Y98pe=iEQ!>kPCV-O3^@0b1btFo9nv!pRFhGWa>-x zKU=SQJNnug@%#RXX!rhT6CN}K9=$q+X$qHYxXYbUukrm~eOa(PfKjSv@;wHe&Z0i9 zFHURCJT|87f75Oqy>?J%RJjO)C~3-$^VQ@m;&6+CMSFcG)&W~f?)L$j2HK85oOGqr zH__G-SBq!S{i5dqDSfpz0oThlEQQEPU1LxE@F8b>ob7;j97(zr%f((Z=?xSt&u?xy zt-@|)Z6@4dnh4GJg0((vfZ2kEM}{NI$HJFJ9rOoBc)F`(YrYTR^>|w*MctSeY#wxG z16ln)ANyY?4q582ETcoW!OitajoU-ch+N$-k&;RI4qC}(hJ=0=*K+F>o= z`7~lC!?@4Tn8bb$w0CvQWa4__5^ooK#1NabkfHtiwm=^C?HB!o1UAG@%4&U^LiD;@ z{Jt~5$-~8oyvdD-j%IlJTVGrHAwz%Y$gfFR*&wGUvjQoeqBzTIFc#ppCVu%ccXfNw z(?nYo!abidRtcD3OIT*9EyyPw0~Vp9@BinZ0snOfb0i&u({hTt1SY3k{9NuVZ>R!3 zD3X+JjDMDz_St^t;%ME%`OdZ|W#vWMa?*2uv=2(#)U*l2B>m5kbMENKku}AdurEo| z+j5wCvj@?y175EQD7tsRpeU^%@I(d@1ZpE~m-Uj|Y?$he931PeCk{Z`Xqk=1tMJ#G z$azUZ%QGUu!3Q`Gpy2L-7#id~z#K>W69j6B?xF=*0|zGR?;3P{lN4-11 zW3iqK_vzQ;k2B{T1_e>+$lp5()t_oS#f8gmFOq^3^4(VGLo}4(vcS0JuLym>4!Uh9 z2EHHqJcQrtmh-i1kkF;wU{n3+oVT#7MRCA){!Q}ee%E_og2((I;`d$eMe6!6zY}B9 z$p=n$Fhk)y`p8f?`^eW@Jqoz>Qn;+;2zMK!gpJv^+=Ei!%xn8PWqF^w7Vi1qvft#? zee=?i<%{Ai=u=ZuL17LKDV~x$pG;Le{=#bxJSUr>u)&FmqIJJPF2Eo*1#(*yScE2I zUlNWd5?F+5RA9b<->b0bco{g>|5}BbJXScz+ZL28M36ixHT_I$*b7~MLT2S#%3ub@ z?f7Oh`6A&E*9=Os2{UP2XR;ksmOFekasQs~| zARYv6CJXK!^g}1&wziZ_9$_dyI~^#Gq`Y^p3FjL-*NvBr7*8Jx`EKiE+7WZPD#AuV zW?t0fT|PNCBOg~ujBmf_?pUYH6}xw@&2OCC-xyb?;3s46-M_DDm7D7p|H}-EJrf|` z23=DEH>JH#`^;Z|ABOZhKeaVE^HaO>Tt^$0ZhX`;QtuuOZN$pF8W(>}@H$A+(c~1B z!bw%VzpEUDO)joaVE<2lbj~2Js>4p=Zdd(z+i`M{F+Y{xQ*BctBi`nVQpQwisi_~at~kZ|znor2e`|H4t1i9K z#VVMlL0;-~+F+@g|A=!r-lja7TRM?o=GNZbN(5j=z)Bf5y&;yp@Uw5~ccgemNuBFS zOdSV|B+~+m4guCc2d$5$xpsyJ1u**s3fvMT-4pug-r};xV1G)(j6kt!wV@Cxg!|y+ z6sj3#kZf!C2u|)RUm2%hzf=r)iNixYJREY+nOyZd8T|!4VNbV&Q05j{oeKU(CWz&Q znOSN1C|Tl%-4r>>%`?E9Ey%E2(gh05@W+Q>1}Odq4B4AbdM+=COupT4nWRj9{ic@= zb~V8}hyEzz(IMJtiW$3%2fwX}ekdG$+WC_^qR9&3Elx)jcJ7BjQ8mpS%h94Qh0Ax} zOa8954I$xS>x*cUtDb-o`n|nZIpeRXDPdfx&9$5Nlih^qxb(9gw5l(2wLKmt#T>a0 z8HgTLmmv`9)t@`7i-3Fa&40Sg^Xr>a0?qvPtjYy#DGj8Lh`;@2k2JdTP3!w7mo9^1 zb}q3`@D3J!3=5NB2S!WDhh`~J?$aD;aB(ZK`vN7UDCEe<_QPH|J-uOF-Zk4g_3yzA zU%#3r{|~=HHBaf2#NmLAUR`lm{^P&BVp$*zhiDmGW^_eJcae-oz($~lEx$dO|4%dq=h+VrFWmb}5#63P$V>&}0WWbU2+=zKV3;zJ9T z@s$M*Bft=FM$zNg^81e&(-PZ)TH*ky}j=S3ZU=ZJ{~XLCmU2nU1z(K zEeF^}KCl$!NgQfa{_+3ma$9Z90BUVO1|65J*<4`MoL()5I@hkT2#bI^Z^?S`-yF{!=uiLA<3%^#7c!BmxF&6 zl#@e~=eOOyQh1X=%T2|e_2N->LSpe#=KI^ltKHf)})`-rP@qRx6tlLa`?Z^ng+vbzKOgMhpn5ucUj>1-S z(l+c~KQXkfR&6XIKiZ}GRAN<5s`2+^G$#HtayV+e7oFVXa(C)dPyQZdn$-xP&n6E8)0DW#l-?7>A9HWp zk{(S*$Qa)Nd+z-xpD1x}{6!zo-T~lqCg*q-64m*@I#Ntd!Wn?>;rx;*4Cu2z$UCKk z=cKxa0(3x4m`j#9auXlN2B2pFcUW-~V%s$nBSzs^vI9WcP*?@g(HJ zaD2dgf@VN^T4Y^q?PKN8?U$HLnKsot9^AG;b804$#7dpaj=a4_ric3L^yhCv? zs^2auUZobU|GvLqVRgoWcYBCJj@(7bkq7jy=s%a`wa41;c*vR1~;ZeVYYCv1{StNXfM>|8-I=z#leQvSYp+NoY_vn|zIFXkM zC7)^_I41&@8Lnwg`i?Rweuf=64ae_c)N&|ZdQ_QJSGCrn?80Bo69q=4KI3j^6kjTc zmP$#2z27)HGKB1`3c4tD=who;a@%)t<%)qhzvc~mr!M+^fUQ*vQs}he9mD`&2>2OD z{W9CY!nEEkSU*~tl$=yhYaH%Hak+CM8~_<5;1zu)Z#T@%m~xwI6rMR(Tf=T@06m#F zWF5#4fYR5IcG%y=KwUb48&E8%Qn?a=GE=YS;oS;eib4Q|7_0w=1jSzy%Ebk&Se4!0mp-6NX&{t0A08*Hjlxx?revCH zIkyVr4l^?kz7*6h2b#I=*{?|SLo6-)P6o?gIr&ac*FA0yVoFSAV%64+VxeO2{M20D z0d*EgbT*XEK>8H-goi(>W5f>*J};uTb0(`VqphwS0b8cjFd(j|N|<=q_o zp$0zM49^@GP6`x7t26$KtJU)8$}xbn_Dbbf2nz?eL974WBsYA&+M|n?S?I%~*ExkX z^iB2ks?L7o;#CfFN-E3s03Ws;XTNn~Sp`r3CTvPI;Cz%*&0uC~`q3G}BRR9h>xe8PyQgxY`(?6jvCCFV}=e>|3h%qJ8G_gs4)Hk_Mw`g4PSEP|`hNH3S zv~N$J$My@ay8#v!ZwRzBFLY~eQ9f7nN_(ulF}zXz&I{dmBI9OR-`7OQov1aXO7c*7 zyKMb6TIN$`5uc0dpBYN+(HHk$_Q)bmo0l}|IkL!LgacmQ7U*t(;2ggwZ%Ml?-Ud)a z1=|eIIDEkUudjI%7(9D7z+$9uCay6}zJgCLBuQ_-Uq(pxXv`19HzvN%Udj>rK#GS` z)W7uQG?KbOX8gb)*NIoj08ZEo-n;Bb@j*>RriSL*zmd8xt09KmvX_*;|7bxuzT5Y1 zt9yULwW%c%L$FX~>k%97Q(9FrQu^ET%`SvKOpds!xe{nm(b)I|+%!40+Kg)$Yra3D zAapPx*BI}=U!C>ZTA%r>F>STO6mc4tAKvlEysCF~IbiA`aUY%iE&EFS*7pYbeDpZA za5RFbP`!6s_-m8$4;tga44>ukr+0cGGCNPl!X(Yen>3b7y&(MxzshtEPsikKS8RJq zXwBII_-#2&TqE&dd$hYeKR>LDf?#fskeMv`*kaziKa)lBCXB)lS0yQ5*PD4K@DB{e zOwrz-K=G)i*>;a%kl9ky!k)>&JJvyFIK@;7AH?i?3c8VyRY?{<7F2i=?K+U5D1-&2 zL!*}8fJDAgn{aDuXNX9p|Czr5UB=@u07U$3p_KEd-CNQC61tnSLgLKTttO0Ln%Q9$ ztFf6i9F-2?g6i;_s&=vD0?$gRey~Ot54}KMzX5x`LMwO3n^Ea*Yr!HRT+?w#ImF^x zc1lh*qMFdxaE;AF8JPK~oyvH>H?sIc+_+`Q8PYDQ3UYChukD+nP+hq$*E7qbY@hdh zXxkXxn0F8cmQ6FnI@OsUE;F}XOy0=c>kUXz67r{RHmZg*ax~67dx2t#7+)qfKvX z9653Tt~{;Wtn70i)Cv7Ti2%6Q6b!0rtH0ljk-_AclSsBt%|gzNeO+g2i|X#-g8KY? zHP6hJxr^@{Lm57Do^pS4=(S)T%7PJjb8!d4~@8ps7b zSlAF(pe224p^yV86`G>3FHy`&Xj`J|F)D4kP*9NsFRV%;HK#ssJ-aY&!sIpc-=pqh zRNY7DH>bqiKLN;3d*o4|2+EELJ5vi3hWX9`>x2h6H`q~0<^Gpth!Xvp_xfrhS%5~^ z&*;u>Tc=F7UMMSk(b}V3t=uiFk{6>aM>fepg|b&pE(cblLFE<)r4&Pcok=XQZL2Db%Pl-? z?+;KtLJ01GZsjnzY97D}2G(bG^|QXqJ=X4X>r};8R%#mzs_+-lh6Phtgd4sml?}Cy zAZEyO{e?>WIl>Tp$gAg98@dBUxVQnVa{$%6Wt|1kwyi)8%Q`C&$26e?k=3u|0o4_Q zW%E6zPEQT%&9OPC0rNu=pMm%Lh|;$dBANT#$eel^zwo)clbC9tK;`oU6h)MKtA;N^ zh#C01UKmbChX^%`#l~=cskTsiIbA%l+PoV^$%Zv8oksBZ^s1KoTQ+fiy4A2>ZT^us zMLB*~$XIwMGgE_Mg!^zY<;wyi3?NAHz}HxW-Iv-&(n?Hrg&fHr?B!H22j#FySIXvR z%>uEerOP!lfLW26eofJrWO@{|&Ol#(1CIy+mDi^N^c>jt$}>u$#!t=nUq_sLCR< z8gWv_1otUJr;w8Uan)3743Jj!ldl+Uc)^`Q3i=MTQVkh~ZpTntNu9M_y9Rl1`$${pO*SSlW0N5bx+ zaZNMZ7k7IuPC5IBG@NcCqkGEz?m#gOGhX>PJfG|bGfKD^F%ebvcq>po7@+8AoVoGt z598%n&}qOrVD0o+Vd1&I;ZAwKBlg$=DpegIQQczTY`?a(r6!!+^juDV7#$yQpgjBT zXHm~wuW(sTD$CE3*EO8Rw-5Jm0bd*4eCCzudNlR@jpA@fXsjVuYSK@~&CRx`L37eZ z!EPD2v0b0a-9*2NtYvt^n0^^#hBqNZj7mm8N^FP4r%$;ECe?x=I~jWD!1 zqQy;)@D11Y6mL*_p+OjOFuY4*wPD$G5G7h< zBX@-q{a0JL6qs2k7|(LZkZd-RG%Or&B_$wJ)@M+4`Y^VrutxX-tr^JB?0FhXt63*E zlZpShVtZx}Y_g!X&zt#qTz`-4PUkT=3z44!GrUL&G?blmi8Ph(rrgYwzOo>= zjZF3ndsayd!g=lp3C#-Qv-GiAhPf2;EW0U*g80K`ZY0K44J>4DuJ`5BmwYgYaRJ8iZ z7&oD|*}Q()IZ0IjL;zGVB7yp=9Z zAA!p4p;ayyIOH4t+9TCWF{;nuQr*fVpeqW)aPx`+DaIUl&OM$fvecOPWc ziktif^j^@&XxypJFKR78C&8n?!E|;)^FwK^93{W};8woTIN^N{*YZ^;+RlRly4(u+XsuB*~kP1Ha<0^gk4IY80+2Gf~wa`Ewo~t>xl9k3? zEivz$REF+34&8rM|7j-OrwKDvH`(X|MrYvM`nPiH!21XNK0DJgsLT%$bGcHR4oX84@!CTcsWJ<6keYX$@PI@uMvBt+?H#;1mr52jX7)|N(q|{<~N5TN{pnt=`935;y{W?6h&X2UZWNtpdyB}M-YTTw>1_r2G$oe^dS3g^ zIAds$sn0~ko1SDC*JeRGZU)oh7P~UG#BV^I9N*KvxAIv4&U)y7*y!n;a%Efm~$uP5Q5pRuHW2~Y)aXDg`aQxP>{uV ztye4NIE*G>WuUW;Rm>^hpK#N>!WOk1wo}0Fg>*`-5D6K*Pf`pC>9rz(0;iY8Px^hM z0SC6!bvpLkJQGxL@`u*tWS%6xKa2FbW#xu^_}YLB{GKGRX0MMOtrd?l)r&&JSx%N7 zDXM}@k4DsoB5m+)Pz0A+RxXF9@%RY$h!%N^n=7z*%&T>Oi)M1WK9w!1sb-Fh%>dK- z=19tX8R)qH{IkH;T7V-yBp{#PlWoRgz=Mz4Be)v5%MJ-F(%eov`e;6w?%y~5<&Vp4#@v4(Mv@<@yrvIu5=1c3yZE5NBICm#a zK@nZ4euO9c{1A(CUCT}o`0&U52WjSnZC;lF-V}*yRZNDhku#jEJR2WCP^(9FdW|37 znDohVTVqRimJC^#Z)Kj2XdO$&?4OCqW;egsl0s85yQJcrKW8rOPO8miu2v3$s@VxE z?ww$s^BJ30qkBMYG%daaTH%dz@0UDnbGR_>(N~b=!!#o+ciFN5Kgil2UO+k2m0XUg zMg*0cda4u5mY!3f`=My1&zI>dkQs7t+I=}5(QT31SHmfHT5qx2vI;#r6;f<~EgirjUlI5F3_F|( zJE~!@8Jnmkf!euG#q-ivBr|QZwH%~@SZdEY|Sq7H}}iv zMr*?e2q`B}+Y}*0YPRB9+`OxXqA0u7jDLX8$8UEXfUVnX5qNi*1tCTB@H)hatmZL{ zvHfJN-fIKRGF-x64QB~v9QO9V=M)ro7dzd6X^CP1jY%vPs$4iQnvR$^3}?a&c&a?CwfnRk(pZeebcpFCKYKmW@bAs)ickwA>53oYCK#6 zZNVvrw6geF83nJ+18o|YXfGsFI@Q@9NypfV++d{KhHk=)WJW=4yfBKA}a^QWZv{17lG%$7G)6m=>kw~*m# zxED{2Ii#gTzRKKp`W9n+$M|?GgaQTYPe@Hf!6@yUv94)W5d4BwfQmCL+IY{*`%q$a zQB4?r4p^!O{?0R>#_qm057-nO)yO!F-=sP;k_RCAt3Q|A% zbxJE1Rd>x8vUPW3atKTK8NwWD#O?nk4p`bLxW~;6GS+l(bFSUlpF%qZjZZXadSlUW z@XL%lgjdaX=#GIuIn8Bx9JLJrwl=YvHE$=pPV24kRJh%}6|;6PZtw6enr7WMjz`Ot z1-&Pb>nf2lYi-fIIynY5tmpdQ_gO!IO&y*WU;NqXev@70!|iZ8qyRXp3CtSf=Pi3TGa+WqSyP72yqU*( zs}*7bp^)LsA9JeCIm@)tV&Jq90cep26AM6R=+M;1$Q5Ch3E8N*7I6RDDP;JiSlgGg zN{Yha%gYzv9}E_g*kixcvfK?v+|-%-TwuHH7z7@7rGeC_k`e8W-vfM8i0#xYidT;^ zMXa&)Lh`u2I1#xs7X>P>a+0Cs3{3kY(6+LW+oY8OIg}6fV6z4j!0IC933rSg5SMd8 ziZ81)m=w-96>?d;f^6(-Um<4_{h1*F5B##_f3!GlNxMpmA?dX_iVT<-ThI+rDB8(> z-5SCiX&pJj35)40?Yk56NKw?kL(A#nt@oIRZ=1`D*n5_8U|?5CCgF|nHI8yPjsMO% zWN1|ZWm6zRZL&caaI}1raoI7QJ&X~;ipW-x-h7%Nq>6BIPYH_`+h8=y zK51ES2mQAfz|tUOX#I&0bVRQsuW_ASF@4YbQcbiB=6g$%2tz zHg%VlYpsa+`PP1jPW||hI~)FesR}Ebrip9M+9>lUoHy|_g_jLFx&2*<^*%eYF}1^q z+b-WjFJ6+W36JOIK-RjR;2@sa-P@~h+yx#PL_2TR!NwN`#2`(;r8kXy&KY+OnxeR! zbk-quSSCu7YWUg(6#{IF&fDj8hiFkffd;>c;SPN@1dA)~YVrDhsi>)DznPG_e!QQ$ zV{0U>yp^sqzecM@5_?Jt=Pl)RSZR)Dn0!YDIoNwayqESUE%jzpxdFIgA~n-Kb94a-(Z*aUB^)eN*;Ao&^}S+2L%KrBl?wh{D5h&44!Z(2CjE z;?l6uX}`&Oy~B0s+{>}wgquk>5>rxaO-EJuI8T(rlYLdF8NR~6EkhLVo9o;DY*~bL z^VuBX48H3?Ne@4cey8v|=Fa?%Icb^O-EP@(<;&YXZFg@hW$ZrB3s7c@(P4IYI_+BW z1<~e=66wm=#neq642Ii;Vy<||w_nMlU!If2oh3|#0k98F3f!+_)q?uO6y=3}S zw=ikH=YX)c>u@h;w)a+4EIw|o_4@9|2OrDg*y8Ls28C%YAcdT%GQYNkims6bK6P8&aG7m} z+;Q#?y8}zLE35I6M!L^nEF$7JUgkj|xpnMC1GAos*;&?bZ5@=hRR&(_@F2x3BvM_y zk#4u+VZ1%0B8y@l4=W4sATrN(f{`{;50sRsNyJU&u$d(=X^Xg(z)ilLL3>&o=8v0P zb@$0|96LQZLpjDR?bx@7 z&B}O*{T-JbaB~&{(}?ef&jj~#yVst%9Fa{JB0?W*U0{-|=8!_|RkepOQ|M&tb-KM} zCK!hiBC}Ws`Evo~O5>^L>g=*1^JwZ~eH*hkFo>?){*TtJ;huJpujbFgmpbUqmk3Bx z=6e`MC?gEm_XEwuAib^mauX(2llN0-Rx^7x|BG89mSKG3(YGlF{l+7LV)wW`cU@Nj zex^~iY^Wl$r2ONWp2#=yVh?#3s1BS8KcPM?t_CUh?ATr8mNU4Ru&v>HXAqvNbLmhh zN{!<5boy1s9V?Vb-%;4D&(vkJbHBf#nTcR*%_lK1vNGQLrKg)$^ErA#%k=3pdL2pF z96j5;*TQCvfgDAZ=IZK>T78Xv1CJYBELjX; zamHcwUI$NsPm!Tt!OEIVuC_CcQVFnJw1>*~%{Ebqnd$scD%7#l<(g%9asc zK=hQ8)0#@s2+*r9rrksuZBC16&5ca&2U;B*2xF?1v5t+d#g-tyZ5<+&Q)f*7MMQkdHiOL$Oh1>$DI_+bA+*G~@sK^;n>4U0e(%YQ-@@L;_zSjpclI79_@+L7HQpKZ z>ZL`y*A~fvu{2>~whl#UFVCQ~ITm_l!eggt;0=^3W7ebb5)B;~Zs_8b+U@P~Q?CO2 zw_m+)-n%c2s7u;D!7M`~wRtOZ&VfaCJtkqU9cB9rHhWLkN@^^V#m>$SXq|k|NlM-@ z*8XmeN?v?_>8MkZ$L~P_#(1!>I_ZPsW%C}!DzmvFkZ?!@x9{zYP%eTnX?<^3tu?n# z3p&#TpUq;iZ&5(0E|gK@-$lrbogVH<*=yz7N2+gqfx-DLg(F7sgKe(L+{p+z%lU`z z59W(sjQ|PIYHw5EQirQ;9R;!#U$N;WC0=|UT`61(Ig#n=Ol@Mt1tpc=wwl~5;jcxp z%0*!Oh{mhL?jnKr2j4+YWIGBL8io8_as9Ip81nk{t`U_hB2#CM(+2t7*Bx@#+1_o* zUG*8pY9~ymCW1FOSKA*`;t+wZt264|Ql%m`8-6$H7TA>uI2QugsqoQ>y) z7U{G--{9GO=FLr=198avAitlL?c$#-xpueEYlJ}5&|ds2w7Po2dog#J88awbnmZ?i z4`P{J(iqHEWZ;_HR8}du{+UgT>sjjLxIQ<>_y}694(4ZNB@$!Xu~2w=_~wVyZ!d~2 z(a|YSnyTlm zB)1E#W~E>@jUfx@kf?0-evb}87fk(5=k0YxtOW1`QFbodM}s3HD&NnfPoA)vPco<6 zNcY*Vdm!6bx6ff7L8M?{4@jGG_2-!+7qzZ1nO70U5ZspVejU{K{6V$5O+gL((KSJK z`^~wp2IfHtaF<*0MYc5Fx->?%cWHf)9gc;M6sOD@FxS(EqNTZsJ34`r0+S~)(;$nM zv^&>)OYpCTKDD0Ll(C^D6LV4e0~j+I>Qd zf*X*-vwR57er2T!3(@QWwq`_cvviq~%Ut2YrY>PY-(stf_Rif`lpOg?(Cl z4>8}AEjr`TFMvTE{@lK+@?{!KV*++d4nty?8|*2+uq^@m*!d7i#o2F4!Dm7kd`dY; zx6;7~Hd4ATh>0SJI=660%nD$bJhVchm}EGeYOxm!ZG_Fesqa-Rpj!RSU^~^zdU5lw z<5x~+mLtHr{@U%qmGuzZ!D4&y5mI^vAfVn(iW?nni__o+~ z^+)Zq!P%)9I+s(jeY+DK@imhnA;ljHY@4Bd^TuyAEoh!FzHCXC!pR&O{J1brBU58< zzm88sxGy(?e(7p!w@;@kU-Mdv<=ZW5uTJv}`=x(!xi(k(Qf$SFjAK|W<1oMpL>8Zg zxhpTR(MVsDW&&DBx=AFmW3r8U$p281y&QX5PR%FCYrz>^~f3N&i|MD8E{DarW_ zAzVLR<{8ym1X)~Cx3yrMsoT3RzFnAjXN)V}_93_LR**wPVa!#U00S=H(ce!rH?D$Wx@6~*n0n;D0HiiOV%GmWGgg8eT;gOB8b4(kn z0(jB~BCqLUi@&mCCx>^BkjOoNBE#(*cBjp!PXpB2ke}Srw79Knalz1isbfC_@yKdT zcg!+cDLT{-JnhN65inaYX8*_w&$dIGydsV%J2|EIvZ;pg35%_xHNdKe;Dmv z-!1IeZDl@)nca-@NlP>KhC`d*Rm{S4tSVFs`R}CpzSem((7(Dec zb{bJz+LWSv=wqA3M6qyNWPDlpC>MCPfkv~e;Cnf4v;T*)H;;z84gbdzDMebyR#es! zvTtK4MUoJatVKrlv5z$gWzD{iEZG_RlAVxs5C${IF3VsTJN@qQJWo&0=X}23^F6;m z=5XHUyl3wB^}gLlcq z$2KG!PhUed`7N!l%`zbyke&|I269UTx4kNvH>n|^)(lpBAY-n7d^L#*47zYm+KNyY)*Z3exOYsmFeh_+)N<-oB&^$ zESsXYIb*UX-tX*qB7MU9%3;V080z>lsfsXz#cgO#UfC4JI!|A!p5`HgwWS3z)risX zS5Ljymi}0|#I7Ndl^3@uvW$i?WG`DjC;ow%uYfk@!(+jG(nH>*_q~PZ7Kblwug9nf zFUVrmbqYf?aU5udFsHTe@$Vd3Hny@KKpg1koRDQrZa|+$0=SxK1-!-&Hl-^jMy%U*?kbsKTe^ZPSYku|UwAsnUgQ--N`u@Ch zxXIqA^$=EX4pCL*vBqsB=5R@3EBCwMtc<`|OH8med}_1C19Lb2wnl2h3P?|XKshB_ z&)Iu+!dlni1#^Y2VVJ2kMuU5@)Nsme-L1mWEkn!N&XqNmjAX_s{X?{pO-mN%X?exK zt<$ENUyI+&38WU#P6}x7Ew1=Ao!t?-WrVqt^KPXmkt*0w^72rVsi4NxP=bEXptI8O znvo-N*RmYL{DqFkSmAD7QBegXn}4FJ9DAy+S_g}e(W{@EJj0oI96f4N3|%-~=JRW3 z4spV|hTseRa_fSD(Dv}?)@dCNOh=~?p9TnY_}lR>2G)L}E|Zo2+J^q*>Bw{5RU*?k zHJy_jhlu~GO}UO`8>Delz}}ZuoB&ZLY)p~*avpQcAcNXiSW)-;)W@UEpF`LVsvgMD z;aY&n=2%TrOmt)GE-v6_{vOSva~$;MLr{IS%>^%Im#^u5ji{7kZ{GNswVo8Uxz%{O z?4Xo(VQ8mozD?>|;N<7eGg!lA0>}GE1N3;srL%R191{UWsYcvouM8p=FI#nZGt*u& zAEexI8QCj5b5RAGVSB&VbowZXp_7TNbW`&eHg{`Lpb**KN|oqdSG)v93|C0TU_QB^l<#Y{FReh`nuDxFNXc06EaQ~;YU|6jndzTh z>ypgMqw=tw;~T0h!R*c6H~J2x#wt8eP+3NgyD(K(b0tF8Up8EkE@Fjr22OZ1yh~=> zd#nE)gsS)r@ez-M;z<}2p`*?vGGk(?P=R^YAz7=^pklfYdDl)!&~4dY>AQ9{^-nP~lK{B31AW4dRXTT8kxAmiHyTLO~y&95?BYHvNSI9F?bIDB_+Q+fosc6pkq z?m$Xxw4p4ju9&l1L)F=H2ti{(adkSeYZ;XzvS6r(~zUJ_l zkgIL26nXB>@~d!pEca0CJUFf9r-Sdb-ac6ifwY+o9E+TDeYsOl7c0nPlHW+QDH2Vg z`SR2x>iPrVG_=)D8GU2&NDBEECgzzfC{J}e!SMwKRMPzrZ6U54GOYA|dEFr`1i$LN z#Ko``P*$P0QrPNF^7!Q(nIy`1(+patvP>a0%D_4T0JbY0PQRM;wRc3&6(=gCoD)OM zRYYH9mVp@6Yy8*Vcw^n+PRe4rDD(0g9quH6&DBD;o)dm3fm1`L9i8J7OU=g*FPDqA z2)>0aLg$9-J$%h_*Fn5yLO3{ecvxO{dThWsYPHf}|H6;W#rZ<_ugOWYl+7^4?7}3| zRnJwg@h0!BU(6<5yXR8hz0q-J@tE$lY0rYzM`YaDqw{kd{Fto z7xQeU=5W$+qHb>)shz0uxqOn)?k9OX!5RO0H5SF3AYIhXog{TOXkz>L8C2(uFo?!9QWr66tyzpVo-l=VPx1JtL zrf^D(WWG-mQpbm*-ec;Ne`_>zOW=(QWwuBt^F~mo_n3e_I>`DR#YG)wVY{j^zo5O3aQ=tr)Z`=ezyYEaYE z+eJ~SA~=CmZG-CE9|R~*$)@v zw})pc1nt; z@$*ihDihO?0Dy!9A|MJmVP_>UCpY?=n&n> zHr2#4!Z*XIyew+`i?g`nA>oq5x>of^WzBZEzfr|Erve537KmC; zBlA}}AE!<-jvI4?n6X_@es45Uk4Q~sr2FXQ^{NMrZYqN%95>3zuGCF-dqFQ#>s9k= zyd4SahT&2veadX68?R?!LH40IgX2t9e0G#_%;E+-Vpyh)GdHh4gr)k_myYjCjGKrD zuR-t`oG+@Do!+P3F!TP4%mCoEZ-W0kw(9@kv3EfV_FE64$^P^$rJZ)AZL^gleb}?F zW@b9$D+64Gb)0#O0%lH_H~Z}bAWG)5f=J4DTJj$BgjdyhQplXaWLE_-2;{_Ev*VHE zb8R>-kvcM&vS+P(rZpl<@KZ?|jV6-$O+&)~*4x9h>#Af(F1J+L?(PQ*?o|#CYxr)) zMb-+g5+7DNGQ}AXk0{=Bl3`H(tB@t+gxqY}zsf0BN~h+}#6xCN9>Yp4Nk7{id*$cH zT38psru{WkeuVt#@O0}Dl8EfL0GEusVHTq-?9IVEp=j^Q4?!INW`keSU@dzR&KV zl&i#iZsp)d@Pmc)hra<-ug0q%^O9XUeEt2sA1*h(_kna2PenDZEbL-QNNEl&N^}4HL zI0fYjXhp2B^}q`>Q@zvFJ%LH7G6Dp~06M;DM1kh>p*quJ3UXrP`)XA-6Be`LQVIE& z%HOwGw(_IeBReYR93=SP1`tEje7d+}dqJ#R9(`$TOFr*mKX2*t$vledZ!?GkNaGcm za*0Iolrxivfn4RgU5h9B0~5khYR`^6}dHzhq{us15z9mhrdD zT!WaVPFp7OTV;~dld2DEcCxdxC%jfcxs_d6zv*Qy*L2U+)O1q6+itFwI$p$*rmqQG zQm~$3KD6_lzDJ!YC~8wxTRbW$HVCHgUOYDdyMk_HDgdoEzuXAU@DG(4^99*fCOHN3S-4Cp;}7&{KY$fZ z;szXJR-OuIxSs!9(fh!V06^aXu0s1yqis$P0wlGH6%pvL(j5a%m@npHo|Cjx`TI9_`&l zOrHBp%$I@lM23bZkHq`4mBH=`_M?>zedo{5FYKP{$r(9qT74J2gU6q?s+Tt^>^2-f zost11F*o|G>aPBs&BIEVv9ZywF}!*qZ|^>3#5#G=;Gq|yn+`~E_vh_fWOZ# zC3I)AkTx~Rb%q-;V|HENFBd&S{L1si z+{rjtr_CU?+k6XOc6MMXs*$78i0IA+UY64lh;V!3ZvjzJj#l)qm}&)gTIgt=*aAu+ zrgLht$ZGVqpayjJe34?Z7)*uHsTi0uSNtGD@pz62+9{E^S1;9mnfLweqplK(U0fGe zMKzSlmb+8fV+9op6od;{l^-pzDxmDtFR8N|Ujx;_5S?E{#3rEG+&YCY8kmT>1zcBS zp5SXaFno`vq|EV@%;kNnFJGj4ti*Ej@{D}fL`)J|ic=I~8eC#r)#&Il$Sd4-p3JYT z5Eh?gZl891yqTt`9y39M8KG>lket6@a*yW~xeg^rjcr+XPAx{`4CD5u+rEoKhbwGy z(#FPoiYy-fyvRAJbSkJ%VE#qO*pdWkw}TFbMr8A$J`du45INr8|FokFxk!OX6`f$d@kbRj7HoSFoT0#zw=yYfSF-#jlZ;qHxJ9wHR}IJlZ#kY(GRapuzfQoTP;p zs0AJ1g^>)|g_KgF@X(7>^6|{hB@m>4al~k%BAl~^ej&k|^yj$uPG&m50-i%Vhjt#> zavr#f9k`CsXTy^3SdX-{nBYb&cpw!sA})fd$r9~vbOJ;LSAOF0wu6+#QN?e3JFd;X z##9-HZnX08eQc7Epj{9bqE-}+xy}ua(lS9DRY_fCn)wJRcULBTMhsdCP}DFLW~T&C z^+n1uWqdHrz8nqTS3`54Pw`*g(11BQe}a$e-uDXwW}F|5LFp@&&91z|0E^TvYemQuHZI16}bC@7{Gc-;Yx^(bciR17yY98=1F$Q%aA>ZpXOTxKz{yAz~B;_x?_l^FjWu_9Zwlcmr9 zc{|Moa64U}g_^)V6_xOujkqC!0A$HdzX9KP#xN{1;GZi;KL=L^lvucw zRKNHik4eud>uWZpE_>x@KOfzW4+Xcc!!$Eh{&Ty}J#f2^kWRnWAGd#10T@Rd1aXVyTE-8;x8<9dNvL%EbRNh*`jVa@Kn zFv@{3U9PAx?gfb(D4H)7kRb+ypVfWe^GQM>|EA`53`pA z|G$4>EHvrNT%u>P0*cH3j|T$ZJuTx^h1;jV?sX(#B!D?!qWto&R)IAc0!3fGM*iy6 zOu_5#9Gk!7L;6iqA3l6&*co$usNjWr36%2B-K9A2Zj?A0?mDo8JFFu4F`Tky> zs3jHg30aZ6ATypBkj)e%@&h<#MoaW>oq(9(*H2d zpA1jkT3+-9h4T^xPr(+mbaDz>W4=A3gB(pN;{o5SIgX`-8&Y2RbLqLq_KY81-=aBf zx65E5^8u^eQKeWz-(5*0ADGmJeJBx~_@)fwgo_$kH;RkiSOK=Sz~u+{aUZA4f;58z zDsPH-TKZ_7y*Y8lq-mtIY0#3*v$tIzHIffX34xBLDUW@UlLxS>R-+1Qbae@sk@QpY zlPM`LYd;#g=4j>_w&1NCY4LO=3Ue^vMm6UrL>h)5sg%@FNNo8e4db-Z5YcZH+ldb zKW+&dXI&F0KZ(Qb0CxG;pcw}T&AMZ|d(rjy8FyxxyvF;&{Crj$94!ULilU(WfQ6$JZn_ReVsoe@_D=I`Ym6x|J3R$bOIaYK@Ln z*ruF`Y1GrJ+--dQqX|C^E-@i|5 zZ~y7MJ1IN?`%UQ>nc;bwHCm0gQ^OY)eDPZh?g2B9F1+|In>yyH-e%t8vt?%w=Zc?pzGy zm9p6lTnPM@mOm+^A&F_(1Ec{R%hD_3FWm?WBxNV;T3l&Sw{i0^hv z1=liIMX3|WN49Rtd#6b~(^-9HiG)I*qKsOWGUar!H7)0(lSkN`A~>-oETmQhD;Yn= zEqtp`gz!E~(US2nHichA59F z)vglrTbDh)_Sz7H(d*{Be*eP@b9=?tI$VJq4zX%G@)30C1XH()UB1!aZ=u4xDF^hI zn+e$I0Y_bz5?j-Sd5)~|u?jBdAiw4-0M3^1^e#KLwQHkx`A^F% ztAFmBW5>!PX!Cd#qGk4xNeH(h9MnB-lg`G-?LLr>T+DL)^#xq$2u%{U9`;P<>B$Up>AT+R_I!u0yT%u z+2a(YtjGK;TybaXn}+=S(DjWzcK1G<0c5agqzUF6&zS8c{>S+K_V&Aa@;ZQ0y|)6>@q33Inht>+yDB zTfLT<9B?{z8HyvHm38uQN%EJJlrSbAH8Y!o*(d%I0#0}ZR&({o zfJjSoVQu_uzN@>ab!JQK#Yk&uXk} z199P_rpoh;i(Bg~E=`21Q1h?+tkf-vkH;Jve?-qP{MCc2miwV=uoHl7XDm9_Jjw_a zGi_1=MGQTdOF=PHW{aOHvx3Us%6B>}=W4uv3zJPJZxN;x1u**4Y_%3iE;+F*D773!4}Qp-W2 zu{2H{M$B{Pq_R8O+dtK~-&{}8N7ZDBTElM^L$cM*sxsTZV*|^=dDun&_0Szv=;~Hb zFwe0J3@~yR?b6%YMHu*+CEQmFb=p3!(8M0CPhyml!ykJ5PYE15|30X`=f~Ck)iRw4 zK;5V4P2b*&q8#XD%7zu$%ZU1%dt=`#hS2&RB+eTKj>V)DcaQ&D32sTX1)l+%0jHMu zsLD^S^Lx4C$A5(}-w=q%p|^>*wtuRC8azB?-?uPSO2NdCRQfY~L>H}l)7|QEmM8Qx zs6KykI!BAT{>Kk9T$@yh$+<6d4%*6sE0}*Ekss**5&=?)xItct7NFkYi1%|-vXcbi zlHke#FRs~IIg7yBjxQ^pY}!{Y0s$FL6sowLBGfioQtjI13e+I|$W?&eBU?@2JfTUh z(wFU)*7RR0!2X*9%1V-Kq#VwS%6QLoMET^#Qw}%+Vkrd>!*J`zMTZL;q52kKpEy?; zMO)bKj43ZPKeF30OPZE?9%5z;!ahzo-DhcDxM-W+(PmhojFl$i0sDW$s}~f+TqxskmkhGo z>i42I#pgv1=7~OF7pKK(l|CDL8pV#(75>zZ7DL4EOVC6UV~X%`XN}45`q2Od-CYJ` z89y%taU+6#GoH{|+U;Dbf@iKdG8ol=8Vnj8p;IX@&XFE|(yOo$Sx;b|-P)$MIv<3& zZG?#Aj$^)k#=e0?OT zQ{Sziu_cIUsJeTS@A@+st%cHVFpo|jV5om|#p=9%@r#3)J8#96v$?5(YW9<{npwyV znQzLr=$cwOkP`FSNiJ7&FBL6X5&6l6`02+nw_jYxFr=Se^%46Y3FFoG^|PVppB0-> z-O~F)Gs_nPda?F+s|mA)Gd{pK8zIg^K`yG23mr?}fK_L2D zc*AIJb^Jg8yi1~OZ(cf;=)rc4zf}!8$VW4atpN{a?xun|Zt`CL#sj;*;gd7Hrl#W; zbic(kDHBnX!LcY;OKQpuIfEoqHYCW|QF$%dAjfGgV>gJG<2Jh=w%XJqwADh_xzQ1>ENwceXuc~N?rSCpvpdp>V>rO1bCryvZV2NOGF>uA)I z<@LGC*4rpQv9Z;C`->O$=JNG|lB(RW{0&oWGKVfZ6*Hn12QG64V=^_%K38hi_g5=4k!SlIr;WfY@o=QGm?+AKi`kJB=WA?&?I-M5o7U7Ouy^uJeB?w2+dl z8a~Y=l8-hkXm(Nh4-#X9p`yAo9%jYOC=z7Rx9}nkzm4&QS481mdUJ*)SihKnLW*el zdRa|%-uJ}Qu-?ADZpfF`Vnz|cZc{E5xJ7hiTao-t@!1`-DAy!+&kP-)zMM*l*7Y32-xl`Vl!Eyb;D;?sgZXQi-pNbCwacJ%; z^jz(UftHoa))gpUvBA|Px04Ll?<}Q03uTln%>7XHsW5FfJjw2pU!;y>(_oJ0q4!>9 zT}=U5wMRgp3B!{q_FvV*i|bRDZe84Dtj-@WZW)bw4o5O)Htz_oPq7a2ML9*jXcLet zt(@a1b~&C1IClxgPSF~;wt=D0!8Q6;AMTFTuk(KT&0U?vU$V2~tVt0Ml^8l* z>G=8&pS-DAPCLAPkDLfs%}b394RzM+tTB^X@rR7nY+_b4Lq~M`b$~}J~~J1^up|6Bu~lO$&jJE7^-d-!u}#eUtT0k!==Ej zf~IEpX`E;!km6$mkm4Me8?oDv9W*YkPe6H#)vi`=Ts&`1vzH^SUs$%il5jwc^ZL1C z)1hVKNyx}{XSOe2VXhlK{MJf$%OHJ5am;g6oDGuDbpq-%JIhyIb)A&8f4a4L|ATD* zjKUKHJ3z(_4DF>vcglYxg=x4OhY`p?y^QMv$IKNBr#st|RqE6({;=uMz|kg3z!lh~NVQ}2d1c((ITa1(Q161(U%%Ip0cW4Xj0hv8<`q!kF2xP9M|Q2t z!8hA)R-z#;{jCf~_0d-G)}6s9Vv$*DeD+%RVaznMqdVZ{s6XkaN$T#~aa_^tY?i`C9)9P&`36y=TE9Gw!yuS)#u{fj zo`=c5m(|0!hQ0DNg9a&9Q}1CT?wJV9HnJN&CkCshodz@KDlc4xqat-*LyS#jn z)aw&bJn%Zg%(svoT83$bq_+$wJDy2@dusE`;WN2iz2>{ijmnPh=U%bK3z*@j@(uFb zM5Io4hkJ#^V;{5=UC>F?vCn@Lyy}Gj%oC3wF-!XW0N<33kNGZGR56x^@nJmFYIRS| zt52FlWDSL2X^JWX>vIB!=++O`7E%#nTl+6+b~YItP=1Ksy@9a3?NLZ^R>xO{B@ZK& zyVW}2U?98cv8y3Iqk zilX7`Kri*`p2KyT#Pxj-JU&K1mjF3$s$Z4=kMi$VBKXJem2UDcP}g|dz^uXNMTGxFfN9PWG16|`=HBnC{<>;~S2ST)JUVvT5MVK6YzWZEqySmAPQ#kI=*%!~vwC%fGgdBegKb@bqst!c3V#noCYg|LM zw`1oiZOoIMw}RUpXzy@gRifTIxXP{KYc@=&D)C2V+6f@e(jDR}u;18}=Co`U; zMHcZ<^9RTAR?=49Twl~Q^Lwi6M;dQ^Kp`4u@vv%+Z(KSaC*EeFTRBG|>LIGK^uZu8 z%u?Hqg)DM|?MD=Q@nR5^^LwaSQ3S7u8Q*Et150He9bDgyLq*M~|5EPGk*ot`&(h;; z=E>jLr7ZJ>%)Bcr81C{XDAC2Jcg~R>MPsU8BuEJ2)K*P_6W6h?w2Y^P>~cLBm}Vc}?wH{mmrin->ybL_7139dURMU|RKFaOTg_e0eOJ>v z1{X!gKkA;rp+eM!DvVY@C~=u>V40!G&*ek={y=mMqX6{Wh0hrLea#EP4zO`ZBE8(G zEw^ox1Di*)dqFzn@bKMK#`6&=&$XMAGY3=%7C3z1@TJZFw#G*YIPa32ZfpQC%Aym?|vU0DqFZ+KSxSC!ybN`Xkcvf3DQHr?DftSX< zCfb%ocrH)l%qX=q`#-jH3|Na<@qU)W?`v08D85k+3|W@js))omM|u+9HzNsQXER^M zIJhC@&qKK+67$u0B`1sp zM^zE}&cvk-^Vs-QovmoS!1g>JoB#e(-{I>q+o@;+WdznCCvt1?e%YFUTyZY5HatQ~ zK%;}}$$z%h1+cBO5BvYU_A!I3h+kvRVKi@Jz2kLrYYt7xb8xEpdDWzG4ar{ag#n?- z-YrhiTD1sUly^FDwp}dPCBc7E5yr?lxU~InqDWm$IQB)_0FHaX!kyPYA_WBKO1uQ#6|YK>UUCt(!XTM z&gdQ@sT&TQ@WHN-FEed=2GvQe1rjpa@B|hC4av_@xJ0tB>=3q^XI3u9GxmGjH_09? zG=tD#81?ZmL2(vg3`fnlJ_X%hKOV*O95-qmlzsi0A-Xe&NwhvrSPpQbNm*IrH+^;P-Oy%v zn~rPU9-iy z2=SsO)G`fIjFad9p9iCn?QS@!zhd7JURCQX69P2(k%aLK%%ezHgL4fo+>B1}AjgO{ zOSSDj=nL@qe(~Gj=TG+P_+WQ|&nHFl=#;XnGp2j6y9f=OV$@c_c+P7%;ky==iJd|H zT;EJ1T3Fngn{P~AVZ>eHS@7?~IDop`n6wMbNLHmTEKC3w^iJm1-tHGrTAzU^Z^?+Y ze33BulyCWfNvV)ZNCSm92*%C6+YRfy@)s`8cb|rqcAf9>yArd3(KfI zn5LzJYd)%K$&j>{RY$ydrB`4mlB*|aF)ELz8^4(awM6#^&LL_vS;4@K%4F=9kV)ig zP&Z5*jAi6~0zK&holR)rRRUv4K?CJNHkx zYYLDu1W~>{!RLwo@WTT-d&`b?>)EuxXQCYjNy&q0M|MG>4ztL})}2s>?C^b%lgJo_ zxrPx!)9B71IX~tp>Hh>UKne3un*J>!Ztt!lu$9(c6}&P4fRGRH(iBmCUv{N0m7(W6 zSCgHHgBrGMJdWJW2A__&czaq#$*LfeT(UV3Kc zz7e;l1J6WiyGvmGBQA_}vY?5UGg9*LOX%F7TY!^LoP!f;&Mts_`pXxJo}r9a#H-zwBF-BK==W$SNUDS z$iy9B_){-mg6b{K1!M@xah|k=o|8{6JkQHMbl?_M7yg=2(xsW4o0Ks=bU-iP#D-aG zmE!ZD>1;lUiuTx1Wyu=R%|@@>I&amf4@nJ$LF>G6#johCmhMRPL`N+@6X1!POZpjL z(`@5&_E?~#zl-F7Qbdv`p?wdkk9a9ebS=2%tqaBDkd zS5X{M^TBX3MRzNKyd?g%E3a;55%vCOFVK5-=ogUjW}TEj3z8khNRZgL5+Uy~*pfu8 z7MR^p?hzy5KrT3Vsp$y17Zou)A(TA;u={e*dt?fzzKbm)J+~oX?m_aQ#(3F`ukk)? z7*o}=5EWG?Jk=rxYV3fW6Kcs{8v*+7MMRpMO-e#WR1=MH6$f&zdm7SyQcKP6?z9f# zVtnB}#muiBLuE;Y+xKR>SS@M+xnTQAW@hf&!Kkxioo=&gHN1C27ShudJ6-D#*5-AA zr9nn3#=h%C_|qnt`prR`60PRQjx@lZc)S=GOOVRKTeSF zl?ydC{B@pwF49L7tpx}TaYtv5I%xj*qLriSxtD)-#^Ie??MAzw1ZC-t269~cI@UQ6 z($x`tvkthdzJ5=n2=n^BH-*>?`*`g*_TUV2$YH-*bZY^tW;j&ae0N4l_t(Z2XUrR2 z{ekH=y`<+mKgQbCiB5_NI4PMsz6)v6qOpUhm}!KuJKN9Zjd=>=#V|ooyo>KAjUNnP z2lZvJeP@7iM-yt=sRk-&W$o;k3>11*Eo74Dg3zYt%ezC;<_PpjKo`1(M+5UzmT!teBP zvn))hM?wjgzFwGUS)67#nA2OT*?SymP_b5pL0?Hd5^d{B1l^)IUxfy6tcT5L$L!BU z@k08iwFl!o;M8cDg98eVtI=A2X}WYpIbK7FniKUiQBIS2juQ+%?4RTKzRM7f4bKI> zGlp5pYs+k!#T;;K7QB=fo5OCdq@%aeY*mV?7r~51Fez=M>dTiXSK8ETL(I86jH|6I zRvpy{%TP!NL$QO8?d*Mj043D(v@Xx7PL0jR_%2WWqQA6t>&<{S_l|?cudlB%9}8^d zm5l^jJJh%kj$sz0rr1N)vAz6Ms=T*i*YS9?)D~!Utl4D-q=lU2ifPboQBiSZIkw{L z0+rrY$Lj(CO2er^A7|wde!bcHIosOW&C~3O=fjE_v`YLjx)JTWaFZsIhWoA8UC;Is z?wkv%t_ej&0_))&dZ3#+%nwpg=8rT6$_UnPxZCgQ`aea$ZWRD}!& z@wnyR{n)yi`ZX16f8szO$#vYh4I41`?jCQBnZOLt)hpsu#!A;>leIO=b0O_YfDM{+ z$Ob{W1WEE91QJnkx~;SYRz<#a6_p>HO*hwIZB<%HlYOM1ddm(@7MX?Q6QtU(fRzJ? zUX{sTK)bY~v~}d7n{G$3Lz6F6XR5aki1G#Eh#vK>!7CKt)-{si4Jd%k2Qg+&!2Zw4eBE{ zH9hn^r=Axa?8d)i;nFt>2_TMe8FWI5w^k5QB0^%tVmK)OJ!k5+IW1|;{wdD|)nQ}# zGP1ICahPG|!GXW=(p`E>8)roOxtH8m=Pq=)eHE$ip=y&klRhIS?U#J*6zw}EWH=Op zr;Spp;6Jl{y)HCFn0eNPd?6y*O-MtB)nRMkVedit$7!{#p{EOWo?r@jZ55R^wa?J^#R zW+`$Fv~mpxfNW_kQB@N8+lYjBQ4Jm5ot$BYo`CWM63Z=%Wl&tO0oa@>r;H}Vqe&~UXt-mZon)zPu+G0D2Xr2h4+1az1*^FoY?riRU-RHuBe!GnR$+j=M#^|bxeVurN z^x|R_IsxG1(?o6ume5uOCPWlXL^w3~%OYa|27r{FW{#%zH!j?oaQ1hYnbIpr*Zt)- z%}V-9x=qG2eTLQfa9<(H{9(nK1YDla;Kj~6ChPnNJ3czd*gSl0%nlj$7*4V0zA)h1 zE#~CuFc|DW8wXint}}C=oV!!EA3*4EnLA3g&hhH;CYj+sS4j`_wgI=dYdoW-|4o%A zHRfT6lFSr3UTlL*aZn*l|4|a6Ud8w6RG9L!ck-zsECuOBRamI zdZQK^FZX~M7e^6$R!OE20jvJM+Gs0sQOhnYA_9EoR~qo2n!n5v*%jK=fL&2J6b?Rs zU9tb@sgS-7?=-hozM;-LzP{cP>nkvxA;lTMqi-t*sLs50^)Yg-j55H_nCF>tFkdt- zV?Pk{K-g)aPu8w~X1$hw0)s>XP;ydu^M5rIz|tlOy`r;z9=e4495*?rCp~WTR(NK2 zj&&UV{y;GAJ)P^610BRupS`i!XAdIwTef0@mEf#v>y2u=pT(XG8P(HO$%CT?zY1rf zo|xieFkFPl3o_KZGX}W^gVtJBTJLgwZGPJBXoT~P60(9H1D4zXCwB<`uCEzGvxW-* zY3s(mCUZV0k`CK=xw}E;A&`54#jkpg;J3t_iW!>*9Fn{hkV|PpAK9XJY9!LjYF`(Z zQmxwp-j@uT*Rg=edHckr-n$|1-o0n2$6h zGDWcHSdp$>7ERY4dkwQ7z0&&D(kTEm#_Tzg&F9Gol`xu_wFpx0I?hT-eXY)zn~VU& zMUi^ZyYliP4S=?augE<7VBWB~=y}286A>@Pm2@A&1YJKQjGA}zTa|QF{rt;P+yykv zTi+r>JT9bi>LUfT{WzW}!*l%ZUM_tw1PGwPViK>*s6+_(;pn;dCg(UzIQO6B5$>phs^%6a;pRF|%vtM(F*c_J(2 zAo$FUc1E}cYpCg6T|91JucDR=jf{R6i~cmKiCKglYH+hOQXMhDl-OYs!=hm;0dA_{-8K zXj7HDAL<%u+`DcZ;*XkVtU?f;9z!0q93-lrvio#}6nVS(dgT- z_8GH2+E8zv&Bm@~pQ zCO6M_0^#DY<`3olF}&MjPTz{mS3q+`RF2h_f&_(zBO$Q_W($l(?dgrs3b7rCg zLgL(h=Bro=1$ult@rYQ{97a7Lnh56Rwd%N|Q1=0!iTh^Qr~gWpgHR9f>U|K1Ed&R@ z#y+cXT)r*(Eab+`$+1pH z$fH2)fM{RU+w`~Jd%FJ}jOi@W!BiCQ=q`fuH9<%09*xf0_Nz8niM^|ejwUSbTfsjaur7gGplzT~PZVnf=`b zaf*@aqrL@hb4bg11Z`;Y$VDaDv#^z%6bwUdhzPTF1##?<`HvN7l8 z@vj4J&ci)q>SUz>h8P;|!C)BID;kB~%qLVwGmoa-F!lN7hk((rueN|dF zUSC*Z%62ij=2A|GEsv#`oPV{4E7G>EtR>u)YAtfZaPs`Cl@PY!|BtEfj%TxN-*0uG zYE@NjN~zj=Q#D(wN{w1oRBP`bMr~?WYmZu`_7;NF-n8}zv129(f*`-!^S;05{r+ct zNG|tvUgve3$H?+!89np0ASr9=WKIK<;kpoY^mLZvk*8(Zun@0XQIQ$D^n(33aw3n_%v=e#YW0 zhi4E{6sIk|n32?79vzXGt3$1fQn9~be&HkN=R=_Wq2oM8eWB&-Ve)@b3*cP==i5Ip z+<$Ir$C$#uIPSV3*YzneI?_TwP3%Bv1gMFV6cD4)4S+>#NmoqZFME=muV3$(l@{8_ z&H4L&f2I6i4f8_%zZzx_MCa9lgGrb9I(|1-jn-1p(^!YyGev{p0sz6hwdh4Bc)3*)`JY z2*Ffa>|(el;U*_>0wA%*q0j*BJA9#%A}x+>rNe*99m zr&H@_s@~al&iFZED4Hl@X zEh$~uF-HZpSnGd}Hlr)y2ymYO{Aax@90%_HwS4#P2lLsPQl5q8kQbm&4$6`bcrf?V zyDWJS$uK36L%X%jA)t8pFK=dts%bbm*}(aR7#(jO*;O;P?uhsb7~x${pZnfkD<-PB zjMQIICq8iv+F4S3lF^~*OHvO)E}to&CVZ}rHqQ)Th5tF(z(BKmgc>%^>hEb$IZZfDH-?R!$&73$rPKldd}lP$d#&GHVo^Sl02fnwV;04cy# z{gFM;3fnrIN=PE{P|h#v9UqN+^}UG8Us3e?nNE-(E(nCd} z^RLUcJx>&FPt@wK+Or49Yd5NGUkJ&XO(+!Y_ce?(oQ|YFbrOU%+m59W4y3>1bxTPjNDr5%KK!6aZMvIPy*68SOVJH+W*nf3XVR zOgE$eC;Hmexd?!AS1Jnd*G5i*g(KezK+Xu+Xwnv$kQ*Y>`iQaP6Iv3xJ$^?)2XA=rbGuFhF&>s7(7vhw0=PW? zP#&Tx3p4W_YRo4U-258 zS=YFiaM9KL(h-fza#?heo=6f5&({SvVjh|NVQMJTXq|PVGMQ z{s4}DAfe^F-?rU7M{J2Bebmf*{He>Dr?OWar5vBMq+a4sy4?Pu(XHE#N^fZQ|L=UO`rdsvEU z0Q#%)tZZtP=G~t(JNcJ@Qx79DYcll&K&tws`_r#*jBvbcVpPuC@*Ty#Ua<}RyC3Ep zTUV*5Q)dpJ8e7{qV)WE7Im3MPtuyO=o=nwc{9C?T2aB8}OAzE>j7Lv}>P!uZx#F>d z_u99bM5Nk8`n+28z}kc^#>MrX=+>7_ z+wZDJGl>H+eulO}>=njka$xP|3gw>`sX!l-?kZOG^GKK@+aN*v^-+R^Ct%oUc6aSJ zZLag54l!V0Re8bQ4_vQgf5BbgKp)Kjo<_fEdlf_d{){i`~^u~TK`pQYl(U$l-+pVpqfTH#zNNh_CPE72lex?2%6Mphk$ht-6je9?J&F}*c zZrjYG?N)=8!WNI3A#QTcW|bgQ+#c|8^ms?@IUVW zt2VJ#^9RY9@*|^XgDF5D)Bd&cX`I1kiK#z&X&PVfSS>DjUyc#-4vac z)CccL(|jQr_gD7P{^2Q-(puifh-MCho=Uo(WLgzc`?9fly5v=2=FXOW$=Cw@{;Vbk z{M_LKbU%_;0xgg!Q=F-{@jv_X*69FKqfeYnlWWa^`XrAHWOz=ingkrQmJ!%6d=TvmNY z-Mq|ZqQCkyJU!m-o=jxo)ZC2ogm(M-Ev0CS%TDuP{}Ma^?W^`x_|k}Xj@kcg2EvFp z#Px7o*t_H+PU$00SgWFhl=D#*MO=<8Z}|^TADlw{^fEWi?w+qKXKCZJtdj5PGvzWl zOTV|MHYobi3oZ<{cAady67yZotD*nrV zi16rtP9(ilz}pa$rL_H`HsA8b04@do@$-pil2`!$0f=5GbJJEfi7RQsR(C+w(_Zv0 zDd|({JKW?tapLxPIHn{-HO*)kZl3k@>C<=fXGa1;LXRAJ`dRRYeQt&x)a&L6Hsc30 zNeL$YsyN@soAWYXMg0@PrcB`ny#HDCgn1WktD!Yu)ra4XuPU2mmtH!v>6vGD9$T#m zW&+;%lKJ3&p9(->PXo}CkW;>|oc>3ol41Svz9@2nS z8D+yg0qDGK+O(iMx7B@UI(Wqq@g6gfZdxs~i*<=@i}nV`GcvuY@!#tFgCXIUd(WB{ zH*K;qKlm@5BJ)?eNSusj{o>*}K&>G9QYMBFVQp#RB)(m$s8e{KD%;4CuE%xdC=HJR z3nL>*Uo1|3RfY-h&-Oyi6uNx?HceV)&Cb+NhG0I4l($BT1ZAw`vDdUuI<0_3yOP)X zCaj|Z)hL}QpGxz$zajnCbe8lyrR9Jl)ZMCocan=4^>$p2```@DYh~tmM_%fv?uEVX ze;x$U@cXL&r*xfP`E#77l57$G%fO0Pz1bbdoUQ0I{w-KiB>u-E+b_KmZADK!_)mbC zu9GFzDwIPQRh;~7peb43+G1ixkd)&m8@$g!j*XOA;BJRKg^JN|WP-=f{I?k2jYx>|i+(hdZf75Dp#MF>R!;VZ^ zTH4Yu6b&>~FE;OLSB7hw$sCUTwlUW0PYn2Tc$kHb2$>=bHCN&LVTv~i8d5fFMWPk zZoVgjXu72P?b{dz2u!AhT`qxKLZXv(5Ag%OZ2x}Zy#*+mXg--MEp(985wL`Jb8ZWz z>A(o%uQ&K3KNO_t-JNiW>2bO?({J;$`H55N$xg-j-3da*b4dw&d(`4BtIPRu5?cMT zE3Zw7vyGMM`i1mGVM5>jFIsqI^3m;Sbp}9@3?$(~Zr)C{@eosxqw|inpXJJsSw;%d zpTcp8*+KO6&ClHWlxcqBFLBHk5WptMdDYzwu(P;j>>x_I;DaHBELTU3c}&a0AZ%?k z{E&#ki)AFJ9dUU^V<;$a4T$S{i7X`XI3?@R0BW9rShlzkVZjB-ZN@Gp9k$*&3n z_%lCjcrBZqzSwQa`a7#)opL*_B0FbR8uavdl)F4+MOz{=TfPO^Be#|Q#)Q*ak!R=q>_H$8}XL@vF#)6fr+LuZuc^ z&^)3Y1pi4c)o|Bx7L&x*UT}SFqR8p@r8mh=Mlo%h@4;=}Gj_(dGu9J>BYUF@l@ zO82qFc3mi-UMpzpA< z$E*7(OdOq-Mcqsv)?cmb47u4t>hBSz{%25{GuS20wh;@|I8*{Z>j@^*NgNXJXD< zKgXh*|Gwd8H<#IgGAZ#%*Z6-&XdA_zm|h7N{?3O=?-?B(%1`KA4X#fk^b>W!Dl}vG zLxe}<;=nN|*htp7{l^mXa0VX<6Yz!RA6PB0N&kO;k|!hjt?MHlfYzP z-p%dShXcM=p0_b3CmlENJ)~?Y=BjG6#jvgtsf%y?M8*LK_W>+mGbePiD131y0Fl-x5drh!H>SAMXpRFYwy-D?*#k~tUQW#$Z0JnTOUll!Q6~z zf`icf07L3}PVbAtjN8mMHbMNxljKvTZguft;+dJci{oP>L5x6-(jUwFBYBq{H?Wvi zNz#eo_Fvu-*N^A$*FJvwWPz#tJk&9;cK~ZfE>UH}!@a4pdrMBwz9+j_j6jXtwB3xjg740>)}1V@C3ocRA0v}t)4ZZ} ziy7hOH0{w4*Tx4$-993XFru(t=+v!mmGn5?Y}=cj+yGXPUwI8*z%xe zObhz^&mR^iyp8;YV6v>ui~ttZDkgE(H2%hKy+)8K%XituUq#4YY<6~bX~0}+#0_Qo zy)q(c^1(D1t=%>p{Wo@SV`gry!+Hlu0kqui9C)4(w{xN+fo&!^@m_%(NrizB-sw)F zEfy=cA&2ipk_hm=(<4Rxt8wIQeT5mr$lR6|#sy3M_2x_bj_Ivt>MpGOVV?JRo;S<1 zso{^Jh{(u!(_ZrX0+sail=msAsi9D5yeFX=2(*ItMYgtpKw?PL!aQ!8R^An~H8=VOC>ft2^EPIir+&ekcjeUmy|T1;Y2}am(c_w~EESGkY z*RH4&#zB+ty{!TMzhHFhL>V z&~x&x<(bhS|77<5$|dE|ApUoOME|fAk5lWul+@OS;yC2T8kj@SbZ)qaO)8!+9Ab$gThV3-7+`Ha3GS zpFh5bUf?LTDWJ9!Uw=2qmgisxs{e}a2q0#*b;F~A%8|H>F7=At_#!`pH;E2TyxI3j zUM8tge44!DpJJOUMf9^NTICtr56VA8A8(2f&;?piK6#njbSFT!+^FV3nOVyhSg$cG zr29I}tXYF2BOWFeyUydFS7DYZo>V-VCR)O~`6(iw8Y{95raNqU*i$q`3#ef8%pO=~ z?v{&GF)!%4p*FsJ0*`(?l5*ly%qX3Ic4Sv`m z0RjdMdA8+uyxC(fImK!GL6^eOo`mO zw9f&d_Yy*2q^{R~opjq(^!IspwM1++EL^C?zaNpuiU8KaF=W!`PmJkTQa(zqg;<_Q zAEencMZoY!%)hbV>=aF5`Ooi) z3=$9-=ny6{jX!d|Mm&>^i@QNn5JNxaHX^6lFz;$vKmC2mL^~yb;ysY33sdW94txT- z!&1us{@#NnAlR;;q`XBzhS^h1d+E|p>FH(T&XWWSYRXXX`=Vd_{YK3ryDocsoFI0LvHeE zJ%00~4bDc}2+y4x?=mk@b57OO`-@t7RDsSdX-BpG!C^^KDyzyIeoiZ**QzPIqy4%) zhM45+pHS81ZJZ_}eoU6lJ$%HI&EgtP4&_Xr#C#6k03rfwV{YC0v;O#kFP9&7!eh)t z&hi7hS(Po3ayS|_q63Q}{D5JlcVKBg9S&b^>1KVzU?mlSuy*^63utS!A$C1q4ops~ z>BQ82(%o#X(JGv&v9ZQfdSZ7$#LPaDtmz;8Q>1OkOr*e>1%DH!PO7O}nTr2!T~tEiu&NY>{6PKO+@2U&$IAMFa4>Rt_Jvd4XU=j&YZ2= zJ|N!{a*?99;`M)5`nE0zh`&@4$Qm|(GpQs03eri0$|KBOU3HERRO z2QP5HPQQ?t@DD)>-ynqh6W~(8$BCn$+L)Nsu$Z)09k&aXY15^tI4@&LgKh&RH%GFl zBgQ+K-&$?Ve(r5Ya}<*_@!Xpq2T`i;uo` z@0$LP;FMRPqR2{0@;g!6eo(Xm;6X{Ii(3+o1FZ z;Y{@|e)-xg5dSw;^Q+&CNSVfK3`l3G`!vM~BM>J+zb?}Le%+Ay#GGVdRr zxj|7r7g091XL_{Vez(vS((?C$#cj^Wg#aFC)x)(1ygtHwM~e6}_on#>q?{ zXm(jf_UKnh>p!3G)Myvw=hw3kLU$XJD?i@ktE?8Inn($kMlpRzB{U2SHk8SqS_-;L zFd2ONFfUGia40yn$gI_#cF4l@HYUW|u;0-4U_bmO!FeXR9A&r{?8AVX;g~iOYAcR- zPa=hclY9)%^jt@%mu&pLXu_bA9vj)i52^IC$@e8Jy6z5a_Vfr$YOI1#&BVsrS&w+? zY4{AEu_zR3Wq$qMKxwQN>%Z#q)PfuHIErShq@tOfr*c5r{l`Tr`;8p^l6)nKU4@9P z`rTQ|^*XFz53z6HX(%%D@vQOSWI<)I(%z%u5m^|y@pKk%zu(Cv)IRh~Y{TbG;Z#^L>>UqsoyhpeO!NQD<* zTlBLcbszXe;GeCir$gJ@mbe-P3lU>*a?{xpmQ`IHYYn^OFvK4=Ft-0mC38*xa zVAh8z!yhj?V`)Q>+DF3Wk?ew3X@iC3&RlbsMme8vK z_#?s=%yIhiwVS0ORmV$vBe|g@8$j+#9fPYgTd@mdb!}>4-J^k4(}MpFd5q7q4YW$8 zl;G{~2#@Q2?NaAUgy^M&viyeoyC(i?qRaEAQAd6orm2c7x`kQ=M)m-*?McybL1?1F z=xy3QLD>C0QGNTM0kxN$HFZK7tLbD`^Z`xpt=))Nw%j z{BG{-?|b^I66^##oYx2LkT?Ywb%SBiM-(^34lHKK(Nrhp;!Y?N+dq{#UN#H9!Q|rm zHyM1UDW8-7nOw1C>N{q1F*I9|BDpzuF=koiSz+aLPx{XfbwZmdl{I1S&b3|TN8G$749zI%VP_S2X`v&_e9?1KI$1co79Q8WUdq+_z1#Wj>I zx&l5+cawglyPhxNZwPb`rkyU&-ffK&->N}%|N7c3gFM<6e_!e*|1pWzxSj77=NGyA zTiGHjS%470HS@)5#J*N?l90lD<%?s1y9>PbCUNx1E=LAMARvUm$1e_GOut3sy|oe1 zF)ez-Rb+xjo1XZmxC{7s9PIXIV&OfGZ=l57EtnBW#czbC;>Vjb)i*_2@vXSF!l2(0 z$U)s2N2n96YoT-8o!9F?z3Qv?=*9Us6D#?A@1?ecZ9JhiSpowB{AQ4QiCLKpYHeD zIq5K7mR)NYuapsM|E*p@fwHxb1iu^ci?-TtT+=rm^Oq&3=$!4P?C4^>W(A=H?m(_m zN1Jonc)6We8ii` z4=EjK%lm8l;WD&YN{6mLh!aQngsVvbfCF)73FYEbte$76Nhm(p&H^GW9+d8A<~FbC ze$DtJe~Nszmh>9r4$0b}(=|gy`ST4!PpbJZ0K((Zyo8{-jf;?%gkMD0;Wb)At;X?z zH$>P}%vN3bgs`L6Zo!)Z$A$o4RqD5oMR90fHo?d6(B~L2^L`xs|M>Kvy z<@fj76|jpymW-tt0w%t}w%u6UZ-Qq|a2--@hOp#YHPJw(aa@|19f!$8w(q%MGbllN zG42MJWtP{MslO^aVdwl(rzd$eZ-BB*ERpYw&1{f-|A}Hkg2GJ*TzBn-!_9ZD=aHOI zPsnCIM~koD=sXo3foYV@XkL&b0&GsDh2H&HBM@e&6~H?Lv6Rls9?zNg1}^Xtqvh-GWgn96RL`18o7^GV8axq_w{i|5eR&JM!csi;1^o6%cGH97gQealN!TE0|)U@}bO{5{2BPGq#0|NI$qTMdmERY(^uV9Rhop zv~H8>Up=JhT>oRUEvBe-X`MA_I!n}!qwTT8rChoqu`x-&USDz$JTY=>K#+XLpYDP% zfi0X7wDr7$xhRE@V;m_^75k2(SfSQ`@IkZd?+YkspOx_DOs)x^U99vbON0o;PZq6g zuXCOH#X*Y2bsw8-(Dh80b;%(68-k7@;)v5{hL;03>l4VgJt6U`z1c+zfb0b|4`M5} z=yVOQ5;fQ@>pzclVE9`& zP%S+QVGNsT9W)@3xDO=Y5IJP_V=|V9jX^~pK!-&BN=G_>N` zv);MlW5bIb@(5c1!74?1JZ=E3vQmHsl=iu$AGZ|GRwi@f>6%Bzc zL>7fjMHnEw4DJJnNy)~Mfw@?*wY&=vGDyxZlw_|3y8Bc{fCZyshB@9$FxoywfcQz; zGRp?ZZ|hvlH{g5tT7?4&qt9i%{MrL4Lb&;v*-^t{2YZph_ap>F0v1dLEOO=ia3thp zhR_^i$PL-qcOR=vZDkOQ@VR90>SXqh?I<38s)nr}ZmA}=mG$FR>-huP`u0kLY3v5h z5yspQi;sFrtu+7H@Q2X8-_jd}-KJ<*;U~Q5HdyE^YgJBQvOV7`t_a%|RKBg!Si2m% zU+96CExy|Hw-x5AR(|>xyU7~!@-H&4xJ{QCGulp6Xa1>rVXxEjg?ROOXm?CHN&9_y z2~N$k9#?tcQVJeU#n;mkjj3t?{t2Tr%@x8jUc~KEamX5ekTaa> z-g{lP`n0kc{BE3Whx%7oWovL3a?0GV4+u!1nau9?tDL!WzNn(taX|jyN9C|6g50rO z`Z$%QQ?^t{=i(tMy$q5*YcFa$?w~gt;lu2g5fM}xtnLIf@_zA=zaOMhfoey$ZT)>q$ zZ^PM+cIpr=0=2HHxH!s@^#HoP`DV2L$uG4#+Ior_>lZ*xz?ruvP5YkQ;H#Q1&Ejt^ zVh+sjSc*rPLaoS|A1aBWhGlc70@p1fkilfA?=3X+r%yNurCVJiO_~v18{5RW74xZ2 z-0#pFDwu1RY;5z*w9+XZsq@QeizA%Nbl*(Xo{`e+eZP?%>5FT&-V1$m7@qCVOBTIi zwyerL%uw{K{EkkHbh*n^9mAgg6}onF;8`}d~FPDeqjBydl*&><}Wapuy6r#ZIBu8=W=e;+iX zj`no!MV9BJcJN93Nj#-LFb~~EXDz>aiDn}c{4ys8v;rVKazVhtHAwnk;s&Ig;QHj| z-kAm2o=+g`F_4jxcjI_YIz6-w+}Zm#sg8c?@w?ryyM=Yq#*%*&Rbca99$eyrK{!{~ z>Sa+We|4#b$u2HC0Bn1ZfwR)8TV{(xn2eqpmC3DwDJNc_M(ovK=^4m=**7cYSj1Q@ z9+0Wg0^K^Z#ES*CEk8l*ceo^H8Kltrp9(A}v8ZxuGT$kEqNNdk*}iG#BlX zRvVLN>0ztA3A<5ZJlkk)JTjzmK<>CYLI>db5o&zJyb&iq!@mf?@NvwyPk<;v(2 zT=~bv#jJ@#W27C`p7WX`f?(#Y{A~Bq8=Q^Yd)Kqs%oa;)JDxkqBJaC|jN|`#0d&Fx!^JZY&#G0;lZo z+v`~920^R2nBsG(2W0UNLyG(XuEB;_BvIf-n}MmSvl}1PL~q9h{DQwx&(PtK<4w2| z$uxb9UlI z@iMoSFH)XiTjJ&LJ5)VioM6~0$eavWuFuI0a!U96o$x-+RXBi7d2U#!-a}nekw}Y_ zfcM3`qnLo$olh@>M~PtMon!omJjB1`KZ)4Fp_sq#mL&FE6B*zB!=~Z43w)-aH-Pm| z$88_q4LZ3bWPUJ{e7M~aE+8jHJycfF-E_!@n2fIPvnRbQq zK2$ow`~w*KBo-I~zbEALGc>60*@Dw2r-aBl+-}3dqQ|aW&%WUusEX^^u3r8gg1LDv z8OM(8*~A5#^hjsTzz+Bl2acSyHO;iD=Mt%zz0V!%TsLixSP@Z0TCM>f6wl_rrDwm> zro%Qilb2x;qz*HGu!y==&OG!B)YY|JsfGVTbD@Gf(5$9m5qW2Fi7k0=_3I%KTW{@K zNE%j%oc$bH!|7Vj69~oOC(IVzhkdnHztW=kb^fkp$B50E*z@ojRmYpgYWF2Q2k*{$ zEaUQD-mD6NBu=>1KW8F$-ZiZ-Q?#%qCRkv&YjB;V?$5EUXO~<;-_G-J;E&WU0~d18 z=saYSwy-|oL2|2f9WxEk8mHRYhvrRTYd4@{&<7tftL{zcIE_jkO>zx2(IWNQWqE(e zL9uGQJ>Z=!`gGeeRh_2gZ9Dz@y()$g{_T8O*$lXp$|vcPZeh-%nY^9kmf8MUWyI1^ zI5`j^uY~233m*A9N*EOpQ_T;%tgnOzf8VVHqeQ;CWtS2_R6blZ9r=DA>D;;K1} z2}D{-qN6S&++@U`SprFn3k9~8dP1!8G+bK_x}|5lA<1YN&pQBYu|)b}Tju8DVp4C1 zlkzD?uxDXe!+cVc`^@*P>N-(^h)iK^c`j*K^#bjYvEb6hGPl#0C#7teWXyUN%Zz71 z*IX&E^SSd#^I=1C1aOT!{L0d#l&~WY8D3o(fjzJa@XD3KqM$~4^!mpD+Gdg5E~!3b zAAYhFT{B!zGt%;m0W}Ss5bEF=41}I3}~2%7`O2}D5L zs=WY0r|h|2gYA5pnUClg|HcwBdxpI2A)15^cWN`)afb$R`!7RMQFj}&`1bMG$pRL` z*9+n5IU}kdAo9bR4x);+%OKF^D76lG=WRbuD6;3e8^h1j1I)-q1Hzvg>&L$ig;v1! zKiH1e(ozQ%g&oPGKCAw&BTAfkZb~Lm`T52TB0O}%_iT&A>y27g(F4ZifJ)CB9S-&L z!_}T0j3<)zp|GFtcg6Y%@q=Y-S{`?BjO|c|MtN6ry{U&rSr#8Hv_V??PW=7oM1A|! zDrxL1tv88*V(^Hqe5}oC0xQ#$T%hipg}=CDpPTv^#5myv3Cf3Af_9;!*df)B4tT6x z*m%qR7TJ&HKkc{xBN~UoTUYp)^blBXTVomMJl;FbHC&T)^D>t%m|qrFA#2`A_wB0#!Ha(xT3Sg& zBQ5@;1zK%?54Hl8i{Jm#@iW zCSKdfV3Hl@{U|T{lxkuwMfuCs3n*IX8NKGo9bM@J@+2J!`N7}_IThQgLR^aYpG&mb zN!Unc^6NM>_qa-<_6O;Ft)b-7xLLy7lOlMPbHt`(g}eXAbXF z_W{;NkW0CJD`_1+QiObLux!edBH0#eguSp%#0@?cOA-Y=(8hE^mhZaqU$i^I;%ZBA>sPC23a={;uuS(Wgm>}P+_F0OJ2K&9;KS~Vs70;FGyP$2T z(w{_VI~$EH`_+GNbC zyrpy2-oAv+Wgu&Y*|qf2hn6|D&eO{n^&|HuY^GLtjqCHMxs%7nx$r_c&9@2-BFAru zp=!4OSm^%Enn|Nig0HP*hCUWO8_!jiZZBBm*5@hY(iL)~o##+^Jnwu_6@p&K(gEmS z4}?3uf@f4H*UY1qN|wTTuj~gPM@ZF`ae1|M(JN6jUij=;UT9>2vR{ zgEjZ|D%Ba(sKaz6Wuhjn-B?BI`Ex^DPF8AB7`+X=&)!5c@SH<4ZFEIjPBG>bQvtio zPmBY3mPJ=9D1K8Co$WkdVKRm+WJy^IUG(w&7|OwPr&FK;lpzOS6b?PRWFd}9N8U7t zIb*{T#*2UO0Xqw4x+UQ4yg12NK3ez2cur$IOD1P#q4n#N$b-!8_e{qNs^g)eY^8jZ zK>%n(7QO%kKt;EnKXOA<77gMTK{rq=-KL%VEhi>Fq@&TTpb+OqlH?hiEKk?thGbSM ztnSLCVaSx3pCtI%Qrq9SYQQntex@m2OX~6=eH&rJ1{gi3IIhcDj5C#qkCnYt(jgD0 zxNEOOfL~G3b878MI^0X)RIWv`y zLcYI{<-PU7Q+5^is{#Jh&G|aUhT&V}*CPMx;UUwCpC#QlAe6Fa(}{ZR?B_i@r|+NP zqpd~z0fgQ%^+`7vvy1oBWYHI96^20&7cmX;6x-jZbYgJ3;tN)~RUahglgW(CKzf!J z;B0heg=rz#1w!0h2SCsV%*X?qL~SSY!&9E9(vKBt3(xmu@#v5~YO)nAo!7O;+FI`3 z<|8s7Z`JT>q)2#$_X^04hiRRDBl|-oN_>DTZC&U!?JwhZjn#$2WJSG?#Y(+;SL%|n z>N<(x$H1Y-jE>qpxm+qmiP{sUyw4z|{~ulOjfVsELxRfx$mdH_31s zQbl>*sXL-uI7}bay(n8qh>&)GoQnE0tJZtxJh92*pI&N==mTW!VX+5Q=XA+qeq?(|(Z7@6{hq;e%lTm<}%VN*v z+6gGUfk*c{FpZA>+zQ&QFZ2pa-`O1d8EFFxxTBzl=t6md(6gEpot0@}C5AU4i?@E= zRc{AWIAzf(+V-gYI6>r{mdYrCECBiL-+jz+vcHJ66xj=&$4?bvC_HWBn##Yeh>U@^UKRa}f?MtUcP1r&`60IeotnzoDYH z!q^BpQFFlx?>%%KAU(W}f$1nANUa+d}{HRbwL*?fTyi~pLEg)s{hG|zjIF`GoT1V1YmjRWfqMZ=h!c5S!J;f=}?W z-u&yJ7IOG=4Ikk6elzA;)!!taNUw0I?XnZ~xD2he(OEYvQ5RDyvY0h_0cwyOvB`Xq zQFNP&#Pva2Ej@1tW}C*2SWnf46)^ixFMp#}!`&uT|D|lSzDlhI zK6mD|0wU?vfL?e4B%Z0+!Thq}suza#xvEcXYczgVsX)_`{?iP1NgU3X?FwvbxKK?@ zYDzWir_aYVC3AH%p!Xw9(2tbGp9B}(o^fe^QTXMu?M-d^fMZSQ)84*xC&;9W21~4J ztPi`oZO0w(P}+oEzdnSBr9&a>ckV0^Fg^JCj@{TRC_~|zB*Ahok+Ue->mi0`z8P){ zp+UVf0f?55l*ZGyiFK$ZKDw2ZH5BA@plFhcB06IDBQUW50ZpZ#AV`8v)|OpX;QhmD zWq^i|Ks<#2!Tl;K^;8&cKH+&l`7DKZh1>gG*RH!f-}+KpI8)u=4fs!S$FJ#xhUEcA zYslwJm&DKYI^Ld9*6-O5=r<6hAYk}Qb$Db9)St5T^h}*VC#I3?o{*c1V*LhO((Rx?=fxRsD`JXJ(=IxF->_~j7UxEwH2T%$T}*oa@KL0q=)B3iLs*p1eX!= zN$r`)Uar>6C|--tWbG4P&8OFiaozLszz364!DHFpwf-3Eo}b^yR$%x-K#gBj*Hfg4 z#${v&a_`RVme&evPQPG0^yusjm%&N>2r!>(SptT=v&1it8Jz#HE?*;PrFrx${Br^& z9$=kq1o#cFbS#x9x9)3e)_41DH71{?l@B`UlWz4+S zvM`EeIovzc4Iy#N)6i2AU0AAsoe9|uIZayEiuz8=9uhI92@r|{Q0Xfa<0T9DIX7jO zi@?V#Y{T>MnIP90SY zwH;>T^TqM-=BcSzEC1?@ zgn?U@y14h{?ytU@ddsdy^aFB+>V#27+yf_lLjT#YtNwKR{b$g=jevOV7$|jt0L-B5 zYqRBx<#J%Ey7cdvy)sRs{u(jg%?RY6OoVCM94@)Dl`P#qoU4iCBj)ON zpZGrsP7#Gu&^?%l0+bJ$MIU*J?JyUA98R-7-Za$XH?RNJKTwtg@3jL)GL^mUaf2Uu ziyQ9K-wads*cM|fa?JF3@B5JRd7g@9$lBwqzhY;vdMSF^6F$JlO3_+A>0$EUv{qE! z%8}Hk^HdxTXI>r9*yym%s#fUcdy_NNxPOYrPn|p!jsy#_O^x^8n9I^#`X@}e*+rSA z$lh3a#Z7&+i#+MmltWAtp{fTQ?M+WVZ%~xdXZyatD?f)^Su_i;Qa<#^g|7wkS&$5Z zOb7#U+Dilsd>t{@M#=J@^hUyF{2C-bJIe(2xyJi|J?51mm!WUWI__iwrrO_~ACuY{ zcleAJ1q>aDN8${DIXw-)y{C${LX148nD|(0U7~NF;Pcp_Vg9)Nf_LG*cavQgJgg7T(zs~o2&HLo*yq_i0 zyIn^zg$Ubkgsc&gb3mx=&C^hkbCsZ|eFKP7T#UD2e61Qe-Lq>Q6Ot%-af0=WiDYy3 zcpPSZNEBd6u-N9RMh~&w6%<>yvB3LmoV3aL+4Y*hmOj}Dus z$!0XmmpvD_ttj{sc_V2dWMg~NhWP(+_SRuhci-3WttcT9k^%xM2uiAy(jX}U(hVZr zAk7d;H`3BdcXtd*hja-HGtx1@&;vug2k&p(zvq3g_j;b^zxi{{`JA)QUVE>#_WAc8 zfz}4CmkIi2e8>!+qk@uTE?INEv!56n(znqcn;H$Zn%G;JUz~kByoSL|rSq`Qeo?-q zO36{exe0l;*yLv)L_oVee=cmM1!v*FitI^EXKn5 zTzXsZ?;E`DT>?_W`jv!&j)xZaS}D=IWLCUDpUt5%}W*C*xzdJ_fbMtmo9t zdDrc(x1OCbTv4AF&VSx2b}J{H_z?2uY`|5R1VvR`W7jm{VgKZnsu_^i8eNP$N zuM&&Q-`0;#T=y~Eg8J6ZO+sCaTAV!S+1lbCPP%qgu~4c#-g@|2-uH}<20^Lok0Voy z4Ayvb1)oi3D&N10Nb*=rHe@k^RIA7AR#99=A-Y*gOIractKx`@vZ%N<}4 zXRu01okFc53LP#*V)cQpcM-k3#ZeIlPczEj1?KQxhk3U1V6io<4yHZYZsRqsGrZnF zNZP}C0^RJ5WoXW7T+CI?@*vQzH2!9PjxD!s(w{h5T|gS1J3Z6m4tdCEnAoR8XzxzsbMNB5`m z9XHg5xsg)3!`eUkJB8?4)7_({60GEQVl%A04S9VXjeO6rt;MD?CFSNn;glM*uvsrh z=n*rS=+^nS24$66>seF-lvv?^`bj$C-n`7p-Q{tScKQ5~%SP)6Jj#{lKRBYMihS;S zCG&BT8nbP;9<`0gD)o4_bMCpdp%BDcFTptEE5NZ7ca0)7(2;``WUG_H)w zax#^jZgtGs#f;$k80W_~*u6Kx=M&&BG&ePdlI=3=em+>SdrAKlca*58IsAgpbirdZ zJLDQByY}LmPkj*-@Shym)uOibPK0zGxjwMJhhhmv_I|=_FiwUVygd)JZGUvIsa5qQ zRo{}tI^L|WN4SjzOyyLob;ZBwTbn^{>hZmq&!%t6prYTMT!=da_iRnV2`d(mt8uBg zer*`&3#9tLqEEg4)N-UUr<{;i_sp!XLG>x#CqDd5Y0cG~%-WL1)Xyoc$)0-G2*184 z@ylHy@&0)zQsq+j+qG5y+G%P#bIE!kf8 zQSg@4P1MOA(-l=PTH2(86^UZXx)c-U*;bEhJJYXuy%+f?1hAzCJ%>Ju>8JkhmUreJ zd_Uw}2%{Lx(yGcc>kgrhO5?YAu;94z^XpCgP3E(z0CKv*z4PI;<8*WXH?xNwf$dAZ zi)<-0;Hf4Nq0Vv=h~y<`00w`={?6od%opZKCAld)RR1XgwYd}sUHa{+BEhfZ{5Mz#OLwX?ras+elc)o z&g7?;-9Tj}Lwmg{>zMoT`FuV=0;2lQIi12RkNu}s?YE{^b;#*?JkMuUVl|Tf#_6Ut zl^3=jXrfdayXHb)e?b(f%fc%d9i~pdFaHmme)Z;SBhtFAW}lApj*fnWX#e-oZ=}ee zwjGivzXL>U?P#t`hF~p*5`R6Xx+41#Az;5~_{n-H;QYol!iV>+iOA%>q3TW;W37De z&_-$7tz6b*A5Tob?P`MmxL6`7U3J>ARG{eKLAZ#P*HQ@ z`(G<+Bgm$2^uWDI3bFz)`5Y{F_nzq$JEH6HIIlp2!>Lc9Ek8!?wm}=DI6+sA(X&4w z;dd)uINg#6^N*!j>4HWoA}e?u{PYXOe#^KJdXAN|NCU$8^U2L*O$wd+y(@#1n=cV3 zhud#2Fe~hQ=C-3;nY`XVe|!|v2!?c`8W+`Fas+wTMDaB_g1&7uZNdst1y?;${vmmYk$n(vy2J5Kte5eg}CIGE2AcF0r&1F z$YqSc`gzi3`5U76L)TafTxb-vE31T|cbWDh_wE=#eZewYVYY?0%d(D^5554!35Tt) zM+GPaqbRF12TK9=tJe3N1$lFB-k5rszFxQm=0J868&YB7DWA-p$0Xn9 zAHNThdRgRTNzGDFNVWBJX7e5$wg7gsLj$ z)VJ;sPjsM_YQA>m3>@Pec_crbw}Vnz%DZ^pw=(26C{ho(UoJ)=P4%->F;_9;rwvhKpz< z%3HP+>rNfaB&ejbr9)tQJiz;MOM_ZuJ42M+^L%dTQ{TEc^{4kz?-FV2a$Anzi5ugk z^1w2I#Z@f=m*wDBs(03gD`ya9aMte8!{ue#e5EYqd9ke_kxOC=glFq~@mRwhJ59x= z&H9Lik1-d*^K($ayC#2_FG;aFcXmG1GjIDa#{*S~dQXOT378S+z<^UK{F3HIU9TAd~Ct zDeV%Mu$dHFwB8{!0GMw4SSAVzh!F7E6()|oc*Tv5$VNU+eE}0N#*D{K2Y8=N^YlEX zIa0ZLl!6F5>!8d-r3n@iECQ-wei>14km10>8TQT`o0he0i{&b1%w-6Rw)5IwFwH;id;T9*|qt% zK4ey==4CT^-yC6Yh}*wG&Z>^fx?wr-ykqd}#L;{kmh=ger=9PQ>IJP&EK*r>q=@zp z+xjA|0#!de9e*HRx)tLogl66N$U9rT{@tjAU1E{Ll33%>qeu73#I1fcdd|e*ReQ*9 ze-(}MGDkqGzE3NzfFT1GD?gujcgF3Fh5v_mYX`p*%eYkm zWiGhdK$lEv845SPA*)K>H9=%4u=s2Jafv486r%*^QaO^C__x4oDyQA zg5q437UbfC)_td#>3zZvgz^-xi}&ghNBRJ4*p>9 z(`RM#(P$`S6!|8mUV7In*F4xVpSu`8h1cdmaS8!>5IJXYl9(#x^Y1lo__gV!YDE-$ zu_y0|+T5rRi9(K(<1*|$%MRcBDsSqjPZg*r)?XW1GQ-_Z;>wlqe*7Kg9dj$(JDc1! zTqpvQz9JH*#P(}A#nbPK=(L?Hkesi-g-t-u@u@rZtC)?-)BJIQvQ+2&VLQ)@lxS~~ zn0^h!vD(-J=aUOfRnz8@tk{E}0+uDos&A6LpHP=;oJ;^4PT%*V62~%5W8LOX1_Z1q z-U;KA+X6$I_iAnHm!JFso?7fdZ*-LBPmQc9f8)V1zsEga(Bh5iS1jDiMyYq~b@u6S zvNt3I*BqW1!NqMra<-ZiPm^UuMFS%-by!7L4&a=IIy1?sV)eYov+sYaTvc2C zFfhO&^;&5y(7G|ebQcxOnfWXOHi&f7664127$5e<_Xn6bf16?9ZLsJPD#7Sm^M6UW zSaSwtMvIZd$6WrAk+gtmXJL7OQE|(QpWlH=&qc~MH~9G zY&*CT`~I)JlCnO{o_yGiuwpNj!_l1V*ij+0rS}57uvwnV-_HFhWlGP?fw9d~6E$Fz>H< z^rDVVaKhkgj{hT)Vshs*-}i}D1}zb~diyE|jpjFh0-Pa;3FHU*tf3h1$-gDxf3NGU zC$4#Bera$*~<%ZFkorV#o(;w8+I_xxfxnxE|izlw9a^Q7-4kUWulSxtoskD%t+uCtcR`!eV1TFPHuV z%~qHU|BFKV@@!YFoy*c)>DwlY^z~m5Ufmr3o*i4I4gFx3n1YQmq7SX(2LtM}c^(yu z1(Asa*PcAEIN!51*eEVviyu>6*f>6U9Im)nxFuQU15PGbM1T7$FL~Ae{I&Xj+yd%P z3*w@r6P-NtjeP$&dt`WEWrPBE;50#%PT*z$4B4&5=b=W#o8MozQ1flxhBi&*rw;v9 z2xCq<$txH#c(L%{GJQp7jOM#IGD8Gv=_bX_X`qTV75mpwdc=2S@>?EtkDV38Y#qoB zr*IlFEHS1c9%Uz}T>JhDraQ{Nec!%iA4h zt_?C>)Lwked<4r!5*9TqmBE=|MRq@nkf9zlRA0{cyut_vgZYiJ7$M3ql@ys9RS z3iPRVRJ(r$ic9*|*?xO#xVvMAfbGj*+V)Xd*H@STXSiB5Np+Pa=9xCXVdt+a=q*Vm z{nh|1kcGeW-$n^nx8iF(@vwxm!$8n>#6Lcaq_1duV1zCtvoVCyWo)>HA;iqhju7KK zq&!QqTcmY%;;!QxwFkb_|yteT1`kYg+o>Ee)c-R-7$Di<=|H#d7XJ^Esfd<~W zJPLOhJ4>Mx+PJ~G%p~fpkl8(ZE4|gz%H3TzzbwR(ikx=pzlUCw;jQk~&8}a0g_io~ z%@+F}mM=xA#<#~SSUCeR8n&ahsj}`#$S13=em5NI3ct0QRs^SUo)K*c z^eAf^#|?V>?QjI;^;Rz`D}fUGzE9v3BI}@8MU3yiST~=baH-znf(8Z zwPci6H@Wm=xMk$Oi~1@9K1>Zl!p-hB%M>B=U|GYj{i{n5!sRaNy>()D&_}{|P+!;P zzFKIMr9hKE^%kY}g?gTtrCJ!%LR5&-8Q*KWPhVV$J|m;{5y>sx*}{4C1fdN6w;Ul_ z__QWbSkT0?WOr?M$33HX;IyDscSeMxAd1X6A7#+?O_{e>5m9-QmF`wVU8`rt$-FhV zyj8i2|G1^*H$w5R$*WRMd9K0#_-_0w$TH#{-I z#8bh}XE@&0dV*fT;)t#1&4)kq_0u7A6Spvv|x7N{Vrw_xv*9lBG?bm}564RqecZ7sxh%)wLKRAM@W;L+MTa{K&7 zlH%P9;`axTZ*=cU&nXaR&XmZ<%R|G%?NdT+&x3`98c`p8Pp(_aEDvD|4 zJxSczkobHOOlRl%SK90c&ZvrBXVu^hZWL+u3EEN{-Pt_p`(lrK+u^IOt_@?umE{3d zdRaa9Q#c%u_;(}6;o8E;rhxn|{MlkHxk8;fVc-s;QeEz{Mg2E)6G{WlH)eJ`ZE?WI zK{=MmM77DqMl8lJTOWWvcFm`W32a(qhH`_Mh3X}*321n}1rof*8$wQ%<%N)5x^Ubx zv`ls=({I7%v4e-MHgf>_ul(0gtXp4D?)#>a!IgTdqxD(RZbPr-Qj~#@LkH0yfI_1` zlT^0SB3?X_g>k(q5C^JeGNbOyh^GLudLuMUEAfx*w5O78XZOxW{;_vRn>-XMsW*cC z>cVdt^nXw&Nfd|1i)Rgv?m|bQbH7@OEXhkuU^?}Md!)*oZ_lqF%39WTBh~4Bty^?< zL-|*P=uo;412Dg{C9q}Uv5KlRTMfHfVy5!^S{C?9h0y6`@>$OlL-VvxYg1S?N6VwT zXzA@w+OSe0@5A=>Fz}HGM5x%ov0YwvoA0*s@>#G$%w&q_$IByBch%VGe;&GOqwx-) zn$J(8lj``-P-@7HuM~2YK1>6r(OKuo982P`-l0`;E>%(=9Ci9tUK@T*LP^yUZTYkL8#17g`EJyOTEzX5 zxZ*GBr!kfy)t7574EBJ^}zyRZMA!rTde}Bb38DU&8W5Hx1vpJJB!u?Nib3w-Vla zZ%IbER%5=tzNd{%FWUhTgf|=!<`3n15I~BQa`PiKEp-YxBy-wEq(R6~^Q!7+tv%Um zALhpzDZ{bc>dygF%wbqH^?LMY8$n}~tw$_0-p|1eiS6&-ZHq!+E;6;*!R>%j0Hi+d^D;goT+qb z+LG@YP8M7EGTu-kKyIj)%;4dhX+nI9Bl%U!l>GSP>>lC@5UX*SzM%l(bnE`UnYTi< zyf?L8n)Kb!u6VDNJphnoVz);6BWZ%EF}H6ESF%_Erix}yqxl8eu;prt*bbO)H9NbF zlzd7;hoSixar>)Fk@hM~hzN+a98YjAp$cJkM2f@c|2 zQFyEcz@Q_TGC5xX$sfzTePzP}R09iiHPE0(g%$NDc1)p<$`>;1X~Ilp1Kf|`cU3K_ zc2fFSTAsYos%em>ZyRdWNf}wBP2(^gCK5R^HywfK!W$as@}mIMDyYJH|9K}SFdV^__178qrg7?sUcOk&qP@of5Gdy%i!=0JHJ~IktpHFul z-!rV4tG2+m?8x@|7P7&;NLWW>GwVXO&zDBT#1^mH#6V>7PKzil>^WluL`%!67H-D| zn;A+Gkq&Q3#e*f+y#A7}&n9#FxZ5fro^ktre#PJ!8sXtRM6q+t|D~#O6Jd?zw1SfZ ziH>R+%U4Nf5U{cx6qONU&Con@bpD~xt;`uszZTx}@aIaz@h`Ok+$!yE&!}X(c;U+| z^L;fhf5}Jm0@hWjr97XWl|KBQ)^U8%DJA+ntq6vO1gn%z*_X!r)95*(^{is3XRy`# z>ov0KxAjR5Op&Vmn{(c7CoEpT>%G;x_XDdR)NLqCFjH4>rlP<|=W*tX7jzEDViBqN zl@3{N!*28LnI<8~NvbeE(hn$8C%vw>a3=ipHXd))7-*zldfDsc%Z-v|3IT=2PEZ}V zJ(PDS%!N<_s6PpC0ofNb&cmnbX4|#)fmZSf?Jpx>Ba0hk!CIcYTam zOQK!Uo{K5+j_AG1QxyHenDS$ZY=tzBwn9qVPQ&?-j{>n*^6_v1wq+VnM$_0snx7pb z*ts;7m4jw#+7r8e60vFSwkL}ee&*gDW+&eHmnbc!-b{CZo7{B}JmKoMTj&rfv{!3z zX0m|Aj-$Cj>7i4|(km(^zbkXKde`iXw#PGYR*vXXP!j^0qI_}o+J^xG?{3uJ<3qe6K&kfBf0uvNcp3G=;TkE(d`iL`fGTm}s%s8%h%zql6LiO} z7~Mx>?N01`b_B8z$d+iCq9^zxX z`c#($kTc#)Q9AEWe{W(0BKIbp)V0naNXEZ6k(i%itIXiT>HL9w0)-b0B78O*=Hgj+ zELFy7=_Y}I@-18(`==0TdCzy7bv(Z&OR46$XNaQ0)Up_l7)-n*1pz0Q z*}V|7kA||HMMiCe7utZlgL^X!*t=7u56L1v=N<|o9^{Pw>bgDTVYd$(-G05<5f4|bGkj10&CHePO2T~;Ela068(zzhm?3yq5 zg4de+!6cMCa#!n3r|ssPFBvZ#%|@@gT(h~+?(6-8UJCRC67CnLv28`{op>^ZH0k&( zYL>@#T?t~m9w_ef$1-j!*f6jYdbwH&5FncXbNC~m{DbB{z!GzOk$|b$O1T2cbHdH(q*KjawKnhBRN9Y9$(} zCcUOh`0(sdu2l7B9Tw;%j+VAM+D%rczPFgk?6?xbr|3rhv0qJ}7O*LtOUe8*f%#39I$W6UE`!h>Wh;0C|Va7h7+#mH3hzoGIsh_dw0H2A+!JAC-&(W%v`$J_~eABj~ zH{|)6Qj%Wm+G)3V#OG^g=v}W{YO>NO)>Tl+JL~UQp-9yaK-EOR59?u5pe0wmpr0j0 zumQ9U*P5n7=_n4av<Q2yrJLmI67I;J!{J6_dIXH`SPmD!%{r< zu8Nf1&|5+8>GNj3(BfUI3cis6;;y~pJf}$CkJZ_!`~zOD1oKsaOQ_^*)Y*!x*TsHX z`x%C^SpCBBH@nE0rrK_V6!Z8_d0eeT^GL|UDf$e1$NT+J*al_Mm)#Ii{gV&rE#+qa zIMrG$9$hu`Ppr5WK&OazL;B4F4gDMRr*!Al>KU#*5FzI|{q z!RQe6!HW{uu>59GD~y@${9pv7X?z02kB^-#vU10Z-Q}Kb`!Ju$TAh%IlKm+E8c@8u zc==l(Y)Y92O4%fY2-7Rk=9!nHU#c+_hnkOEcex|X6Pl~n)k*j1-(CPFe@;9)CT3=V z_y*HEOn7f~^#b&MyD$8HnNE%65XU-A@M$XZo8x|Gs47m$7XkcArb(uU#sT?34FhV zWuVowBEn$XK~pf)%hPg^{Rlk=PCXy}#h!^^dzacNjk-a}d4xB#{g4xLq1lb3RLSs} zIN3*v{W`NhKCPp(Z7w_xoWkJ|w9c`?yTA>2G9RT_eH_$11*x|8E1)P|_9}9806Lw4 z(;FTJY)R)b%z8wCS|popseSMCh6OyzDJANK{ncGPeedC=7`W;<_Ob*;wfI|nw@7w@ zZW*HwI*XN;xA}hVPv6|vb?LNDWz=cC5b-r(?OFVrlS}h#Th>#$=H#IZ-&5agzuP!Z zBHw9RCdSv8@-0S8FQcvJk7(SxEL!vDL|@h310(JROm{8X=Qh2u@??RZ(-jJOkB_Of z7HSDE$-5+18O@ZWX~WA0?XnS&-}jHjX$V@t=J>(Drj1C{gcmv+4JRPe*eMae7cXdfpWgsS-o#>l(LvE1?6uTWHo8t>;hJ3x307tO zm#Y9?f3lNEfB5lVyB+m^wcD~J6BcvK!>8|;#h)yKZH15mvW#L_Hd(N>()Y|p(}CpiS{rGXYfx=X6&eF=f-uVioO2dHj{YHa=^%PP zqJC=Sba-~JWevCd%FFIayd1?rk5y+WVmE-Gk)lM>`9r;tuEK-Jn*tWFG{6(3-23m_ zIP6+i3*N@22qA)hyp8BI&FIB+cKp|pFdqi3zz5(cv$1;$ZsW1n?xx%czZLeLE^EdO zUtaeMBzDNL9L)*yykW(V0T-C)%_~z{x5*V58FIfk4})?ld}#v3P%q*ARk-(Y>RAQR zq)Yv7;Q~#B@Qv;c%%>ar)D3*g_T=lqEty*r+^{CS5h<$nV9i7Stzv~#z7fz%;&wQ;YwcB4}WcoJ(p zpU9{1KM)uMt|C>eJJ0X%v1L>xJ)onm%yCKTRcp?RKrOSq_f1!7kt z>pio3_%5UM{YFxPrJR8l`eq=001-{+H`G z6y)YCX@1o&>x^Y35f%MBGaB^bOc#EhV@#V$R%41CQh+a`eVMx2V^!SA<&&geXtd44 z57Ga#=_SI)MhvfyDXZE^ltM*>M;7SWp$hkxzTciyFKuQUs1T-fbvy^}rY|F!VcDH) z!Qt!=f{l#RdNk)`gz*9?Vcm+6P>#hri;_SeUZ9qYcHP1hF#m=UQk!#16ZL z_dn^Vc*h*kG*;hEETgao8y#&Pd|^mJ`Tv=qtTn~w2OgO7U2L8cFe5lPH^{Eiz%H9< zl1$sy554;cnS^c?>wS8(f3D5hd>1P+adD-&_sWKus((qvGWIc)pL7!p1%X#Kj;&xhR#%?DW zRHHMv@}C3+K$Yy`vj4yQWXiO?_1ImQFKrByE|&ZDKN(8n6+w%buP3rM;pYXV_8c`Av~!POFQ zoz|OFPAxP64=s%X1Qxo#<8r?9>Jar}CE(e4H!fTSX1f0d=9w;f+vZB|Y2KB1a#0&- zdtDw(Ea%p9;fwh8fuL5;8j_<6N{vfyr4rr@L!!ol+7$!+EiZH;b0ThDnag?Nvd-d2 znKb-Z0+H@4=>5#cGqbaGXR&5s3z1&a9G+ML&M!mZShM0+bZ5+TRNNu?E?}UfEfwT; zg3j^exlG+jF#aDbzzGJG8@mZJd%a4YMBjcMu%Hp!^*2&kIn8sJdAMl$61_~6ZJ4K! zQq|vASZ)79Fj?)eAt22S4;HXlOemAJ$)#^4EYD57;S;*kYznsTH7l`r}U;PyvC)a-omj z#|>v(r1YAGhsxtDq>sO+5n0K7dsl)>{Z%WlLNcwnb#~9Qc%+)L-pHMjdk0K+PkxCv zsa~!O_F0aetMUEFT{*^I$D29h{){C-M<*3gj}w*I9L)}72&}RaX3Q>()Y~V2_^Ov= z5$3e)-T}<8d&W|UOHqm!zp@e)_VCfr=}!lC{rcVEr7Gv(5lagDl0Md?_<03Uv_414 zRRCRALP=XrA()(l51vh5wbH-*1V`D7JoJhlCscagWBiAYwbd$p=&D9M0m`dJ$ccet z{3jgR8FE!-I3^U6yQ}%oZ3ofS2sWIUEL|R-J@lp84 zBl!~TN50>&Ewt8%6R+n{xmMvv0_46A)Ao507hgkxR$qL3osjv9o^MdvWwwLshL0}3 zOAL7Q1a5y?VjN;+FF}TrGC6?V_r4MgPq~l|dr#w&qgE#cerF%-oEl03uuct&0dHTk&B~%}$dADLo z`(cAH`CczQz4On3^TQZ=+R5$jCw24sl#BL-DB#+h<9r1npA;2sL3-0O6c`- zU5Q`7XLzb4G-v_)HaaZj?rxT#6rf(LDFv+lji(UEn+}ACtryWBpL$X2=x|nP>x6}W zzEmwzPb=I#4j=x)UQfeq&WL$B&8=Vmf(tQg6Gyb4qz`kbv>>g`E_=YXWY}rR`y$-q?F`cxf zup*73Xj+4`#zS0#&&2k)CZLL7>(67QA?+dh;15PJ5{?~n&8#j(0TRb+FCsZrh|Ph? zWTQPz2o+VpnT8ib`RA4b;3c0S>^9_cu&=aTjP@f^J^zYMu-?p{np zis&2QDSxUzY;O`OaE$DT)6M+kFY`8-@}XZze#z|W1q4Y6X436EPkKNheHJ)PhKPT%i$}AWZkytYVk)g+x=m1 zeObITzuA;lHW-9$`P4A1-19`);f0|P^40hQ3)pNOitS+5P8XEdvy-^;j>%Q}fKxW` zx>hby-@1P23J7DBL6q0kaNj;ILB1LNckMhB5_eTQKaBYPmz;xT*s;x-W!Q#24YEM3 zxCa|**oulr0n}4*v3MBE*&5}54045hK%IxMH%L{3jWrR>vN6z0riO0pEmQy5T^13{ z3A(Er&>PB+I5)nC2wS@KpYO-g)7jYp8bZ+&U|T)AsNN=B^QtgDV#qpcVQFm@Taeu* z&2|@genocqSDgP-hzh;h+QlfU;!vG(6X!JkLw_E}6(Ze0(bShlua~l;&v3}pf6AxS z606rr(dmk`7g9(#e-n?v=k1D9hdpztce492IR+HZ3z{o963b=P70$QR;ppVBN3b zCd$mNnSiauq$9B?(B{~?APPY^6<_&xi|5Zxptp-SFA0 zeHlu1Dk{J0*I2#cM+c-=#WDJ7-$Gxi5`b;{T4pg9_2$YFJxpvBm|=-r)k>+nd1PT( znh16Yo*NH;>#xPc@Gm$n_bsiv{Rwtm*hRZhv+y(mt z3eFFhEnw#ujh-_`2hOE>-yTr(C%r+V$K-JXq-hdSrk*7G4+_tD(Zwx8KBOZod2gQu z$&0GQtUq(Y;hlEk(ynu1kDx)jrdNj2_V>xeoDA8AC6wfYbcfsIxdEcW!#Um2OqKQG zCAWt*TSk}1V)c_UxHRe{GMC^`KcHZw*xk_*0mbq{Z}BA{D6nmRm=qyRxA>jS7bE!Y z$e&^Qht6os(%ee*ns{j)VR+nTN7f!-N{_GWw~vn|cFSFJ%Q5pMDIe@IxA6&8>uhEt z6FBtx(o0Qy2BsGV-3pPP<)1QJS8cgeL#AvGz)X{h)e4xil7dOg*!a`K1ad~c%y%N7oOMcJzinNi~%#h%wZz%8yMisZg|}gf;qZ`=F&qi2S7qL9x93TAsuW(M46^FCi@ z9ytPb-tS_lR+N(MagV7$@$TjZmi5(p2*l9}i9cw+OWw69FoKWbDwi|Wbk`+R)OW{*; zkPUU;gIqtPe<~xGVZW&awF)!Rxb-!{ z{WWYk_uit5;KV_<>|-ZPiK|FvUEiaZ=(5U#_o%1 zZs&D`Bc%qDo{%>LJ|ZV0QG9IBNsPidFu~Y5UMKqpi|uM2h&Tfv+lez2FI!!W2l*FG z;mMuH*qI)yU@KeN>32F%u~EX=Mc4+fS=Ebo*z(dX=8j{%yyO}-7FaFg5)wv%ohe6i z;XOF=FTqw)~m=aO-qcr#Ul zFM-SjnYtOz4@Mjm)^GdYc;K`C{X+L*_15$cjL*)4pwX}WW!cF*R-qnNlf~btHzRs* z6-5qj%v~wv@f8^K&c}QLd6Y^bEme7pAO5f~(l230oe*-0jHT=m(yr%cMdgT`lw-q7 z!~=1pqrS1%!a^~rKD;_=mj<;@4!+fm1ZnskJ@|EM!3`|@QPqx=jb^{jt39Wc`Ok*^ z%zGC)rQ#(-OuUr0-l$^c;iYxneTSKwiWS5YcNc@BiAIhDHYLD(7hkD}dk=_o9+U>= z`Myicv_wUPeg58?m+s9}V?B`!J=u`+xNLzvX#IZO`sQVpilRuEN$rO?svPKavWv`H zAA^Ys8AM;S&J&GfvUL6s}>E0aFqR%n{;3Q2DcI| zC%lp8A0Lzj?>Y>U;BADb;Wm=+MFtT1$a}8$hbJWY!hthu7k2qK)LX7M!_vcIYCpf91jMk4y6~EPN zZlCSEI?8KsT(uXvyztA0?j<7w4o~ohMC8B-fNNftb9JggbGO?wX%dpl@1M8YK`EAW zFEk2nq!`Mpn&k;Z;~333%*1J+KBH5m$FT7}7_E7s#{@Q&-tCxRO*9p}#iGbR+?dMi z45QGp{Pa$Y{`bVYon^7p-S{)v;u|`Ch1o?Vly%uXZknhyqs%J;b zGZj^-*eRj0^wn%2=mHB%Go9nMjNO z-mR~9f^h&dsN1i~R`MTotk;2}fDmKH#ff{eb~8*&we@sRCo-FG`<>U(iAKKm;l_B@ zDP6VY^6LkKP?Ob(P@QzffGp)uole2A_SYJS@I&Mp0Uyz~a}T=vy2Wib>s7$L+V@{R z*fB&8Gh|7dgbD7BJB}xz@`Y;A^9QJ72Wz#o0TQBf4mz1`Iv)~(mQzBHg$n5x@+|Mz z6+j>Oo0)-|B(dGUe4%4s6Z4o4f2O;8h3olWdN9A}7G8 zBZBT1`H)3q#AuQtgq8u3Uld}Ab?3a`pZDYIi#u1`y}_{U_WcBO_UiUrO#qM*4w*sw-2DOzXa$u&yvU$x^*6M|SQ>=l{7CGj;&Oq<; zp!L}gFJ}fQsbdd2-*g{PfqaE`(@Be*@A#E}=BE4@&&l?YZ`KpvvdfigkfA*}2 zCGl0O9QJ4*Ijcp77uvYW1vL}lGTXx1GFa+vHkc}Qit-`00k*EUt;h{KxsF1fZ3??; z)izVv!M0kEwvgbaZ-#fyCo~L(!9WKY0WhgEel?k7e01{$TM6j^lh3SXunpu zM8Y+cChp|8%}j01E20hAD$@ZnlZ}ZYX?oASN9@}5A3Zkb36eZ$@nmnz zYz8eJH4kPE)`h%P#AXssM~qs}19%!@bu={Fu~=c(IGVbh=`W2PNf)Ssh^cv4a%OFv zN6w8Rv*>-!^w(lbD&?*_QM)EDKK+py5Y{2IKU@Y3ZC*}(=N~tj(z_YClf5$wX1K&E z3Q8SLD<5a8C}fFDXA(5p_!~uuM9+Y_HJYeZ17?FrbH2TAk7#in;}p3xCL;}^9*)wR z=EB;+tfX+RBRN~`YsNcFeTpVaBt=}No%yy;#h+y$Jon=V-oKm;UcZLwa2I4QKSs^i zaDKCM*FANiLRvY!(wy1zQ)Xx^K?1bl0DZoxOy86zc@QT|vIZcDSH|cCnl#Oeubk4p< z_$KGR`;h&}t(H$g_%N)CF-4J3fgGY2JMTU{nw-TWy~r`k@Q%rSQ_+evZ}s-Wu4Y}V zpQY0~IX4$=z1YJSYS(yDJ&%@Mj@OjasOyKhM(68UL~x%V=z??qeTJwP8|EW* z9L=>8tA09NU+%9q7UAe%%xQi4t*2Mhy|jxdrDoyJ%gTE?coHHW!T)-AfaVa5yE z+VPsFP`AuHX8c)~((3shj_L2U7F&XnA477Z|)LAN<~Z7Bx)YddYOigvgI~<6W83ORj0w zB|PL&V$aI_-{ZBaVrNpPjB`RUOg!(OTV)8j_QU1EBanVcA3rwPTbuUJpClSkZiA@Q zP=~V{JADk9kLSaq$q=w>jc1dx?t%kt<`05Hc0N;FVzM^uBU)F2N3fgtzUI#m?K9A3 z-Ep7O0lqabc(TfR)aPiT?tS|{FdGVce!L1C@Rv^0hCsAvh%Q%ZR>~Xn{Zgt@SNa%h z50kyUTVorL)t3GcU5i&zU`>K*cXrdms z^AhxpPa}>QE&fgVju!2sgdc`Pm|qD~o!B*>3-g$~Ux*`(B2TG%u4EI}?`4X~2-C^9 zjsL8k1$$(hLX;S*=+bR-u{)}Y4B2q`$!Uv#FHE3{pz^M(o*!G2$4<^4fY8VA0h6>E z-0+=Cx9Y0EQdo8Ka!rW{x9zWv9~CV`q&RopcHsgO#W&J)@eX*6zIy3XD}JQ7FYepV zyPJ`0Pu60ic2oKn(uXOvIGN>BMZ51ge|ae<=$G2Kf&oM!XN3D~$+RbG*T9tK62GkZ zfm3Tgp^ll!U81fBF_hm<`AmAS8HUzL>-8Y#1OBfb;>snmeQSIJe-9PK93dfMN8XNE z!ZLHxbTo1~*78y1;dm0`NkUc>1PzB$jpu{k7A_|GarEA+-k~_W|4G#MI@V9}wvS<_ zl|{!yom{wqL3HlAYdpC0^j8TJnCeBC8TNE zZ08ex*;dIOn}8wDA2-Uoyh% zUisQ(E540m<|wD*>0T8YQuPs$f`8I-@=}K&$bP%Yhpc696ki-oBv_v~{NN}3^~v%u zju+j$K>!Mq8*?|u-4{i@HG{)mId}@XM_CzZ1mkW9mILq? zTFc6)lAP8Lq7~E7buZCeg=~*ST)HF^#Yf*a7mHbV+X-fZnOI0i{+^?My7oaV^WjkQ z#eG8G132WlCLzFn{QkZAdF8HkbCo{rP1_BLtH<-v#w4+uxbWw$1AP)AcFoH!Gr*HZ zLTFzk>;%$hk(X-zk~k2(dmi;%U$NALtoyXKx zf*+0y?0r~?`Ek#PsIeH91iZ+ZtB*YK{o-pD@Oe4+m z!-w9omtpsaUcaC?lCLHiO3pvJ`G)deqcQ)5eb=w@#+(dsp}+nCtZse!NT~#PBf>xG zJ}RESsTB)+*>J&O1Ji_k@_cNEi*P#Ud2a+Kz9pA_r&$ZHs7MY+oBb1?A^wkNMj3ea zWzH88hw^oBj^du}`Yj3%OfR!U-8%vg8d59Zn#WG?n?SzGq=r(7;QjoSJ53PXna>dv zOChSz@^ahOrE1!^YI>6?C0!oZH)HG6hk}hv>@9zAs1xyL7F=JMJ7OL#q9 z-JHAcIs5E$c8T01WO(xq+9Wlh1%;svm$9m!5nYixo*h~iJ^s#irLwl9%Y2jl8&kqfP-;w^-;oT?zID3C< zOW&+1V`6VcdGm=PZMh{=oy0NM{As7yU+Htv+=)U?flGTI&=u`?^W_O*=Aep)yORbq zuQtkG1rcIWP?;asaQa7*mqpTRJvZc|yZ?ez$>p)6~7A?ck^E5j~fI$HS@t0_j()1ANX% z_R)ifSg!KJg$31uO(0)0H>cpfO;5ru+nbA(XCF*t5@5)_+;2flo}NySAEu91r;}4B z%V9JRksZxa`x*)tPrOGB(C^nSun3T4&_LgV*CL#s*f%E2&_kiC2TBMF3EoS;*hPP2 z-(lTQE_<@vvSU2$35om(;4>e$gi?Kb%?g|sqrnzfda?`2_RH^xclA>&rTn#HW(8!- ztl6UE^%T^^O2cSv@RC}#6$gltQgKbm*mw!m3YL)H_3BtDIc`RpL{_l zbEcRHj{UO?AJ{6%GjjDELZAh!J1>H?R{FST$<1mX+ld@)f{scZin6y`^re$K6HxD8 z=71#}m&uO$WA!67K=LwEobN0{gSi6R=I0q-D0-dT$jbzRg}E+*-b9H)`0eEppHJ$7NHzlgJ(<0=3n(td#RNh5;YW(Kc4aim8U#@4blF zxMeeKsrQjnUwX^vFl+-mpZwXYD&RJgfnwY$<_QUN2zFOyNK{rNHN(sz?2peo6+vrU`_UK&J{R1$ZF!-5A z89wCs$6jD~xX?hJPkn;uj=M{^GZA28kuAHl_FO-^KIW#UewXOSlV5xHx^7AsO>|4g6z;(DwE!3pp` z9DPEV)LtD@QRLoq@ydmKhnDN-uXjPeHlsJm+M&n*)6f+0b%Ez zu@1IW^i4ro)y5l}H3k_Zm*!6Sd<={);GVnl{|>W&l1gZW*FyeDCUP1uc8@&CVU-9< zWJYvD_juQ-+F_X&vG_9VEOyi<{N3eX5kd{zt&~5Z1q{u~_KmoDg*qwD6wbxpViO}u zyvEf-`uN|kUvkthVC@iK56(O47sQO$)!zcY?r>dG;gcQUnuhI6`aXo+H_dEeBjwvw zOH55>xo2|psX{md`FJed_@4UxykG3~{wP1bpK=sMj4I*1OZz9yzF95F0(|ARu-fSx z!)Nfx4FzLS7)+lrSov1ZiyiLX-ZCcdtv+^9&Bw zBA(F4ym3--p2Wp{Vbd-$ZDXB!NO^?&78@qi$C~55k~#%0!oVudwl2?^t!?y(N*vJ`uvQpO!e$^MG%IdI!Vm(k}yO zBb;CJ4l@luOpQQEuPjYek+6jt>GG=FM!pQYC|o};_UwJIe@QNqR-zBPPy9C_?2I-L zFH9B7awOrhX7X~0C2(gCqQfM8@HRx7)$I>H06{~FJm&YgM*n!he@CdCEPl!t9PuMp zOe6hbTm5{s1@wJ_yPWz~Aa`_6*fBaR6P&-zu(oD+wBX6bd8K1JQ+AI-DKMJLQIOtW zS`{o{f0tOF%5ZN`ttr;yx{^Ke_2N|e@Y8866@IHj4A^xX_6{X4u+&yVGfYWUb0F&< z>knF=FL_RSRLHZHG<@5TKaN{n2CNfsh^^6~JnnmF(Q7~5n@p>J0qkUkqx14Jyuvk~=9Th1QVs2N>Z*<1^3jcC5E)O+TU zvYnForl)Pg_90*+FOY5oI;yS7P^bevtz*9dex%uq$2PYx25hGB5x*&z>@bm3xq2w_ zlq$`2o`}!zE=y6IwDI4=k}xiY_ey`4%u|S;p|LexzyPgs-lV=4bXcqtJ54(ht!DTL zbTYhJcTxQP94~}!o2@%p00Pklh1+fWY}OUzS7x!9Ka?MoC*P;>&f5P{H~!b+I(bLD z0N|0h{g*aH&SJ9WmlFhq_0{?Tr&2aDJslo_EE(#7CDQj!T^IY0LyxOkM%5(EUPnc1 zJmLrb^0C>SWrkNspk>yYcm6ZMo>Ax)?pt7xW1??&SoqA)TPN0Tc$zn?osY2|1#hHl z)Vq%287v<&Ll@%nu(U_vQ7m)PMxDo)Fdpiv?-mz?zM|EA9_tdcVUm}e+hwoQW$dV$ z38Nx%XRHYJ>Fp+d{M1y=Yn-!{UhBsyCudC0b1NQj#o25ZJe8cSx^3I1?SK@U13oQ; z6Ea&b)7i>7ecZC<_uDn{`W!9?A5;r1_KAgev$LoiiFtgYlUavuD%&>1IWend9VQP%h;wgpH*Jz{%&|_rNwHz$FIl>cC)-)N z++?Jk;y0i)9r`bp{0CB$ZjnAV%)MS}#q&Q9(?fa^LJW&{9X-fd*USYs-Byjqyf`D) zx>hK4rxCm8o6TLB6LS8Sj4#0<8HA)I;L?WjI4KA0>wyb3fNH-7`qcmdc- zdR{H=w@A9vD`wdJ^(U+Wk2%C;?#yU@m%h5w8Hs>ENk#>a*cdahu!DxjGm)B4$&gdi z*1p9K$cS|^T!n&OLI1MhJ~yS2wPBdDWY@{}eC|U?PdD`96$yXBuVFcKZSILxBo;GT zLog4*u+*Yi^F+-aA07#WWg&L}=)f5|px#8??mF`E(sWNP0&G6-Q$IraM$b{O!b`l{ zucfRyh2hc{R_B=rP%H?OzWlRJQI1rvC}8!fky-J3v6fLGpb=8R_RjBDwGg-(_=&C~ zUG-_6PKD#$5DM5!CD`1SUiJ4S5f!XGdkZ-JuJ$gw28~8XB$gFPUa5b5a^lmwE?OKafd`+J*H1ixY;uI!; ztxz~TbCAa_GCblahj5C#1c$zrI&O2y<>(@R*(H4VCb#`_vYrv@>e!ZS*EVESPbv;N z+&7i0N22bCKS;!ChX^P&?fzmaED! zjV%dzUH9<&mUrS~+)Vx@>gpo)xB33S?NZe=4HLM{&en8y^}s`w{lz5UL(}NpO3``vT;K>gS%$=@0v}7I1M=ei& ziha#!ST)%0zD0AMyHrU##O}|b5!V?(DyXRs18k@a=)%tMI!CgEaE*(E#wE(Fd6cZ- zWf~^OlnltO0*JTXXCxO!JDGGt_ro;RrCV3(6Z#8NF124~hZ){NUHipg`xPtG+rd@V z_CXGkeD*!`4@}l7R(`c(wQR$thhNBF#=7$|-7nD>fN7czt6;AiQxDvfuiWDKBKJ%>`fN}kRmkya6vw#BCbOJp z#5MlAH7<13CpYe49@q@5?^U=l5rD8#B#aou?}WW+Sm2{BV80@?z~8~svME(2g}DtZ zA-B28>mc=?pDLek03DM*@YM|k{tDoSAuIrYw=H%D2{kJ)Ufg@w%OPwS0(3MJCK2*F zR=(>mSC(T#g)5><=Cb2|%bXK0LccG5m5p6yfI@WAQ!#;2%FL|k8yOpq^7w} z@~msQcapc9n#>NU4r3nUNJn~!Il1l^YbapuY534gwPZ*wYPcZmQ%TsV7qp_Y{Ar#K z-+(dLR0rIm!c2W+R}8z@QC#PNw|%=Sp=diZawOgKW>DniM>u{;F8^-hm7L>Er2l$U zKLuAgrOc1pOksUZrlU_c>J6tAMc_voTJLu2C!Myuq-6}r43nJpjw-5Y*(=jt>E^53 z9bIvP;;%FfZyx;MRMT=}PH`2K4~nM`d12TCajx+xnXY&LvB4Gq;bNAfdGiQU1o@f< z-i|BsvCpOKE=_L{H(ZtjL+j+&#iEmggz0m|BcQLnW2;NdmV{d^;OXde7>0`1sO zAwg#XudH2O$LQ=tA+!P!N%}?(Dcd?C-969eUz*woV5t<2Y9qDBuOC!jEKta4pZf(R zmG{nUFxTJ9E*<0)O${)q=ef1~o-J%!Ch)wpk5c$lm3nIb*G@Ux*#oeVK*(Ec6=yWv z*1Mbf&`=krpU;{7?4I1fe zOloSq2s0wPLqu4o7Ds)`?;!8_T&yOEQ9cQ?;eyVzxFa-w^z zHb9r>(VqDZcX{20ASUl-!L8oW+}|HosHWI+2nX$IlDMCD=X#J+$AA6e*wUxjI&G@_ zLmzzxxQdrdoGrhG(7A!_KNv6u0LJGT>=Z!1gKEgc!l5EcR8mFr%pp~7>U0{*Vx4WD-b~Ws#>L@$qLO#&1F8HBu z)Wy60;QBkM-P~w)jDOd8Sw#yszfGGPRjU4y^6G-@iMPF+kbkY_@^b@Rvh>M8p=0Tm zTTS=E_ANa5>>1%EL&Bmn%8$Eq=2 zQstDg`x7ERb=Je8coUc`A`1WUHmmq^#V5Mq)xR>CEzFJ@dzE8VL(S`8?oH* zuD2cV2I^jsZDr@8BDtP%#9ES%7ZO=TqF%ipnq;Fs;4AlV@MU$lMIF5QQ;`l1CCGRn z%$(+%*0hderwN=`DENb+6A^U~rcLo-^c7*M&_L_PnklBG_d@nKC`G6+|ELsT7xPm+ z*z-kc${)9df}0w;)kTB*9)>bTcSn80AUn`Bq(3Xu^^DLk;rLa9OZvcvEFyxii>(Pi zzXN%umv*m_X&84CGMpnPw^T2^gNPnPWoFgD1G_a-05?oIYM&3wUmP&8^bk^QL557T ztYooW4KF6Xh0qc-Hci!r1^Q~f-$68KutL?5sQAuay06>aI1!cn2+h04&8kehww-*JGEIA-qe(&C2Qa?7Y z%dDYx&T`1*E}u?)%>|rG1)PEP4;&|pI^)?ZQ?OeBd!N!}KZ|->(iCE@yc@pcOEWc- zK?iN%OcdyK?U*#w2z#FMdV=4g)OL;RxO5O78+!VIQ3tU!2JU@0+keWQbv;2m54VRd zHm%cZH|KeDE|pkHAR3;osHWQonH$R;Al1(-T83)c(F99=!@Wup@)t|q7ZRKWwFkEl z;>~(ydgOO{Y2sYvpKIDKsG$n)C#a_?;K`sV+e7&mNsORZiHUOuqp?*!qR)F2f3c+~ z*afbaJN+5kz7pi&D4%MGlC1q;=VbBr&985<6TJzN<66WU4Di}WtGFm=fD^kh4PKf4 z%_S|i?VMQcxb^&xTokLqJa6q~+;#*1+WGZ++KR)LjKmt_3x4u=ReTgf^;I#`jLP-abFA~A{}hSt zCw8#2WT%A2{;11yp$mkY;%@BQz~&^yE!zd>!|dKi4LRR4TvTwWKN}EX%V15?V5z2k z#~zo@Yp`T$dmh=klRUp>Gunb*dzH=S_DfoDl{xXxV;cbj%ghJOa*Tt^#Vl$@6{2kC zn?sJ96D@>ek;5b|3gc}4%2QjO!-gS-4C*P@nsLReL%+kl=lX)tTWYH8Pei(RwP#;h zrMTX^==IDZ;fiw!h$~dsoh7H_fjkQY%niH``&cPoy>v7QRA!eynwg~Fl(yBla#+iqp6)xqS&ntb(>?g7^^1?Ew5rl zxcWyLQK!@zEJA%@k*)aOB?>~SEFEDT@)*aq)t1gXNnLj!lrA!xyCoM*mtD_ypG5_bl#yy zm0+9&RrA3~^ia)b_NOnGJ?_@*l-^S_!kuzdj(v6>|K*>5Ug?A|gNp(|FKF@>`JcXl zOHoJ81?(fH`D%X_l?^upJi^P$vt695xtB+%-$PdDTxzOUYa|GZ(7`K~4WYJ_Mo=i=OpV`OaIN59`9~zfWiXd3V~uAo zKAMR1X0Jl;;7MFk&?NvgaMqMYIZXh=8338so=l&*JGZJF7X97kVqVrh>Jrpwe||fj z$CI0YskyT$xjp;A>&W^gh1ZKlLNsmwUnhdTw} zdy-e*i%rF%7g&x$uU4tEVh!e()f6T%!Q5T3zARbj>jDC6Sh#=K^;U zcXf4j+HK~&YKx|v;Ufy!3B`cPP1-@(S3kg7&k7Y%C(hWb%jz%;5osR#3rrsaA)otM z9Nay5BihS~8>M@CUx-Cl1PR;?xUushP>K&->9jlWFmU@LY-KEH@CURBzJz3mbKQjo z92T2Cd-x+IEe)@4i$>~*z%6z)p_GbhMf~!W@J=)<4~*+Tjo-@*1!4!mLl5j$OxM;S zKaI1qhYSBua}D4r3F+M|v2I`qj9qs==9~JkIb$KUzEN>5WHz&x%~m87UlBX<{KVc* zMgn#}&xCzji3Y#=6P}Q5bCzocO#DWp@r~SBs0##~-{^wx(NSqktaxt-myy^7w!Z9t zb^(xn0aR?ag82F>mLp81yq!g2FVjPS+5xa@Gc5D3gpbP3z+Sy|> zD`;QJOTc0)ETuI~e$wayDYKDqqdVx!+3HTs_by-KINulEa@55K;%Y#JFAYywBZ5BQ zTG;J_2T)}@s>tkKbpRT)c)(9MTE5$Mzb*1tDJ?O^+V*i+cr2B`%OjaVmM>AYg|o(VID%RvTu*cZFKO=ehXKb99^d*%>~g9I)d^*5C)?Mtv1OTO%@9gmvNGZ?4X3W zgPXl;vDsG2&{t?qKMIV4sTL^zU;#wHJ)fKAUpov;514nuT5J1w|B*rQQLf*(*((Rd`4yDdmMdUU+IgR~<6Ob#*UAz$ zx#RA?g~V!)1(rpX+BCi{kWPwQba`I#eSFKEotu684HT&+e_D z!=8}wBYv?-#eZEyCcGWLP_v5*i*j?4%!&YRuh>(AU`)-2gko8=F1gCDPf!IR7DG@X zMbl?ZCmt)oHZ_GIL)6`D1q*d=y>5=cwE04IjM_la5`-@1)vLI~oCz?sX6gd#)HI6G ziVs;xdAUOUB(S22nEqOB(9vOWDbviYn`lqL*U!;2f^pl6-HjdG%ZGV{Z-GwPdB!s! z3i(Z{bA`x)*C-I&>}aLted(YI`R?Yfx=&6!v_O3qx#z~x%Y*A6Zo?!tBrTt(9-DpB(awm4OlwvzKSlb6IUq?WwX~cs z6&h8FrF4F1cp^XvYwyC}5N)K?TuDwghjn!55CYsiP4G01iDnOhcnxO^Hj%`v>)n4z^`_k~65YgZ$qQnUq$cQTu)In9(H`qf&l zx6?vF-_dUX5Px)<;%N6}4O#R!znZZ9?yix!c9>md^f>+2PxuueDT`7M91*?4$t>Pkt{nR2&5umSsi#LhYH=Iz^e4<~ zrSpXspLV?7ubowX6ysr%f$THao&I4rJx%C-(nI-9v7 zz$YMspQ`n}`%b6RodEU6AOukzSE|1F2rQUf(;cDmg(i^gJ!Zz&%bPVi;pQyS%4%*4 z3WgrxnP}L}SQAR1%I&#U^rSjF3B)iFV9gVDBrBa7-8kd%Q#Wf zy|0nZoi{zsLC|DHXy%{)*dXpDg-&Fr(= zV#ygduW*0h#S7mAjvMCD?4UZ^(5;(WH@CU@>qw+E?*uR-I5`#c zRX&)WP>;05wge@=a1{2sMEx1`8X+K5{)20HBAJ^X&01fF2dra7MsG5kiHAQOG5Z}p zz{>;slowWd?c{s`ZTm34DTq@r?I8DZrVyUK+=J$+mlpRRfIhS z_3}S?ga6Fo@kySIh(2gb8sNsd<10m#hh6}bAy>W_G)r(&4e=W|7d2L?tp~wEd^f45 z>_U1%`xU#6JARL>jLD`8=Ic_VY3LDx#W%0b1ANYjv--^6379TVBl5x5@TjfY%(4xGeCYrk?AQyfeh& z`##4shl}U5RGsBfr9^UpEhRhW{R^b_A2}8r7zL=D);q|2PE({%+_B-y;Cg-Pnyw3y zGLlr3meHye^_aAQqO|_3@|I7r?ze7L z(@s-eUrNqjJcpbyYasr~cr9aX_zV;>asf-)-xlvOoZZNA*p)%+*%Y;N)ETl%*0 za_;Z7tuu#|-}DA&P$Mp<%%_&>OLx-lQ3c*a?tZwzEtuFtM3xy5=ejV26LU`4rVKgb zdKU9of&0g|m)TYikpYnxy7vBnig5go5FhE%TcK;Ra$Tse^)F_x%<3!ZS94kOPVNk| z{WS!=&70KPn;$-phyg8t4lVZw;?@9f|WlPW0T-Am*3 z9-7gc4d*a*4~t!FF~dMIj>dw%23#yQ<~`v@12yVQ_++m&4FHLJ2FR??AMRg`BSyEl z!s<%degnFwytn@Sf=8t`*##PYmh)yu+QuXtDDFwVM7Qo?+&iB%AK2&eTRAKo_4EMFy0lYsgK55#r6YtAb-SOAuI4? zSUZr7+8D%lZU`jV-Qxkkm-+iir$#fB9QbZ+wZSPmpw4 zTxwUg?Iqw@KB$m?kZb~O5@l7bp4T#|O%d%3wd>I!8hIN6W^27-J-_SR#KS#KSYab* zB7YzEheFZS!r6GNo2{Z*juvu=Js4YZq))V9t_6rqbj<6+zVhNAi-DiH>pk1oOI}73 z)IHc4^h-90p?ggb7v#aNjXvTA#ywhUVO)dt87H04F?@OkM$p{r66KTmgZ>PC z>ijR8#0U3@m9MAol=0m4Q0%b#H~TK$Zk$5b=n|uE_pp+EPz1&X*S3Paz66gXg075I zj0zvVxz~%exA`SWPtlXXI!{-+@#%{QPt-l(pQDa$HjlH-W}@1nAe~LS1wOF*zEMxH zwmg)sg1pKq4-U4k$eNZD6WP5c6gL@82Kf}4Snx@;0eK%bwzEOjDQ;ovFIq`?tvz?O=^vGf|@q(fqnveZ*6 zB`rw7C67H_7pkcMG)UD_@<}G*FMgV!*!Ig#$mO-0_7QfBONlknNzrq_Z z3Ef~?1WQzN)JIG_&{invt{LS!YRi~YA)cmw6a)+a0gL^7OLA0W#$-2w4+|(m%!0bP z#N=VNA*XcSi&Lh~X_l`keSD9~O5#D-h1eXTm=P!cX+&7{+InKNyBV=~xaPvd+1BS< z^AroA(_N)1yPbt}7nWNlzvF9{p!+YU&!cm9WevY}MfGVExYK?QX_kEzqkyHu7L1a?;Zf(+&?y%K13ID%wINcv(lGg?14 z-e|D?k!W2x{C~ru9e(W6wfNFCMMFa6am)8EQ%R4xhl({ZzZ9kd0Vab_xwjW;QQR5l zTAAwZ>Y7zyU!pgeBzk&!*S?py6D;I*t@G3JVvdOlX^dgv;K=rY^6r8T<(h=a*)j<= zO=sKkRPHO$c&KV0Ra-sda>n~7)X=C6Wg|-t12g1t7G!WSF^^w#|9_H2AX(Mta{q*e zK&;Q~2%8y*aqQS*t?FLd`p%*U7f)}+7%z#Ybh=4-E*P0e3{$Sk$otq4{}BB~PG&P{ zoooH6^-ae*uP{2&t)CW)p-t*fr-}(V!EeY;(fO=pp zey;vBzfP(g^*UsCT%&(I`|?*{MWsVjqhc)PgIb)WKw{9Fy3NBKKeKv8-JrjAhDya` zh}9YIRp;gYMdfd$IilzJvuK?0^yI~ZKe3-a-Ip;XeV(_# z_1Gq*U`Rcq1=QQ!CorCygUD_tu_kYeslM4(!NqK?y5#%Z#`}BmXoID#OvN|GIzBo2?ow3Q7%p_^Hrv9DC-~Dy3Oe?3YNGpO zY1>pTFo*q|`knVT#c)HtHyk|f&v7$!4+Lfvu1zlPv0bfE%tbiJ&DG%ag05J%y7y!t zD=v$TYYaYbpYE}TF$g_ENJeyf^2R3KZQSh3eM~42C!9APh`3*R1}f*K-nDkxZc1U1 z(|3n?<*D5hBFc+A|N2PlaUmrzotDy+tG*DbVz3gjP7uDPwLhim?PhvD8WvhbgS@l@ zpB8D&QICQ%fbbRVA#Dgx=k$7YRB{fk8`t-~0m zj8+D7q&ecA0sQkHu}W0-`{sj}p>*)b?;EB%P@@ib@e%RFqU6{yXL-xqc9`Sv4`37h zFOAMFS(?FCGTN`2t7M^3OACmd*&6h^jjA)6L-kY9;dQpou_Bd&(&p(&n<=sQA7irX z(H$u1BhGUC+$%uci)6yyx7f>v|BL@n2PaTQNKrZ=3K|A9EEHe|#Fyiz7(!pDZ?Wy< z-H;2A$dj#ZuN7uo7!WQ~D=bGR3dzIHj16fo7Gg>kC8kl_k~HBBJ7e=DuFfY9Dq`v1 zbuXDFeREqrM(=-^Pet?GU*Oq2Uc}Dm?Ds)2=BPB>yLkvKMTt@Va)-}(eDC#^-rk+7 z`_}CY>#s*N=7%K@clh#nBH)%WO}Xo&u?pex$u;d54Wfdpx~oSj!yShP3Zm1OvH84S z$!>AcN;w;&MR<1uMG*pUK-dcG;NPckKdHuBS>%brIebGqeeHK_08YN*Snwi z&ZEudLf0Cf>lf`k5)@gfmCOyWI8Ps`fflHk&4*&sM|DC2N+Pq_Zu8b`ov9&WrNXET zlLnrV_9aGDo#o)3Ms^N@W{3_ICoTgU2DbGn`uKDW&$Hk{MLgI!=DL<=PnlTNQosQR|xvZ={ zX*K!OXDFz+xsho1&Ur<@EK|BkLd)yUV@lVGT{aQ8TT29NB&=3SLErwAD43po4d=&Q z!%%EHulAJr>w2ztNmuWkO@Ig7m-4i70QG_Wa;kJMWDW66HEf)!*SN&RhG%QWk#HUU zUFUNxsgt%*wFkEsdFmBOfbt@D2F*~QOHDz)+@`3OXQj91LAr7gfzIc$f&H2?=S|UC z^i^(R4N!gg_)IF8fS3L1*sCLYw%%OBV!#nWZE=>+vAaaJ?7A_LvQ&@^%5Op0X_ zW-C$p#lCg6b;*|a&!+cDN}U_JTE@VxVbMW1gm7N9``qcE+>y51C%lh+AGk?EEH-Ul z<-=~(S2OMLGm0_}!3w;phisi*3hp zB<3MA)Ee>D5FAYiLXXC8%{u}A7!`u`;Kb}tV0!gBOfwNKzvRCz_DP>cBf@e%MI2kK zDqQs@6jz4s^n2ZM@>@J#*@wm@h;*gPf1&@SFp@GFlD=pcB#=*O>Tt^dvf$$64X8bb zLqhAOw^!5>`l0A9uDrkttv1CbU_=Vx@X|L=f8LclY>bXKg*bO+H25&R&Ok?c>0={HlC$)#`dNX2w2#mD8 zW3z@d-O0pn!0`elG8?aS*;9Xtv0%@qj#rr|Im>gG-`e3U;i0)vRcXyC%%Gr%O`DFG z<`*CIDTLWzJB^6oTb4&{8~in>ivLt~P8}aCSB~PHUGHOI-#Z}9RRWbx7cHUK&)CiY z%Kvq#za1Bsp~&@&9BLk>_G%vgMbNtzdNuhxOPh8W)GeY~R9#n?6MNO^hVbv@3f?s_ zHg@9}h@E7Wu4*Jn=B)V~+w_i_OJg+aD8X9)q&?hyRnY zJlYRk9hCSZrfX!XZ=@PA!9$xH(ZO*PB=_DY%f48!p~0I+=dCv z2i)T8(nntpxEo3hLI(d+aU#vWj)a~!i_jxwPpR!>7G+?mK$@c z{pe|Q@frp3xRty0_hTrBg@~NSG0?LZBMu?cYAb#6wZE@q?fws9#>>qQbgq1kWtkD* zSIdN;-GO0v#P6p?<%9|p{x3)b8F|`~9BR|LQ#I!lq6Y`O3jAZZ-eN^nUQ0<*6lP|u zjzHTJI!j7MKe9-;=JdQv{rOoczU=uGaLN%}jMGLlhcEB>1d~M*o3Lhmmhz%D``P9) zss5y~%skQc0iR_AjkN~U*y-aD)zTNj#wqN?4Nm&5uc#Aem+Y1ZZ4UZ6+)9#^dwPd< zN{zF8(N1{v!HS=1KCbPZZGJ}#!H-qV2%I9xMdV&0YmKnT z$f18r=`_0g!IeA{(r_a|1y%9&A0P4G$UQ8TjE4e`k=*e5&}zGGVJDaux4BxoF3st}i@r5O zYvZF*Ryogf#)ZdVLBO>|p(wl1<%zpl!pXJ%Cv)m-^}7FH>gqVa@K%%ce_#q<>$Ffs z7u>@u0D5k;fFDe9t91HMTAfp>k0ND!c}AY@uoEPMKfJ%)yK~Y}F}?g_S>lc?ntn%m z){3aY=dYNTZsdkSZl0s!-?iiPG0lc*o-U^+vpFTxDV5Ya`KKDAPz=HfttM&FERczE zUI^D-pCOsDbqTAIc{j*4Yh|Kf6Q5;bC8zbL%BLJ z>X@s*@jA6Uc9?~lIM`sx(Aw0LZ!jfau64@m@`hFU1EIsz29?0Kv z_v~%9e)dtg|9@d&7hrq*PL6x6y`~g)+%CF)0fS{9>O^VC?7FGn5ex8T3z|Q~<{3`P zCX=q+;!K^MAc!|O4K1P!r&jQCE=SEUf2As5gd%!#*GdS~*74`fyW}=8?T@jPY+409 z^J{Gu%jWGLzbXHNhrR!Qco^a;{~QVC&)iW~haY@jW#sOPX+LQ1+u!!%D1m!Fu1xL@ ztErbEe*nojzf-}N07c3ev}7XX{X>c}$DpVX_4J=1D3%rlbjYcog$-`3Asfm3USv}F z=s}X3nb)d=jVDwYe|JZZ@eokHE_56Y?NrX*ht|vHoEAeXN1wesE154O*nUoy8GMl3 zk;fJo8Mn>*?#0aCxEInvzXJ?4=G}jM6jN01EH#%e$cMNT^hN)$BO01CbteAJ8NTWA*|->AiWgECl=yTEnn~ZGdtYY z{ui|Kfn5*rb0QHdkA={Q9Zdf_TKDI{epZE5(@z;r+}}e$dl%o`np)N#Ws5(A!@V~e zEC=iY*MClj#Gc6RLS~vwa~3>d_r= zw3~%;mM^@;N{MdWYr{R5`iwL%8tM}W>U7!owa%|VaKVDIi~7~dNRp( znF3kwq7(jRDpm2yExzZ^T6}%D0;DNNJjGCR=C%Koq-cBmzmpV)7&2 zPdJuI26JSdkNCD*=B=_t^(ud0TQhI-`FPSPyr>)S*nbzyITV}adWhR(k!#L95`VT? z;OB$de)cz!;valg{||iLSe4}e@9{YTmwhZKCf=2|9G{oyQxkYMY&~n2@_dDcWZYrj zGUjaau>a@y{7_8_-~J^wWJM(m=_d|DToBF*hh{$ef=As@L4K65BJzfyPndkqB78|&ttgFSo!H&`;%57Xk#5I-f2P|^jp4MCb8!Zd z%q_j|=Gms$M@n?h**Hfl2Hvgf48R63_FxYw0EW2r^SGGW z;G);=KTO;Q#-AL;tDndc6tXdpn{zs^bf@e%oTw!!fj754hE9C>CVt58MAF;gXRLTgcF{(|}{)1QVjvmp;e4Z;re zEI%M`o#2K z*>ir#T8YX%+lcLGFvhh4NpUaj)L1GpaALfiLB*iYZ+`!gG}*UIN-+$6?-@^c^yhnQ zu94|cpCGLPNyHHCaZ;U=TP=0TE&D{#&OlTlkt*z7Xzg*b*-hkaR zprZ9BQ%3%KuyOx=un*(5?LzH;`wCfdxi+TBdg5#ft%sM0Jh%L$#fr}Y*D58Cr0xrs;sZ~nLPUG%2Xfr_gy|wWyQ=y+jaUp*Pc^A8b z{FlBp@%skwWs_v@1x)Y7{&Yidoa>ZNp!BALa807?w_TJ_i0RPBo5Jcl7Y)opXyoNL za1&J(mwNp2PcCOxsRSl5B<(@D3E3DIDULg#=VX!HoeNMLSm0q@4W38$+{bxxp?ZBH{CPD710uS9@b{)8yK*3TJ zJg|V@0kh5dEq-Os$tcuQSPfVgA4hp{gpYLzbf(Ckb54xdm49*m(YETntq}E; zYK(aN69?Y+r)3fjgB@kGu|R8F$dq5*@5NL(o&C268N*ro#hQ{3m%-#*a6kY1A^LGW zyH*macnck{%)}>&+@r!bVpX-eas@xVS9!;0NJh%*7$oB6E-r#(YiJ%gOE?YXFxlg8 zK?{^Vg*=YO4X2%LdL=Pam^Ai&2L0?m@>B;Z!$Hul%$N$iA@5rUxBQd+og3HfVRLtr zJkO37?!x!R^3E3AX7sII{{Y`r_}qlxln2$U89>~s7m zeKw4GDgy2Wnn;P?Nh{#1gwoq}zaZrNX1FOm{|Yu2A9Lj$_MDlqm_JYo4-*GoCOO)# zg!_Z-bEuQV5jGW`<%Zqz%cz$xv1* zCqoIYD|FscIh*o9{}+329uIZ<{tdUdQkEo12&JMTl4Y`|5``p6_ADj)ZVZM>SrS5w zT_QV^eVH+2&%Td!Ci^nXFpR-io>SL#{l3@tetm!U{rv8KpXcQd)QtI@$9Zh$alDWB zIcjYf6enhQlk3-mX%Q|(CV5W(UAs(~D)V5)(+)gC4`UWkzCySa|5+;XTbUtqlhm#u zCE96vjD@G^)#%!G2kxt_^xcxHeoHG0gd;yQ{R2IoeYW`1V|K=bJO2(q?QNy~S10XH z!d>i&d>{c;S{YYa{qxq?L1HAvHl>nRWYK5 zQmERUn(QY`ii27E>p{25F^*JWjDj=v1W68qal-Ox;w#l=<&B}V?n!7^r_mh;MHWPL z+JY4T7tIr^ab{~ClRQgoGS_0m+X?9>MV+?dn{t8nmq z%_rYD!pH5U;{qKKs_wid`0^1KLNZR?Sd%n12DMa$jYnl{wTZs#RCx>wj!ss6eTQ{< zfRwMvXR^IAH+@GovPA>BM|qIilru}(u^iuMOh)1qCtSTUCpkh8N%%32&z4_@Ll~0( zjgkNbrY9<)?etXte@OJ$p~fKVUnlHG+|IFo7OVGADZ5RSS$G;SUNJqkES$}cuQt9@ z;!v6ttTf3iR7VBNJ!e8Uapm2s8~opJkz17be@Y}Bj+PiWW`wp7OS6n zH+_D7UmaKi&usp}yob*BO|Ah2{3a+ZwT;qSok z>7_9B|D1Xjz5P09!B~QGl>Ik@!f$EM$sd)FWEMh+N2f@Ro-uHLA_e2sZiIIK1Cq?0G zKxoT0QszdQYbHzcP19+vQbM0)Teq|~!wbjzO=8(^avj%wp_l5K4Kh#)@Wr2v=~(vn z=9|Nrqwud&aL0smMH1gxgS>vZk4_xsW$Zmqc>$Mvg|6~m|OlRG(q zs>uJ>qb8Mmh-0rjnW;Ki^gd>Ya*$In-LMXtxb^XxOn_#}DN#_if07`H!BKT@cmsNj zretq#aFd?LJvCx$7Ud~n62xF#u;i|ur4WWDX8CaUopN?H1lp~4J;F!Z=rw2ULRUg)ZG zzOeH=?DT3(QQUc%I0jHQ;?{El^x%q$09!2 zX&+Hh;aBU_S=ay!GB+xmUm zy2dV2mx>xixxzfiQR_5$h1jfClWn~qSz{>UN()MjV@YmzTR{18miOF}m-VV)*Q!@% zEn|7|UI_OrmUI+|gS1jLK9)ETloGPaj(zsuh*ma+51%(###~tb| zC@WBKfkCb~yh0%-LcimW?ityWA%+>|-X#kUGeqEWr3IS2Lm8f>HARDe9J1+gsOQe% zpm|JFN_*uPo0{y@HHxOqu{uf&}Y1#05e9GJ6 zy=30%runGLg-Q2W8Zb|^O+G{UzE(bvkdg|TnR$Bf{Jn*_m@5N$2JxG=OrVrdTwENa zx7x`{pC7{%>Ive7Z+=8OIP z{a>w~1;64N77l|r;Dldxc#FEUt<;2q@)i^C=re|;N~g&qf1dhYCDj<;(-VC6xuHnP zqxn(A-W)h>fD=iD9z?BEsugui-Y@7H$S8dvtH$ra#KZk{`QDqZnVI?7M?Qz&hoJAh z5beC4gVi&R&5Yh5MQV+}?#Mdfj>?1rp?&o*?^(IUzS2TZ!L3oYnL5N&7T%U!y@W2} zb|^pFC}?js@x;^}Y1ow4EUD!bOh46B=KSJ*a==tMf%0TP@bd?0UR`%=R;ogkZ&U~* zMCPhWIt0OVvaZGPp>Nvm&gz3;)Qc)ZS0Cu+vWr2|#H0m+*&&szU|=4mYuqG+wiF;W zHp!0R(y2bzbdR?XsxzcI-;);#oMDVMx@QIB%WO|4=IA1fDzfkzbI-Mw=+4Ma+S^G+ zWynV?iQ6XsC~88htb4OLie&phvMkjnLQ7XrMSz$y>w!8|r`zqGW z6XdZ{T6`&@c@ zMn)IjDEs9+y(S38=0ne#ps!HUn#-|$Oy?q^k1nJ~_e>n9VfgB~&{y{O_Fy&Fuj8=8 z_e1C&b15!#30@R#1B4LwUK&%LRY@fzl{7Y*UYuMHTg%VycQy@NynAo&J9@v06b)+n z0JfKF+4G|cgE3}0`^+Tzo_pqMAz39{0JpVBRgPt@Z<+a;Ewr&1L`yv7AP1XdWkjF4 zkzr~0FhxAGR#M(7ye}I%9|kepRga{%9#!(KBJ+F}pR2T~eOnj>8{35Izhu>wf-6K! zBC)g9xgUFDHp&Z853}T{>{Y%iP4UIvoF~@Cg^9Bl6fi@_abt=|-~pT3kqD7l;VilN z>8fj$)A;xciw_KUCK`lt-B+pVt(Ih}P2YA?-5~HVx6xape3?lLXE|=w<{EJ?xdH%@ zcK8wc!|iM?hh3FUzD-gV=K zb=C!QTaDKquQ+qinPtMWE#{c>4?1+b($kE@TaOH!U+mO0g$c^FeF~5Zw2r1;tymV& zl-IU^S?(AMJyFGxo(zc3kB9cZ4hh*f9`ta9IcwbC*a1Gind)^W$uDTZ(Yp{6Kl(kv znZ;Da2sFJd6Dp`y!Icby4t7eLyVKlsxpPdR-9fy6Caxs zg*^8r!XQ?gnJd&K+Mk;eivNGPDWssx&9H!ieKYc)G@Q?tmDN?FJ$}Xr@GI;?4{OTf z3sef>0`js-F~&}K@hhY`#*sHe$C(7%Kvy)TeRyv&f+>+dLpqQco@^H&!{#T^9pwg#xF^dkjmMXP&KP zrJ*P50_8g5GD|J24I;9*3d|ZFbIusFAKQI<*I%9Aw4)bSR+(of3=3yLm@XlDijKtE zWW48hn<~Kempl-O{uE-l%+l%={~3vrb79cGzWk3CKF!@{?=D2O8`Ua`yc=?@&+ZqKw~Fk`9{CwEpDnP>Opnwx zB`lUs4hqeN#)k)lf=%QGn;3M;FkV6M=j<({Xt@zJF=p_$T{)B3bCmzIEVS3?4#7~K zZ^fydm%bm8^X=T`cN#0C+UQ0{_%+QHv7*+kvNQ7c_MF$&n!ipXumud+B~+uZFqo&g z>aKlA+#Z>>koD6gWxFyr0mo1*6dK7qb)w72A5!uYuc2JZcAfZgG2Ax!KK9|G{3BpL zZRuaiUN42XrRT!_v7aV?WA(m309Nk>^yrdyB8Qf|Rgct-MR&{Dt70Gm%@$p_6CQT% z5Zf`jnYDQbmHfcItARJ)G`VYQi@*24T};=YA)`?kjFNiHfs-R!=l>w-dkm#V2_rVl zCU9NX?|K$oNI-3!e=lFV3NT-9P5UyPoVk>q$xuz`VIfg3t$p1+y6fT<+TV%2-S(#z zKLA)kVUkOp|5hfK-9tB^^NEMm=(RF$IrW|ai1pc( zrkpTQF~jT&+YoU&;h`%gxQQ9fft3fRmF92E*?}w9vq8a(-N?8TX+6K^+v|awB%Foh z<2I>=D~68P@O7A@A32mDb^SHOP5N2P_Lz=^?7>NqwA81#b=A_&G#kOoy1lWVp{0k5 zc*<4(vbr}ttWV%xPij}A)-&COuxO@*K`N_hQ}~IuLlrEN>yK*W&uDxex7bAwnYqnA zfI@{7@YXp1ZH)jo=_#FWvU9L2hM3l#st~<&ps^yEYS+L_e@d8v=u?Nh`+8>~sM5a+ z2aXE&9qfg@9R=7=8n$nGGQ3fYY+lUO2F&;S`P`(SqVlKx4s+Y=H$3I(5@@SfFsYt6 zpI(~(P~uT>?Dtc4Iw4YRG6d=X2NGSBPY!hxGVwOgGFGT;UtUR*-(4Q?_T+wY&a9lZ z49?Z3R^NorXrV*&l|kQLHDiCG_{xmE=LTWJs%)-aB8j+rHwiV>>9(LPw|@Za`L-*C zcM75vQ#6hZCi!iU^IBb!BTXO&cDCh+t85V8#~TqX$z?kpTLQ$@>2}hRk}oD=4Hl+| zx0f*565KAO*&mtp^c`j181Eme@=rJ{RbCVgPr{M}s*kh(c=&4{S~Z$?jbVjpQa-$N zKYOU0DuDaLSmZ1h;)U%n_YqQr+@rry|3N5|5!ig}?pu`8S1zwZVLT%uvprQDQu&j+ zAcIp@3og-Jn^0bDAhWA&&nT=*UQPx4Vc&(zJboT3NT|J@)2B{5S{I3mR9zV!eiQM1 zeYIX^vv(^VaUi~4{%8*R)cU()2Hm>^=A@l3QS|aYUAcO_>~mIpeR~(Ns~hJmVGaoG z&t*x+B7*sw!Mqj-IV=&<1L8jet$%T`ACepX9+zhdc|~lk&gVX~!{j^eHa}grI$?j4 z*I2G@Ri%Uj<*M^0aQxor`h31IzrwD<6M^zHpJKsG{-@o=%miYi#^gLvbE-mZ*Dyn& zA=PE$)K#MehgF_$CJzpiq*V>@<%BR%e3cqsc~jl2%ps@bwNO^2oc4ZK-h7D{A$b@{e&laCd|UN?VU?!;Upghif~!kQDo7UDxs0S{Uefpv!R$ODIb0HZ`2l|FegVWz`>SV_E7td~P zC&_oNke~9d@$iUW3Lon+ThiXyrR`l2ve4-&Z>dOXqGxDD0on-%c{YhXU?7p8T}9@- z=#pz0!PZ|>nv$YquY2;HOSzL|kSWA?=*zCMNmy{Yf50kdJeVWBTvcfYTj zAwDg^@>-0zgU!k*T}I`% z4QEkupBNkGf9?cbhg_{h!qyeAAkCl%js>}&R&WkLn)fM_bS0f=>ApzGg z+a52v;))lOMR#C}kgq3g&aKRiM^2JT?q?Ck84N5s0HewZk^Id<5X zT<(*PXQcJr-L^hL>l^7zQ{Ofc(0^`G2^Nm?Y?SWonEcytpe?bhF%)%~yOP&K_;bRW z@XcJEQcE8!%11^(xk5D}>5vT8mbWg3It{g4lA3XN9 zv7_9eLqc!p!jM9$nlS+S063yB3rw`os4WdWQk2Wbu2jtdkb|XpMd&qk-ydT)wV0hx zTs$8^HnanPB2z?wb~8!&#v+7xMRZW2&Ovr;qQE*Y$3_z7%yL1KxH2U_ri|bk{G?4am1EhV3 z;N^BH5xIe9tK9AGJgV6FK3A-tyRS2MH;t7zBK-lVx%7w&F9!$+XOXKhPMrgPIwbZB zYtZl|Gl6L%gai$QfvU{%eVL1OVsCpdyqwU+_q;iFQ~aThkml1hmZVTOH#f8Gji09u zc~`BaKjrIhN%ic{o(3m!SGjEZZiR+Pt7@~09y-YRg;Pr+n)ajIcg{DTf5v_J<0IdF zSeNW|iW=;)ZE^69^s+gu;lsCmiW0NM^803vbtkUqeiBVHt<$I5@_Q%UGzvg&`!S(R zK6|xKT*+CR4hGJ-AB0ItH<~;JjJ|T+#P&cKkJ{XwUsf}|Ve1>$PX*nY>$u z@UQGMk@ZI}`tFk9xY0H<9GQ&@CpJJ0kk&v=;sn)TDj+-BwJKXUQ~HyJhcJ*+RBZ-d-6tBLgb8S&m()bzDzSTm)XkXHZwypz)QJPGoeWN8`M62&yI1hEqJq zEbV2kd4P0Se%3&qmydjDegnkXlkga>`52L1XMln?NUvXg5A8hA@9{*QSAEg?s!So_ zj}E1Bgh1+|{O#VF+^;gHp3A>_7v9fBl%F1To^E41;<$~GnX1$&c(3@7^^zbdt@XA- zo{+bi-Q+Q-=51A79hhve+JQxGvg)+1#xFx2L}8EQli*on&2)+T3q6B=TtaTbTeteB z5xvsxvjyS~U2c#Zwy}Q4&61W8GVk7|(|Tp0`TMBu(r(JD>q6YmpI_mIQqjW^e9xYt zQm*%jtS6MeI5zwEs^Qo1j#*s6{=PiP&M?6T!lHP~HRFKZ^Lt&Qy{2sv~tX*H2j*)$DO5DQMY()gcK z&9#2GGsm|R+Z~>jJKmq_hhQ01+Tf4ikmC#%#o$O&bP&D}rZbYBt`J#_!itRdKz z1Dti%g$XLkT_oj3qhvdRu&8{mi6i8pj%?kdb8Au^x)B+K+ho@#S(TOg>apbWuu6{= z?*i}5lWs!Ycx&?OxZ5=L3wm}eDJMD!fgh8y;foJrt}90jTKV&^EO;0nvOP)tQZW1N zd%t%+D4QN5T#XQYM|J-%{MpP&B9F(^%9~m;PDEMMLH+_aWi#U_+5U0oDLov#Uc=Z- zK9X50Z@ICI;j3g#Yo)$E>ovCQ8#4UKy`R#Va^mw4ReVMDPh zl!nA6J>1@)6@Puqw#${t8$^E1uq$Hd0XFx8S9Luoz{93geNb{!mv$*)4Euryo`Ya18G|rw$Q>Oq68fP zm4AS%Qxinll-S9$D3v!wL8`ZLHmsdoyay09pj~o=*uv_g-!q%pEbZ=Ka$zlafUSkl zLd+AjUete|#8$l}7wai<^M%^9Qz$zYVEtS&LY;qPd}!JtV0A6IpVFR270NehG@0tz zRW?oQW=cG*ta#D-vRXLSXyoLwd{OLHK{z^t^$lyv#i9owA7xnZ`pY9-vnVY5%O@?8 zJag9dc*({VsF?e(GD|(ht8aZoZxFX^4J`jY1$dr=iD_QsfA(#kQcB?mN$u?;qnwNr zV{D$cT|1K%RXl66z3%V5JrLl;d5n+hGNXQ}bDsFPWaFmFpwoYW@!Ec!6Fn#ug5q<9 zU0DPdg7&-(O!+3Van0w9Y^jk*+%o`eA1$l=ESz zAF@Ay;1*uWP6QRmzQBWrj~w0RxnYqxSZtL#c(+jkVl`RVUb{7)D?lEM9kWuut2AFQ zR~V-c%MIR`39{+Co7ZvbDQ+QNlDD6ubMC9?&G^-`tx}oCzp9_5y4Dq-Q>IrcNSAr2 z-@Qk*ig4~{e0Fyn$4MP`%XS>0mfEuqHw*HmopdS=?LK~LqvT(S4AU@HI#?Q3k2@`!b&uslWQMWKF&6 z?9CT)TqorNifp^u1}CF65gDQ#&bSr2$$4SHF!69G9Bm)#G)8gHVvx=i`+Vmn?5e8c z`QyZ6amR$M%aET)O`9=8Bwf{-J#Bp<^h` zad?5}*OgmZT@1|YIi7OUSW zeZz~N|2j9~9kVFIIOy>_H|t}M9{iVB-0cxb$-`6pUHSPU&X?!YN%I=yy_&aIaLoj0 zqzNMUx!^K4Bwvhp`o{l~$%(>5vyIw{(Iet^e`RuBfRF6&OfIBz<>#pnoJWk(V5={+ zZq7Ve|Jb9Y)~dQyt>JT4GkG^uV#AvAWWvYvoeXZPJ*$fz)_%pV>7eV-DqrN(j&$fi zTb-S~RFm#Rt-C7vereQ~EBIutBXONYbbC4R#Hkc?X`WdAIO#gvtfv*&k+t#m0knI_9M_)@$}GDPh|Fbg0Eh+!K-Cb zx~&gV=7k1N5gMy~xA@7|RP*S!7XfkWct^Ev`=Djpgguy|#~=QTK+{T$K2x*tgR8Y; zxoBF5Ts2<9Cy(PWw8%5PygGjSqKG0)RD}3)ddy)!uk%@^#n08)`Z46vHpX%*08Ksg zRX=cmHMM?uhV|}UhtpsRL-5y9=1J8%@2q)MX^JmdJxAub6diE3*5===^>;xYEJV%o zhn!L+=jukx2-duG!rmfE|5P*81=vKyHhoZF{z;*y!mPok=Y!d}xC4H|bGom+qcbV9 z&ohB)S4DHY*+*e@ZX8q7ngWGGc^Yg1ih4o|q^R!+Wb0MOckkn4NA22Q@=a5WOALy` zo>dz>`%@gl5ij`)&{T)7alXh>HPg-!1#>QFWOcmlk{Mq?lBvA7=bFcr6Fco9FV!mG zKrkF&c5o9KdCh8_b;Po;tn(D5O5Z}>T+wu0%Xn+dzFVQC_hA>`RMlOb3&oVzalBEfp?-S3t$#eNpNyE$ePrTRxRIt|hGsSdf)-Lg$;)h@qdrOwTs(F-uz>4tUXSo;FW1WrFx1PE6&<{UT*W?erZYD5NMhGOcjIC56{M)7?@8dC|m*| ztFt;mXvUJ8I{h=V^S~eH$;Cj9Rr-eV=1+k>CC#&tjrp?!n5<5M;hpcr_v)*G(!|R+4FX78{l?7- z4raL=6bki?LvkH@SHIM@;8~%C(%sIhC?idp1sET_PrP(&qAMtrYzeQs(NgX-$ zN34s?JD3W5{HktUXkQn6II7P2cPH@Wit!8ix^mD} zfp?bi_^M1;HQ(-x=_3h%fsktaZ^Z*hOh*WSdr_G7j3vzhqmL|sb3k0_=yxMwBh<6- zePSPN3$L`Fq*(q*`^Wo}shzv_!wnzp5awa>St!YV{yjO zP@9qcbX#)dmKjry55Xjo@ABNiR#i=1)TU)3;#0@}*p`D2`Z0XV-v zwdHtL3o6q;a0TYhZA^F zQ;d%9+waFk-e@Y1SE_C=-;3D7z5jV4sqNuN6F6b?^pL@PV8*9tVdkUVZw|o`M z7f!JwK^QWYtIuPNZyZZY63fB|Uv)SG4R_k#u^0Kxo{iv9M~J~>oKTQ;FWb+hf1tFbt{X1#?yWh^q0(3^lafAHW|ILg3 z;~%J@2S_3Kt#P$~QP}_QSNC6FgrV~Q9OXXf-2Oj)rvkVfW9cx1iP?Xoqd{HDz`J=Eq}=Gz$Ed_J5h^|w~WSaf$0E&EnoA-Yn1$j zoa}76MvTvnOu>uR=uuhAlYm*KLbJ^FJ1_}!e7H2Ah2Rt`+YeaI>zq*WIdNh`-Pjrx z#aR!`;%GV zyZW)>wpiQhlcRu=@U1w&aEp03rUDdDr1?;}li#zVbTwgp2~ArZ`pW7`${4_5hyfsk zmU3R6UhkFD!ZGnM)T=MxpeMm>!>Vy7etKo5J-(qWmh=KAwV%P*nC09xH;?=*jTR1< zk$L&SjWD2JCccaPjAl9WNa$YZ*$YRQxrD8)t*0(44dxqHJr*{qygsRw>giH$-gfPp zoy5A5v)FOf1vf%v19@6)YNO~Z`u-?zQu{+7iPK|k)Q|T^ukBbptWJe%lb#f}Xqq3SkkC;O!JHT6u*+;sI727jFi`z;4 z+xQ&iMjms>CEyr8&Qr60lAw|0cW@uF@sSfCww*_V$oBc7R>z-#`XEow zS6S=hHlf-pi{c;*D(@zVSqWaxvs4F)^%=T9#a*58#w#e({sQTN2it{fhJ)vSUOmzO zC+FOn+&ic^;GAPSx-c*xl|8_pIX-mk5`$)EF7pC2v!9js(xr%p?{E3@xB6wi9KBY1 zU32uj?miJ7-HW_aFIrRG^D>cq7drtAL8C?X$RKX_Ag4W@;%%TgK}4cR#m%$|J^6s! z!g_^|gbhknC&C95)1CJ7Ab}Ex3r!#19|e>X(RU@c`Uj*QGNoKTer|TQE%v%pw{Q(D(!PtOQG&(k*bs43GxOO`6luvnLV14Bq%3U2~ghkwf z+ORKoz;QNkm%1RbC*;%?v|ugW){f_rKdV);q*i-*{0|;F$tieibh`w;HRzL(@B+PL zpjfJ)>Pnn4Z$IJ2S|*q%JBkwX*|w1GfZgqz&~w@6yz=0h)YBA?ZRC+*s$}Y<(mS0uj}8G#KE2FuI$v5!Ltt`3Uh9l7JxBJP(In zHAtjmwtXx|fjGj~WPPhwsZ6b?o%WvOB{N`S_hNp@Z+JB_ft;bL8B8ex;Xr%QD!!kf z;I_m|aL}SA=P?~>s!$ZYeW*_S!4jTPRL#R6J@yuZ-x~8$TiPzLxQY&cZHhrce9WVC)fmD zPkom=$SQwO>r~H!bf;tqD{f9Ay2vFe2I3GcCH(F+pAw_ar&|`_tXI07^WuS{*}ltt zxuzcOWC??;{!>ZXn`I|E%2!GKX50IDvoUbOC&6h;e0#^f@!=zj(S1wusRoG*Sbhv3 zD%l6By!3&@_KBwhOPd}8EZhSmt8tMa>v!wCH`4BVvip5;5@5f2z=D4rVWjExr1Rnp zS;A)yttCh(;P7cQQc)Bgr990mk_)n~USEx%=9O;oaX$8?EU=&28eZpWERqLZXR%LT z&tzJTIYgzH;3ExN8KEB;$8q5&dRqQ!T|a-l7e3P&f9)xB0XIXw_kJ&?9wc!JR-nSd zKiNUfZ#_$Zo-Yj5`Fg=V5s;pkjDSK%SYUlQ;plg?fx)vZhiAK0*{v!O;$Wp9C*E-s zdg}uTk@Zzsh(I8~_P756jjBX;rOpjNsqo<($;Z62Rb&S1o>Wc)tP5a<#Q56&1b&A$ zE_lmW5+s&R)X0jjbHB}m^1C04{@sranD%GpZZ0Ym>SF74;EynFB^+)*CW8S}&cBBW zJ3f55d8^jGiV`sWnnP6YT(owxOVno-C&BQdl9I!hOqXV1x#SEAM0Av%#r~9eQ)#O` zih8ceZPcXFHRYAn51h_zVPgpsVUvQpyn;JT5`f8Qjk8Uy^AtNY8ft`djBcWSv>L5S zJQTBe4Fv*yX+(p7Y%@b1Y5(jQ`e|+xXo_*oPl- z*AwhbP!in=Tq*)iH+_1HHxFK49bbs|>`hA=C&f;zXrxorwWh};h^0@kFO}NkQi~xI6lKHBcK+RgKQt2cDCG{nLN%agS&&gkt7y^g7&HF%oe;? z*P?t(Mvrq5sJm6SUW1m+HfTYCFv(*_`?w!s&*jnLjoQ|r7YR^v&&wjO7q$R@1Y z+I^EZh`M3LJ8<>h$FtX(pY+%q5-=~x= z%Wn50=a5e_!Nf2^J8-!o>tpY44YB$U8uIe14B%x2$%Q7)F@)l^U!%ae{SKS7%*fuDK4<~R12(R^RyK$e2h^wDcy%QJ_KTZ!?dKlc z*2P+P58nJJ_n|40>dFDr)I=UX-G^8u?5+z?Fcw zeyz~Q5=P~(@f0wSeFId31PCgCu7im+vR8WZR-zMCVI>z|)K4<52k-p_axlNfc3>vV zJ9hf}3CfY5hO8LNw~aXbUm!Bw1zH@M>Y?KsBbS}?fVbbgN#mp+w}0Rtj58lVTGXml zD^B-;>6mde$gL4gdOMNypOoO8cT7|5gikylUD9i2grbybnMe8j{VuByc?^f~9^>t| zsg$`gRYuhM=w*KSl+<#KIL<^a`^mebA6a<&|7tN#DOVYL{$V>*_(vJ|)Gn_sU#p9~ z;9S~mDJHr<=ni%qR;R}coT3voG!8TgS2AZvsu_y~KBQ_!y6c_Fa8Rimg&6`DxVb~D zABMG+SDOqUdZ_$$0;J2tH>BqZ|Cu zt7|a$d9v8%?=sESm=Fc7fyNH4lojrHM&=acASymMe*q0a8!iwk zw-%>C@!^APD@w%SX6vL^qXZGBC9ai7uVthIa7_;7jayZ~hYFJ_r#L`o&!?L3YQ*xR zm+mp9-7yQ5g{yBOekiem^L;hptu~!}YS^HH&|CCKYDw6K=V8SvIiO~X+w@BJ@Q$>i zef&wyz7KjS&LR#ZqL9BX1) zKuLd_?kEbb|Klpmz2 z27Pt?hAE>z^N^cZb6tiwy~PNR z?DaV8unls!glaO2#_qn5bBsf{`0PkdHHK<5jDbt!S9V-iDY_;S$v*Byl7w^pRZv{` zhWGBKAUJ@O8H|1oE}6{V(IcSNCejz$@*AsWyvp=#%@m5z=)v8oH}N;85%hxHelI7qpsQiXCc_Q|zANSfg!QZ)SRs9<#KyMWK4s z)*RTX(e0kJ8NIbi!J3fcu^$X3&{^etsbx+0G{xrbNfasR5f4plZ#<+nv{yIPM9d^) z_opCslUv{vgo1uKYLmF)<)H2M5;1AKI@VdC(QY~L5k)E}mU@CWuRJ)SGittNlQ@Lu zPDdHyZ7?*}Ot*Uz1${CFI0kH{nW6x-QoJDG^% z^UBt<6(H9D^F-iU9C#%yyIsPogmIOVkmp;%2tIVRYJggmNJ48Z?e0qKwkTtWx;{nh zMAOxUM5vE{2Yoz}=-utTUIAz9hWcU#(iv3RCN$U=xuA+$@gGpgC;F%xV%{M>zFQJI zyAsFIVjmSBIEAqZ8vnxEA6cAfXPM79K&+e_LP9vGhucTip3nfp$xA*nOrk8++J!j! zhYxCdhw3{h2j3dA-OcBu>RWCD_Qk}Z>2j<$)x}rmm z%_BCTIjqYpirZpvqvf)K!A^#eKDtXU*U|<2C5b+3kU#a}n`61j52w``m15SN5{^(t z4v|&TQ}f8v@gjennCfs(YNH?e+v0WL%i<_w`ELN#o^7zSE{eZBuR>ymM zJqd46_H*UZmi{lxc9qcT z&MQ(xlDp8(XO|F~j8l`Y0iS|v+EQiYnpbeF>2!+h!JG2J( zEZR64cEQ{0?aZ20%O+L?^TWOgS32OKE{)`b_7&#n;xDbTNU-qX9PCFoUN_y8$})jX zmmKjm4Vs)`_Ke)#9d(F6as&Mu$P!0!Q{za4Hp_t!S{#L^#H)&Cov4x@Ns=T=5-Bh@ zjwD@dVl~M=Q4c~SbXYEI!xP=!j)l;O1F>$iB*H)}a6MiGaRN@)CQ)y;!fH&WXa?>! z=4}EYq73k}L0%{=_*_@Y3Z65<9SKgM?~dE_N$^2#lBdh&SR}4Xd*kHNkTgYg-(076yVvQO{OGA3MeCeZFga?0 z`)Fr^w3_dyWf`~^olh!_)9#t#RON+&S8<}%+vo~7ZD7>C2rW5jOlXt&(;M-)WNa7I zd%tWiM;hU=XygEFN@mk|(s*)rW97nbYTXvvngpS(z}(t5X(Cu)sF)e=^bR~$PjGO$ zoaCIS=dz1=nV8k7fvQjd5-I`WONt-J6}Q3bV%wPLYD| zs8*){k|cgrx~%>lCCPR2Ev|1!P2K^PHtl#QEb)1J z`5kDY3O~cVd3F1RajQJi{O*yLiUU;1SyJGZnKH5j|1Ruck?9~TF zZcF~!SlayN8!7X$PXD^M#^Oq<;D!PJ^1Tj$u-|(m;5EE3yzeE;VBde{0Ab!&%n{*! zW0Ws0#SmYe?S%JkODSlCL%^m0{S6ErC|QMrjg(H-lO@{B7y`}jHc^4LQ^yQB3RXe*e^GV*ZOyiN*?CN`8{;$5C@7?=iuS3FP z@{;t7oA73 zz#T0Z1LKz|@&b;^&~gBHCPJGC0XOZ9@ApAc`zv`X)GDfhb#M~&@z|hU;47NUbKKft zQ~O?{BbO68Li@|$sM+@%Qn`XwTZE93qG-oTY3HfSw6!s)W*j{W5t0mdFM_Qv&VThu zy18;2BtP$G>Vw$O_d_)nRKj?rpu|yo%;pS1*^N)ZI}JwZS4*S4pXo}ulgr3G-9>BQ zNEXR9c*pnZVX{Imm`=nfbvHUqHquY+mAy6IVB29H6HV|ekiJ#PD_4#kt)#5f>T{Fb zpp%%KO^kb@(qm*4sSCdR>&Hx++H9P-Xwo#nvNK7N&wKg8m(%hCp|rTo(3*jA(g55I z0i;A*5NU$9%UpnjQD(wz20*w(QAdkg-CnkPgEa&1R!th%VglZ6Q`Qwye6?_3OT7v? zKvA{$m7lAUA4>{c)dw+TRvdK}x`7!0Ap|xhGE0kdQo;0Zs*lZ%Oeyf)uy28vjAh>I zE_a>Rz@_;=vVCBly3uuhNTR`izKPGoVDZ`{hw;sZt(DV|dJf|9z@mzXQ#_Ll7Hca(>}%h1R|?OLl%2N&=v zd{tO)+R`065$8seRkV7gX0lI^Sx8^hh)N*Y48%&V@|3JC>J5KU zaLL~>Kl4$@R;QYZBZ-RD>&Nb=;iLE|#qHZS7JJ}s?K0W~npM6$N+Qeu3P zsI&Vjc$QK%mWjFLz&3eJ@och>ryslo{3*UYchO69y<1RNe zE(#`l*E2476m8bN$Hr@~MT<%Wf$J3q)Xk)5hLqUh6|e7c6&0{s7e3hIq?!dKB2hWB3*K(ZOr1;PcA zEtw6M#1mY41(M_4D>`!Z@YsBDw_S{vTRKjcuw9j}f}1Vr-ofxz%*Z*n%M`V)#u@?L z1gC)6@cpf6gfDG^oDGhc1erx_&VIIP{L_cF#MdRzk}{Kn#QZ{T-fLQT)82+K@rjBD znNs&+wE^=`*Bj<|ki!=Un%L5;aK9?Ns6w7ao0V~rt(+#}tBu?aMY-|CNqJq>S^W0q%;NiGYh#ajGnc8sto8QNN1-$+m%tH!_n!*3g&D_( zjwsfcTuJ(RrS`t6{+*!sn=EM+rY3xQk56tbBZPI(jao~`Mjn*Si!Z8fniPK1^mZoG zmJzm@8|Mz4(pl21FSDbw;I@%j|2S~}_`HV}=kUNv+Oj7O&)Vga+}b)Tr<$(n_j={_ z%(~zjUCAwiQXsdrbo!x`Dw$m~NAGa8hl-0Zg{s51%Z?P!;}EfUrV|oLpLh5WifvH~ zqnOjN3LnCQ=T=tzV%k!^V|G$unPeJSQfa%+)ph#a%FO8TGlrfee^~M*b)aSq)sEAx zNhy92kveW*6e@q)5;k<4E8MQ7OF3p2lQ^~#v@%RCGVw83dYurHcom;ynmj4`!CzZ5 zs-wk?;x^g57W(F-<}@+s+wO+g%=bw?Gr)O9&B14K@~2qai-gUSF7Z-p&v(g8d?)&oE}eVTqF8*sHN#wB z*KtYp*B((VR5DdYu5l}#E210v;y72d z(pl(07aQilx2LhA`YgvyuuuD~V7=Q9Lz2hE>kp^hk8$|R`3}gzy^%0)(#zH5j<9%I z*{PdV7z%fk@&vU*&R`nuGVImu!w$B|(k{`Mo^7ku$mH!eg7YAwZI2Qf ztdBnUq3q|%Qy9^MrU?uu(PV?MJxAB~$N4%5h)H1Gp~>qG4KIFT496qp*m+MqFpl`- zP3LkbP~5}uSk`#*Ag9?~ho9Aty(=G2p6E{{*SaUzz%DPI;r6Y6vU6WAE)pN0c&V(G zjn%P{ZFXm{LnDxn$$jxYIo;NRJ}`J$##qO{RBbb3je=I>|FWZifc%hYI9j0kSfg)z z(S^pQ|2id#+xU(!;ytHHTxfL{i+`kJvP|*uNzcGPjCQR)5$|CoU>C~$=o`+Tyy^Vy z0D|u2mg?QGWWLWj)E@z`sEKYl9d8p%rB)tmq|2EyNAIso>4t+(t**{;2DbByI5HrL zj4lsIXgTR`2P_0R&i1PQMWK9ARyf-AxL+3ccXNpG(+bw zfPkQ+NOy>UNOv6Or<3$VQiv#-x~)v^B0iV8mqf9PeBT)oR-D(fBXIJtfo#Z*d1 z-)X8X_qAcU7$&&X>GBvlN@zFdwZOdyH{O=~c7JzsPG{_Js9pO0P^+{A4R4!i84L>_ z)|>{Adz{WoJ9OTK!#i6pd)K}?#+M%TM1WY>=q zKGa3#!N4a$Twq_qgZS*7R=|3`A;vn3u(VTW%k8z0fkq+#oUE`cmP>3g@gR-@IrRz{y1Y{D;TiV-5tqc*Bwav2 zZj!MfIOu6!|I+6N#J?XHpDl6sc1kg&QnXfoOquQt@k`+2 z<7;|f{N`C{6S#aUaeI+Obchk2S&MZ$K^{+td7xn$p7w4ISN6k|FAli#NW_~OUu*EYo(x3; zQ=emI^1UOmJIsUE<1QH?^j!zXLGuzP>X!STFo{p3k*{f;8K!dV5{wcamli~m{iF#A z=<5Fgeb;o^wdSepLVl|S#^{o9O~tTxVVWh{^a-*MS5h2xO>bdWYAIDAcbsts4#fLC z(To?FDyf%n4LZa>E+6?v_oBkU@QjiFL-)IugS4~qqL;OSPz#OwB{3u?@}AeG1BEob|kYL1s*xIvd@Ml!GnHk@)gb;^);^vG4ysr$G!L=^b_ z4sQf1%y+A%J4Y^Af^CuX4L3$t#xk?0Ptv;2qm- z0tou;HTX+jX`Tetvw{#wGON|`9p|rLmUp`$MfYVP7nXYSgA_9>K>GPGQtQ>r*Q|g@ zjL4)kCMG&?Hqs^zt(oVnt^1y|Y5#x<&-1>!@j6WkLaGF=4{z&;?lYvd8kHq|(+_l=sHB!DrXk#PloS7xQpB^#pSGT` zzv1Hk#|GHqy{CzxiDDhoK!nsp6R!>0Jl{JeN*pO6tQlN}jiV`becKqp`*7c=vceHZ zK0#V8hN`#W09iC<=#X>q^#95%X}OndeibxM^_+}z2D|#za%z0p%pF{e&9Lrk5ej+G z+9Sg=h%uNrgTG?@s*UiVY2 zaRSK_6L2G{OmqDuI3zd10}s@_(0YjljxhvVALXnBLqAB<9C!Hr*2j)gI_Y|^I<$&E z@t7IERV3bK%@f>wNl5P_6#znevI!r@Fu;Q(4!I6~!nO7rA09#9!`OJ0{o0vEf0xdA z>FY*1vCqQQzl1F%K{}L41xfa}6MJw&OrE)oMdVya5ASArH)fsqgenTK+-tJ!vPWU7Z zyvuI^{RNRde<9-*>bg6Ge>f9dtI1bj-b6MQnMAqDbyEu%kz~7aPl&KP^)V*+N5pnR z$_%a)r&w>V0j77?pUdmaoOZW-1vyc}f}w~?rucD>UAS*;0IK)+Ft}(aK&%lbKJbp} zz>fR~zskGpQU^4U8?Q3`H$DMZ4++vmpVLT^XH~V%nGkwoJ3Lw)qJG6H%GzwKu2K-x z&HK7Xb}D=yZ<2#;83zM& zTjBN(fY^p!f3^Fc*YrQs!QzncyQu5#lo1bK^zUXUza&F}2M&9&6znrB{WB4?x}p)@ zqJ;uD0-lQ$Ys{x#A|uX^CI}9Olbv7BahccqELZg9p89^9pF1^^7e0J<&+vWCg3kix zKNJcORP0 z#Q9NuQ%_Hu`SzJuW{}dkT0Yp-Ut*(gCM-r6@2?2iMr&Isr4phz?r3nxy?UKK%|C>W zh$RA`w%Y4{W9K3wai3SgD1P(dA5RyPOoZ>xcLi)U>eZg3@~KaL{bK%4lP7q%lBWLC zaF}5xYC@O8&!bDu4Yj|e zw1|3Ja~(1BE_7mO+NII;DvqvWe(bQ0I|pD9a4mRJcU$#TeILJCn+u&3PNP3$k-nFI z#=VulYFh+MpW4ugd6(WNc7CMJT7Vr$fnpzLw54<91zkJy*2nxY+wO;y9~q&|^TI7Y zm$2z#;r;R{%dOLZF5lw>nQ5!69 z5jU6}LUATWYhvb35KpDZp0`P2F%iU$0!d&k?|tT+D%tw6E}^YW9|YzdJ_D@qBJ>7{ z8B{*s5w9V8!TR$mw+(cy&c2j{_VN$9(0I0ufG*_i&AO~da_mbDMR?4UuxtR{d{VFp zo!mc}!S_EhV{rE5i8!k%)_O{VPL|eWyH`1-U0pEn(08> zvJYmT4hTlXwNGVv!ia{@jSp3Hp}V#Zl?c_2OG5UzP)A zZ80;KPHjaR%4Fat*|jJHFi9H3NEDYvZNPxz(5KiO2orfMVh05!{isZ@c6t zcFtzZOjJdr^pb=3^&Uw&X%L!3!??&t|NKp0@nMkAAyM!Uqc`F%iSSAKa^57??43al zol}c>^veeCUET^y@LhsCp#$)-_2RQkE4HD0^KSljWVr#xw@*Cq-O2r7hlimTtqXn6 zUSD>*xFGfhpFIvnSk{VNFS&nXR8s%Mdic5%l2hzo=y7jlQ&#a!|B15$1t;uzCn&~H zX`bNVTpaIb6LuY2RUHq#1e@iAoK`0TX1rz&%WLJ_S?qYqJ{6SRVOu@!+>aY+$4Ape zTBZIUF3CV`&=wj?o6qNvToGEf(NAOV{OG3}EDuQ0SRxqt1Euo34X9+&7g$@dv=#Et zfT`;cMk^*azJMi+t%=U@g7$~Idh+N``_CN9dYKG<`nAyT=hV+zjSHiPJQUPWWFgCC z&hGy|3&8hFSA}ehrAAH&hntmZ7$@JGVX*%RVb@42UoEU;;^COoS^ZcIijLGRa2Acft9`BlD;u z1hkj6oER?rD}h!L(th5*d_{U~3(7LV$n4a86=bzQJ@67{ej>bg+v2g#%}Kk`wP5yY zbqoE3F!+TiA+}WSt@QoGhHzO3P3g_xD`NT{g%B6spC~Dnx*VOMZpR$v5v0G&GJT6r z-?-%J`3hn(#~H>GzgSL|WAnPvAcREy;-J^&u_fMqj`J`kztiWc4*7XjPCFLVH0J$& z>&Vdf;p0N1aahY8U_R-(fj(g+z&uY>nN8Sc)jd}X2WYHj!QiC2CwD2$OvlrAc$co0 zwpn#{936V&H=N0Xr}j_0h)m4r4_dg#qS)(PZPqAwJ=ne(A?ddee@3wzzA*c%vXphi z;`fLFE6%88P?O-VZgUr``&1}m(X8f!?-Av}iAAlFcrfu^qXup=tjP8ChN8kc8+LKN zD0rSQk5UD&`=)0PjP(RGYau4L8rmgBe9>(d8)Kcq8`k!bri&RkS2sQ|1(P#4+5nfJ z8EjUGceXX}rQTZ=V3fi-8y~3f zx~?(WO;nM)2`GwNPdM1(i+OSr3DmajQLO7?-^91|?RF)ZWtxY2rTPuom`2pkK}eL$ z$t^;?ThIaSAfm6vNDPuyo&9Xd>+oAboX2h52n}=y^95+DtikFQBD1)Yn18m3CX8{n z!t)!{xluZL_#W*4mTE;M2g!+X%iBGat1C2c>y@;6AIg$eX)oO&XS^9i|9seBSzmYM z{QC0z7#hOWrE&avpod2#Zu%kZ+UzhXa;q}-M1ia<-kWa6b;9u^W@MnrvGeH;Agm2P z1K>b*56gpa%>Pq3PxH&t4)N4d)4nVI>tr`2xg?Xt^h=8i$cdd+RNflEidD$PzJJA zngAigU6B>FmL+iy-|Ic#oKF@vbu*_zU02-jg|AK%#bFE)U%suXshV$Lw34z&4isO_ z(2(*haGNFqUm15OxvrunDa+{zJaOE*UYIgjV>4s1!WZXb;oU`+KL@}GUzg>iOOC=< zdAQA1J3L>(SAeuOenapY&j$#PamZu~`3M%yECfEt+*fWm`oP66VS~Vr}Rogl57&mXL^F|+jg`9Aq#7IqzFudcwd}+4d7uY7^qQFn^xpsIVlcP5a--++7ap&TA z8V4F32wOvLnNWd?8ccHp!_H8juoUMy6+~hNXA}`jX8|baV+s2{$?bv*(b^? zwqa_umLI6+MASQNNzXukGL_W>Eq^T(JwyH*I2jX6g2^8bmWGf(9?BLnTcFUOg zLZh~uaqP;Mj}*R=uN3v3GHi>*YO4_Jcz%)EvTUV+2pe1C_Y7U2Ah%Ct9ruRPPuI(< z>dp_wH`@b_+Z3pfZ=QtZJH{tM8;Y?HbT~pxkW$@LMwr3$T6fsZ`9e2QPxVka^ zaI+lMZXLY7E(^+93U-F27+N@w=SrRiKV5IFG9aHU0HEbfQ_rw+?o4gzwxzGqDmU$y z;}f0_mlM*CCo3&~H-DN@|5)1wMS=3DqV}W|Eghdr@Arys9oCn6%Fe+H@o=J$jV?!v z*0b<<2rp_0qa8{p%iWTR)zeU!#}oQryDnH+P9@7O@fzAtq6@GVg;begob?jFr`mEy z05eei3Fk?&%~NaUV_Hg#mzMEAfP0CVn`wpQJ_RF(UN3l6cq*~M520X-?o~3tqP)0T9 zCLp#DbDQuzFFW#!xBD@E5-8yC0^Cx~Dc+j|Ph8H4yAMoX8#3OVj>*{r%Q;k&Q}UEb z*7B&g?u9hU?~k^)*2d|)5#p~YF{V70s{$KK)(&EWQihm*Brhv*Sba)!kf()A^U2Mj z|9mIb$0|L($a51gCsq9Zp}t~QhzpC{`?JN`rtA?ve%cP4zjSe#0SmjJ_^$ZkBfqSy zTScB_89BX>`ao2kC01~AMrX9MYM)YR+3AnLz6`R^z#EZ<_wR}iQqI10Xi3`oeh1~6 zkuduay78`>V^1Bv4%Ua6ep^)WJN~T7Sv#OONLT&msanBWDs7K*_hY5p1G6&?@rpI% z4kY!29GlVz`raY&L!_#;|5BodSO0#I6vM3xomy~ocxuCG?RTSwPFbrlZE!WkXUhOi zjLJ{<841}dZ1E*SltLWcRF5;>UR9nLamn&1jgp-)3nea({tB@;TsG>z`EPC=xs5h%QyhU?sh;ywZ4cs5Ekb91Pi*_x$1q-fsWScOD({{4KLfV zhiAY``&!6s(c?#?uPJ@REX(WO+5Lj?g~&eXojYT5NQ)H58L5Sc@}!~^OZfh%h}Xr7 zI_G4{lMoOZwF_*%tAOr70S?}D@W0Pl;(4C1pnG|ROl6l6p+Q}dJe!}xvv#Q|ESpZg+?12%<`zq5vIPP_@IWO=06~P5~(4^Gn~a87T%&} zA{H5#BVB7{T-IM&}09d|4KxPIR|UMar#^q9fJ(urV7>McYlxEjP<0hT$28 zfq4~Js_~h>WBo2k>JMMwM}1QCZo^ciU3cAu4Pmw9RMC9Pi0LJ>QWpmNL{zKv0_Sby z(;0F^W}47DV1Q)$$2S>4onqx4%ddZ*0qb8e|8$l455?5bzyc`O@gF7}?~*HRLJ1$W2SH zL6t`;rE=psBz+6436cy!w|kwp-zyqNz&GP~d_Q0(+;d(AHU!gKY)Fo0Q$QRg_r#f) ztd^l|{!hdGc!M0WEI+tH+kEBVt+lDG^LI|KbR|*pcDja#^S;M8@(&-0hjVH*m+y-qSvm4>v&FEcli4M zP7miq%?AGtWUh=%b4NtvSspCu3%J%5@1+p`!UX=7cPetphEDEHutUFF!@8GD=;IExD*XuukzgxQsnM5sIr}7E2<@#T_nwH^Ff~XDvMDt> z5Cxkk1E}}CWm%}JGFP9%Qgy~~3t*CM=Y@8gkiN4a=TK!*emPW5sKD;6Hs;5k!nB); zu9-yg*5D=AcQr3-&%fJI;f{fKS-rl3zh7kpw{z}Etxa^?gYWhlKvY33G%bE3)P?2B zQPvpRd}t+?BpdGn+l?#yf0Wqqfc!3GI(L?aqmMMmwQ|CJAzh`3#hwBHMNjn@PIOb8aX51(Q9)(4I8 zcJN~tYR~r|!%!p2fu_@L{UwXi&w)A zWODkuX6YlDgZYghozuY%Tu4Laf6+A z4As6;8kQ^@vLYhBSr=K(GCi%6o)XccZfXA)`)-t1XkqWajgI5^*+Q-OfZw?y+b62n zQtOvu)>1Q=5-7VOMJ%*pxJnxZ0An zTh6OR`jyQ#wJD2J+CZbJ&W%m9N~IL>fpVT5c=8zat{kL+CDNpbE5M6oRirTfk)90A z+o~XKLPMTT&1Jow%jIlGE_1bnWg!~hskc|iAOG#o-gS=;Za6`~MG$O_9~(E8XdU9O z0fcRaD@vV^?7!^qCmdNW{J3||YL^XA88v-)rEsb#7=0)RbJU$2`fhw$u0Zh+;C9AK z*n~Bw+wcAUL=vcbuaIG8RH2ezd&F$ObJC;E+RpOoQ!wteb?8o_qushx#qCm=jcFH6 zPyj8y#CnZZ)5lMp9Sboe>D&IkqQ1i`J(C&K5hwPoyqfJ|%DRFl)N=baH@>#(6LGC~ zd_P2ThZ*LJF$e0Fk*hiW;8myU_g!ruHHIdmxodh7a_1Y>8UM2X?mF@x3BQ;0JC1lB z!^)$e=r=jz_q?cZLR29)3LP1!y+EH93NuJ-6%4Z4I|zRMv`dR!m0 zp-D|5=E%BQJfNtp1=7$VCJ+@B00?ak2!Ed5=!7>4GBP6?z9*+MRDYH4G+o;@E4#*m zVTzFat~+#f>EP?MEV{>wE@_jQ_qKA8j_+Wh!O#&S6D}Sx`@tc5Ge}rF z3I-K7&sM2BrdsmTurg^O^cGHm6+pC$yzV zr@^ye0VYYU#dQK2$!J6Rq4}tH944w|JBMlq17!`O67eCYUgwt!xkut(B-v(!Xe=bx zA#V^t;(SJs{u`AzC}>|~XN#Sy>~~c**rJH}N0rtEpyBk}))8$|L_|q0>R9nLL z+av7Xd`=zON4?@psJixRBqvNhd%h}-WuzK;6Q~Mk9Ng*^|9nR zeCL4f!E1%~lJ|qv^;DEtPUYNNN|o?Oa4{1;-*V{C+o;vp^MIlt>whwZ(AKy$#70c` zCHplLbSq8fJl=&P%k0B%W}aMb@6i4byH?qcPv~DbW;GgR=GCN_({vST8e5@lXUJ-~ z+gLWde1iEq2M;XPA8loQ)kcz^7p-|8rs26eu;hYAS#;sYY*-})w6#$(4m8=d<*I~3$MU@nr?L2 z^8LW}?*kd&mpMcFeZ2ckG*oyz9Hn$Db#1Gpu}?Q(2S25gQ;KFI+n-G`FU%%;@@+*i85>K~ zI5-j&9mm>%FOZD&$$I|gLvDiyWByjf z9BC}%-AEw&R9`{5vIE2du+BUd3NZimjJjzfZ;2l{op!}4yscZhNAw({1KF=1QZW~c!)*l1xt0Ux(lKUvlj|miPuBJpj zP;tMx!f2KnbAPe;I@Zk8bYm@yUG3VJxi!hj`bYJ#fxjZlK!m+nph4*hJ9-(4XSQ z_#p^Kl(pBrL@URU%e-|uW*^cZt>(6PLx@iwcsb@5AT9XmLdNeDG`G^~^EVtp&oDL% zAt_7ZaKLo`@=;CE-%@nKw$=aLz!81%PRI=q>=}Hs9*J(9_VjO!#XIeB@XAU%j{ao+DPa1{=it?lOJ5`aypWZNkiqGwKz`+&hH34JhNXj zA5FH-y{W)E1O(CctZ?AVc~iR8Mm?M8n(~(I%-v6PiPPwIt`iJ2m(!axg+5#zFFpQ5 z=shbKu{p@0>EM0-k!?YPDO_wdz~)Hp@9R@#z}Pv`~2sT zFN*_5b7=H6+Jm=leY`l#$Kf@6lAS!DFGlqexRNDWKSQ?^d>(t6i!|_QmA~k6TwyKL z&2{@P+i`WC)ry=uAup zo11vSxUbs3g%oi{Lt7i8JVtr^bhJ-8*Cd|1;546N%>44SABuVf2oMIB{YvS4rwk#r zG$;w{AZ%wDKzEik_jUOXMO7J{bl|78)qX@cpTrr-E{j(7*23Dk=}KlZyeH%$A**O$ zqTaPZ^{h-ccBl!LPm;YP#BB)ZzN{y166!_Y9&j(0TdN;gY)5<-{VMwdok2nf*Ez2b z7|qh=R|;X$#quEUbMX(9@g)9DY)a3fz#;otLZ+)9Zyl_L3k9^l^yh3oz0#jBzK}Cp`X=9_jP;@Zq9otSo~Fe&Pcy- zg>aMynM`VQ+@-MxRUOFTta=w(Cs+j=a*0hT}^FQByv%CPX zbwc3=Vf+_fz~<8xtr}e@J4T9uW^le)U}LBid+*?PH|H|N`XU`DsZPBO7>Pn{p(gH; z&_Zv}Tj|B&K(qDBSbn@K8p>$85k&d;^R=O~e5n63NI7oYrK>ryP=h|x~4wQJXLgb;7^oxKl(qvXTZFvF6?oxAgI;>)B8`p9(HZ>3(9>Yx8;eB=9xrFY!sa zVZEH=5|-rF7NMhwhr|T^sp&6AiuW%*=~=JbJij~uf|pyS_S#d#dCcC@ZZRx%b}L=K zCSoQ81cS7$s%m!`^RLy`&dqiJ^VPln-rz;2FZw2 zF&LCnb@0it)a2;16v2lHbgNN4kjLP)Eaq%TO4Su-_KRf*qkHk^<7U!j(~>>8ZKR)# zEq5K>oD;tDyS$Cg68i1Mu;F#-AA;DmuZ$xdicI`2`k;nwe8ypMUhG2hn8|YkFjOhr9OIDa z4eTDt`wtKaMWZND(Bx!Y$oFZ~yzkzO_&j4BdGYw)>{Rb*dJ5LG=|xBeOx(G>nZwN!!gIB~KYwuH5KkYeIeb4Cv>z<8@MLrK|PD zUo(3DjUD!G;D`UTVG#Ue&EHgU?vgfI=5OiAlIlPBT)q9!4UsKJWuYEKxy8s}85B_S z5lW^S)_I}_>boxH-Gcj_k~N8zl=r>U)z1IkJWq)>K&R2Urvljh@&k0JcLkO@FBCkp z|E82H$uJ;*^IISC{&CU2EW740p!4F1e?ppOWZSki{YL~3sO%YYKM6%Rx*K(H(|2mC z(9OV>Iz620uecM-GqS~!-mXC>Yp`-BL*rKa@y%F+?r|g)9vtZ`YE~sKe4gDk2)L4n z_GN>9e2jBjGr?=B!ngjhUuqtCC)xnL4&{-6hwC+V@;pknt*vDM1z^xLL?L$2DV#p( zUf+7M?;<$(q%d|*_Gt<=hO4pfV$to7!3HxkTUTUxY=>8>z4*0r_FwCEIo4tr(e!DH z@AHQLL`$7<`2PT<0|AubsWFIL4V_+B=~d)Sim;6f-KCCfdxw_Sa%!sTr_POGDyb^6 zX_k7!+*?k4jMJr^Wz+}rKwO$Nz@H-g(=T6zfcLsdx!u*cc*BqR)5NqeIen?rTVB!DSTxpxXlM>P|_D!fBgK@|@N_;-&nlc??H@DVt-3O;Sb}1d3g%p{{mt4y%XWG-7oyX(| zTKq8ZF6>w&ANucXtq3Ty@;3_IX zDb<{$_)CC6o3hBd_xfOjTnrnnTlY2|pJBX3+JQ@{_WjjwSVPCY*Ek65sG(#c^eyPaaYs% z3xSvqofnez9JUfK(h|;(Iz;}G|Ah4x@4xXzRYRE&Nlc$guvb zf~7rV%H936H0KWEE~%posNWe6RCE~%SUxtjE6TLt1{Kxm(lz`Q;)hNb_z`_678v9A z!quKEiTNpodtntN@^plkDu<*`j8AxRvh3gTOSQevFo56!`vSjhY|tstra0BnqJ60mq)yo z8>anoHP^$FRi3wWrKT}Cx87{ao>f_2)M8WJS<^N(F=Jk-hR&#cQHnE!Nu+CP?$~lc znnujGTuinqLMgAPGh1qJO$doe+JDvW*l`FF(=6$P8^x90C7Zix$~zQO`N-smOt4c5 zBk94mX?37#=W=5}JD+(tSJ0)oNnVp+ky*SC_1b*BckC7IV*(@p^U+P_?MM5FU|-$f zqXhhFzy#!;3izRTr+1LQ!ahBnV6`d1YM!{j8^hrBQE_Yw~XClKHK6& zeS%3Cp_V{H#a*(#T3Qb`-Yv_ok;6;D--2B832k&yM%Z52eaAmkBg|iaHLhX8!81Jk z+tsWTb<0hOTd7F%fC6L{Tb6#lr1gHB_zs|@y0RR#IGJ$IC2gGZth(fV=AhSUPb{l< zV7V~dz{m{eY&a__Q&VW1ZY?DKtcdeG!0{s|Qz{3t%Vj`*@9lX^Hr5|L&+UwQxb?Hg z-FI7#)()H2et|T#%2&?sumliw_O?pLXS@1!G!yH4I#e_V?jbU&D$;fquC4nq7$v1- z11R}UK3IHV^&)cd!vktS+IYtYpBV2gdoE?(N`2e5KjMAQ*_!%Wuy*2y>a%;abJ7%f zXUk4JuS5BEkeyTcp!(ni40Dd0O2*_nl$p6eVE@7>{OWSM|Jb^1KU{v`mUoS`kHyu2 zz~i1Xut$;29wX+;oN6@JR_3wiUN#=YrnQS|G2C>CU#391D>ClO)?^fxE5Bdsg?h&z zBXyZAbLKDrli$k;z??A_Ep!|#8CJVgIjJjfEOhOO1~1#`I%C^Mf97*yaf&0XccJQ- z3?$vj>k)R+P|i@j!!<+thZG_l_Rx|(f|eRL&|qD1g^zVE4i>B5u1-k)@ zT@utUTsjyU=bMeBPquS4IjfUJF?1%kz~)C3-J+;vAGvc|#jW!OcUdYB)@Z19+~M4nZVi5-vhOq&Ec z*t^Th$xJo$g}I|##gQFNTzM+gM*DBDvvlg zg);8=6RsfyhS1>)1)iEO+`k4e3z?mWaS=a_OSS1B!``M(x)v%qCemt;rZl;lQ_LfvTCA~7|<2*VZg#>vN-(zz*O<-eEM11qL)JI+5i*^sr?q(%frIL7!AUXU6xTO%1O*dMI2tpj2#QZaUji?+jU$mwtT3Zrb_$AI*e6IDh!u zs{6MN6?84Udiz!%RdHP`-)D0Zk54<%@yC`i#4++0$C{JL<}Wvc-J({1xP#ixm=R{% z3tE#=T#F^=iQ=W{w<2(r(kpS!6C#i(@B z&F7~b@0Q)Dg?pp&`Ushf?Wxo^l@n5V%~W$%gy&x|{tVl<*A2f;vuVyOe$4NqzsZO+ zLZ)c;BnL63{iRR7L;kBIy&=osPJ-5g*mBX>1;^nqAWL6Xb07h~SV$OuUaZ_SllZX@ z7HhHg@t8TL+q2sqZaCh(kUN-#>29vwU~;-ydWQvhRG1bbK}X_i1Y_kuKRtl1VVE>E-UQdG_1ClD}&!F-7QDlbWi5A#-|)h>s%TD8L*zmkCpb;8CfeSl3h0G`5yC5}XJkD_of7u5BJpMyF?K7!komDZ=-^ z34duWK_oa4OI^R^?)?^%FnXM8_!qTGYWSQ7W2o-B`P#eB^duk>xxy{It1otQAKb@Z z{TO>^qbFsnwQ2X^4JIji8kt_nd;%f72iL9Z&dS{S;Z^R8Tr434tCt!LLwR!Eak>`f zix5?%Pd<$6?XGVPh&Cs-+4+MmhqLxPX8snAQNFbKQfd@IRFs$p;iQ3eJBpd@kLXy$ z>JcxFNp28mqT9#qVOnLGMTrw9mhg!Ws)ix}M7rAFEUXNWgVU~Nxe^w{HLlKVyne#& zN8V(q|AYq}YV0MveO@zB%D(6t)pZ}ce7i?n_MUFXF#UTs`g5Lc;Tn=r<;KVs)uYaN z1uHo6N6|1=BBFg2pXc*R>0>%m!K4>EPpL!~7CEW&=Ue2lUi{8F$E z)PaSUVaTiN(IPS!e$_tD&w7wO8kRZIeTB{ZembI96MWj@)_4~?(E}^_qP(kl-0eu( zj2GAY#x?w@x1y3-5TzJ1nK|3U53%%dm2#&K#0ufkW`s}!b76kW<6^y5e}l;dq$p1l zmCxycR1p73qZO$G_^94)kF`5#Jn1|!QP-EagY?x7G*b!qPxNr?Xbrg!%*5kSm}%)n ze8o~@yGPw3cI{lbdh*t>?!;DM-6`Ao9OSlIc08kt>*u1c%$#Ou%18S#`>=9+RLQi= z+s(VHvCGi`cE&XQ{-2y_jZ{O8cNI!(Uf_}!(ziRsh}l9koSz&8*N^Gcq=fq2;eqzrsTET79qeOwufDf-Vk*|E zkH)lGoi#la2c8g(P_g~)_CnkU#nxv&1B#BU$dv7A)4enH0R`0avvWS;@&LNiaBgSDpN&2-$e&tlK0e&BKwca`zKbr?KOQuB6iKz zZq)C&Q*EU%*>IQYqs2(1&f^;UwIBw1FUU}t9Yjy!RE-ZdgNnO>y-Vlg_LKTm^4A?L zlo#L3xmGHxyvNXtp-W;(lNqEtUn_sH&gY>IWW%SoxaW}ES|;~9PxYK6S;8PP?jkvj zSwGRHj})k1Bb#)6IEwq66-v40hw^v*q{xub#FJArojW*agl||L23HxNGkT1pu$J!O>I>OeNMgO36YDp?_ScS?b*)(KlU~9N~hfY7vKPT6uR;A(Uu!B zhZnMp@!ZLp6S!2%Z(N-vj*u&=Dq>F02rv$js(OE8x1)G&8>tJVszEQ*k6P=obS>;( zspzg6A63I7w>INibvyi{)v+4=={xOU-V#cw{BKLJ%`{OCfMxSl)@Ba+rfIRf--Y$C z{tjF)ZpT4iP~n6)urx_Zjgd&kp!V2f?kjZ2JXvKQW&SAPQ{5huFNOet#o zKMBXSU4*ZCvU}edA7fuf9D|c~dAJIaPj|a9^gY8^DN|GAP3vICe zSD+VTT&kfPH>_X_iE_wQMI%P0%6;TDSC1%c8E9lweX?zW_W6Z& z2G)E;j9g)TawH@xbPmogA-SACs7(@^dLu95d;`RvsE&Dpm#yGDG3v9AzrWKD<1FA9 zDsqy9P5*IsF~{8g>?sEv?m}FRJY;9tnz;e3mA;qO-z_^=AId?E$B6DbF1iOxsQcJT zG{z{|HkVwubMAaP*09+l^m`*Ic8+(Z)?_(B18*ABErI`7^H;5HsMVMLq7o#ow8n={ zW=;KLY~(`WOH{D1^HKBII7ajvE9VB20H=zr;@Ee_{x43ENvwA64~Wo^i?NF;B(|zH z2--`%p+D|~^cW1bcw3OuRlZWke%RCzPgedDqs5>Tgw*K6V#Yy`XC384n5Dt-wltQW z$-6bG!94%{C-o0ieY8}zF-w0)6s<;BA|QFi4iO%wBZf(BBAr*j_GV;fw(j+p=#!Z{ z8nbcP%Z=^W$NTZ$znpW|j4+kN#W>>`c7(3=6}1Psj+5~0Nqdw3PTBKtL38lM3T4_)zVJK-B zI)@oTKtxIfq)WQHJBIF(?(Q5IW;lHB`+2VG{BW-GKdf2rJ^QoQYn3>k;2q22*Xb*2 z9}ugxjLs}wTmPYaDaGEdU|P5fX$u!}sL$^mn-0NB!#$q5|MHQ!O{CAHC6~@47imP( z?o9ZD1NS&4)+e*+Y2jvhNc*3DD3J#s@Sne2QI)T9LO6(PmeNK^g)XW}pnuJ*Sr$Vg zz#N44PSgaI)9DA0Pdu6d_7H@sqBUlOc&0(0ZqI~2Fw%YFkcU2Rxt`y zkFRW45sEfIb*4tXX+AsygTDCxuGoC6yXzGFoCJNUCvL^D#ACOuOdVhNa39OEV?l*u zr?phTrqq&7!ryVA=P(1V&MZx0}*cj}){*iV(-@^l|BJ=AzVSYlE)CDsuG@El0 zWucb&PHiKqmsm7_Lhh5U@&h4{CEBi6Zc1!25s?v!!X^qa`_fUwn_q|BzB(nmc#I9T zyq40eru*IU?*h-<4wY3ofg1M$%H#r%OYoYLp9Iw>XNNPC95$Rs>sznUNVzac&rY@p zv=F@x<)jNZvyU}C`L^m5cH`%i#Fvz+)4L|}V()MFz;^XTXAZb-Xo~ZLed@)xS2Ij6 z(DVpR?#k#t<(RHJXIDiD0UKUK%Y-AP4Pu)_{!|VJ`r9!vt z3^RjgVh~@8&xzN^7J4U|UItXy_GH~+99p$?U%(2-RAqlFE;FS0a_~m~yGgX%Ygx6* zcTuN5KW`tZC06D1WNhg9EElY-+;=;?y6?!M7r9MhlWV#Ytlz7WG9-C3#jU_}Sk{S* zOmPZ<-Swv^9Ea;bleY_#j2=skRN2TW_?0e)zV`)*lIUo09cw9pwV!h2NXjp5d1 z{RoCJP)a3hnbPiS*OJh%^Wz~KR>ytv-P?o(k$+q^!|DmO(ipM+i^8UWtrFtl##$<3anIAB2?cO%g4vPb3O6X+bnkJ$|vnT3%YN z1kI;h#8SWo`tW6Q)yAB;$q&6RnFmH;R$SjtOC_?XIIXZ{8ijKJHKP4??(HJ%`xeX- zD;t6`5*}}!iBX07%Z|F4rFS?5@3RSxCMdVv)1qC`+k7hycOO}RX^=DQ*>{eH{w=kP z4Otu<@=A5e@RSmA%X$@z6lgbMyHA~Ovt>_Tx;B3#OW)M|tX@P29PBfiI&klKOiw6Y z$+|YVE1|(0$Ba9S>TS?hxNd0q=TLs*`MUYW%kDF-NRcH1%ro+H?g{>v#}BRWz1TYc zX`fw1$_f7uMcU@A7*R(+^{+r?JXIzj?+I)M4l&zkaNP{qnaBZ&THMF6s2JYj=bLVs zpRaYc{+IcqoO|NQ#qG@K^9r+Twv5wBcznCgVtFFK9PUK&$~d{v&M=M={;mj%cC{v= z7H<_txPy@{4Gw3=*#KWT*6j(XHlFI>NIdAnmuKNR1jpr*gjNMD=Cjf56GT(La=e^t zNUPkyeY+q<6Ra6rg75zcw@Y`k`IY|N)6{>&ah?x@{myz%EV?Wp*cyY|YL z@Ul$cwI|%D@Tc}`Df>YGnhOGLLH)bX&shZk`2rtgltVQBx<@6&*Y}(IISU=kA7bA= zcdGYl5a^g2+;y;wi3=s0V-T2I=w2`~mV)f%p;0~m<4A13CM!KH^K+PSjwiR%aBI=0 zv0=M>0D(6K8d|iu&kfJ!Yg=zPWU`Qamte|hFyrupQqua9@E7at{&uI~x2tTWjr;%U z^zHj<PZ(l6hs zebv7&TZdtsK0yQB$JQr+)|M^UDdu+i{)LZJ#Q@9TuIt8t$>|kTXa&>50BlHWs}Tu& z(yB=DN*xiwR`u4mH!2BlU;Dmph!?yl(gOsDALJ8j)SsZzWNDXo)!fx#9ew(yzNNnF zp;Lr6;;v5=u3!HLki6`eF6}R2@=h7!Mr16lS%6YE8A~RXf$Q-8J60ABhBM=d{SVlXOfmj!Lgfi#3qfe7M5b1D zKML&21l+Se&!#82J%x7DZbxzm%f|_ox1$mgrErKDHq3&zPL?G{WRd!)u?e;g`ni1m z;MCY3=DZi`wY=ql&yT-`5)EMAzGW=u{$Bfh0|Mg<% zlP?F=3i8-3vj21~=JY66&ioz2)FxD>3)hbBQ`^_`$(^d6bdZ#~jVHUX^DhT|NPGZF zKxkmBqg6gtXO@f_fgb$Ucz_E5&nywG+LsCWnk{GBOYM7;Q9kVL7!SI2PLWH|kBb(6 z7D%svwjeQ7(r4c^_x|0?mLVdOOkhNOS&7z*_xtgyvX)FAs{~kyuOKT%cwsY!KUmYQ zWT{$0KeA%Jzb4J%Ow4@~O-iCD#5JZH3^c+%J&%2`AuH%N>L_!iOl z7r*i9Fk&rhm7xqQ*9*<))8!3NiudliT%4SJ3lW3Jr_qeX@?a6))wh*4HeQEC^ONK# z<4jPYj(6T_hWR$u^|nbHl}`q&O{tV!8q-NxS_X#zp7X zY53#)C4yQot6_GJp4}O>V_@kj^PJ9yJ?K2+O_NmPVRkEe^=v2FQhQ<9_3oZV1R}@# z@pPn-fax|}veOQ9mR%mAFX-|JlXb?C9=zbwCvhB-pC({#$=o7%%@rBXB+~^;>f&2u z`mU2CmblS)eCt0)*|xHQ0Nj4{kcT-|(qAUhy-jucHJ){CWx6Pq6%eP{&~TWBis?%U zB#M0cuu*Dv9tj7`muv#B_Y4PKmLE@wZ{-uPQbcoA-^9-)mRZH1Fy+6OIe@HqXLi)j230b8gX_6U@%j??~@P(>Q|(-&)wc%Nxq| z91kUI8pXDW{Y%7u619%3Q>f7ioX=^6712LKCqCV^XMiQ)N|`dQvt)!$ZhX<~9P7Zw z{Wx~U^r+@oz|FXiJ6nEb;#8s~q~yr-bt{@Q^Xnp*;pY+UO*bdj>*Wupb@QP|$k*GG zV3#fP*htM^n>*NJowXud1{p^5N%)VDWab~#Wi{e-N;n}IL^C-y+X>7Qb%T`7Qb`iH zX47br8W1?AK{!t|bpIAZX$`$Z#9186h_QbASYr@nwCvp$%Su5X>L3)qTr_`g zv6#QD4A|bszyF?!Sp12^dU0xxm@G&A6);t2XwiuxJg8qqp>JOZE_`fPpuhHYf9M(5 znRL*f?;_rhI#9uH(+ODb`m*2zO%j0tM1Zj;{#Txh`gWTSdzG6tIsu8IF|hDAV-a)f zt3I1fY)$XzahFff>1-h=UX&J(&zW#vfXxwc!cXhHmw7__9K!~SPU!TxvwZRRTAEEg zZTjNF5&!I#<{u_eyjUPdNc`4wnKapeW6phQ`}QRL8jJ9Y`X9%=E2F2n5W-{j42DS3 zeL7o(Kdt?+xjD+`$z{L`R**u$Or2U=xZClDhHNYAoqfa%nX{GHp|1MTCSp)udfB}V zdW6|N)X1ZFOmwNgerUAo;O($rh7d5}GJFt)M=6>ov;tt-HjlZ=Yb0sdn^#4Q#Amw-i&T)9ECg16oYz$SrMO z*KAiyaew0}fxh3rC?KboV7sBr>13C{5SuFU$cagoFMgUF7J?IWg4CR)HqT$V!N~*& zh}iw&l8I~I8eP3ZdtmPgOvbYQjKM`falG*sqoup-%4{w~2`(zf5DcVD;m<^#IuZ~qt4w=NlIFufp8tsCf1oC1C7O}0UvY8Ib6w7MG|2utrj zBc#EU$L41T;N-umn0K=n@=HK5+$CuU;9tVQY_%odJ^l#pU>1$fyRL;`I-B07JC^X1 z%XN)ShdETgl15wK+-FNDIS2&3o}qjYUMY;asb)g2(qQhNoow0lR26}%b zDRS}>sd=3zQe-Y9fdkSytSpSOe^Ba7613TmN92!aK`wBL(#K#i8IEP2JK1i~7Ya}r z(o5sm&O&Ol_ijvd_LW+)vtDVo+)f!Fr}|othbN{orIq8O-D6@l|0l>hXS~(9wx6k4 zH{pKa7l@m+PoR7(8D~(4_=+n6 zCeMyKY}Og6!#rQIe%$%CJd1!~ai_J@BSKIqG&#`^a%L|;&nqRRJpMNDk?taJB&rF_ zYhJS_Cww{xb$V6|W-4>YUuT*4PSy#%)(>0N(s}qo#8e(DxI*INqD0zL_m~ijD z#Hv+1)~DT5e~eUDevvYv)N@e$ls=rr!*=hn4b*LBO)t`FWJ}ffY=mbCKr==^H0kg# z*_)x8Kor)g&AtwZaCSKNZ+NT|$)go=v`5*YK;u?gGq%WrpwF{D*slaC6T*ts8-MxO zp=*Hb7aM+p^-bY&%*l7+ldNQXR|RDWs(+sM9KWR799Oh z5@M3S8T>-KF+7@5w}v;%TZYe(5^*<6wFFq)ogvY58jxA_zJYn@bab&DKK#92tQcwu zw36pJ7vvqaqK#xxpmM&@xoW5j8LU^b?0Hz2uX6u07BUh^Sk)=t$L~@Tjy+dhFPRQA z6i6@rAls*Q(jBq3{cL{0rVs0{8*Z!E%|tDMh6C^e_+LARu~z1f8~C5o*V*cQp&TmM zNE6zn`-Ic=)Fa%ovzBA$56uX0?AP+OzQqxDdicBTNJ^lM>pVwa{l~+g5eIP2<$Cu8 z`I=7(Ey#1sx8-{F_Rc2ibh&wPspT$c8rZ`j49q zy|v}Q-1?y>s4DDeeoNU?{qafU?YFHN>*Z9BJ1OOR@ji$-Ob#ynvX&{jocboxHQDn- zRN|kcR`Z4l=PK(Rd`nO@y?pzRzgrFh520RYG)-^2bM*~0PPOYlCe2tfQ7f+Q3^ zs`Wycfe46aKfZ^Oh|e$UKIBEUckaBT4qGtJ=6#bIhgK*t&p?xYN01=^Q5zlT(u%O> zmP)WaU*!RPARf)HmEg>+KU-TmFBfCb{l0M){UBxtUaIS*iOe+c=?yxkigpj;?*ikN zUNo>QO}=lfa7u8f*>lpOXezZ@1$3)zkTXnPo>d+x=HoZd=6yi*QsbPM zv9ZMTC%_w#y?Q}O085%!zVE&;!e-W`G!81YkJIkw&5)RUzU_QrE^INH%Gi*Nznl#4 zYoGIam+?Qg-X3%B?qJ!HX|8vvbqRe-hM%o7T!C%<+%QPuyU2B{5+*T$c%u}`>H7HF zPGh_S#atwjAwF8+Q_8^sZwY@BWLBouS-YHwQ^PAbMC`^}wjEWf4Xh+;IuB|K3SR=i z@Lw;8j;F70EgcTC-8%pJp{y;bq}w@){Ow<*Aoo>qGnQ0tN1tS3RBJp_!A2Xbfw3QI zzvFoqilh2)Iv9*5d&2{;+6YWr^iwYbuE6I@66x-;IiS-!i_Vj&jmho{rVXCV=zzPHO6mStn0Rr{0ix#+_zsGUoU#BqO| z!=f0MHA#bOs3hw2256~6GmjaeSCf72ItrfY

X6g@=0D?c~-N+?MFFz21q6qQ5v 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 B51Ie~ From 565a329a1dd3fbc5c89d9dc302071fe4a538d39b Mon Sep 17 00:00:00 2001 From: znmz Date: Sun, 24 May 2026 08:03:07 +0200 Subject: [PATCH 076/108] fix typos and misspellings (#785) (Mostly) detected with `codespell` and `typos` programs, which I wholeheartedly recommend everybody using to check their writings :) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/785 Reviewed-by: Admin --- FAQ.md | 2 +- NO_AI_REQUEST_TEMPLATE.md | 4 ++-- README.md | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/FAQ.md b/FAQ.md index 75aa5d5..63ebed0 100644 --- a/FAQ.md +++ b/FAQ.md @@ -48,7 +48,7 @@ There's no great place to put these in our current files, but these sorts of que ## Why is removal harder than landing on the list in the first place? -> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforcable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. +> Because the project betrayed our trust. Now they have to try harder to rebuild that by committing to doing better in an accountable, public, concreate, and enforceable way. If the project is committed to doing better by rejecting AI in the future, putting out a No AI policy or updating their contributing docs, shouldn't be that difficult. ## Why can't I include an social media post? diff --git a/NO_AI_REQUEST_TEMPLATE.md b/NO_AI_REQUEST_TEMPLATE.md index e58eb9a..fc7c0bd 100644 --- a/NO_AI_REQUEST_TEMPLATE.md +++ b/NO_AI_REQUEST_TEMPLATE.md @@ -63,7 +63,7 @@ A lot of AI companies also work directly with nation states for use in their Wa As another example [NPR: OpenAI announced Pentagon deal after Trump banned Anthropic](https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban) which was due to the USA Department of War [launching an AI acceleration strategy](https://web.archive.org/web/20260113071131/https://www.war.gov/News/Releases/Release/Article/4376420/war-department-launches-ai-acceleration-strategy-to-secure-american-military-ai/). -Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intensionally or not. Examples: +Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intentionally or not. Examples:

Content Warning: War details, death @@ -193,4 +193,4 @@ For a specific policy, I can recommend the following policies for inspiration: - [Loupe's Use of Generative AI Policy](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) Thank you and kind regards :pray: -``` \ No newline at end of file +``` diff --git a/README.md b/README.md index 0341de5..d982fda 100644 --- a/README.md +++ b/README.md @@ -530,7 +530,7 @@ This is a section for repos that are similar to this one either because they are > #### Desktop Browser Alternatives > * [Epiphany] (by GNOME, WebKit based) does not currently have a stance, but GNOME developers as a whole [show aware anti-"AI" sentiments](https://discourse.gnome.org/t/loupe-no-longer-allows-generative-ai-contributions/27327) and roll out [wide reaching rules](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) against it. > * [Servo] (New engine, formerly owned by Mozilla, now by a co-op) is not yet daily driver ready, but has [strong protections](https://book.servo.org/contributing/getting-started.html#ai-contributions) for when it is some time in the future. -> * [waterfox] They have [clear anti-ai stance](https://www.waterfox.com/blog/no-ai-here-response-to-mozilla/) +> * [Waterfox] They have [clear anti-ai stance](https://www.waterfox.com/blog/no-ai-here-response-to-mozilla/) ### Headless Browsers @@ -549,7 +549,7 @@ This is a section for repos that are similar to this one either because they are > [!Note] > #### Mobile Browser Alternatives > * [IronFox] For Android, while not officially related to LibreWolf, some of the same developers work on it. -> * [waterfox] For Android. +> * [Waterfox] For Android. ## Cheat Sheets and Documentation @@ -918,7 +918,7 @@ This is a section for repos that are similar to this one either because they are > [!Note] > #### Alternative Microcontroller Tools and Libraries: -> Suggestions for alternative microcontroller SDK's are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new hardware development project and the fact that a microcontroller SDK contains many peices (like HAL's for hardware blocks, Wi-Fi/Bluetooth libraries) that are not easy to replicate from scratch, so don't feel pressured to switch. +> Suggestions for alternative microcontroller SDK's are necessarily more complex than many other categories considered here, as that's one of the core technical choices to be made when starting a new hardware development project and the fact that a microcontroller SDK contains many pieces (like HAL's for hardware blocks, Wi-Fi/Bluetooth libraries) that are not easy to replicate from scratch, so don't feel pressured to switch. > > Switching to a different less known platform (e.g. Realtek or Beken) means losing out on many examples, community support and depending on the SDK also different licensing. > @@ -1025,7 +1025,7 @@ This is a section for repos that are similar to this one either because they are > [!Note] > ### Package Manager Alternatives -> For most operating systems, there should be a default package mananager provided to you (e.g. `apt`). You may consider using this, or you can consider a manual installation of the software you choose. There's also the option of compiling from source. Cross-platform alternatives include: +> For most operating systems, there should be a default package manager provided to you (e.g. `apt`). You may consider using this, or you can consider a manual installation of the software you choose. There's also the option of compiling from source. Cross-platform alternatives include: > > * [pkgsrc](https://pkgsrc.org/) - A framework for managing third-party software on UNIX-like systems. Used by default on [NetBSD](https://www.netbsd.org/) and [SmartOS](https://wiki.smartos.org/), but also available on Linux, macOS, and illumos. > @@ -1707,7 +1707,7 @@ A lot of AI companies also work directly with nation states for use in their Dep As another example [NPR: OpenAI announced Pentagon deal after Trump banned Anthropic](https://www.npr.org/2026/02/27/nx-s1-5729118/trump-anthropic-pentagon-openai-ai-weapons-ban) which was due to the USA Department of War [launching an AI acceleration strategy](https://web.archive.org/web/20260113071131/https://www.war.gov/News/Releases/Release/Article/4376420/war-department-launches-ai-acceleration-strategy-to-secure-american-military-ai/). -Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intensionally or not. Examples: +Due to the nature of LLMs being only kind of as good as the data they are trained on, this can lead to additional civilian deaths and housing/infrastructure damage either intentionally or not. Examples:
Content Warning: War details, death @@ -1821,7 +1821,7 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Vim Classic]: https://sr.ht/~sircmpwn/vim-classic/ [virt-manager]: https://virt-manager.org [wafrn-rn]: https://codeberg.org/wafrn/wafrn-rn -[waterfox]: https://www.waterfox.com +[Waterfox]: https://www.waterfox.com [WriteFreely]: https://writefreely.org/ [xfce4-terminal]: https://gitlab.xfce.org/apps/xfce4-terminal [XTerm]: https://xterm.dev/ From 17757d5376e0795cd3e743ef796066b166d0a01a Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 08:08:33 +0200 Subject: [PATCH 077/108] update netBSD to be specific about ambigity and update note on switching OS (#771) relates to #767 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/771 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d982fda..13db5b3 100644 --- a/README.md +++ b/README.md @@ -960,7 +960,7 @@ This is a section for repos that are similar to this one either because they are ## Operating Systems > [!NOTE] -> Operating systems are a tough ask. No matter what you choose, support will be inferior compared to an operating system with the Linux kernel, so don't feel pressured to switch. +> Operating systems are not easy things to switch over night, and you may run into compatibility issues, so if you choose to switch, remember that it's OK to do so slowly. ### BSD-based @@ -975,7 +975,7 @@ This is a section for repos that are similar to this one either because they are > #### Alternative BSD-based operating systems > * [HyperbolaBSD](https://www.hyperbola.info/) has [banned LLMs](https://wiki.hyperbola.info/doku.php?id=en:philosophy:reject_machinelearning) > * [MirBSD](https://mbsd.evolvis.org/) has [banned LLMs](https://mbsd.evolvis.org/permalinks/wlog2021_e20240726.htm#e20240726_wlog2021) -> * [NetBSD](https://www.netbsd.org/) has a [somewhat ambiguous policy](https://www.netbsd.org/developers/commit-guidelines.html) +> * [NetBSD](https://www.netbsd.org/) has [allows core maintainers to sign off on LLM generated code](https://www.netbsd.org/developers/commit-guidelines.html), but to date they have not yet. ### Linux-based From ae74a7074b806c8cf880d4e5c50d75eb81d6d989 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 08:09:12 +0200 Subject: [PATCH 078/108] update GNUMach to have "Permits LLM Ingestion" tag (#773) Closes #502 Thanks to these commenters for doing the legwork of finding this evidence: - https://codeberg.org/small-hack/open-slopware/issues/502#issuecomment-14551023 from @tusharhero - https://codeberg.org/small-hack/open-slopware/issues/502#issuecomment-13900424 from @GentooCommits Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/773 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13db5b3..0725f0e 100644 --- a/README.md +++ b/README.md @@ -998,7 +998,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [GNU Mach](https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://lists.gnu.org/archive/html/bug-hurd/2026-03/msg00100.html)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [GNU Mach](https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://lists.gnu.org/archive/html/bug-hurd/2026-03/msg00100.html))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://lists.gnu.org/archive/html/bug-hurd/2026-02/pdffAOvuZusjj.pdf),[2](https://cgit.git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=ca1ed0baec4d339d2c5273d7f4782210f6835cdf), [3](https://cgit.git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?id=afede3dac65a566fe0c72a0f141048e27218b73d)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Linux Kernel](https://kernel.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/torvalds/linux/blob/0f00132132937ca01a99feaf8985109a9087c9ff/Documentation/process/coding-assistants.rst), [2](https://lwn.net/Articles/1041694/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ### Other Operating Systems From 99e92cd8618681e850ff8932ab8ec2655d400820 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 13:13:01 +0200 Subject: [PATCH 079/108] fix monospace for last untainted openbsd version (#787) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/787 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0725f0e..4e94e6c 100644 --- a/README.md +++ b/README.md @@ -969,7 +969,7 @@ This is a section for repos that are similar to this one either because they are | [DragonFlyBSD](https://www.dragonflybsd.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commit;h=41fb76421dce54f90c9cfb9f4f7e2993ae795266)) | | [FreeBSD](https://freebsd.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/freebsd/freebsd-src/commit/6495dafd58b94a44fc9bc966ef47d6bc6916f5b9), [2](https://github.com/freebsd/freebsd-src/commit/1644e2ffd2640fa3e2c191ceaf048a5fc8399493), [3](https://github.com/freebsd/freebsd-src/commit/e1cff854997884ed9b7251d409d9c9c7a025606d))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/freebsd/freebsd-src/commit/943a05528494b2f4585541089606796476fb229e), [2](https://github.com/freebsd/freebsd-src/commit/25cc459286a02b646751541ccde5a33319471c73), [3](https://github.com/freebsd/freebsd-src/commit/18b7115cba2f698909a4801dc2cc1b04b1f4f210)) | | [MidnightBSD](http://www.midnightbsd.org/) | [`ed4b0a5`](https://github.com/MidnightBSD/src/commit/ed4b0a5d41d2dcdd89a3795713fd5c8f91c39533) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/MidnightBSD/src/blob/ea6d4e4fb944e0f3a76dd9bfb91d23917a27d24b/AI_POLICY.md), [2](https://github.com/MidnightBSD/src/commit/7c14aa7a887490da483646a84a23d7452d7f719c))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/MidnightBSD/src/pull/262), [2](https://github.com/MidnightBSD/src/pull/302), [3](https://github.com/MidnightBSD/src/pull/302)) | -| [OpenBSD](https://openbsd.org) | [7.8](https://www.openbsd.org/78.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | +| [OpenBSD](https://openbsd.org) | [`7.8`](https://www.openbsd.org/78.html) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148b1760f00aa5429627b), [2](https://github.com/openbsd/src/commit/e9af5eb5a61d189327b553b24d0d31f19c64b63f)) | > [!NOTE] > #### Alternative BSD-based operating systems From 011dba9b0211bd6b69509831313d48bec26396d3 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 13:20:40 +0200 Subject: [PATCH 080/108] Add niri as tainted (#788) Closes #374 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/788 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e94e6c..f9e4ad8 100644 --- a/README.md +++ b/README.md @@ -1566,6 +1566,7 @@ Volunteer computing is a system in which someone can donate (excess) compute res | [MangoWC](https://github.com/mangowm/mango) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/mangowm/mango/pull/728), [2](https://github.com/mangowm/mango/pull/713), [3](https://github.com/mangowm/mango/pull/818)) | | [Mir](https://github.com/canonical/mir) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/canonical/mir/blob/4978dbc445c906a5675e9c41c1dd59b84a3cbd18/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/canonical/mir/pull/4422)) | | [miracle-wm](https://github.com/miracle-wm-org/miracle-wm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/miracle-wm-org/miracle-wm/pull/775), [2](https://github.com/miracle-wm-org/miracle-wm/pull/780), [3](https://github.com/miracle-wm-org/miracle-wm/commit/1177f50000c1bd2c7d6492a4c700a4e75b6804e9), [4](https://github.com/miracle-wm-org/miracle-wm/pull/862)) | +| [niri](https://github.com/niri-wm/niri) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/blob/main/CONTRIBUTING.md#ai-contributions)) | > [!NOTE] > ### Window Managers Alternatives From 8110002abbb910589ce7dfc94fd8d92c77a52090 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 13:32:00 +0200 Subject: [PATCH 081/108] Add borg (#789) Closes #281 That a member used Claude to respond to people genuinely asking for an AI policy is particularly embarrassing when there are children's lives on the line, so we put that as the first link, and then added their "use AI responsibly" contribution policy as the second link. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/789 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index f9e4ad8..9683d28 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Standalone Digital Mixer](#standalone-digital-mixer) * [Music Players](#music-players) * [Podcast Aggregators](#podcast-aggregators) + * [Backups](#backups) * [Benchmarking](#benchmarking) * [Blogging Software](#blogging-software) * [Content Management Systems](#content-management-systems) @@ -417,6 +418,12 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [AntennaPod](https://github.com/AntennaPod/AntennaPod) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/AntennaPod/AntennaPod/blob/develop/AGENTS.md), [2](https://forum.antennapod.org/t/proposal-to-change-expenses-policy-ai-subscriptions/8417)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +## Backups + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [borg](https://github.com/borgbackup/borg) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/borgbackup/borg/issues/9409#issuecomment-3974230340), [2](https://github.com/borgbackup/borg/blob/master/CONTRIBUTING.md#responsible-ai-usage)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Benchmarking | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 3a18159ead8355ce8632cd495e5fc39a9f764b3d Mon Sep 17 00:00:00 2001 From: Jens Grassel Date: Sun, 24 May 2026 13:37:31 +0200 Subject: [PATCH 082/108] add wezterm (#602) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/602 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9683d28..7aecc95 100644 --- a/README.md +++ b/README.md @@ -1416,6 +1416,7 @@ This section is strictly for software implementing a core set of UNIX-like utili | [OpenWarp](https://openwarp.zerx.dev) | None | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://openwarp.zerx.dev))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/zerx-lab/warp/commit/8f4eef1fce88c17c2cf1af452ea2e7f348fc8406), [2](https://github.com/zerx-lab/warp/commit/0c6b5d37c5a65eba97abe01587b65d3db8427aa9), [3](https://github.com/zerx-lab/warp/commit/52f4e17905fba725b62738d882c65662532a347b))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/zerx-lab/warp/pull/48)) | | [Warp](https://warp.dev) | None |[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://warp.dev))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/warpdotdev/warp/commit/fc1157e066576bf0d577ab18426d66a5d5dcc3da), [2](https://github.com/warpdotdev/warp/commit/1d1c06db0fd7ccfea7e99ad938f7278a12cdf575), [3](https://github.com/warpdotdev/warp/commit/6ea1a52af1d02914ab43e2f2e4e37f1dedaa99fd))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/warpdotdev/warp/pull/10004), [2](https://github.com/warpdotdev/warp/pull/9956), [3](https://github.com/warpdotdev/warp/pull/9910))
[![AI In Issue Tracker](./badges/ai-in-issue-tracker-teel.svg)](#ai-in-issue-tracker) ([1](https://github.com/warpdotdev/warp/issues/10359#issuecomment-4397177289), [2](https://github.com/warpdotdev/warp/issues/10358#issuecomment-4396700787), [3](https://github.com/warpdotdev/warp/issues/10355#issuecomment-4396359216))| | [Waveterm](https://www.waveterm.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.waveterm.dev/waveai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wavetermdev/waveterm/pull/3122), [2](https://github.com/wavetermdev/waveterm/commit/57e4e27a291642406060c795d69c63450ee9229d), [3](https://github.com/wavetermdev/waveterm/commit/bda8421377f4abcf9c30cfc9a40bfa7190a1f72e))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wavetermdev/waveterm/pull/3289), [2](https://github.com/wavetermdev/waveterm/pull/3247), [3](https://github.com/wavetermdev/waveterm/pull/3222)) | +| [Wezterm](https://wezterm.org) | [`712400a`](https://github.com/wezterm/wezterm/commit/712400a558848455e45bd39841fc6dc714e14a94)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/wezterm/wezterm/commit/d2fc83559c4616d74e847770373b2da88b63cba3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/wezterm/wezterm/pull/7745)) | > [!NOTE] > #### Alternative terminal emulators From f075b5c91ef946242bbb2a1649ddb7b15cb4534b Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Sun, 24 May 2026 13:39:26 +0200 Subject: [PATCH 083/108] Add Breezy, Gerrit, GitButler, Gogs, Mercurial, and Tangled, and update evidence for GitLab (#731) Partially based off the draft in #703, accompanied by a larger search. Co-Authored-By: znmz Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/731 Reviewed-by: Admin --- README.md | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 7aecc95..1a0744f 100644 --- a/README.md +++ b/README.md @@ -156,9 +156,9 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Unified Push Distributors](#unified-push-distributors) * [Alternative Unified Push Distributors](#alternative-unified-push-distributors) * [Version Control](#version-control) + * [Version Control Clients and Tooling](#version-control-clients-and-tooling) * [Version Control Servers](#version-control-servers) * [Alternative Version Control Servers](#alternative-version-control-servers) - * [Version Control Clients and Tooling](#version-control-clients-and-tooling) * [Virtualization](#virtualization) * [Volunteer Computing](#volunteer-computing) * [VPN Software](#vpn-software) @@ -1499,35 +1499,41 @@ This section is strictly for software implementing a core set of UNIX-like utili ## Version Control -### Version Control Servers - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| -| [Gitea](https://about.gitea.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#ai-contribution-policy), [2](https://github.com/go-gitea/gitea/blob/main/AGENTS.md), [3](https://github.com/go-gitea/gitea/blob/main/CLAUDE.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://about.gitea.com/blog/gitea-achieves-soc2-type2-soc3-certification)) | -| [GitLab](https://gitlab.com/rluna-gitlab/gitlab-ce) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/rluna-gitlab/gitlab-ce/-/blob/master/.ai/)) | - -> [!Note] -> #### Alternative Version Control Servers -> - [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted) -> - [Codeberg](https://codeberg.org/) (hosted) - ### Version Control Clients and Tooling -| Name | Last Untainted Version or Commit ID | Tags and Evidence | -|---|:---:|---| +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [Breezy](https://github.com/breezy-team/breezy/) | [`4559cec`](https://github.com/breezy-team/breezy/commit/4559cec280b280e9624da79624baf31d2791fa85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/breezy-team/breezy/pull/270/)) | +| [Gerrit](https://www.gerritcodereview.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.gerritcodereview.com/3.14.html#review-agent-ai-chat), [2](https://storage.googleapis.com/gerrit-talks/summit/2025/AI.Code-Review.for.Gerrit.pdf))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GerritCodeReview/gerrit/blob/b1cbca0715cc3cc4d41f1b04752abbac25cc3fba/AGENTS.md)) | | [Git](https://git-scm.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git/git/pull/2189), [2](https://github.com/git/git/commit/fb1b786ebfab18b851ce1fa94d5063daf11f647f)) | | [Git for Windows](https://gitforwindows.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git-for-windows/git-for-windows-automation/blob/4f62410e5279fe972eee0366992143980a44306d/.github/workflows/rebase-shears.yml), [2](https://github.com/git-for-windows/git-for-windows-automation/commit/052cb1f2ce3dd38ac21c57d4561fa00c20bab643), [3](https://github.com/git-for-windows/build-extra/commit/d1afe4dfd6383c4d51ac5558b9d150ca97b91c41)) | +| [GitButler](https://gitbutler.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://docs.gitbutler.com/features/branch-management/ai-assistance), [2](https://github.com/gitbutlerapp/gitbutler/tree/2b9da0d6d88bfc117da72f3cd06baac8d194fd18/apps/desktop/src/lib/ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gitbutlerapp/gitbutler/blob/87180b105ced4d3fa908c96c641068b58073be29/AGENTS.md), [2](https://github.com/gitbutlerapp/gitbutler/commit/ab5b3fae080df9f0b34d16e3395dc4a5abac4024)) | | [gitoxide](https://github.com/GitoxideLabs/gitoxide) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GitoxideLabs/gitoxide/blob/main/CONTRIBUTING.md#please-disclose-the-use-of-ai), [2](https://github.com/GitoxideLabs/gitoxide/blob/main/.claude/instructions.md), [3](https://github.com/GitoxideLabs/gitoxide/commit/61c504dfdd6505eeeda22a6c4254c7342b78d6e3))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/GitoxideLabs/gitoxide/pull/2584), [2](https://github.com/GitoxideLabs/gitoxide/pull/2379), [3](https://github.com/GitoxideLabs/gitoxide/pull/2514)) | | [Jujutsu](https://www.jj-vcs.dev/latest/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://discord.com/channels/968932220549103686/1458877549034864703), [2](https://github.com/jj-vcs/jj/pull/9076), [3](https://github.com/jj-vcs/jj/pull/9083)) | +| [Mercurial](https://mercurial-scm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://foss.heptapod.net/mercurial/mercurial-devel/-/merge_requests/1914)) | | [Sapling](https://github.com/facebook/sapling) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/sapling/tree/0298ebd8e7/eden), [2](https://github.com/facebook/sapling/blob/ddbd9814bc/eden/scm/.claude/settings.json#L9)) | > [!Note] > #### Alternative Version Control Systems > * [Game of Trees] -> * [Mercurial](https://www.mercurial-scm.org/) > * [Fossil](https://www.fossil-scm.org/) > * [BitKeeper](https://github.com/bitkeeper-scm/bitkeeper) +### Version Control Servers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| +| [Gitea](https://about.gitea.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#ai-contribution-policy), [2](https://github.com/go-gitea/gitea/blob/main/AGENTS.md), [3](https://github.com/go-gitea/gitea/blob/main/CLAUDE.md))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://about.gitea.com/blog/gitea-achieves-soc2-type2-soc3-certification)) | +| [Gogs](https://gogs.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/gogs/gogs/pull/8059), [2](https://github.com/gogs/gogs/pull/8061), [3](https://github.com/gogs/gogs/pull/8121))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/gogs/gogs/pull/7981), [2](https://github.com/gogs/gogs/pull/8069)) | +| [GitLab](https://gitlab.com/gitlab-org/gitlab) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://about.gitlab.com/), [2](https://about.gitlab.com/blog/gitlab-act-2/), [3](https://docs.gitlab.com/user/project/ml/))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/gitlab-org/gitlab/-/blob/bc0c170b8266e5ed182a3def29313bb8a8421af4/AGENTS.md), [2](https://gitlab.com/rluna-gitlab/gitlab-ce/-/blob/master/.ai/)) | +| [Tangled](https://tangled.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://tangled.org/tangled.org/core/issues/394)) | + +> [!Note] +> #### Alternative Version Control Servers +> - [Forgejo](https://codeberg.org/forgejo/forgejo) (self-hosted; [bans LLMs](https://forgejo.org/2026-03-monthly-report/#ai-agreement)) +> - [Codeberg](https://codeberg.org/) (hosted Forgejo) +> - [Sourcehut](https://sourcehut.org/) (self-hosted; provides a hosted option) + ## Virtualization | Name | Last Untainted Version or Commit ID | Tags and Evidence | From 7887e20b9b178b605a796187621a9c3e7c3f5eba Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Sun, 24 May 2026 13:43:25 +0200 Subject: [PATCH 084/108] remove unused version control alternatives column (#790) since we already have the note after it, this is fine to drop. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/790 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1a0744f..a78bbe3 100644 --- a/README.md +++ b/README.md @@ -1501,8 +1501,8 @@ This section is strictly for software implementing a core set of UNIX-like utili ### Version Control Clients and Tooling -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| +| Name | Last Untainted Version or Commit ID | Tags and Evidence | +|---|:---:|---| | [Breezy](https://github.com/breezy-team/breezy/) | [`4559cec`](https://github.com/breezy-team/breezy/commit/4559cec280b280e9624da79624baf31d2791fa85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/breezy-team/breezy/pull/270/)) | | [Gerrit](https://www.gerritcodereview.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://www.gerritcodereview.com/3.14.html#review-agent-ai-chat), [2](https://storage.googleapis.com/gerrit-talks/summit/2025/AI.Code-Review.for.Gerrit.pdf))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/GerritCodeReview/gerrit/blob/b1cbca0715cc3cc4d41f1b04752abbac25cc3fba/AGENTS.md)) | | [Git](https://git-scm.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/git/git/pull/2189), [2](https://github.com/git/git/commit/fb1b786ebfab18b851ce1fa94d5063daf11f647f)) | From 7f5910f3425f6d2fbc30ddf74eba85f3e84cf933 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 25 May 2026 08:40:10 +0200 Subject: [PATCH 085/108] add a couple more environmental impact links (#791) Adds some focus for the UK, Australia, and the EU, to approach this from a more global standpoint. Will follow up with more links for other regions as I find them. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/791 --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a78bbe3..f646379 100644 --- a/README.md +++ b/README.md @@ -1657,8 +1657,13 @@ FOSS projects listed in this repo are using tooling that blatantly disregard lic To start learning a bit more, you can checkout the wikipedia page on [Environmental impact of artificial intelligence](https://en.wikipedia.org/wiki/Environmental_impact_of_artificial_intelligence#Individual_level). We're very open to people contributing other explanations, links, and resources to learn more about this. Here's what we've gathered so far: -- [MIT News: Generative AI’s environmental impact](https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117) -- [MIT Technology Review: We did the math on AI’s energy footprint. Here’s the story you haven’t heard.](https://www.technologyreview.com/2025/05/20/1116327/ai-energy-usage-climate-footprint-big-tech/) +- [MIT News: Generative AI's Environmental Impact](https://news.mit.edu/2025/explained-generative-ai-environmental-impact-0117) +- [MIT Technology Review: We did the math on AI's energy footprint. Here's the story you haven't heard.](https://www.technologyreview.com/2025/05/20/1116327/ai-energy-usage-climate-footprint-big-tech/) +- [Grantham Institute: What Direct Risks Does AI Pose to the Climate and Environment](https://www.lse.ac.uk/granthaminstitute/explainers/what-direct-risks-does-ai-pose-to-the-climate-and-environment/) +- [UCLA: AI is Destroying Our Planet](https://newsroom.ucla.edu/stories/opinion-ai-is-destroying-our-planet-we-must-act) +- [The Guardian: Officials hugely underestimated impact of AI datacentres on UK carbon emissions](https://web.archive.org/web/20260425032459/https://www.theguardian.com/technology/2026/apr/24/officials-hugely-underestimated-impact-of-ai-datacentres-on-uk-carbon-emissions) +- [KU Leuven Centre for IT & IP Law: The environmental costs of AI: a shake-up of the EU's twin transition](https://www.law.kuleuven.be/citip/blog/the-environmental-costs-of-ai-a-shake-up-of-the-eus-twin-transition/) +- [Australian Parliament: Impacts of AI on the environment](https://www.aph.gov.au/Parliamentary_Business/Committees/Senate/Adopting_Artificial_Intelligence_AI/AdoptingAI/Report/Chapter_6_-_Impacts_of_AI_on_the_environment) ## Labor From 8fccbe3fae3290b74dbfb7fc07391d4038124591 Mon Sep 17 00:00:00 2001 From: cookie-monster-under-your-bed Date: Mon, 25 May 2026 08:42:42 +0200 Subject: [PATCH 086/108] Remove a reference to a reverted Rust commit (#792) Follow-up on https://codeberg.org/small-hack/open-slopware/pulls/761#issuecomment-15738485. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/792 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f646379..7906531 100644 --- a/README.md +++ b/README.md @@ -1085,7 +1085,7 @@ This is a section for repos that are similar to this one either because they are | [CircuitPython](https://circuitpython.org) | [`9.2.9`](https://github.com/adafruit/circuitpython/releases/9.2.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/adafruit/circuitpython/pull/10872), [2](https://github.com/adafruit/circuitpython/pull/10794), [3](https://github.com/adafruit/circuitpython/pull/10703)) | See below | | [Racket](https://racket-lang.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/racket/racket/issues/5466), [2](https://github.com/racket/racket/pull/5415)) | [Chez Scheme](https://cisco.github.io/ChezScheme/)
[Guile](https://www.gnu.org/software/guile/) | | [Ruby](https://www.ruby-lang.org) | [`v3.3.8`](https://github.com/ruby/ruby/releases/tag/v3_3_8) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc), [2](https://github.com/ruby/ruby/commit/a0fc03ef3717ad0aab363a53a6f6f178dab7b526))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/ruby/ruby/commit/c76ba839b153805f0498229284fea1a809308dbc)) | See below | -| [Rust](https://rust-lang.org/) | [`v1.95.0`](https://github.com/rust-lang/rust/releases/tag/1.95.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rust-lang/rust/commit/6fd846676801486d304030698cc8dac261b98680))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/rust-lang/rust/commit/eceed7c1c28a05b31dc5dffacf3abab22a7cb1c2), [2](https://github.com/rust-lang/rust/commit/eb2c80dabef0358c953ed49258061ab58f485c56), [3](https://github.com/rust-lang/rust/commit/47e6437af4ada1fa90771999740da861c5c2f9cb))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://rustfoundation.org/members/)) | See below | +| [Rust](https://rust-lang.org/) | [`v1.95.0`](https://github.com/rust-lang/rust/releases/tag/1.95.0) | [![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://github.com/rust-lang/rust/commit/eceed7c1c28a05b31dc5dffacf3abab22a7cb1c2), [2](https://github.com/rust-lang/rust/commit/eb2c80dabef0358c953ed49258061ab58f485c56), [3](https://github.com/rust-lang/rust/commit/47e6437af4ada1fa90771999740da861c5c2f9cb))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://rustfoundation.org/members/)) | See below | | [Scala](https://scala-lang.org/) | [`v3.7.1`](https://github.com/scala/scala3/releases/tag/3.7.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scala/scala3/blob/main/AGENTS.md), [2](https://github.com/scala/scala3/commit/a3a3fb8a907132a19181b5e76f0a3cf19e4f8cd3), [3](https://github.com/scala/scala3/commit/04dcaa43df3d4959114c7875a246f7f1bed09299)) | [Scala 2.13.18](https://github.com/scala/scala/releases/tag/v2.13.18),
[Scala 3.3 LTS](https://github.com/scala/scala3/releases/tag/3.3.7),
See below | | [Scratch](https://scratch.mit.edu) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://medium.com/scratchteam-blog/introducing-creative-ai-at-scratch-bcdbd6c3efc9))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scratchfoundation/scratch-editor/blob/develop/AGENTS.md), [2](https://github.com/scratchfoundation/.github/blob/main/CONTRIBUTING.AI.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scratchfoundation/scratch-editor/pull/264#pullrequestreview-3019481549), [2](https://github.com/scratchfoundation/scratch-editor/pull/291#pullrequestreview-3109857889), [3](https://github.com/scratchfoundation/scratch-editor/pull/327#pullrequestreview-3263575779))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](#ai-databroker-usage) ([1](https://mitscratch.freshdesk.com/en/support/solutions/articles/4000219182-scratch-terms-of-service), [2](https://scratch.mit.edu/discuss/topic/862281/)) | [Scratch 1.4]
[Scratch 2] | | [TruffleRuby](https://truffleruby.dev/) | [`v33.0.0`](https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truffleruby/truffleruby/commit/9f028ec178642bc71285a32c82b0a2761723b40b), [2](https://github.com/truffleruby/truffleruby/pull/4133))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/truffleruby/truffleruby/pull/4161)) | See below | From 294d92e8afa4ae9f75a6731d9cad8c6b09e79b8b Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 25 May 2026 09:22:40 +0200 Subject: [PATCH 087/108] we don't require the removal of AI code, add new human reviewed FAQ (#805) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/805 Reviewed-by: Max --- FAQ.md | 6 +++++- README.md | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/FAQ.md b/FAQ.md index 63ebed0..85d0e70 100644 --- a/FAQ.md +++ b/FAQ.md @@ -14,6 +14,10 @@ There's no great place to put these in our current files, but these sorts of que > No, beyond "vibecoded" being added in some extreme cases. We don't want to have this conversation continually, as it is subjective what "severity" something falls under. The decision to add these tags took us a long time, and unless you have another *specific* tag that cannot be covered under any other tag, we're currently not open to discussion about this. This repo is already quite a lot to manage. +## What if the AI code is human reviewed? + +> Slop that is human reviewed is still slop. We are against AI for more than just code quality reasons. Please see our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section. + ## Why are you targeting/attacking/harassing my favorite project? > We do not "target", "harass", or "attack" any projects. We, in fact, have a [very strict policy on not doing that](https://codeberg.org/small-hack/open-slopware/src/branch/main/CODE_OF_CONDUCT.md#be-kind-or-be-gone). This repo is one based on ethics and is intended as a call to action. If a project meets the definition of one of our tags, it will see itself added to this repo. It can take steps to stop doing whatever it is in that definition and we'll remove it. (See also the [guide for removal](https://codeberg.org/small-hack/open-slopware/src/branch/main/CONTRIBUTING.md#removal).) @@ -40,7 +44,7 @@ There's no great place to put these in our current files, but these sorts of que ## Can you advise us on the ethical usage of AI? -> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs section](https://codeberg.org/small-hack/open-slopware#why-not-llms). +> No, but you may find the work of [DAIR](https://dair-institute.org/) interesting. Also, see our [Why not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section. ## What about "Open Source AI"? diff --git a/README.md b/README.md index 7906531..7461856 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Free/Open Source Software tainted by LLM developers/developed by genAI boosters, along with alternatives. -The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. This list is not a resource to be used for the harassment of other open-source developers. If you wish to advocate for the cessation of use and/or removal of AI-generated code from another project, we ask that it be done respectfully and constructively (and do *not* mention this list). +The intention of this list is to raise awareness of AI/LLM usage in popular open-source software. Provided below is an informed set of AI-free alternatives for users and developers to consider should their ethical boundaries be crossed or tolerance for risk be exceeded. This list is not a resource to be used for the harassment of other open-source developers. If you wish to advocate for a "No AI" Policy from another project, we ask that it be done respectfully and constructively (and do *not* mention this list). For more information on why we think this list matters, please see [Why not LLMs?](#why-not-llms). From 624cb459bffd4d5eace79e80895431698573b9e8 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 25 May 2026 09:25:31 +0200 Subject: [PATCH 088/108] Add more evidence for Next.js (#803) Next.js automatically creates AGENTS.md and CLAUDE.md files when initalising a project, so add it as "AI Functionality". Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/803 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7461856..08d33c6 100644 --- a/README.md +++ b/README.md @@ -1187,7 +1187,7 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [es-toolkit](https://es-toolkit.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://es-toolkit.dev/ai-integration.html))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/toss/es-toolkit/blob/main/AGENTS.md), [2](https://github.com/toss/es-toolkit/commit/b3f1f5433144a54c80fb61e4c9fda0d71cf9c85f)) | [Lodash](https://github.com/lodash/lodash) | | [fnm](https://fnm.vercel.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Schniz/fnm/blob/master/AGENTS.md)) | [asdf](https://asdf-vm.com/), [n](https://github.com/tj/n) | -| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp), [2](https://nextjs.org/docs/app/guides/ai-agents))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [React](https://react.dev/) | [`v19.1.1`](https://github.com/facebook/react/releases/tag/v19.1.1) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/compiler/packages/react-mcp-server/README.md))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/react/blob/d5736f098edee62c44f27b053e6e48f5fa443803/CLAUDE.md), [2](https://github.com/facebook/react/commit/90a124a9802a5ab6509d5838e65b9f4d4fbbc16b), [3](https://github.com/facebook/react/commit/2b4064eb9b40f65d20a03ce93b246ad762d562e6))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/facebook/react/pull/32777), [2](https://github.com/facebook/react/pull/32991), [3](https://github.com/facebook/react/pull/36353))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://opensource.fb.com/projects/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | From 7b671978f5d7f59e52d5b48f537e4951f1eee2c7 Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Mon, 25 May 2026 09:26:42 +0200 Subject: [PATCH 089/108] Add last untainted tag and more evidence for Niri (#802) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/802 Reviewed-by: Admin --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 08d33c6..5e3db6a 100644 --- a/README.md +++ b/README.md @@ -1578,9 +1578,9 @@ Volunteer computing is a system in which someone can donate (excess) compute res | [i3](https://i3wm.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/i3/i3?tab=contributing-ov-file#ai-contribution-policy), [2](https://github.com/i3/i3/issues/6546)) | | [IceWM](https://ice-wm.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | ![AI Code Reviews](./badges/ai-code-reviews-purple.svg) ([1](https://github.com/ice-wm/icewm/issues/203#issuecomment-3318901550) | | [MangoWC](https://github.com/mangowm/mango) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/mangowm/mango/pull/728), [2](https://github.com/mangowm/mango/pull/713), [3](https://github.com/mangowm/mango/pull/818)) | -| [Mir](https://github.com/canonical/mir) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/canonical/mir/blob/4978dbc445c906a5675e9c41c1dd59b84a3cbd18/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/canonical/mir/pull/4422)) | +| [Mir](https://github.com/canonical/mir) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/canonical/mir/blob/4978dbc445c906a5675e9c41c1dd59b84a3cbd18/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/canonical/mir/pull/4422)) | | [miracle-wm](https://github.com/miracle-wm-org/miracle-wm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/miracle-wm-org/miracle-wm/pull/775), [2](https://github.com/miracle-wm-org/miracle-wm/pull/780), [3](https://github.com/miracle-wm-org/miracle-wm/commit/1177f50000c1bd2c7d6492a4c700a4e75b6804e9), [4](https://github.com/miracle-wm-org/miracle-wm/pull/862)) | -| [niri](https://github.com/niri-wm/niri) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/blob/main/CONTRIBUTING.md#ai-contributions)) | +| [niri](https://github.com/niri-wm/niri) | [`v25.05.1`](https://github.com/niri-wm/niri/releases/tag/v25.05.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/blob/main/CONTRIBUTING.md#ai-contributions), [2](https://github.com/niri-wm/niri/pull/2109))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/niri-wm/niri/pull/3651)) | > [!NOTE] > ### Window Managers Alternatives From 413cacdc8d76640e907e22900061582742aeffc4 Mon Sep 17 00:00:00 2001 From: PintTheLittleMouse Date: Mon, 25 May 2026 09:48:12 +0200 Subject: [PATCH 090/108] added bluesky's ai functionality (#746) mentions bluesky's new official ai bot they are cramming into bluesky now. i think this belongs here. or does it go on the bluesky app client thing? i think they wanted to directly integrate it into the client. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/746 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5e3db6a..bb48f3e 100644 --- a/README.md +++ b/README.md @@ -1320,7 +1320,7 @@ This is for both social media websites and apps. | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Bluesky](https://bsky.app) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://bsky.app/profile/pfrazee.com/post/3luyb3jcbv52d)) | See below | +| [Bluesky](https://bsky.app) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://bsky.app/profile/attie.ai))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://bsky.app/profile/pfrazee.com/post/3luyb3jcbv52d)) | See below | | [`rsky`](https://github.com/blacksky-algorithms/rsky) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/blacksky-algorithms/rsky/commit/02313d970dc2e1cef0909277b94bbff222dff152), [2](https://github.com/blacksky-algorithms/rsky/commit/fd6063d4e2f0688899faef34e2d3553c36c69d43), [3](https://github.com/blacksky-algorithms/rsky/commit/b7adaa213ca49318de078b82410bf54f828ba0f2)) | See below | | [PeerTube](https://joinpeertube.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Chocobozzz/PeerTube/blob/c2345d670bfe83295896b3451ebfc14185934a1b/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://framacolibri.org/t/peertube-and-generative-ai/26622)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Mastodon](https://joinmastodon.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mastodon/.github/blob/49b9c64f3e2b6a459e56a05068c05b3247659bb3/AI_POLICY.md)) | See below | From 524c5ec6f34fe35c44e1e93a6e16b979b2643410 Mon Sep 17 00:00:00 2001 From: znmz Date: Mon, 25 May 2026 10:33:06 +0200 Subject: [PATCH 091/108] add Restic, Kopia and Timeshift (#799) Note: I'd also like to add Snapper as an alternative to Timeshift (snapper is also btrfs-only, like btrbk), but there's currently a [PR](https://github.com/openSUSE/snapper/pull/1133) open with Claude-written code. I guess we need to wait and see if that gets merged? (that PR was opened a week ago and there's currently an ongoing discussion about the introduced code changes). Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/799 Reviewed-by: Admin --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bb48f3e..c066be7 100644 --- a/README.md +++ b/README.md @@ -422,7 +422,10 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [borg](https://github.com/borgbackup/borg) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/borgbackup/borg/issues/9409#issuecomment-3974230340), [2](https://github.com/borgbackup/borg/blob/master/CONTRIBUTING.md#responsible-ai-usage)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Borg](https://github.com/borgbackup/borg) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/borgbackup/borg/issues/9409#issuecomment-3974230340), [2](https://github.com/borgbackup/borg/blob/master/CONTRIBUTING.md#responsible-ai-usage)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Kopia](https://github.com/kopia/kopia) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/kopia/kopia/blob/master/.github/instructions/go.copilot-instructions.md), [2](https://github.com/kopia/kopia/commit/ed40a2f8b48f60a1ae78e831147064ada4d68336), [3](https://github.com/kopia/kopia/commit/a2d62c83404d770e333929ae9690a911a0743f20))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/kopia/kopia/pull/5341), [2](https://github.com/kopia/kopia/pull/5383), [3](https://github.com/kopia/kopia/pull/5292)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Restic](https://github.com/restic/restic) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/restic/restic/pull/5560), [2](https://github.com/restic/restic/pull/5541), [3](https://github.com/restic/restic/pull/5610)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Timeshift](https://github.com/linuxmint/timeshift) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/linuxmint/timeshift/pull/475), [2](https://github.com/linuxmint/timeshift/pull/428), [3](https://github.com/linuxmint/timeshift/pull/398)) | [btrbk](https://github.com/digint/btrbk) (btrfs-only) | ## Benchmarking From 77cd0d0b0e13a4665fc22bdf1555337a66522ef0 Mon Sep 17 00:00:00 2001 From: znmz Date: Mon, 25 May 2026 11:00:50 +0200 Subject: [PATCH 092/108] add Qtile (#796) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/796 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c066be7..9fe2fb1 100644 --- a/README.md +++ b/README.md @@ -1584,6 +1584,7 @@ Volunteer computing is a system in which someone can donate (excess) compute res | [Mir](https://github.com/canonical/mir) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/canonical/mir/blob/4978dbc445c906a5675e9c41c1dd59b84a3cbd18/.github/copilot-instructions.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/canonical/mir/pull/4422)) | | [miracle-wm](https://github.com/miracle-wm-org/miracle-wm) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/miracle-wm-org/miracle-wm/pull/775), [2](https://github.com/miracle-wm-org/miracle-wm/pull/780), [3](https://github.com/miracle-wm-org/miracle-wm/commit/1177f50000c1bd2c7d6492a4c700a4e75b6804e9), [4](https://github.com/miracle-wm-org/miracle-wm/pull/862)) | | [niri](https://github.com/niri-wm/niri) | [`v25.05.1`](https://github.com/niri-wm/niri/releases/tag/v25.05.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/niri-wm/niri/blob/main/CONTRIBUTING.md#ai-contributions), [2](https://github.com/niri-wm/niri/pull/2109))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/niri-wm/niri/pull/3651)) | +| [Qtile](https://github.com/qtile/qtile) | [`v0.34.1`](https://github.com/qtile/qtile/releases/tag/v0.34.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/qtile/qtile/commit/0c5e1285124eaef419c93519de7465e95cbe64a3), [2](https://github.com/qtile/qtile/commit/1e3a2040d20e2df771b867899083ff00e9721665), [3](https://github.com/qtile/qtile/commit/f2c69f585a6b5d8dd7bcefd87f3dee539c29cdaa))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/qtile/qtile/pull/5743)) | > [!NOTE] > ### Window Managers Alternatives From 4667455573ca0f5e88c1ae4a914c178fc0ef242a Mon Sep 17 00:00:00 2001 From: micdan5 Date: Mon, 25 May 2026 13:28:00 +0200 Subject: [PATCH 093/108] Add Cemu (#806) Closes #755 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/806 Reviewed-by: Max --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fe2fb1..1f8b05d 100644 --- a/README.md +++ b/README.md @@ -831,6 +831,7 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---|---| | [Amiberry](https://amiberry.com/) | [`7.1.1`](https://github.com/BlitterStudio/amiberry/releases/tag/v7.1.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/BlitterStudio/amiberry/pull/1870), [2](https://github.com/BlitterStudio/amiberry/pull/1868), [3](https://github.com/BlitterStudio/amiberry/pull/1866))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/BlitterStudio/amiberry/pull/1818), [2](https://github.com/BlitterStudio/amiberry/pull/1809), [3](https://github.com/BlitterStudio/amiberry/pull/1781)) | [Denise](https://sourceforge.net/projects/deniseemu/) | | [Azahar](https://azahar-emu.org/) | [`2124.3`](https://github.com/azahar-emu/azahar/releases/tag/2124.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/azahar-emu/azahar/blob/master/AI-POLICY.md)) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | +| [Cemu](https://cemu.info/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cemu-project/Cemu/issues/1924#issuecomment-4502709266)) | [decaf-emu](https://github.com/decaf-emu/decaf-emu) | | [VisualBoyAdvance-M](https://github.com/visualboyadvance-m/visualboyadvance-m) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/CLAUDE.md), [2](https://github.com/visualboyadvance-m/visualboyadvance-m/commit/e5c7eae069aeab4630e588b760586f96f9fe9111), [3](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1515))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1501)) | [mGBA](https://github.com/mgba-emu/mgba) ## Language and Localization From bb11fba0f88e4329414a40a0e606efe7b1d6db8d Mon Sep 17 00:00:00 2001 From: K4 Date: Mon, 25 May 2026 21:26:24 +0200 Subject: [PATCH 094/108] Add poop as an alternative to hyperfine (#809) Poop is maintained in general by zig contributors and zig has a [no AI policy](https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy). Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/809 Reviewed-by: Admin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f8b05d..c6dfed3 100644 --- a/README.md +++ b/README.md @@ -431,7 +431,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| -| [Hyperfine](https://github.com/sharkdp/hyperfine) | [`v1.19.0`](https://github.com/sharkdp/hyperfine/releases/tag/v1.19.0) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/sharkdp/hyperfine/blob/327d5f4d9107141929f67f062bf9ef59f98b7399/README.md#sponsors)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Hyperfine](https://github.com/sharkdp/hyperfine) | [`v1.19.0`](https://github.com/sharkdp/hyperfine/releases/tag/v1.19.0) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/sharkdp/hyperfine/blob/327d5f4d9107141929f67f062bf9ef59f98b7399/README.md#sponsors)) | [poop](https://github.com/andrewrk/poop) | ## Blogging Software From ed17203f439f6fd67fc34fe045c974c93876837b Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 25 May 2026 21:47:25 +0200 Subject: [PATCH 095/108] FAQ work: distinguish self-advertise and self-submit; add "can we debate slop or vibecoded" (#811) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/811 --- FAQ.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index 85d0e70..8314029 100644 --- a/FAQ.md +++ b/FAQ.md @@ -2,10 +2,14 @@ There's no great place to put these in our current files, but these sorts of questions come up enough, that we wanted to put them down somewhere to easily link responses. -## Can I self advertise here? +## Can I self-advertise my project (that doesn't use AI)? > Yes, provided it's FOSS, has a code of conduct (even if it's a solo project), and a No AI Policy, you can add your project as an alternative to any tainted software in which it is a good fit, and you can also open a [Call for Collaborators Issue](https://codeberg.org/small-hack/open-slopware/issues/new?template=.forgejo%2fissue_template%2fcollaborate-with-me.yaml). +## I use AI in my project and do not plan on stopping. Should I self-submit? + +> You don't have to, but it's helpful, because you know best what the alternatives are, and when your last untainted commit was, which is helpful for those who wish to fork your project. We hope you'll consider dropping AI one day, for all the reasons we've listed in our [Why Not LLMs?](https://codeberg.org/small-hack/open-slopware#why-not-llms) section, but if you don't plan on doing that ever, please just be cordial in this repo. No one is here to attack you, and if they do, please tag @vleermuis-admin and we'll handle the situation. + ## Do closed source or proprietary products belong on this list? > No, this repo is only for open source projects. @@ -61,3 +65,7 @@ There's no great place to put these in our current files, but these sorts of que ### But what if it's a social media post against AI? > We would then need to research those social media users and see if we endorse them or not and we don't want to do that either. + +## I don't like your definition of slop or vibecoded. Can you change it? + +> No. Those [definitions](https://codeberg.org/small-hack/open-slopware#definitions) stay and are not up for debate. \ No newline at end of file From e0870fc0f3687a9bef52a5405a7af0390630be72 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Mon, 25 May 2026 21:58:29 +0200 Subject: [PATCH 096/108] update turbowarp with developer comments and last untainted version (#812) Based on developer's comment here: https://codeberg.org/small-hack/open-slopware/pulls/797#issuecomment-15853862 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/812 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c6dfed3..b1d27b6 100644 --- a/README.md +++ b/README.md @@ -1093,7 +1093,7 @@ This is a section for repos that are similar to this one either because they are | [Scala](https://scala-lang.org/) | [`v3.7.1`](https://github.com/scala/scala3/releases/tag/3.7.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scala/scala3/blob/main/AGENTS.md), [2](https://github.com/scala/scala3/commit/a3a3fb8a907132a19181b5e76f0a3cf19e4f8cd3), [3](https://github.com/scala/scala3/commit/04dcaa43df3d4959114c7875a246f7f1bed09299)) | [Scala 2.13.18](https://github.com/scala/scala/releases/tag/v2.13.18),
[Scala 3.3 LTS](https://github.com/scala/scala3/releases/tag/3.3.7),
See below | | [Scratch](https://scratch.mit.edu) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://medium.com/scratchteam-blog/introducing-creative-ai-at-scratch-bcdbd6c3efc9))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/scratchfoundation/scratch-editor/blob/develop/AGENTS.md), [2](https://github.com/scratchfoundation/.github/blob/main/CONTRIBUTING.AI.md))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/scratchfoundation/scratch-editor/pull/264#pullrequestreview-3019481549), [2](https://github.com/scratchfoundation/scratch-editor/pull/291#pullrequestreview-3109857889), [3](https://github.com/scratchfoundation/scratch-editor/pull/327#pullrequestreview-3263575779))
[![AI Databroker Usage](./badges/ai-databroker-usage-pink.svg)](#ai-databroker-usage) ([1](https://mitscratch.freshdesk.com/en/support/solutions/articles/4000219182-scratch-terms-of-service), [2](https://scratch.mit.edu/discuss/topic/862281/)) | [Scratch 1.4]
[Scratch 2] | | [TruffleRuby](https://truffleruby.dev/) | [`v33.0.0`](https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/truffleruby/truffleruby/commit/9f028ec178642bc71285a32c82b0a2761723b40b), [2](https://github.com/truffleruby/truffleruby/pull/4133))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/truffleruby/truffleruby/pull/4161)) | See below | -| [TurboWarp](https://turbowarp.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TurboWarp/extensions/pull/2449#issuecomment-4150685173)) | [Scratch 1.4]
[Scratch 2] | +| [TurboWarp](https://turbowarp.org) | [`v1.15.0`](https://github.com/TurboWarp/desktop/releases/tag/v1.15.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/small-hack/open-slopware/pulls/797#issuecomment-15853862), [2](https://github.com/TurboWarp/extensions/pull/2449#issuecomment-4150685173)) | [Scratch 1.4]
[Scratch 2] | | [Typescript](https://www.typescriptlang.org/) | [`v5.1.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.1.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/microsoft/TypeScript/blob/main/.github/copilot-instructions.md), [2](https://github.com/microsoft/TypeScript/commit/c9e7428bb76f0543a3555d0af87777e7db3a41e6), [3](https://github.com/microsoft/TypeScript/commit/ad04bf7488384a5dcdf7d250ccb8e5263021a8ff)) | See below | > [!Note] From 9c8d27284c065528bb49c4cc812a08b0fca9eeda Mon Sep 17 00:00:00 2001 From: znmz Date: Mon, 25 May 2026 23:06:46 +0200 Subject: [PATCH 097/108] add kanata and keymapper (#798) This is mostly ready for merge. Only needed to find an appropriate section for this software. I am a bit hesitant creating many new sections myself, because I am not fully getting how strictly should things be categorized (i.e. are new sections always welcome or closer to last resort?). Also, we have 2 repeating links in the "Alternative(s)" column here. To me it feels alright and also scales better when we add other software in the section that is similar, but the "see below" alternatives wouldn't apply to it. OK to leave it as is? Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/798 Reviewed-by: Admin --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index b1d27b6..fdff184 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Game Managers and Launchers](#game-managers-and-launchers) * [Mod managers](#mod-managers) * [Emulators](#emulators) + * [Input Remapping](#input-remapping) * [Language and Localization](#language-and-localization) * [Learning](#learning) * [Anki desktop alternatives](#anki-desktop-alternatives) @@ -834,6 +835,13 @@ This is a section for repos that are similar to this one either because they are | [Cemu](https://cemu.info/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/cemu-project/Cemu/issues/1924#issuecomment-4502709266)) | [decaf-emu](https://github.com/decaf-emu/decaf-emu) | | [VisualBoyAdvance-M](https://github.com/visualboyadvance-m/visualboyadvance-m) | [![Request for Help](./badges/request-for-help.svg)](https://codeberg.org/small-hack/open-slopware#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/CLAUDE.md), [2](https://github.com/visualboyadvance-m/visualboyadvance-m/commit/e5c7eae069aeab4630e588b760586f96f9fe9111), [3](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1515))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/visualboyadvance-m/visualboyadvance-m/pull/1501)) | [mGBA](https://github.com/mgba-emu/mgba) +## Input Remapping + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [kanata](https://github.com/jtroo/kanata) | [`v1.9.0`](https://github.com/jtroo/kanata/releases/tag/v1.9.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jtroo/kanata/commit/1fd7db64a74a5e66a1780dc60e3993e53d9d003f), [2](https://github.com/jtroo/kanata/commit/60fa5c8d0cdb033efcf3c3e54cb4047e29e6093f), [3](https://github.com/jtroo/kanata/pull/1707)) | [keyd](https://github.com/rvaiya/keyd),
[kmonad](https://github.com/kmonad/kmonad) | +| [keymapper](https://github.com/houmain/keymapper) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/houmain/keymapper/blob/55744c5a9f4f0c3eb1861cf2ac51632fb8ac7390/src/client/unix/MessageBoxCocoa.mm#L4), [2](https://github.com/houmain/keymapper/pull/356)) | [keyd](https://github.com/rvaiya/keyd),
[kmonad](https://github.com/kmonad/kmonad) | + ## Language and Localization | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 554bdbf55266cfac6093312ea8389cb5c2b3c0ed Mon Sep 17 00:00:00 2001 From: Pixelo789 Date: Wed, 27 May 2026 00:37:52 +0200 Subject: [PATCH 098/108] Add asdf (#800) Partially based off the draft in #703, accompanied by a larger search. Co-authored-by: znmz Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/800 Reviewed-by: Admin --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fdff184..9aa8de9 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Alternative GUI crates](#alternative-gui-crates) * [Remote Desktop](#remote-desktop) * [Reverse Engineering and Debugging](#reverse-engineering-and-debugging) + * [Runtime Version Managers](#runtime-version-managers) * [Search Engines](#search-engines) * [Service Monitoring](#service-monitoring) * [Social Media](#social-media) @@ -494,7 +495,7 @@ This is a section for repos that are similar to this one either because they are | [Buck2](https://buck2.build/) | [`2025-10-15`](https://github.com/facebook/buck2/releases/tag/2025-10-15/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/facebook/buck2/blob/f66124e98a6fc56a90d0a160b8988397ba04a2b2/.claude/CLAUDE.md))| [Cloud Shake] or See Below | | [Just](https://just.systems/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://just.systems/man/en/model-context-protocol.html)) | See Below | | [Mill](https://mill-build.org/) | [`v1.0.6`](https://github.com/com-lihaoyi/mill/releases/tag/1.0.6) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/com-lihaoyi/mill/blob/main/AGENTS.md), [2](https://github.com/com-lihaoyi/mill/blob/main/CLAUDE.md)) | See Below | -| [mise-en-place](https://mise.jdx.dev/) | [`659f851`](https://github.com/jdx/mise/commit/659f851bf6e29d2ac12d64b35fff9afa9981d02e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jdx/mise/blob/main/CLAUDE.md), [2](https://github.com/jdx/mise/tree/main/.claude), [3](https://github.com/search?q=repo%3Ajdx%2Fmise%20claude&type=commits&s=committer-date&o=asc))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://mise.jdx.dev/mcp.html)) | [asdf](https://asdf-vm.com/) or See Below | +| [mise-en-place](https://mise.jdx.dev/) | [`659f851`](https://github.com/jdx/mise/commit/659f851bf6e29d2ac12d64b35fff9afa9981d02e) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/jdx/mise/blob/main/CLAUDE.md), [2](https://github.com/jdx/mise/tree/main/.claude), [3](https://github.com/search?q=repo%3Ajdx%2Fmise%20claude&type=commits&s=committer-date&o=asc))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://mise.jdx.dev/mcp.html)) | See Below | | [SCons](https://scons.org/) | [`4.10.1`](https://github.com/SCons/scons/releases/tag/4.10.1/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/SCons/scons/blob/8ea152eddff6afa11f94108a10283bd6378a3dfa/AGENTS.md)) | [Waf](https://waf.io/) or See Below | | [sbt](https://www.scala-sbt.org/) | [`1.12.3`](https://github.com/sbt/sbt/releases/tag/v1.12.3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sbt/sbt/blob/develop/AGENTS.md), [2](https://github.com/sbt/sbt/blob/develop/CONTRIBUTING.md#ai-assisted-contributions)) | See Below | | [Taskfile](https://taskfile.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/go-task/task/pull/2592#pullrequestreview-3596720069)) | See Below | @@ -1198,7 +1199,7 @@ Note that TypeScript is itself tainted; see [the Programming Languages section]( | [Electron](https://electronjs.org) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/electron/electron/blob/f4c4cd14ac8eebf4ed33d75ca4f9b35b0e013208/CLAUDE.md), [2](https://github.com/electron/electron/commit/3295d0d4b05bf338427e5f98374dda206b83651f), [3](https://github.com/electron/electron/commit/816e5964fb574585840ec82f7b1e3e99b3f93785)) | Use native GUIs, such as [GTK](https://gtk.org) | | [ESLint](https://eslint.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://eslint.org/docs/latest/use/mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://eslint.org/docs/latest/contribute/ai-policy)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [es-toolkit](https://es-toolkit.dev) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://es-toolkit.dev/ai-integration.html))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/toss/es-toolkit/blob/main/AGENTS.md), [2](https://github.com/toss/es-toolkit/commit/b3f1f5433144a54c80fb61e4c9fda0d71cf9c85f)) | [Lodash](https://github.com/lodash/lodash) | -| [fnm](https://fnm.vercel.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Schniz/fnm/blob/master/AGENTS.md)) | [asdf](https://asdf-vm.com/), [n](https://github.com/tj/n) | +| [fnm](https://fnm.vercel.app/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Schniz/fnm/blob/master/AGENTS.md)) | [n](https://github.com/tj/n) | | [Next.js](https://nextjs.org/) | [`v13.2.5-canary.0`](https://github.com/vercel/next.js/releases/tag/v13.2.5-canary.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextjs.org/docs/app/guides/mcp), [2](https://nextjs.org/docs/app/guides/ai-agents))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/vercel/next.js/blob/766b7cbff4debc579bcff3f5c823dfb4d55f74fc/AGENTS.md), [2](https://github.com/vercel/next.js/commit/b785969e83dfcc948be69eb7ec182a2808c183ff), [3](https://github.com/vercel/next.js/commit/f760e48532355197ec8902804dce76a55d1a07f8))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/vercel/next.js/pull/77692), [2](https://github.com/vercel/next.js/pull/77846), [3](https://github.com/vercel/next.js/pull/77929))
[![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://vercel.com/)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [npmx](https://npmx.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/npmx-dev/npmx.dev/blob/e3b575ad0760ce79a278e34fc3553020d093e940/CONTRIBUTING.md#using-ai), [2](https://github.com/npmx-dev/npmx.dev/blob/7f2fc1ae716605c87612b0e138aa95a277d44559/.github/copilot-instructions.md), [3](https://github.com/npmx-dev/npmx.dev/pull/1513/changes/557db327a06ffa2d42e67a8df3ccc107381fe063))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/npmx-dev/npmx.dev/pull/2183#issuecomment-4104059314)) | [npmjs](https://www.npmjs.com/) | | [nvm](https://github.com/nvm-sh/nvm) | [`v0.40.2`](https://github.com/nvm-sh/nvm/releases/tag/v0.40.2)? | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nvm-sh/nvm/pull/3609), [2](https://github.com/nvm-sh/nvm/blob/master/AGENTS.md)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | @@ -1309,6 +1310,12 @@ Note that Rust is itself tainted; see [the Programming Languages section](#progr > - [ghex](https://github.com/GNOME/ghex) > - [hexcurse](https://github.com/prso/hexcurse-ng) +## Runtime Version Managers + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [asdf](https://asdf-vm.com/) | [`v0.18.1`](https://github.com/asdf-vm/asdf/releases/tag/v0.18.1) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/asdf-vm/asdf/pull/2246), [2](https://github.com/asdf-vm/asdf/pull/2275)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Search Engines | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 53fed6cc52ef7655001eb3247f9990921722fea1 Mon Sep 17 00:00:00 2001 From: znmz Date: Wed, 27 May 2026 17:17:40 +0200 Subject: [PATCH 099/108] Add fwupd and ntpd-rs (#824) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/824 Reviewed-by: Admin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9aa8de9..63cf39d 100644 --- a/README.md +++ b/README.md @@ -1416,9 +1416,11 @@ This section is strictly for software implementing a core set of UNIX-like utili | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [framework-system](https://github.com/FrameworkComputer/framework-system) | [`50a18e8`](https://github.com/FrameworkComputer/framework-system/commit/50a18e825e0a81aa8761ab2677d9cd139d766854) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FrameworkComputer/framework-system/blob/main/CLAUDE.md), [2](https://github.com/FrameworkComputer/framework-system/pull/250)) | BIOS settings,
UI widgets,
/proc | +| [fwupd](https://github.com/fwupd/fwupd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/fwupd/fwupd/blob/e94be3c7b9adc51c78ae1837e3ff4e52623926b9/.github/copilot-instructions.md), [2](https://github.com/fwupd/fwupd/commit/1ae4eddd5a7a2a9a5290f087855b942c1a0fbe75),[3](https://github.com/fwupd/fwupd/commit/1bdbcd68c72806dfd372280d9815827b886d3b4))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/fwupd/fwupd/pull/9918), [2](https://github.com/fwupd/fwupd/pull/9960), [3](https://github.com/fwupd/fwupd/pull/9995)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [libinput](https://gitlab.freedesktop.org/libinput/libinput) | [`43547b46`](https://gitlab.freedesktop.org/libinput/libinput/-/commit/43547b461bea7a5bfe0658ee1689bea03dca6fa7) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1444), [2](https://gitlab.freedesktop.org/libinput/libinput/-/commit/8dd25ece1073653c95ed26450be2739d3e0e30fd), [3](https://gitlab.freedesktop.org/libinput/libinput/-/commit/7d15503b4537d73b9e0b49738fc509060fa5a14b)) | [evdev](https://en.wikipedia.org/wiki/evdev) | | [lvm2](https://sourceware.org/lvm2/) |[![Request for Help](./badges/request-for-help.svg)](#request-for-help) |[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/lvmteam/lvm2/-/commit/6207fe707a4ae255ef62a2fa088ec2497ae6c0a8),[2](https://gitlab.com/lvmteam/lvm2/-/commit/ff76548a3da5cee224e4663d81d7041558115b8e),[3](https://gitlab.com/lvmteam/lvm2/-/commit/99b85e7e4acc7fb69460b2bdb94aa8c2ca0f8946)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Mesa3D](https://mesa3d.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://docs.mesa3d.org/submittingpatches.html#expectations-on-contributors)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| +| [ntpd-rs](https://github.com/pendulum-project/ntpd-rs) | [`v1.6.1`](https://github.com/pendulum-project/ntpd-rs/releases/tag/v1.6.1) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pendulum-project/ntpd-rs/blob/main/CONTRIBUTING.md#use-of-generative-artificial-intelligence)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [rsyslog](https://www.rsyslog.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://www.rsyslog.com/doc/about/ai_first.html)) | [syslog-ng](https://www.syslog-ng.com/products/open-source-log-management/) | | [systemd](https://github.com/systemd/systemd) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/systemd/systemd/blob/main/AGENTS.md), [2](https://github.com/systemd/systemd/commit/744d589632c545e90ae76853abbfbc90cb530e24)) | [dinit](https://davmac.org/projects/dinit),
[s6](https://skarnet.org/software/s6/),
[OpenRC](https://github.com/OpenRC/openrc),
[shepherd](https://shepherding.services/) | | [wireplumber](https://gitlab.freedesktop.org/pipewire/wireplumber/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.freedesktop.org/pipewire/wireplumber/-/blob/master/AGENTS.md?ref_type=heads)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help)| From 3dbfa6245e28729639ec2f5d503fec17102b0200 Mon Sep 17 00:00:00 2001 From: znmz Date: Wed, 27 May 2026 17:50:20 +0200 Subject: [PATCH 100/108] add `age`, VeraCrypt and Cryptomator (#794) `age` gets new versions released very rarely. In such case it is better to link the last untainted commit rather than the version number, right? Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/794 Reviewed-by: Admin --- README.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 63cf39d..0beba65 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,9 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [Photography](#photography) * [Video](#video) * [Continuous Integration](#continuous-integration) + * [Cryptography](#cryptography) + * [Disk Encryption](#disk-encryption) + * [File Encryption](#file-encryption) * [Data Archival](#data-archival) * [Device Exploiting](#device-exploiting) * [Documents](#documents) @@ -81,7 +84,6 @@ Any other questions? Please check out our [FAQ](./FAQ.md), and if your question * [File Monitoring](#file-monitoring) * [File Storage](#file-storage) * [File Storage Alternatives](#file-storage-alternatives) - * [Disk Encryption](#disk-encryption) * [File Transferring](#file-transferring) * [Filesystem Navigation](#filesystem-navigation) * [File Managers](#file-managers) @@ -675,6 +677,23 @@ This is a section for repos that are similar to this one either because they are | [Act](https://nektosact.com/) | [`v0.2.85`](https://github.com/nektos/act/releases/tag/v0.2.85) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nektos/act/blob/48822e4a7722a1c43621218a9d5ae705fc395679/CLAUDE.md)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | | [Woodpecker](https://woodpecker-ci.org/) | [`v3.12.0`](https://github.com/woodpecker-ci/woodpecker/releases/tag/v3.12.0) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/woodpecker-ci/woodpecker/pull/6501), [2](https://github.com/woodpecker-ci/woodpecker/commit/92b48f813aa3c6be5421fa9747acb33abdf9f192))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/woodpecker-ci/woodpecker/pull/5767), [2](https://github.com/woodpecker-ci/woodpecker/pull/5886), [3](https://github.com/woodpecker-ci/woodpecker/pull/6166)) | [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/overview/) | +## Cryptography + +### Disk Encryption + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/blob/main/CONTRIBUTING.md?ref_type=heads#how-to-contribute-changes-to-cryptsetup), [2](https://gitlab.com/cryptsetup/cryptsetup/-/work_items/986))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.8.6/docs/v2.8.6-ReleaseNotes))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/901)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [VeraCrypt](https://github.com/veracrypt/VeraCrypt) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/veracrypt/VeraCrypt/pull/1710), [2](https://github.com/veracrypt/VeraCrypt/pull/1703), [3](https://github.com/veracrypt/VeraCrypt/pull/1386))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/veracrypt/VeraCrypt/pull/1525)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + +### File Encryption + +| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | +|---|:---:|---|---| +| [age](https://github.com/FiloSottile/age) | [`4a3a4ef`](https://github.com/FiloSottile/age/commit/4a3a4ef00aa1e14627c017e978a45e309b39e516) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/FiloSottile/age/commit/db09cd66d1578bbb409cee25a891ba38483c5894), [2](https://github.com/FiloSottile/age/commit/706dfc1e799a03443ae46023502bd88d4e9e324f), [3](https://github.com/FiloSottile/age/commit/4c86929a84aac61aaca81ec67d7ccce9d1fad727)) | [rage](https://github.com/str4d/rage) | +| [gocryptfs](https://nuetzlich.net/gocryptfs/) | [`v2.5.4`](https://github.com/rfjakob/gocryptfs/releases/tag/v2.5.4) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rfjakob/gocryptfs/pull/932))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rfjakob/gocryptfs/pull/950), [2](https://github.com/rfjakob/gocryptfs/pull/995)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [Cryptomator](https://github.com/cryptomator/cryptomator) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/keybase/client/pull/29225), [2](https://github.com/cryptomator/cryptomator/commit/699e22d31a43512eb1d288f0177a2fd10d4fc1d9), [3](https://github.com/cryptomator/cryptomator/commit/d5d992b1c25af541b513b13c46f6b2aac13cbe38))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/cryptomator/cryptomator/pull/4227), [2](https://github.com/cryptomator/cryptomator/pull/4105), [3](https://github.com/cryptomator/cryptomator/pull/4179)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | + ## Data Archival | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | @@ -754,12 +773,6 @@ This is a section for repos that are similar to this one either because they are > For MinIO: > MinIO no longer maintains open source software so the entry is just for their old FOSS presence. -### Disk Encryption - -| Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | -|---|:---:|---|---| -| [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/blob/main/CONTRIBUTING.md?ref_type=heads#how-to-contribute-changes-to-cryptsetup), [2](https://gitlab.com/cryptsetup/cryptsetup/-/work_items/986))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.8.6/docs/v2.8.6-ReleaseNotes))
[![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg)](#permits-llm-ingestion) ([1](https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/901)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | - ## File Transferring | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | From 9f1fed0fef521b41709a652dff9853ef5aefa12f Mon Sep 17 00:00:00 2001 From: lukeflo Date: Wed, 27 May 2026 18:00:45 +0200 Subject: [PATCH 101/108] Add `flow` (#818) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/818 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0beba65..4112aef 100644 --- a/README.md +++ b/README.md @@ -1484,6 +1484,7 @@ This section is strictly for software implementing a core set of UNIX-like utili | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| | [CotEditor](https://github.com/coteditor/CotEditor) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/coteditor/CotEditor/commit/dcef4b2aa399aadb8c1c50f2139ca62eedb2cfc7), [2](https://github.com/coteditor/CotEditor/pull/2063)) | +| [Flow](https://codeberg.org/neurocyte/flow) | [`a782bfb`](https://codeberg.org/neurocyte/flow/commit/a782bfb690aec321fc3c6a955953895a150333b1) (unsure) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://codeberg.org/neurocyte/flow/src/commit/9c66b196500b7ee5fbfd98db88a2116f36f1b366), [2](https://codeberg.org/neurocyte/flow/src/commit/ae0f62c3bf75aa13c1916c9d1f37092869765dc8)) ![Permits LLM Ingestion](./badges/permits-llm-ingestion.svg) ([1](https://codeberg.org/neurocyte/flow/src/branch/master#development-resources))| | [Helix](https://github.com/helix-editor/helix) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/helix-editor/helix/commit/22d0d294bdb2e8f90fd6cb6f2546aefe2844e642)) | | [Kakoune](https://kakoune.org/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mawww/kakoune/commit/ca2c93470352e89cde62cecf2507110509d7be20)) | | [Lem](http://lem-project.github.io/) | [`e039567`](https://github.com/lem-project/lem/tree/e039567bc8976d2d59920d91e865440068ea8097) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/lem-project/lem/commit/4f2713e0af6afda559d8aaa896285f18b4a969bb))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/lem-project/lem/blob/main/CLAUDE.md), [2](https://github.com/lem-project/lem/commit/bec98d7d0600f67e5f430cc3032970efeb24b80c), [3](https://github.com/lem-project/lem/commit/376601e2213ba7d1ef83a85e8dc37ddeb7a9f9ea)) | From 0644e1ba7d68ce3329c1a0bdbfa6e40e334148dd Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Wed, 27 May 2026 18:04:05 +0200 Subject: [PATCH 102/108] add Syncthing-Fork (#833) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/833 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4112aef..463bee7 100644 --- a/README.md +++ b/README.md @@ -763,6 +763,7 @@ This is a section for repos that are similar to this one either because they are | [SeaweedFS](https://seaweedfs.com/) | [`3.87`](https://github.com/seaweedfs/seaweedfs/releases/tag/3.87) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/seaweedfs/seaweedfs/pull/7996)) | | [Silo](https://silo.pigsty.io/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgsty/minio/commit/ee55e5391a5d5e4bd46d555a11b2215eb6ed836e), [2](https://github.com/pgsty/minio/commit/ce1c537eb1dd6c4efa1cf75cf5df0e2c489c947a), [3](https://github.com/pgsty/minio/commit/8630937e7d1c3426ae28508e06f7091d7bde3a49))| | [Syncthing](https://syncthing.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/syncthing/syncthing/blob/main/.deepsource.toml), [2](https://github.com/syncthing/syncthing/pull/10652)) | +| [Syncthing-Fork](https://github.com/researchxxl/syncthing-android) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/researchxxl/syncthing-android/blob/main/.github/copilot-instructions.md), [2](https://github.com/researchxxl/syncthing-android/issues/184#issuecomment-4038469954), [3](https://github.com/researchxxl/syncthing-android/pull/223)) | > [!NOTE] > ### File Storage Alternatives > * [CopyParty](https://github.com/9001/copyparty) for general file sharing From 358cdbe49fb06177660d6fcd165e672dc2dff6c6 Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Wed, 27 May 2026 18:05:25 +0200 Subject: [PATCH 103/108] cleanup formatting in File Storage section (#834) modify formatting to be more aligned with rest of the list and STYLE.md Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/834 Reviewed-by: Admin --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 463bee7..c6211fe 100644 --- a/README.md +++ b/README.md @@ -755,13 +755,13 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| | [Ente Locker](https://ente.com/locker/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/ente-io/ente/commit/3fbe3a463b50aa52028c33acd10f7d1d94c7c368)) | -| [JuiceFS](https://juicefs.com/en/) | [`v1.2.3`](https://github.com/juicedata/juicefs/releases/tag/v1.2.3) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/juicedata/juicefs/pull/6241))| +| [JuiceFS](https://juicefs.com/en/) | [`v1.2.3`](https://github.com/juicedata/juicefs/releases/tag/v1.2.3) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/juicedata/juicefs/pull/6241)) | | [MinIO](https://www.min.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI sponsored](./badges/ai-sponsored-blue.svg)](#sponsored-by-ai) ([1](https://github.com/minio/minio)) | -| [Nextcloud](https://nextcloud.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextcloud/desktop/blob/master/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextcloud.com/assistant/)) | -| [Rook/Ceph](https://rook.io/) | [`v1.17.0`](https://github.com/rook/rook/releases/tag/v1.17.0) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews)([1](https://github.com/rook/rook/pull/15563#pullrequestreview-2724068439))| -| [RustFS](https://rustfs.com/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rustfs/rustfs/blob/main/AGENTS.md), [2](https://github.com/rustfs/rustfs/commit/6ce24f3b632f86c456a95d6e8b6ba9d05c8e4ae5), [3](https://github.com/rustfs/rustfs/commit/2bf4b1439495db1aeed5bbe474083a04a25f69e5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](https://codeberg.org/small-hack/open-slopware#ai-code-reviews) ([1](https://github.com/rustfs/rustfs/pull/2584), [2](https://github.com/rustfs/rustfs/pull/2583), [3](https://github.com/rustfs/rustfs/pull/2581))| +| [Nextcloud](https://nextcloud.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nextcloud/desktop/blob/master/AGENTS.md))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nextcloud.com/assistant/)) | +| [Rook/Ceph](https://rook.io/) | [`v1.17.0`](https://github.com/rook/rook/releases/tag/v1.17.0) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rook/rook/pull/15563#pullrequestreview-2724068439)) | +| [RustFS](https://rustfs.com/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/rustfs/rustfs/blob/main/AGENTS.md), [2](https://github.com/rustfs/rustfs/commit/6ce24f3b632f86c456a95d6e8b6ba9d05c8e4ae5), [3](https://github.com/rustfs/rustfs/commit/2bf4b1439495db1aeed5bbe474083a04a25f69e5))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/rustfs/rustfs/pull/2584), [2](https://github.com/rustfs/rustfs/pull/2583), [3](https://github.com/rustfs/rustfs/pull/2581)) | | [SeaweedFS](https://seaweedfs.com/) | [`3.87`](https://github.com/seaweedfs/seaweedfs/releases/tag/3.87) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/seaweedfs/seaweedfs/pull/7996)) | -| [Silo](https://silo.pigsty.io/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgsty/minio/commit/ee55e5391a5d5e4bd46d555a11b2215eb6ed836e), [2](https://github.com/pgsty/minio/commit/ce1c537eb1dd6c4efa1cf75cf5df0e2c489c947a), [3](https://github.com/pgsty/minio/commit/8630937e7d1c3426ae28508e06f7091d7bde3a49))| +| [Silo](https://silo.pigsty.io/) | None | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/pgsty/minio/commit/ee55e5391a5d5e4bd46d555a11b2215eb6ed836e), [2](https://github.com/pgsty/minio/commit/ce1c537eb1dd6c4efa1cf75cf5df0e2c489c947a), [3](https://github.com/pgsty/minio/commit/8630937e7d1c3426ae28508e06f7091d7bde3a49)) | | [Syncthing](https://syncthing.net/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/syncthing/syncthing/blob/main/.deepsource.toml), [2](https://github.com/syncthing/syncthing/pull/10652)) | | [Syncthing-Fork](https://github.com/researchxxl/syncthing-android) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/researchxxl/syncthing-android/blob/main/.github/copilot-instructions.md), [2](https://github.com/researchxxl/syncthing-android/issues/184#issuecomment-4038469954), [3](https://github.com/researchxxl/syncthing-android/pull/223)) | > [!NOTE] From 9d9941cc17f615b7d2dd3a341ec5cc39d3f159af Mon Sep 17 00:00:00 2001 From: FlemyJY Date: Wed, 27 May 2026 18:12:43 +0200 Subject: [PATCH 104/108] Add QMPlay2 as an Alternative for mpv & vlc (#835) QMPlay seems clean: * no mention of `claude`, `copilot`, `gemini`, `llm` in the PRs & `git log` * only unrelated mentions of `cursor`, `generate`, `ai` * no `CLAUDE.md`, weird `.gitignore`, etc * the only `Co-Authored-By`s are `zo-shin` and IMO is better than the other options (tho also a bit bloated and weird defaults): * It is not based on a slop library * You have control over the video (forward, backward, pause, volume) (ffplay...) * It has gotten updates this year (mplayer..) also thought about adding [haruna](https://apps.kde.org/haruna/), but sadly it uses mpv under the hood. Co-authored-by: FlemyJY Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/835 Reviewed-by: Admin --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c6211fe..a2098f1 100644 --- a/README.md +++ b/README.md @@ -665,10 +665,10 @@ This is a section for repos that are similar to this one either because they are | [Jellyfin](https://jellyfin.org) (server) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://jellyfin.org/docs/general/contributing/llm-policies#llm-code-contributions-to-official-projects))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/jellyfin/jellyfin/pull/16540)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Jellyfin Desktop](https://github.com/jellyfin/jellyfin-desktop) | Use archived [Qt-based client](https://github.com/jellyfin-archive/jellyfin-desktop-qt/) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://jellyfin.org/docs/general/contributing/llm-policies#llm-code-contributions-to-official-projects), [2](https://github.com/jellyfin/jellyfin-desktop/blob/main/CLAUDE.md), [3](https://retro.social/@ieure/116304493795805340)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | | [Kodi](https://kodi.tv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/xbmc/xbmc/commit/6a1411f263f84d69da36cf15d0da03b3439d590f))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/xbmc/xbmc/pull/28144)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | -| [mpv](https://github.com/mpv-player/mpv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mpv-player/mpv/blob/master/DOCS/contribute.md#ai-assisted-contributions)) | [MPlayer](https://mplayerhq.hu/)
[Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based) | +| [mpv](https://github.com/mpv-player/mpv) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/mpv-player/mpv/blob/master/DOCS/contribute.md#ai-assisted-contributions)) | [MPlayer](https://mplayerhq.hu/)
[Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based)
[QMPlay2] (ffmpeg+libmodplug-based) | | [NewPipe](https://newpipe.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/TeamNewPipe/NewPipe?tab=contributing-ov-file#ai-policy)) | [LibreTube] | | [PipePipe](https://pipepipe.dev/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/InfinityLoop1308/PipePipeClient/blob/dev/CLAUDE.md)) | [LibreTube] | -| [VLC](https://code.videolan.org/videolan/vlc) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://code.videolan.org/videolan/vlc/-/commit/bd7d103792c37f6a9883b40d099f008672e2ea39), [2](https://www.youtube.com/watch?v=25MwBEWxQG0&t=2987s))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://code.videolan.org/videolan/vlc/-/merge_requests/8927))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nitter.net/videolan/status/1877072497146781946)) | [Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based) | +| [VLC](https://code.videolan.org/videolan/vlc) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://code.videolan.org/videolan/vlc/-/commit/bd7d103792c37f6a9883b40d099f008672e2ea39), [2](https://www.youtube.com/watch?v=25MwBEWxQG0&t=2987s))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://code.videolan.org/videolan/vlc/-/merge_requests/8927))
[![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://nitter.net/videolan/status/1877072497146781946)) | [Showtime] (gstreamer-based)
[SMPlayer] (mplayer-based)
[ffplay] (ffmpeg+SDL-based)
[QMPlay2] (ffmpeg+libmodplug-based) | ## Continuous Integration @@ -1867,6 +1867,7 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [matrix]: https://matrix.org [Pandemonium Engine]: https://pandemoniumengine.org/ [QEMU]: https://www.qemu.org +[QMPlay2]: https://github.com/zaps166/QMPlay2 [Rio Terminal]: https://github.com/raphamorim/rio [Servo]: https://servo.org/ [Schilytools]: https://codeberg.org/schilytools/schilytools From 4435043e2c39c7d8fd6b05d41f476b4778ec7a73 Mon Sep 17 00:00:00 2001 From: vleermuis-admin Date: Wed, 27 May 2026 18:16:30 +0200 Subject: [PATCH 105/108] note that code reviews from copilot can be complained about to save the project (#838) closes #836 Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/838 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a2098f1..1369652 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,9 @@ Evidence can be: - an AI code review CI workflow. - a PR where an AI code review seems to be automatically created by some sort of third party app +> [!note] +> Due to the way GitHub works, any user there can request a code review from copilot and a project's maintainers cannot ban copilot from their repo. If a user requests an AI code review on GitHub and a maintainer says "Don't do that", do not list the project using this tag. If the maintainer says nothing though, it's fine to still apply this tag as that's an implicit approval. + ### Gen AI 'Art' ![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg) From c7a5fcb1237c89a186ca7a0c735a62a1f6a52d15 Mon Sep 17 00:00:00 2001 From: storablecerox977 Date: Wed, 27 May 2026 18:17:08 +0200 Subject: [PATCH 106/108] Add KeePassDX (#837) All the alternatives I found are tainted sadly - [AuthPass](https://authpass.app) -- https://github.com/authpass/authpass/pull/395#pullrequestreview-3105665498 -- https://github.com/authpass/authpass/pull/395#pullrequestreview-3109392874 - [Keepass2Android](https://github.com/PhilippC/keepass2android) -- https://github.com/PhilippC/keepass2android/pull/3154#pullrequestreview-3677202571 - [KeePassVault](https://github.com/aivanovski/keepassvault) -- https://github.com/aivanovski/keepassvault/pulls?q=is%3Apr+is%3Amerged+coderabbit Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/837 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1369652..3ce23e3 100644 --- a/README.md +++ b/README.md @@ -1080,6 +1080,7 @@ This is a section for repos that are similar to this one either because they are |---|:---:|---| | [AliasVault](https://aliasvault.net) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/aliasvault/aliasvault/issues/1924)) | | [Bitwarden](https://bitwarden.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/bitwarden/server/blob/main/.claude/CLAUDE.md)) | +| [KeePassDX](https://www.keepassdx.com/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/Kunzisoft/KeePassDX/blob/master/CONTRIBUTING.md#code-generation), [2](https://github.com/Kunzisoft/KeePassDX/issues/2447#issuecomment-4029885903)) | | [KeepassXC](https://keepassxc.org/) | [`2.7.9`](https://github.com/keepassxreboot/keepassxc/releases/tag/2.7.9) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://keepassxc.org/blog/2025-11-09-about-keepassxcs-code-quality-control/), [2](https://github.com/keepassxreboot/keepassxc/pull/12588), [3](https://github.com/keepassxreboot/keepassxc/pull/12314)) | | [vaultwarden](https://github.com/dani-garcia/vaultwarden) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/dani-garcia/vaultwarden/pull/6967#issuecomment-4178703245), [2](https://github.com/dani-garcia/vaultwarden/pull/6279#discussion_r2366146831), [3](https://github.com/dani-garcia/vaultwarden/pull/6202#issuecomment-3679822420)) | From af732b17a729229ed5a4a754bf540658b0428eed Mon Sep 17 00:00:00 2001 From: znmz Date: Wed, 27 May 2026 18:41:41 +0200 Subject: [PATCH 107/108] add Sudo and sudo-rs (#815) Can't think of any alternatives here. `run0` is part of Systemd, which is tainted. The famous `doas`, if i understand it correctly, works only on BSDs (or even only OpenBSD). The doas that is packaged in many *linux* distros' repos is actually a fork ([OpenDoas](https://github.com/Duncaen/OpenDoas)) and it was not updated for 4 years. I haven't used it and cannot tell if that's a big red flag or that's just how secure OpenBSD stuff is that it doesn't require patches even 4 years later :) The last option is `su`, which is part of `util-linux`, but that isn't quite the same. You can see [this](https://wiki.archlinux.org/title/List_of_applications/Security#Privilege_elevation) section on ArchWiki for a list of privilege escalation options. Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/815 Reviewed-by: Admin --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 3ce23e3..1fca7a2 100644 --- a/README.md +++ b/README.md @@ -1392,6 +1392,8 @@ This section is strictly for software implementing a core set of UNIX-like utili | Name | Last Untainted Version or Commit ID | Tags and Evidence | Alternative(s) | |---|:---:|---|---| | [plan9port](https://9fans.github.io/plan9port/) | [`0155f29`](https://github.com/9fans/plan9port/commit/0155f29bdc3cf0cab017fd7b33bf9e93cb9af64c) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/9fans/plan9port/pull/748)) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | +| [sudo](https://github.com/sudo-project/sudo) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/sudo-project/sudo/pull/529), [2](https://github.com/sudo-project/sudo/commit/b040db2be79b635c), [3](https://github.com/sudo-project/sudo/commit/3226ef7b3d66097d3432d2a49915b3fc457203dd)) | [OpenDoas] | +| [sudo-rs](https://github.com/trifectatechfoundation/sudo-rs) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/trifectatechfoundation/sudo-rs/blob/main/CONTRIBUTING.md#use-of-generative-artificial-intelligence), [2](https://github.com/trifectatechfoundation/sudo-rs/commit/a59a09e33f9f97e00b708c2585a6d64ba8dfa23b)) | [OpenDoas] | | [uutils](https://uutils.github.io/) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/uutils/coreutils/pull/11717), [2](https://github.com/uutils/coreutils/commit/6e18efb218dbd4d7ad7441d255d02fb0c1df4bf0) [3](https://github.com/uutils/coreutils/pull/11918#issuecomment-4284527284))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/uutils/coreutils/pull/7266), [2](https://github.com/uutils/coreutils/pull/10505), [3](https://github.com/uutils/coreutils/pulls?q=copilot)) | [Busybox](https://busybox.net/),
GNU coreutils | ## System Information Utilities @@ -1869,6 +1871,7 @@ This repository is licensed under the Creative Commons Attribution Share Alike 4 [Lua]: https://lua.org [MATE Terminal]: https://wiki.mate-desktop.org/mate-desktop/applications/mate-terminal/ [matrix]: https://matrix.org +[OpenDoas]: https://github.com/Duncaen/OpenDoas [Pandemonium Engine]: https://pandemoniumengine.org/ [QEMU]: https://www.qemu.org [QMPlay2]: https://github.com/zaps166/QMPlay2 From d628ff956ba9345ad852a19c8ef7838bbe168c17 Mon Sep 17 00:00:00 2001 From: znmz Date: Wed, 27 May 2026 18:53:28 +0200 Subject: [PATCH 108/108] Add `brush` shell (#826) Reviewed-on: https://codeberg.org/small-hack/open-slopware/pulls/826 Reviewed-by: Admin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fca7a2..09698d9 100644 --- a/README.md +++ b/README.md @@ -580,6 +580,7 @@ This is a section for repos that are similar to this one either because they are | Name | Last Untainted Version or Commit ID | Tags and Evidence | |---|:---:|---| +| [brush](https://github.com/reubeno/brush) | [![Request for Help](./badges/request-for-help.svg)](#request-for-help) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/reubeno/brush/blob/main/AGENTS.md), [2](https://github.com/reubeno/brush/blob/main/.github/copilot-instructions.md), [3](https://github.com/reubeno/brush/commit/4ca78babcb2111d34e26cdda6622b0fa2611bb32))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/reubeno/brush/pull/1167), [2](https://github.com/reubeno/brush/pull/1080), [3](https://github.com/reubeno/brush/pull/1078))
[![Gen AI 'Art'](./badges/gen-ai-art-dark-yellow.svg)](https://codeberg.org/small-hack/open-slopware#gen-ai-art) ([1](https://github.com/reubeno/brush/blob/8ea83d7/README.md)) | | [nushell](https://www.nushell.sh/) | [`0.79.0`](https://github.com/nushell/nushell/releases/0.79.0) | [![AI Functionality](./badges/ai-functionality-yellow.svg)](#ai-functionality) ([1](https://github.com/nushell/nushell/tree/main/crates/nu-mcp))
[![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/nushell/nushell/commit/21a54d47a00f09e3710e08ee7624e7b4332dcb27), [2](https://github.com/nushell/nushell/commit/67952a46ad3df4ec5bea6f1a26d8f40585f1c65f), [3](https://github.com/nushell/nushell/pull/9145#issuecomment-1544593839)) | | [Oil Shell](https://magicant.github.io/yash/) | [`dddab4a`](https://github.com/oils-for-unix/oils/commit/dddab4a73c479e3ad4831778dd25729ed89c83d3) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/oils-for-unix/oils/commit/c6dbffb30396b4085e8649190e1c178daa67af9a)) | | [PowerShell](https://github.com/PowerShell/PowerShell) | [`v7.4.0-preview.2`](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.0-preview.2) | [![Permissive AI policy](./badges/permissive-ai-policy-orange.svg)](#permissive-ai-policy) ([1](https://github.com/PowerShell/PowerShell/tree/25e80cefdb14d0c69eaa976314e31d035aeddd73/.github/agents), [2](https://github.com/PowerShell/PowerShell/commit/1241ad2794cc84c18554e36ce658bfd86781cf8e), [3](https://github.com/PowerShell/PowerShell/pull/27074))
[![AI Code Reviews](./badges/ai-code-reviews-purple.svg)](#ai-code-reviews) ([1](https://github.com/PowerShell/PowerShell/pull/27077)) |