From 5d27700f2a79bf703d68dcf16d96993c2a1cc9ae Mon Sep 17 00:00:00 2001 From: "Eshan Roy (Eshanized)" Date: Sun, 10 Mar 2024 20:29:20 +0530 Subject: [PATCH] @eshanized: push via script --- build-snigdha-os/01-online-build | 48 ++ .../{local-build.sh => 02-offline-build.sh} | 0 build-snigdha-os/online-build.sh | 310 --------- .../NetworkManager/dispatcher.d/09-timezone | 9 + .../etc/X11/xorg.conf.d/00-keyboard.conf | 10 + .../archiso/airootfs/etc/default/grub | 64 ++ .../archiso/airootfs/etc/dev-rel | 3 + .../archiso/airootfs/etc/environment | 4 + .../archiso/airootfs/etc/gdm/custom.conf | 4 + .../archiso/airootfs/etc/group | 16 + .../archiso/airootfs/etc/grub.d/40_custom | 18 + .../archiso/airootfs/etc/gshadow | 16 + .../archiso/airootfs/etc/hostname | 1 + .../archiso/airootfs/etc/issue | 1 + .../archiso/airootfs/etc/locale.conf | 1 + .../archiso/airootfs/etc/locale.gen | 513 ++++++++++++++ .../archiso/airootfs/etc/localtime | 1 + .../archiso/airootfs/etc/mkinitcpio.conf | 73 ++ .../etc/mkinitcpio.d/linux-zen.preset | 12 + .../airootfs/etc/mkinitcpio.d/snigdhaos | 12 + .../airootfs/etc/modprobe.d/broadcom-wl.conf | 7 + .../archiso/airootfs/etc/nsswitch.conf | 21 + .../archiso/airootfs/etc/pacman.conf | 103 +++ .../archiso/airootfs/etc/pacman.d/mirrorlist | 642 ++++++++++++++++++ .../archiso/airootfs/etc/passwd | 2 + .../polkit-1/rules.d/49-nopasswd_global.rules | 9 + .../archiso/airootfs/etc/shadow | 2 + .../archiso/airootfs/etc/snigdhaos-release | 4 + .../etc/ssh/sshd_config.d/10-archiso.conf | 3 + .../archiso/airootfs/etc/sudoers.d/g_wheel | 1 + .../airootfs/etc/systemd/journald.conf | 47 ++ .../journald.conf.d/volatile-storage.conf | 2 + .../archiso/airootfs/etc/systemd/logind.conf | 45 ++ .../systemd/logind.conf.d/do-not-suspend.conf | 4 + .../etc/systemd/network/20-ethernet.network | 21 + .../etc/systemd/network/20-wlan.network | 17 + .../etc/systemd/network/20-wwan.network | 17 + .../bluetooth.target.wants/bluetooth.service | 1 + .../etc/systemd/system/choose-mirror.service | 10 + .../etc/systemd/system/dbus-org.bluez.service | 1 + .../system/dbus-org.freedesktop.Avahi.service | 1 + ...dbus-org.freedesktop.nm-dispatcher.service | 1 + .../dbus-org.freedesktop.timesync1.service | 1 + .../etc/systemd/system/default.target | 1 + .../systemd/system/display-manager.service | 1 + .../getty@tty1.service.d/autologin.conf | 3 + .../system/livecd-alsa-unmuter.service | 13 + .../etc/systemd/system/livecd-talk.service | 20 + .../etc/systemd/system/mnt-hgfs.mount | 15 + .../NetworkManager.service | 1 + .../avahi-daemon.service | 1 + .../system/multi-user.target.wants/cups.path | 1 + .../hv_fcopy_daemon.service | 1 + .../hv_kvp_daemon.service | 1 + .../hv_vss_daemon.service | 1 + .../qemu-guest-agent.service | 1 + .../vboxservice.service | 1 + .../multi-user.target.wants/vmtoolsd.service | 1 + .../vmware-vmblock-fuse.service | 1 + .../multi-user.target.wants/vnstat.service | 1 + .../NetworkManager-wait-online.service | 1 + .../system/printer.target.wants/cups.service | 1 + .../system/reflector.service.d/archiso.conf | 6 + .../sockets.target.wants/avahi-daemon.socket | 1 + .../system/sockets.target.wants/cups.socket | 1 + .../systemd-timesyncd.service | 1 + .../wait-for-only-one-interface.conf | 6 + .../etc/systemd/system/vnstatd.service | 1 + .../archiso/airootfs/etc/vconsole.conf | 1 + .../airootfs/root/.automated_script.sh | 44 ++ .../archiso/airootfs/root/.zlogin | 6 + .../airootfs/usr/local/bin/snigdhaos-snapper | 20 + .../usr/share/icons/default/index.theme | 2 + .../entries/01-archiso-x86_64-linux.conf | 7 + .../02-archiso-x86_64-linux-no-nouveau.conf | 7 + .../loader/entries/03-nvidianouveau.conf | 7 + .../loader/entries/04-nvidianonouveau.conf | 7 + .../efiboot/loader/entries/05-nomodeset.conf | 7 + .../archiso/efiboot/loader/loader.conf | 3 + .../snigdhaos-build/archiso/grub/grub.cfg | 117 ++++ .../snigdhaos-build/archiso/grub/loopback.cfg | 80 +++ .../snigdhaos-build/archiso/packages.x86_64 | 62 ++ .../snigdhaos-build/archiso/pacman.conf | 98 +++ .../snigdhaos-build/archiso/profiledef.sh | 28 + .../archiso/syslinux/archiso_head.cfg | 28 + .../archiso/syslinux/archiso_pxe-linux.cfg | 32 + .../archiso/syslinux/archiso_pxe.cfg | 5 + .../archiso/syslinux/archiso_sys-linux.cfg | 20 + .../archiso/syslinux/archiso_sys.cfg | 8 + .../archiso/syslinux/archiso_tail.cfg | 35 + .../archiso/syslinux/splash.png | Bin 0 -> 45400 bytes .../archiso/syslinux/syslinux.cfg | 11 + 92 files changed, 2485 insertions(+), 310 deletions(-) create mode 100755 build-snigdha-os/01-online-build rename build-snigdha-os/{local-build.sh => 02-offline-build.sh} (100%) delete mode 100644 build-snigdha-os/online-build.sh create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/NetworkManager/dispatcher.d/09-timezone create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/default/grub create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/dev-rel create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/environment create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gdm/custom.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/group create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/grub.d/40_custom create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gshadow create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/hostname create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/issue create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.gen create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/localtime create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/linux-zen.preset create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/snigdhaos create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/nsswitch.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.d/mirrorlist create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/passwd create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/shadow create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/snigdhaos-release create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/sudoers.d/g_wheel create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-ethernet.network create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wlan.network create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wwan.network create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/choose-mirror.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.bluez.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/default.target create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/display-manager.service create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-talk.service create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/mnt-hgfs.mount create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/cups.path create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vnstat.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/printer.target.wants/cups.service create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/cups.socket create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf create mode 120000 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/vnstatd.service create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/vconsole.conf create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/root/.automated_script.sh create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/root/.zlogin create mode 100755 build-snigdha-os/snigdhaos-build/archiso/airootfs/usr/local/bin/snigdhaos-snapper create mode 100644 build-snigdha-os/snigdhaos-build/archiso/airootfs/usr/share/icons/default/index.theme create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/entries/01-archiso-x86_64-linux.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/entries/02-archiso-x86_64-linux-no-nouveau.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/entries/03-nvidianouveau.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/entries/04-nvidianonouveau.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/entries/05-nomodeset.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/efiboot/loader/loader.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/grub/grub.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/grub/loopback.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/packages.x86_64 create mode 100644 build-snigdha-os/snigdhaos-build/archiso/pacman.conf create mode 100644 build-snigdha-os/snigdhaos-build/archiso/profiledef.sh create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_head.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_pxe-linux.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_pxe.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_sys-linux.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_sys.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/archiso_tail.cfg create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/splash.png create mode 100644 build-snigdha-os/snigdhaos-build/archiso/syslinux/syslinux.cfg diff --git a/build-snigdha-os/01-online-build b/build-snigdha-os/01-online-build new file mode 100755 index 0000000..4ab003e --- /dev/null +++ b/build-snigdha-os/01-online-build @@ -0,0 +1,48 @@ +#!/usr/bin/bash + +# Author : Eshan Roy +# Author URL : https://eshanized.github.io/ + +echo +echo -e "[Check] Archiso Version !" +echo + PACKAGE="archiso" + REQ_ARCHISO="archiso 75-1" + CUR_ARCHISO=$(sudo pacman -Q archiso) + + if [ "$CUR_ARCHISO" == "$REQ_ARCHISO" ]; then + echo -e "[INFO] Required ISO Version is Installed !" + elif ! sudo pacman -Qi $PACKAGE &> /dev/null; then + echo -e "\033[0;31m[NOT FOUND] Archiso not Installed !\033[0m" + else + echo -e "\033[0;31m[WARNING] Archiso not installed or Doesn't Meet Required Version !\033[0m" + fi + +echo +echo "------------------------------------------------------" +echo -e "[CHECK] Required Archiso Version !" +echo -e "[CHECK] Archiso Installation !" +echo -e "[INSTALL] Archiso Install !" +echo -e "[CHECK] Installation Sucessfull !" +echo "------------------------------------------------------" +echo + + if sudo pacman -Qi "$PACKAGE" &> /dev/null; then + echo -e "[INFO] Required ISO Version is Installed !" + else + echo -e "\033[1;36m[INSTALLING] Archiso via Pacman !\033[0m" + sudo pacman -S --noconfirm "$PACKAGE" + fi + + if pacman -Qi "$PACKAGE" &> /dev/null; then + echo -e "[SUCCESS] Installtion Successfull !" + else + echo -e "\033[0;31m[ERROR] Installation was not Sucessfull !\033[0m" + exit 1 + fi + +echo +echo -e "[INFO] Building Snigdha OS !" +echo + + sudo mkarchiso -v -w build/ -o output/ archiso/ diff --git a/build-snigdha-os/local-build.sh b/build-snigdha-os/02-offline-build.sh similarity index 100% rename from build-snigdha-os/local-build.sh rename to build-snigdha-os/02-offline-build.sh diff --git a/build-snigdha-os/online-build.sh b/build-snigdha-os/online-build.sh deleted file mode 100644 index 2208183..0000000 --- a/build-snigdha-os/online-build.sh +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/bash - -# exit on error [immidiate] -# set -e - -# Author : Eshan Roy -# Author URL : https://eshanized.github.io/ - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 1 : " -echo "SETTING GLOBAL PARAMS : " -tput sgr0 -echo "*********************************************************************************" -echo - - # Set the Environment here -> - desktop="gnome" - dmDesktop="gnome" - - snigdhaosVersion='v5.0' - build='arctic' - isoLabel='snigdhaos-'$build'-'$snigdhaosVersion'-x86_64.iso' - - # Necessary Parameters - requiredArchisoVersion="archiso 75-1" - buildFolder=$HOME"/snigdhaos-build" - outputFolder=$HOME"/snigdhaos-output" - archisoVersion=$(sudo pacman -Q archiso) - - # Setup for Aur - chaoticaur=false - blackarchaur=false - personalrepo=false - - echo "*********************************************************************************" - echo "Building Desktop "$desktop - echo "Building Version "$snigdhaosVersion - echo "ISO Label "$isoLabel - echo "Checking Current Archiso Version "$archisoVersion - echo "Required Version "$requiredArchisoVersion - echo "Build Folder "$buildFolder - echo "Output Folder "$outputFolder - echo "*********************************************************************************" - - # Let's download archiso if not installed! - if [ "$archisoVersion" == "$requiredArchisoVersion" ]; then - tput setaf 2 - echo "*********************************************************************************" - echo "Archiso Required Version is already installed" - echo "*********************************************************************************" - tput sgr0 - - else - tput setaf 1 - echo "*********************************************************************************" - echo "Required Archiso Version Not Found!" - echo "*********************************************************************************" - tput sgr0 - fi - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 2 : " -echo "- Installing Archiso" -echo "- Saving Latest Archiso Version to readme!" -echo "- Making Archiso verbose!" -tput sgr0 -echo "*********************************************************************************" -echo - - package="archiso" - # I am not going to install via any helpers - if pacman -Qi $package &> /dev/null; then - echo "Archiso is already installed!" - else - if pacman -Qi yay &> /dev/null;then - echo "*********************************************************************************" - echo "Installing Archiso via YAY" - echo "*********************************************************************************" - yay -S --noconfirm $package - elif pacman -Qi trizen &> /dev/null;then - echo "*********************************************************************************" - echo "Installing Archiso Via Trizen" - echo "*********************************************************************************" - trizen -S --noconfirm --needed --noedit $package - elif pacman -Qi paru &> /dev/null;then - echo "*********************************************************************************" - echo "Installing Archison Via Paru" - echo "*********************************************************************************" - paru -S --noconfirm $package - fi - - # Let's check whether the installation is successfull or not! - if pacman -Qi $package &> /dev/null; then - echo "*********************************************************************************" - echo $package "installation was successfull." - echo "*********************************************************************************" - else - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo $package "not installed successfully. Exiting..." - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - exit 1 - fi - fi - - echo - echo "Saving Downloaded archiso version to readme..." - sudo sed -i "s/\(^archiso-version=\).*/\1$archisoVersion/" ../archiso.readme - echo - echo "Making Archiso Verbose" - sudo sed -i 's/quiet="y"/quiet="n"/g' /usr/bin/mkarchiso - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 3 : " -echo "- Deleting Any Previous Build Folder if exists!" -echo "- Copying Archiso to build folder..." -tput sgr0 -echo "*********************************************************************************" -echo - - echo "Deleting Previous Build Folder..." - [ -d $buildFolder ] && sudo rm -rf $buildFolder - echo - echo "Copying Archiso to Work Directory..." - echo - mkdir $buildFolder - cp -r ../archiso $buildFolder/archiso -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 4 : " -echo "- Deleting files in /etc/skel" -echo "- Downloading Latest .bashrc from Snigdha-OS/snigdhaos-root" -echo "- Removing old packages.x86_64 from build folder..." -echo "- Copying new packages.x86_64 to build folder..." -echo "- Adding Personal Repo and Personal Packages!" -tput sgr0 -echo "*********************************************************************************" -echo - - echo "Deleting existing files in /etc/skel" - rm -rf $buildFolder/archiso/airootfs/etc/skel/. * 2> /dev/null - echo - echo "Downloading Latest .bashrc from Snigdha-OS/snigdhaos-root" - echo - wget https://raw.githubusercontent.com/Snigdha-OS/snigdhaos-roots/master/.bashrc -O $buildFolder/archiso/airootfs/etc/skel/.bashrc - echo - echo "Removing old packages.x86_64 from build folder..." - rm $buildFolder/archiso/packages.x86_64 - echo "Removing Personal Packages..." - rm $buildFolder/archiso/personal-packages.x86_64 - echo - echo "Copying the latest packages.x86_64..." - cp -f ../archiso/packages.x86_64 $buildFolder/archiso/packages.x86_64 - echo - - if [ $personalrepo == true ]; then - echo "Adding Packages From Personal Repository..." - printf "\n" | sudo tee -a $buildFolder/archiso/packages.x86_64 - cat ../archiso/personal-packages.x86_64 | sudo tee -a $buildFolder/archiso/personal-packages.x86_64 - fi - - if [ $personalrepo == true ]; then - echo "Adding snigdhaos-personal repo /etc/pacman.conf" - printf "\n" | sudo tee -a $buildFolder/archiso/pacman.conf - printf "\n" | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - cat snigdhaos-personal | sudo tee -a $buildFolder/archiso/pacman.conf - cat snigdhaos-personal | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - fi - - if [ $chaoticaur == true ]; then - echo "Adding chaotc-AUR to etc/pacman.conf..." - printf "\n" | sudo tee -a $buildFolder/archiso/pacman.conf - printf "\n" | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - cat chaotic-aur | sudo tee -a $buildFolder/archiso/pacman.conf - cat chaotic-aur | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - fi - - if [ $blackarchaur == true ]; then - echo "Adding blackarch-AUR to etc/pacman.conf..." - printf "\n" | sudo tee -a $buildFolder/archiso/pacman.conf - printf "\n" | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - cat blackarch | sudo tee -a $buildFolder/archiso/pacman.conf - cat blackarch | sudo tee -a $buildFolder/archiso/airootfs/etc/pacman.conf - fi - - echo - echo "Adding content from personal folder..." - echo - cp -rf ../personal/ $buildFolder/archiso/airootfs/ - - if test -f $buildFolder/archiso/airootfs/personal/.gitkeep; then - echo - rm $buildFolder/archiso/airootfs/personal/.gitkeep - echo ".gitkeep removed!" - echo - fi - -echo -echo "*********************************************************************************" -tput setaf 3 -echo "STEP 5 : " -echo "- Changing All Refernces" -echo "- Adding time to /etc/dev-rel" -tput sgr0 -echo "*********************************************************************************" -echo - - # Let's set some variables - # I am retrieving information from profiledef.sh - - # profiledef.sh - oldname1='iso_name="snigdhaos-arctic"' - newname1='iso_name="snigdhaos-arctic"' - - oldname2='iso_name="snigdhaos-arctic"' - newname2='iso_name="snigdhaos-arctic"' - - oldname3='Snigdha OS' - newname3='Snigdha OS' - - # Hostname - oldname4='Snigdha OS' - newname4='Snigdha OS' - - echo "Changing All References..." - echo - sed -i 's/'$oldname1'/'$newname1'/g' $buildFolder/archiso/profiledef.sh - sed -i 's/'$oldname2'/'$newname2'/g' $buildFolder/archiso/profiledef.sh - sed -i 's/'$oldname3'/'$newname3'/g' $buildFolder/archiso/airootfs/etc/dev-rel - sed -i 's/'$oldname4'/'$newname4'/g' $buildFolder/archiso/airootfs/etc/hostname - - echo "Adding time to /etc/dev-rel" - buildDate=$(date -d now) - echo "ISO Build Date: "$buildDate - sudo sed -i "s/\(^ISO_BUILD=\).*/\1$buildDate/" $buildFolder/archiso/airootfs/etc/dev-rel - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 6 : " -echo "- Cleaning Cache" -tput sgr0 -echo "*********************************************************************************" -echo - - echo "Cleaning cache..." - yes | sudo pacman -Scc - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 7 : " -echo "- Building ISO. It will take time..." -tput sgr0 -echo "*********************************************************************************" -echo - - [ -d $buildFolder ] || mkdir $outputFolder - cd $buildFolder/archiso/ - sudo mkarchiso -v -w $buildFolder -o $outputFolder $buildFolder/archiso/ - -echo -echo "*********************************************************************************" -tput setaf 2 -echo "STEP 8 : " -echo "- Creating checksums" -echo "- Copying pkglist" -tput sgr0 -echo "*********************************************************************************" -echo - - cd $outputFolder - echo "Creating Checksums: "$isoLabel - echo "*********************************************************************************" - echo - echo "sha1sum..." - sha1sum $isoLabel | tee $isoLabel.sha1 - echo "--------------------------------" - echo "Sha256Sum..." - Sha256Sum $isoLabel | tee $isoLabel.sha256 - echo "--------------------------------" - echo "md5sum...." - md5sum $isoLabel | tee $isoLabel.md5 - echo - echo "Copying pkglist..." - cp $buildFolder/iso/arch/pkglist.x86_64.txt $outputFolder/$isoLabel".pkglist.txt" -echo -echo "*********************************************************************************" -tput setaf 2 -echo "FINAL STEP : " -echo "Check a few things" -tput sgr0 -echo "*********************************************************************************" -echo - echo "Deleting previous build folder..." - [ -d $buildFolder ] && sudo rm -rf $buildFolder -echo -echo "*********************************************************************************" -tput setaf 2 -echo "DONE!!!!!!" -echo "Check output folder: "$outputFolder -tput sgr0 -echo "*********************************************************************************" -echo \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/NetworkManager/dispatcher.d/09-timezone b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/NetworkManager/dispatcher.d/09-timezone new file mode 100644 index 0000000..a3eb6d7 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/NetworkManager/dispatcher.d/09-timezone @@ -0,0 +1,9 @@ +#!/bin/sh +# Update timezone every time NetworkManager connects to a network +# Using connectivity-change instead of up can prevent timezone changes when connecting to VPNs with clients such as OpenConnect +# Having the right time zone could fix some issues related to invalid signature errors: https://wiki.archlinux.org/title/Pacman/Package_signing#Invalid_signature_errors +case "$2" in + connectivity-change) + timedatectl set-timezone "$(curl --fail https://ipapi.co/timezone)" + ;; +esac diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf new file mode 100644 index 0000000..a51097b --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf @@ -0,0 +1,10 @@ +# Written by systemd-localed(8), read by systemd-localed and Xorg. It's +# probably wise not to edit this file manually. Use localectl(1) to +# instruct systemd-localed to update it. +Section "InputClass" + Identifier "system-keyboard" + MatchIsKeyboard "on" + Option "XkbLayout" "us" + Option "XkbModel" "pc105+inet" + Option "XkbOptions" "terminate:ctrl_alt_bksp" +EndSection diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/default/grub b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/default/grub new file mode 100644 index 0000000..a7dcbf2 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/default/grub @@ -0,0 +1,64 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="SnigdhaOS" +GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 audit=0 nvme_load=yes" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +#GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `videoinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +GRUB_THEME="/boot/grub/themes/snigdhaos-live/theme.txt" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. Change 0 into saved. +# Do not forget to 'update-grub' in a terminal to apply the new settings +#GRUB_SAVEDEFAULT="true" + +# Uncomment to disable submenus in boot menu +#GRUB_DISABLE_SUBMENU=y + +# Probing for other operating systems is disabled for security reasons. Read +# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this +# functionality install os-prober and uncomment to detect and include other +# operating systems. +GRUB_DISABLE_OS_PROBER=false diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/dev-rel b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/dev-rel new file mode 100644 index 0000000..f488283 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/dev-rel @@ -0,0 +1,3 @@ +ISO_RELEASE=v5.0 +ISO_CODENAME=SnigdhaOS-Arctic +ISO_BUILD= diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/environment b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/environment new file mode 100644 index 0000000..fa5da68 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/environment @@ -0,0 +1,4 @@ +QT_QPA_PLATFORMTHEME=qt5ct +QT_STYLE_OVERRIDE=kvantum +EDITOR=nano +BROWSER=brave diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gdm/custom.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gdm/custom.conf new file mode 100644 index 0000000..fe61172 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gdm/custom.conf @@ -0,0 +1,4 @@ +[daemon] +AutomaticLoginEnable=True +AutomaticLogin=whoami +#WaylandEnable=true diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/group b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/group new file mode 100644 index 0000000..b880bab --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/group @@ -0,0 +1,16 @@ +root:x:0:root +sys:x:3:bin,whoami +network:x:90:whoami +power:x:98:whoami +adm:x:999:whoami +wheel:x:998:whoami +uucp:x:987:whoami +optical:x:990:whoami +rfkill:x:983:whoami +video:x:986:whoami +storage:x:988:whoami +audio:x:995:whoami +users:x:985:whoami +nopasswdlogin:x:966:whoami +autologin:x:967:whoami +whoami:x:1000: \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/grub.d/40_custom b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/grub.d/40_custom new file mode 100755 index 0000000..9e9c4ce --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/grub.d/40_custom @@ -0,0 +1,18 @@ +#!/bin/sh +#thank you Garuda team +exec tail -n +3 $0 +# This file provides an easy way to add custom menu entries. Simply type the +# menu entries you want to add after this comment. Be careful not to change +# the 'exec tail' line above. + +menuentry "Restart" --class restart { + echo "System rebooting..." + reboot +} + +menuentry "Shutdown" --class shutdown { + echo "System shutting down..." + halt +} + + diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gshadow b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gshadow new file mode 100644 index 0000000..6df3b44 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/gshadow @@ -0,0 +1,16 @@ +root:::root +sys:!!::whoami +network:!!::whoami +power:!!::whoami +adm:!!::whoami +wheel:!!::whoami +uucp:!!::whoami +optical:!!::whoami +rfkill:!!::whoami +video:!!::whoami +storage:!!::whoami +audio:!!::whoami +users:!!::whoami +nopasswdlogin:!::whoami +autologin:!::whoami +whoami:!:: \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/hostname b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/hostname new file mode 100644 index 0000000..9cfbd72 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/hostname @@ -0,0 +1 @@ +SnigdhaOS diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/issue b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/issue new file mode 100644 index 0000000..e36697d --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/issue @@ -0,0 +1 @@ +Snigdha OS \r (\l) diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.conf new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.gen b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.gen new file mode 100755 index 0000000..574c096 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/locale.gen @@ -0,0 +1,513 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# +aa_DJ.UTF-8 UTF-8 +aa_ER UTF-8 +aa_ER@saaho UTF-8 +aa_ET UTF-8 +af_ZA.UTF-8 UTF-8 +agr_PE UTF-8 +ak_GH UTF-8 +am_ET UTF-8 +an_ES.UTF-8 UTF-8 +anp_IN UTF-8 +ar_AE.UTF-8 UTF-8 +ar_BH.UTF-8 UTF-8 +ar_DZ.UTF-8 UTF-8 +ar_EG.UTF-8 UTF-8 +ar_IN UTF-8 +ar_IQ.UTF-8 UTF-8 +ar_JO.UTF-8 UTF-8 +ar_KW.UTF-8 UTF-8 +ar_LB.UTF-8 UTF-8 +ar_LY.UTF-8 UTF-8 +ar_MA.UTF-8 UTF-8 +ar_OM.UTF-8 UTF-8 +ar_QA.UTF-8 UTF-8 +ar_SA.UTF-8 UTF-8 +ar_SD.UTF-8 UTF-8 +ar_SS UTF-8 +ar_SY.UTF-8 UTF-8 +ar_TN.UTF-8 UTF-8 +ar_YE.UTF-8 UTF-8 +as_IN UTF-8 +ast_ES.UTF-8 UTF-8 +ayc_PE UTF-8 +az_AZ UTF-8 +az_IR UTF-8 +be_BY.UTF-8 UTF-8 +be_BY@latin UTF-8 +bem_ZM UTF-8 +ber_DZ UTF-8 +ber_MA UTF-8 +bg_BG.UTF-8 UTF-8 +bhb_IN.UTF-8 UTF-8 +bho_IN UTF-8 +bho_NP UTF-8 +bi_VU UTF-8 +bn_BD UTF-8 +bn_IN UTF-8 +bo_CN UTF-8 +bo_IN UTF-8 +br_FR.UTF-8 UTF-8 +brx_IN UTF-8 +bs_BA.UTF-8 UTF-8 +byn_ER UTF-8 +ca_AD.UTF-8 UTF-8 +ca_ES.UTF-8 UTF-8 +ca_ES@valencia UTF-8 +ca_FR.UTF-8 UTF-8 +ca_IT.UTF-8 UTF-8 +ce_RU UTF-8 +chr_US UTF-8 +ckb_IQ UTF-8 +cmn_TW UTF-8 +crh_UA UTF-8 +cs_CZ.UTF-8 UTF-8 +csb_PL UTF-8 +cv_RU UTF-8 +cy_GB.UTF-8 UTF-8 +da_DK.UTF-8 UTF-8 +de_AT.UTF-8 UTF-8 +de_BE.UTF-8 UTF-8 +de_CH.UTF-8 UTF-8 +de_DE.UTF-8 UTF-8 +de_IT.UTF-8 UTF-8 +de_LI.UTF-8 UTF-8 +de_LU.UTF-8 UTF-8 +doi_IN UTF-8 +dsb_DE UTF-8 +dv_MV UTF-8 +dz_BT UTF-8 +el_CY.UTF-8 UTF-8 +el_GR.UTF-8 UTF-8 +en_AG UTF-8 +en_AU.UTF-8 UTF-8 +en_BW.UTF-8 UTF-8 +en_CA.UTF-8 UTF-8 +en_DK.UTF-8 UTF-8 +en_GB.UTF-8 UTF-8 +en_HK.UTF-8 UTF-8 +en_IE.UTF-8 UTF-8 +en_IL UTF-8 +en_IN UTF-8 +en_NG UTF-8 +en_NZ.UTF-8 UTF-8 +en_PH.UTF-8 UTF-8 +en_SC.UTF-8 UTF-8 +en_SG.UTF-8 UTF-8 +en_US.UTF-8 UTF-8 +en_ZA.UTF-8 UTF-8 +en_ZM UTF-8 +en_ZW.UTF-8 UTF-8 +eo UTF-8 +es_AR.UTF-8 UTF-8 +es_BO.UTF-8 UTF-8 +es_CL.UTF-8 UTF-8 +es_CO.UTF-8 UTF-8 +es_CR.UTF-8 UTF-8 +es_CU UTF-8 +es_DO.UTF-8 UTF-8 +es_EC.UTF-8 UTF-8 +es_ES.UTF-8 UTF-8 +es_GT.UTF-8 UTF-8 +es_HN.UTF-8 UTF-8 +es_MX.UTF-8 UTF-8 +es_NI.UTF-8 UTF-8 +es_PA.UTF-8 UTF-8 +es_PE.UTF-8 UTF-8 +es_PR.UTF-8 UTF-8 +es_PY.UTF-8 UTF-8 +es_SV.UTF-8 UTF-8 +es_US.UTF-8 UTF-8 +es_UY.UTF-8 UTF-8 +es_VE.UTF-8 UTF-8 +et_EE.UTF-8 UTF-8 +eu_ES.UTF-8 UTF-8 +fa_IR UTF-8 +ff_SN UTF-8 +fi_FI.UTF-8 UTF-8 +fil_PH UTF-8 +fo_FO.UTF-8 UTF-8 +fr_BE.UTF-8 UTF-8 +fr_CA.UTF-8 UTF-8 +fr_CH.UTF-8 UTF-8 +fr_FR.UTF-8 UTF-8 +fr_LU.UTF-8 UTF-8 +fur_IT UTF-8 +fy_DE UTF-8 +fy_NL UTF-8 +ga_IE.UTF-8 UTF-8 +gd_GB.UTF-8 UTF-8 +gez_ER UTF-8 +gez_ER@abegede UTF-8 +gez_ET UTF-8 +gez_ET@abegede UTF-8 +gl_ES.UTF-8 UTF-8 +gu_IN UTF-8 +gv_GB.UTF-8 UTF-8 +ha_NG UTF-8 +hak_TW UTF-8 +he_IL.UTF-8 UTF-8 +hi_IN UTF-8 +hif_FJ UTF-8 +hne_IN UTF-8 +hr_HR.UTF-8 UTF-8 +hsb_DE.UTF-8 UTF-8 +ht_HT UTF-8 +hu_HU.UTF-8 UTF-8 +hy_AM UTF-8 +ia_FR UTF-8 +id_ID.UTF-8 UTF-8 +ig_NG UTF-8 +ik_CA UTF-8 +is_IS.UTF-8 UTF-8 +it_CH.UTF-8 UTF-8 +it_IT.UTF-8 UTF-8 +iu_CA UTF-8 +ja_JP.UTF-8 UTF-8 +ka_GE.UTF-8 UTF-8 +kab_DZ UTF-8 +kk_KZ.UTF-8 UTF-8 +kl_GL.UTF-8 UTF-8 +km_KH UTF-8 +kn_IN UTF-8 +ko_KR.UTF-8 UTF-8 +kok_IN UTF-8 +ks_IN UTF-8 +ks_IN@devanagari UTF-8 +ku_TR.UTF-8 UTF-8 +kw_GB.UTF-8 UTF-8 +ky_KG UTF-8 +lb_LU UTF-8 +lg_UG.UTF-8 UTF-8 +li_BE UTF-8 +li_NL UTF-8 +lij_IT UTF-8 +ln_CD UTF-8 +lo_LA UTF-8 +lt_LT.UTF-8 UTF-8 +lv_LV.UTF-8 UTF-8 +lzh_TW UTF-8 +mag_IN UTF-8 +mai_IN UTF-8 +mai_NP UTF-8 +mfe_MU UTF-8 +mg_MG.UTF-8 UTF-8 +mhr_RU UTF-8 +mi_NZ.UTF-8 UTF-8 +miq_NI UTF-8 +mjw_IN UTF-8 +mk_MK.UTF-8 UTF-8 +ml_IN UTF-8 +mn_MN UTF-8 +mni_IN UTF-8 +mnw_MM UTF-8 +mr_IN UTF-8 +ms_MY.UTF-8 UTF-8 +mt_MT.UTF-8 UTF-8 +my_MM UTF-8 +nan_TW UTF-8 +nan_TW@latin UTF-8 +nb_NO.UTF-8 UTF-8 +nds_DE UTF-8 +nds_NL UTF-8 +ne_NP UTF-8 +nhn_MX UTF-8 +niu_NU UTF-8 +niu_NZ UTF-8 +nl_AW UTF-8 +nl_BE.UTF-8 UTF-8 +nl_NL.UTF-8 UTF-8 +nn_NO.UTF-8 UTF-8 +nr_ZA UTF-8 +nso_ZA UTF-8 +oc_FR.UTF-8 UTF-8 +om_ET UTF-8 +om_KE.UTF-8 UTF-8 +or_IN UTF-8 +os_RU UTF-8 +pa_IN UTF-8 +pa_PK UTF-8 +pap_AW UTF-8 +pap_CW UTF-8 +pl_PL.UTF-8 UTF-8 +ps_AF UTF-8 +pt_BR.UTF-8 UTF-8 +pt_PT.UTF-8 UTF-8 +quz_PE UTF-8 +raj_IN UTF-8 +rif_MA UTF-8 +ro_RO.UTF-8 UTF-8 +ru_RU.UTF-8 UTF-8 +ru_UA.UTF-8 UTF-8 +rw_RW UTF-8 +sa_IN UTF-8 +sah_RU UTF-8 +sat_IN UTF-8 +sc_IT UTF-8 +sd_IN UTF-8 +sd_IN@devanagari UTF-8 +se_NO UTF-8 +sgs_LT UTF-8 +shn_MM UTF-8 +shs_CA UTF-8 +si_LK UTF-8 +sid_ET UTF-8 +sk_SK.UTF-8 UTF-8 +sl_SI.UTF-8 UTF-8 +sm_WS UTF-8 +so_DJ.UTF-8 UTF-8 +so_ET UTF-8 +so_KE.UTF-8 UTF-8 +so_SO.UTF-8 UTF-8 +sq_AL.UTF-8 UTF-8 +sq_MK UTF-8 +sr_ME UTF-8 +sr_RS UTF-8 +sr_RS@latin UTF-8 +ss_ZA UTF-8 +st_ZA.UTF-8 UTF-8 +sv_FI.UTF-8 UTF-8 +sv_SE.UTF-8 UTF-8 +sw_KE UTF-8 +sw_TZ UTF-8 +syr UTF-8 +szl_PL UTF-8 +ta_IN UTF-8 +ta_LK UTF-8 +tcy_IN.UTF-8 UTF-8 +te_IN UTF-8 +tg_TJ.UTF-8 UTF-8 +th_TH.UTF-8 UTF-8 +the_NP UTF-8 +ti_ER UTF-8 +ti_ET UTF-8 +tig_ER UTF-8 +tk_TM UTF-8 +tl_PH.UTF-8 UTF-8 +tn_ZA UTF-8 +to_TO UTF-8 +tpi_PG UTF-8 +tr_CY.UTF-8 UTF-8 +tr_TR.UTF-8 UTF-8 +ts_ZA UTF-8 +tt_RU UTF-8 +tt_RU@iqtelif UTF-8 +ug_CN UTF-8 +uk_UA.UTF-8 UTF-8 +unm_US UTF-8 +ur_IN UTF-8 +ur_PK UTF-8 +uz_UZ.UTF-8 UTF-8 +uz_UZ@cyrillic UTF-8 +ve_ZA UTF-8 +vi_VN UTF-8 +wa_BE.UTF-8 UTF-8 +wae_CH UTF-8 +wal_ET UTF-8 +wo_SN UTF-8 +xh_ZA.UTF-8 UTF-8 +yi_US.UTF-8 UTF-8 +yo_NG UTF-8 +yue_HK UTF-8 +yuw_PG UTF-8 +zh_CN.UTF-8 UTF-8 +zh_HK.UTF-8 UTF-8 +zh_SG.UTF-8 UTF-8 +zh_TW.UTF-8 UTF-8 +zu_ZA.UTF-8 UTF-8 +#aa_DJ ISO-8859-1 +#af_ZA ISO-8859-1 +#an_ES ISO-8859-15 +#ar_AE ISO-8859-6 +#ar_BH ISO-8859-6 +#ar_DZ ISO-8859-6 +#ar_EG ISO-8859-6 +#ar_IQ ISO-8859-6 +#ar_JO ISO-8859-6 +#ar_KW ISO-8859-6 +#ar_LB ISO-8859-6 +#ar_LY ISO-8859-6 +#ar_MA ISO-8859-6 +#ar_OM ISO-8859-6 +#ar_QA ISO-8859-6 +#ar_SA ISO-8859-6 +#ar_SD ISO-8859-6 +#ar_SY ISO-8859-6 +#ar_TN ISO-8859-6 +#ar_YE ISO-8859-6 +#ast_ES ISO-8859-15 +#be_BY CP1251 +#bg_BG CP1251 +#br_FR ISO-8859-1 +#br_FR@euro ISO-8859-15 +#bs_BA ISO-8859-2 +#ca_AD ISO-8859-15 +#ca_ES ISO-8859-1 +#ca_ES@euro ISO-8859-15 +#ca_FR ISO-8859-15 +#ca_IT ISO-8859-15 +#cs_CZ ISO-8859-2 +#cy_GB ISO-8859-14 +#da_DK ISO-8859-1 +#de_AT ISO-8859-1 +#de_AT@euro ISO-8859-15 +#de_BE ISO-8859-1 +#de_BE@euro ISO-8859-15 +#de_CH ISO-8859-1 +#de_DE ISO-8859-1 +#de_DE@euro ISO-8859-15 +#de_IT ISO-8859-1 +#de_LU ISO-8859-1 +#de_LU@euro ISO-8859-15 +#el_CY ISO-8859-7 +#el_GR ISO-8859-7 +#el_GR@euro ISO-8859-7 +#en_AU ISO-8859-1 +#en_BW ISO-8859-1 +#en_CA ISO-8859-1 +#en_DK ISO-8859-1 +#en_GB ISO-8859-1 +#en_HK ISO-8859-1 +#en_IE ISO-8859-1 +#en_IE@euro ISO-8859-15 +#en_NZ ISO-8859-1 +#en_PH ISO-8859-1 +#en_SG ISO-8859-1 +#en_US ISO-8859-1 +#en_ZA ISO-8859-1 +#en_ZW ISO-8859-1 +#es_AR ISO-8859-1 +#es_BO ISO-8859-1 +#es_CL ISO-8859-1 +#es_CO ISO-8859-1 +#es_CR ISO-8859-1 +#es_DO ISO-8859-1 +#es_EC ISO-8859-1 +#es_ES ISO-8859-1 +#es_ES@euro ISO-8859-15 +#es_GT ISO-8859-1 +#es_HN ISO-8859-1 +#es_MX ISO-8859-1 +#es_NI ISO-8859-1 +#es_PA ISO-8859-1 +#es_PE ISO-8859-1 +#es_PR ISO-8859-1 +#es_PY ISO-8859-1 +#es_SV ISO-8859-1 +#es_US ISO-8859-1 +#es_UY ISO-8859-1 +#es_VE ISO-8859-1 +#et_EE ISO-8859-1 +#et_EE.ISO-8859-15 ISO-8859-15 +#eu_ES ISO-8859-1 +#eu_ES@euro ISO-8859-15 +#fi_FI ISO-8859-1 +#fi_FI@euro ISO-8859-15 +#fo_FO ISO-8859-1 +#fr_BE ISO-8859-1 +#fr_BE@euro ISO-8859-15 +#fr_CA ISO-8859-1 +#fr_CH ISO-8859-1 +#fr_FR ISO-8859-1 +#fr_FR@euro ISO-8859-15 +#fr_LU ISO-8859-1 +#fr_LU@euro ISO-8859-15 +#ga_IE ISO-8859-1 +#ga_IE@euro ISO-8859-15 +#gd_GB ISO-8859-15 +#gl_ES ISO-8859-1 +#gl_ES@euro ISO-8859-15 +#gv_GB ISO-8859-1 +#he_IL ISO-8859-8 +#hr_HR ISO-8859-2 +#hsb_DE ISO-8859-2 +#hu_HU ISO-8859-2 +#hy_AM.ARMSCII-8 ARMSCII-8 +#id_ID ISO-8859-1 +#is_IS ISO-8859-1 +#it_CH ISO-8859-1 +#it_IT ISO-8859-1 +#it_IT@euro ISO-8859-15 +#ja_JP.EUC-JP EUC-JP +#ka_GE GEORGIAN-PS +#kk_KZ PT154 +#kl_GL ISO-8859-1 +#ko_KR.EUC-KR EUC-KR +#ku_TR ISO-8859-9 +#kw_GB ISO-8859-1 +#lg_UG ISO-8859-10 +#lt_LT ISO-8859-13 +#lv_LV ISO-8859-13 +#mg_MG ISO-8859-15 +#mi_NZ ISO-8859-13 +#mk_MK ISO-8859-5 +#ms_MY ISO-8859-1 +#mt_MT ISO-8859-3 +#nb_NO ISO-8859-1 +#nl_BE ISO-8859-1 +#nl_BE@euro ISO-8859-15 +#nl_NL ISO-8859-1 +#nl_NL@euro ISO-8859-15 +#nn_NO ISO-8859-1 +#oc_FR ISO-8859-1 +#om_KE ISO-8859-1 +#pl_PL ISO-8859-2 +#pt_BR ISO-8859-1 +#pt_PT ISO-8859-1 +#pt_PT@euro ISO-8859-15 +#ro_RO ISO-8859-2 +#ru_RU ISO-8859-5 +#ru_RU.KOI8-R KOI8-R +#ru_UA KOI8-U +#sk_SK ISO-8859-2 +#sl_SI ISO-8859-2 +#so_DJ ISO-8859-1 +#so_KE ISO-8859-1 +#so_SO ISO-8859-1 +#sq_AL ISO-8859-1 +#st_ZA ISO-8859-1 +#sv_FI ISO-8859-1 +#sv_FI@euro ISO-8859-15 +#sv_SE ISO-8859-1 +#tg_TJ KOI8-T +#th_TH TIS-620 +#tl_PH ISO-8859-1 +#tr_CY ISO-8859-9 +#tr_TR ISO-8859-9 +#uk_UA KOI8-U +#uz_UZ ISO-8859-1 +#wa_BE ISO-8859-1 +#wa_BE@euro ISO-8859-15 +#xh_ZA ISO-8859-1 +#yi_US CP1255 +#zh_CN GB2312 +#zh_CN.GB18030 GB18030 +#zh_CN.GBK GBK +#zh_HK BIG5-HKSCS +#zh_SG GB2312 +#zh_SG.GBK GBK +#zh_TW BIG5 +#zh_TW.EUC-TW EUC-TW +#zu_ZA ISO-8859-1 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/localtime b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/localtime new file mode 120000 index 0000000..0e35b57 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/localtime @@ -0,0 +1 @@ +/usr/share/zoneinfo/UTC \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.conf new file mode 100644 index 0000000..9f5174a --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.conf @@ -0,0 +1,73 @@ +# vim:set ft=sh +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES=(usbhid xhci_hcd) +MODULES=() + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES=(setfont) + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES=() + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H ' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No RAID, lvm2, or encrypted root is needed. +# HOOKS=(base) +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS=(base udev autodetect modconf block filesystems fsck) +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS=(base udev modconf block filesystems fsck) +# +## This setup assembles a mdadm array with an encrypted root file system. +## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices. +# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck) +# +## This setup loads an lvm2 volume group. +# HOOKS=(base udev modconf block lvm2 filesystems fsck) +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr and fsck hooks. +HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) + +# COMPRESSION +# Use this to compress the initramfs image. By default, zstd compression +# is used. Use 'cat' to create an uncompressed image. +COMPRESSION="zstd" +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=() + +# MODULES_DECOMPRESS +# Decompress kernel modules during initramfs creation. +# Enable to speedup boot process, disable to save RAM +# during early userspace. Switch (yes/no). +#MODULES_DECOMPRESS="yes" diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/linux-zen.preset b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/linux-zen.preset new file mode 100644 index 0000000..224dc99 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/linux-zen.preset @@ -0,0 +1,12 @@ +# mkinitcpio preset file for the kernel + +#ALL_config='/etc/mkinitcpio.conf' +ALL_kver='/boot/vmlinuz-linux-zen' +ALL_microcode=(/boot/*-ucode.img) + +PRESETS=('default' 'fallback') + +default_image="/boot/initramfs-linux-zen.img" + +fallback_image="/boot/initramfs-linux-zen-fallback.img" +fallback_options="-S autodetect" diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/snigdhaos b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/snigdhaos new file mode 100644 index 0000000..5fc50b8 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/mkinitcpio.d/snigdhaos @@ -0,0 +1,12 @@ +# mkinitcpio preset file for the kernel + +#ALL_config='/etc/mkinitcpio.conf' +ALL_kver='/boot/vmlinuz-linux' +ALL_microcode=(/boot/*-ucode.img) + +PRESETS=('default' 'fallback') + +default_image="/boot/initramfs-linux.img" + +fallback_image="/boot/initramfs-linux-fallback.img" +fallback_options="-S autodetect" diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf new file mode 100644 index 0000000..0eae70c --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/modprobe.d/broadcom-wl.conf @@ -0,0 +1,7 @@ +# The broadcom-wl package requires some modules to be disabled in order to use +# wl. Since the ISO image needs to cover many hardware cases, this file +# overrides the default blacklist in /usr/lib/modprobe.d/ +# +# If you need to use wl, you may need to delete this file, then `rmmod` any +# already-loaded modules that are now blacklisted before proceeding to modprobe +# wl itself. diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/nsswitch.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/nsswitch.conf new file mode 100644 index 0000000..88834d3 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/nsswitch.conf @@ -0,0 +1,21 @@ +# Name Service Switch configuration file. +# See nsswitch.conf(5) for details. +# we changed nsswitch.conf to have access to nas servers +# This config file comes from the ArcoLinux github + +passwd: files systemd +group: files [SUCCESS=merge] systemd +shadow: files systemd +gshadow: files systemd + +publickey: files + +hosts: mymachines resolve [!UNAVAIL=return] files dns mdns wins myhostname +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +netgroup: files diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.conf new file mode 100644 index 0000000..43cc27c --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.conf @@ -0,0 +1,103 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +Color +#NoProgressBar +CheckSpace +VerbosePkgLists +ParallelDownloads = 8 +ILoveCandy +DisableDownloadTimeout + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +[snigdhaos-core] +SigLevel = Never +Server = https://snigdha-os.github.io/$repo/$arch + +#[core-testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +#[extra-testing] +#Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +[multilib] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.d/mirrorlist b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.d/mirrorlist new file mode 100644 index 0000000..bc517bf --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/pacman.d/mirrorlist @@ -0,0 +1,642 @@ +## +## Arch Linux repository mirrorlist +## Filtered by mirror score from mirror status page +## Generated on 2024-02-25 +## + +## Netherlands +Server = https://archlinux.mirror.liteserver.nl/$repo/os/$arch +## Japan +Server = https://mirrors.cat.net/archlinux/$repo/os/$arch +## Chile +Server = https://elmirror.cl/archlinux/$repo/os/$arch +## Ukraine +Server = https://repo.hyron.dev/archlinux/$repo/os/$arch +## France +Server = https://mirrors.celianvdb.fr/archlinux/$repo/os/$arch +## Cambodia +Server = https://mirror.sabay.com.kh/archlinux/$repo/os/$arch +## Hungary +Server = https://ftp.ek-cer.hu/pub/mirrors/ftp.archlinux.org/$repo/os/$arch +## Canada +Server = https://mirror.quantum5.ca/archlinux/$repo/os/$arch +## China +Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch +## Switzerland +Server = https://mirror.worldhotspot.org/archlinux/$repo/os/$arch +## United States +Server = https://coresite.mm.fcix.net/archlinux/$repo/os/$arch +## Switzerland +Server = https://pkg.adfinis.com/archlinux/$repo/os/$arch +## China +Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch +## Moldova +Server = https://mirror.ihost.md/archlinux/$repo/os/$arch +## Italy +Server = https://archlinux.mirror.server24.net/$repo/os/$arch +## Slovakia +Server = https://mirror.lnx.sk/pub/linux/archlinux/$repo/os/$arch +## Russia +Server = https://mirror.kpfu.ru/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.dogado.de/archlinux/$repo/os/$arch +## Hong Kong +Server = https://mirror-hk.koddos.net/archlinux/$repo/os/$arch +## France +Server = https://mirrors.jtremesay.org/archlinux/$repo/os/$arch +## Germany +Server = https://archlinux.homeinfo.de/$repo/os/$arch +## Sweden +Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch +## United States +Server = https://mirror.tmmworkshop.com/archlinux/$repo/os/$arch +## United States +Server = https://nocix.mm.fcix.net/archlinux/$repo/os/$arch +## Estonia +Server = https://mirror.cspacehostings.com/archlinux/$repo/os/$arch +## Germany +Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch +## Iceland +Server = https://is.mirror.flokinet.net/archlinux/$repo/os/$arch +## France +Server = https://mirror.thekinrar.fr/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.wtnet.de/archlinux/$repo/os/$arch +## Hong Kong +Server = https://arch-mirror.wtako.net/$repo/os/$arch +## Romania +Server = https://mirrors.chroot.ro/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.serverion.com/archlinux/$repo/os/$arch +## India +Server = https://mirror.sahil.world/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.rit.edu/archlinux/$repo/os/$arch +## Bulgaria +Server = https://mirrors.uni-plovdiv.net/archlinux/$repo/os/$arch +## Czechia +Server = https://mirrors.nic.cz/archlinux/$repo/os/$arch +## United States +Server = https://ridgewireless.mm.fcix.net/archlinux/$repo/os/$arch +## New Zealand +Server = https://archlinux.ourhome.kiwi/$repo/os/$arch +## Netherlands +Server = https://archlinux.mirror.wearetriple.com/$repo/os/$arch +## Iceland +Server = https://mirrors.opensource.is/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.pagenotfound.de/archlinux/$repo/os/$arch +## Spain +Server = https://mirror.librelabucm.org/archlinux/$repo/os/$arch +## Israel +Server = https://archlinux.interhost.co.il/$repo/os/$arch +## Germany +Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch +## China +Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch +## China +Server = https://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch +## United States +Server = https://mirror.wdc1.us.leaseweb.net/archlinux/$repo/os/$arch +## Ukraine +Server = https://mirrors.nix.org.ua/linux/archlinux/$repo/os/$arch +## Germany +Server = https://mirrors.xtom.de/archlinux/$repo/os/$arch +## Canada +Server = https://ca.mirrors.cicku.me/archlinux/$repo/os/$arch +## Germany +Server = https://os.codefionn.eu/archlinux/$repo/os/$arch +## Germany +Server = https://arch.jensgutermuth.de/$repo/os/$arch +## United Kingdom +Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch +## Estonia +Server = https://mirrors.xtom.ee/archlinux/$repo/os/$arch +## Kenya +Server = https://archlinux.mirror.liquidtelecom.com/$repo/os/$arch +## United States +Server = https://mirrors.lug.mtu.edu/archlinux/$repo/os/$arch +## Israel +Server = https://archlinux.mivzakim.net/$repo/os/$arch +## Slovenia +Server = https://mirror.tux.si/arch/$repo/os/$arch +## Mexico +Server = https://arch.jsc.mx/$repo/os/$arch +## Germany +Server = https://mirrors.janbruckner.de/archlinux/$repo/os/$arch +## Singapore +Server = https://mirror.0x.sg/archlinux/$repo/os/$arch +## United States +Server = https://repo.ialab.dsu.edu/archlinux/$repo/os/$arch +## United States +Server = https://volico.mm.fcix.net/archlinux/$repo/os/$arch +## China +Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch +## Portugal +Server = https://mirror.leitecastro.com/archlinux/$repo/os/$arch +## Mauritius +Server = https://archlinux-mirror.cloud.mu/$repo/os/$arch +## Czechia +Server = https://mirror.dkm.cz/archlinux/$repo/os/$arch +## United Kingdom +Server = https://london.mirror.pkgbuild.com/$repo/os/$arch +## United States +Server = https://ziply.mm.fcix.net/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch +## Poland +Server = https://ftp.icm.edu.pl/pub/Linux/dist/archlinux/$repo/os/$arch +## Canada +Server = https://arch.mirror.winslow.cloud/$repo/os/$arch +## United States +Server = https://opencolo.mm.fcix.net/archlinux/$repo/os/$arch +## Singapore +Server = https://mirror.sg.gs/archlinux/$repo/os/$arch +## United States +Server = https://mirror.umd.edu/archlinux/$repo/os/$arch +## Portugal +Server = https://mirrors.up.pt/pub/archlinux/$repo/os/$arch +## Czechia +Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch +## China +Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch +## China +Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.informatik.tu-freiberg.de/arch/$repo/os/$arch +## South Korea +Server = https://mirror.siwoo.org/archlinux/$repo/os/$arch +## New Zealand +Server = https://mirror.2degrees.nz/archlinux/$repo/os/$arch +## United States +Server = https://mirror.zackmyers.io/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.nekos.host/$repo/os/$arch +## United States +Server = https://archmirror1.octyl.net/$repo/os/$arch +## India +Server = https://in.mirrors.cicku.me/archlinux/$repo/os/$arch +## Worldwide +Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch +## Hong Kong +Server = https://hkg.mirror.rackspace.com/archlinux/$repo/os/$arch +## Taiwan +Server = https://mirror.archlinux.tw/ArchLinux/$repo/os/$arch +## Taiwan +Server = https://archlinux.cs.nycu.edu.tw/$repo/os/$arch +## Bulgaria +Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch +## Hong Kong +Server = https://mirror.xtom.com.hk/archlinux/$repo/os/$arch +## Slovenia +Server = https://archimonde.ts.si/archlinux/$repo/os/$arch +## United States +Server = https://mirror.lty.me/archlinux/$repo/os/$arch +## United Kingdom +Server = https://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/$arch +## South Korea +Server = https://kr.mirrors.cicku.me/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.cmt.de/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.mit.edu/archlinux/$repo/os/$arch +## China +Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch +## Russia +Server = https://mirror.yandex.ru/archlinux/$repo/os/$arch +## United Kingdom +Server = https://lon.mirror.rackspace.com/archlinux/$repo/os/$arch +## Colombia +Server = https://mirrors.atlas.net.co/archlinux/$repo/os/$arch +## Romania +Server = https://mirrors.nxthost.com/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.ams1.nl.leaseweb.net/archlinux/$repo/os/$arch +## United States +Server = https://mirror.hackingand.coffee/arch/$repo/os/$arch +## France +Server = https://mirror.wormhole.eu/archlinux/$repo/os/$arch +## Taiwan +Server = https://free.nchc.org.tw/arch/$repo/os/$arch +## France +Server = https://mirror.ibakerserver.pt/Arch/$repo/os/$arch +## Germany +Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch +## United States +Server = https://mnvoip.mm.fcix.net/archlinux/$repo/os/$arch +## Japan +Server = https://mirror.nishi.network/archlinux/$repo/os/$arch +## Romania +Server = https://mirrors.hostico.ro/archlinux/$repo/os/$arch +## South Korea +Server = https://ftp.lanet.kr/pub/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.hugo-betrugo.de/archlinux/$repo/os/$arch +## France +Server = https://mirror.cyberbits.eu/archlinux/$repo/os/$arch +## Finland +Server = https://mirror.5i.fi/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.i3d.net/pub/archlinux/$repo/os/$arch +## New Caledonia +Server = https://archlinux.nautile.nc/archlinux/$repo/os/$arch +## Brazil +Server = https://mirror.ufscar.br/archlinux/$repo/os/$arch +## Colombia +Server = https://edgeuno-bog2.mm.fcix.net/archlinux/$repo/os/$arch +## India +Server = https://mirror.4v1.in/archlinux/$repo/os/$arch +## Finland +Server = https://mirror.wuki.li/archlinux/$repo/os/$arch +## Germany +Server = https://pkg.fef.moe/archlinux/$repo/os/$arch +## United States +Server = https://codingflyboy.mm.fcix.net/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.selfnet.de/archlinux/$repo/os/$arch +## Monaco +Server = https://mirrors.qontinuum.space/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.ocf.berkeley.edu/archlinux/$repo/os/$arch +## Switzerland +Server = https://mirror.ungleich.ch/mirror/packages/archlinux/$repo/os/$arch +## France +Server = https://mirror.sysa.tech/archlinux/$repo/os/$arch +## United States +Server = https://plug-mirror.rcac.purdue.edu/archlinux/$repo/os/$arch +## Thailand +Server = https://mirror.cyberbits.asia/archlinux/$repo/os/$arch +## China +Server = https://mirror.nyist.edu.cn/archlinux/$repo/os/$arch +## Ukraine +Server = https://mirror.mirohost.net/archlinux/$repo/os/$arch +## United States +Server = https://america.mirror.pkgbuild.com/$repo/os/$arch +## South Korea +Server = https://mirror.funami.tech/arch/$repo/os/$arch +## United States +Server = https://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch +## Czechia +Server = https://gluttony.sin.cvut.cz/arch/$repo/os/$arch +## Netherlands +Server = https://mirrors.xtom.nl/archlinux/$repo/os/$arch +## China +Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch +## South Korea +Server = https://mirror.yuki.net.uk/archlinux/$repo/os/$arch +## United States +Server = https://mirror.clarkson.edu/archlinux/$repo/os/$arch +## Poland +Server = https://mirror.juniorjpdj.pl/archlinux/$repo/os/$arch +## Canada +Server = https://mirror.xenyth.net/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.pseudoform.org/$repo/os/$arch +## United States +Server = https://irltoolkit.mm.fcix.net/archlinux/$repo/os/$arch +## Russia +Server = https://mirror3.sl-chat.ru/archlinux/$repo/os/$arch +## France +Server = https://mirrors.eric.ovh/arch/$repo/os/$arch +## Georgia +Server = https://archlinux.grena.ge/$repo/os/$arch +## Iran +Server = https://mirror.arvancloud.ir/archlinux/$repo/os/$arch +## United Kingdom +Server = https://mirror.netweaver.uk/archlinux/$repo/os/$arch +## Germany +Server = https://ftp.fau.de/archlinux/$repo/os/$arch +## Poland +Server = https://ftp.psnc.pl/linux/archlinux/$repo/os/$arch +## United Kingdom +Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch +## United States +Server = https://mirror.fcix.net/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.lyrahosting.com/archlinux/$repo/os/$arch +## Russia +Server = https://repository.su/archlinux/$repo/os/$arch +## Czechia +Server = https://mirror.it4i.cz/arch/$repo/os/$arch +## Taiwan +Server = https://ncuesaweb.ncue.edu.tw/linux/archlinux/$repo/os/$arch +## Germany +Server = https://archlinux.richard-neumann.de/$repo/os/$arch +## Canada +Server = https://mirror.scd31.com/arch/$repo/os/$arch +## China +Server = https://mirrors.jlu.edu.cn/archlinux/$repo/os/$arch +## United States +Server = https://archlinux.macarne.com/$repo/os/$arch +## United States +Server = https://arch.mirror.constant.com/$repo/os/$arch +## Germany +Server = https://mirror.23m.com/archlinux/$repo/os/$arch +## Germany +Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch +## Germany +Server = https://arch.unixpeople.org/$repo/os/$arch +## France +Server = https://mirror.oldsql.cc/archlinux/$repo/os/$arch +## United States +Server = https://iad.mirrors.misaka.one/archlinux/$repo/os/$arch +## Denmark +Server = https://mirror.one.com/archlinux/$repo/os/$arch +## Germany +Server = https://ftp.wrz.de/pub/archlinux/$repo/os/$arch +## Kazakhstan +Server = https://mirror.ps.kz/archlinux/$repo/os/$arch +## Spain +Server = https://nox.panibrez.com/archlinux/$repo/os/$arch +## Russia +Server = https://mirror2.sl-chat.ru/archlinux/$repo/os/$arch +## Austria +Server = https://at.arch.mirror.kescher.at/$repo/os/$arch +## United States +Server = https://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch +## Canada +Server = https://mirror.cpsc.ucalgary.ca/mirror/archlinux.org/$repo/os/$arch +## Australia +Server = https://gsl-syd.mm.fcix.net/archlinux/$repo/os/$arch +## Netherlands +Server = https://arch.mirrors.lavatech.top/$repo/os/$arch +## Germany +Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch +## Estonia +Server = https://repo.br.ee/arch/$repo/os/$arch +## United States +Server = https://mirrors.vectair.net/archlinux/$repo/os/$arch +## Norway +Server = https://mirror.neuf.no/archlinux/$repo/os/$arch +## United States +Server = https://mirror.theash.xyz/arch/$repo/os/$arch +## Germany +Server = https://arch.phinau.de/$repo/os/$arch +## Uzbekistan +Server = https://mirror.dc.uz/arch/$repo/os/$arch +## United Kingdom +Server = https://mirror.vinehost.net/archlinux/$repo/os/$arch +## Portugal +Server = https://ftp.rnl.tecnico.ulisboa.pt/pub/archlinux/$repo/os/$arch +## Sweden +Server = https://ftp.myrveln.se/pub/linux/archlinux/$repo/os/$arch +## United States +Server = https://zxcvfdsa.com/arch/$repo/os/$arch +## Austria +Server = https://mirror.alwyzon.net/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.f4st.host/archlinux/$repo/os/$arch +## Germany +Server = https://arch.kurdy.org/$repo/os/$arch +## France +Server = https://mirrors.gandi.net/archlinux/$repo/os/$arch +## Hungary +Server = https://quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.iusearchbtw.nl/$repo/os/$arch +## Russia +Server = https://mirror.nw-sys.ru/archlinux/$repo/os/$arch +## Hong Kong +Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch +## Germany +Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch +## Hungary +Server = https://super.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +## Vietnam +Server = https://mirrors.nguyenhoang.cloud/archlinux/$repo/os/$arch +## Denmark +Server = https://mirrors.dotsrc.org/archlinux/$repo/os/$arch +## Worldwide +Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch +## Germany +Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch +## Norway +Server = https://mirror.archlinux.no/$repo/os/$arch +## South Africa +Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch +## Singapore +Server = https://mirror.guillaumea.fr/archlinux/$repo/os/$arch +## Canada +Server = https://muug.ca/mirror/archlinux/$repo/os/$arch +## United States +Server = https://m.lqy.me/arch/$repo/os/$arch +## Poland +Server = https://arch.sakamoto.pl/$repo/os/$arch +## Portugal +Server = https://mirror.barata.pt/archlinux/$repo/os/$arch +## Singapore +Server = https://download.nus.edu.sg/mirror/archlinux/$repo/os/$arch +## United States +Server = https://southfront.mm.fcix.net/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.moson.org/arch/$repo/os/$arch +## Russia +Server = https://mirror.kamtv.ru/archlinux/$repo/os/$arch +## United States +Server = https://arch.hu.fo/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.koddos.net/archlinux/$repo/os/$arch +## United States +Server = https://forksystems.mm.fcix.net/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch +## Switzerland +Server = https://theswissbay.ch/archlinux/$repo/os/$arch +## Romania +Server = https://ro.mirror.flokinet.net/archlinux/$repo/os/$arch +## United Kingdom +Server = https://repo.slithery.uk/$repo/os/$arch +## Germany +Server = https://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch +## France +Server = https://arch.yourlabs.org/$repo/os/$arch +## Germany +Server = https://mirror.clientvps.com/archlinux/$repo/os/$arch +## South Korea +Server = https://seoul.mirror.pkgbuild.com/$repo/os/$arch +## Romania +Server = https://mirrors.pidginhost.com/arch/$repo/os/$arch +## Czechia +Server = https://ftp.sh.cvut.cz/arch/$repo/os/$arch +## Switzerland +Server = https://mirror.metanet.ch/archlinux/$repo/os/$arch +## Indonesia +Server = https://mirror.ditatompel.com/archlinux/$repo/os/$arch +## Lithuania +Server = https://mirrors.atviras.lt/archlinux/$repo/os/$arch +## Iran +Server = https://mirror.bardia.tech/archlinux/$repo/os/$arch +## Poland +Server = https://arch.midov.pl/arch/$repo/os/$arch +## Canada +Server = https://mirror.0xem.ma/arch/$repo/os/$arch +## Australia +Server = https://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch +## Germany +Server = https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.bethselamin.de/$repo/os/$arch +## Switzerland +Server = https://mirror.puzzle.ch/archlinux/$repo/os/$arch +## United States +Server = https://ord.mirror.rackspace.com/archlinux/$repo/os/$arch +## Australia +Server = https://syd.mirror.rackspace.com/archlinux/$repo/os/$arch +## Germany +Server = https://mirror.sunred.org/archlinux/$repo/os/$arch +## Hungary +Server = https://nova.quantum-mirror.hu/mirrors/pub/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.bouwhuis.network/archlinux/$repo/os/$arch +## Sweden +Server = https://ftp.lysator.liu.se/pub/archlinux/$repo/os/$arch +## United States +Server = https://dfw.mirror.rackspace.com/archlinux/$repo/os/$arch +## United States +Server = https://us.mirrors.cicku.me/archlinux/$repo/os/$arch +## Canada +Server = https://dl.ptse.host/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.cj2.nl/archlinux/$repo/os/$arch +## Finland +Server = https://mirror1.sl-chat.ru/archlinux/$repo/os/$arch +## South Africa +Server = https://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch +## Portugal +Server = https://glua.ua.pt/pub/archlinux/$repo/os/$arch +## Chile +Server = https://mirror.hnd.cl/archlinux/$repo/os/$arch +## Ukraine +Server = https://fastmirror.pp.ua/archlinux/$repo/os/$arch +## Australia +Server = https://sydney.mirror.pkgbuild.com/$repo/os/$arch +## Germany +Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.sonic.net/archlinux/$repo/os/$arch +## China +Server = https://mirrors.qlu.edu.cn/archlinux/$repo/os/$arch +## Netherlands +Server = https://nl.mirror.flokinet.net/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.iu13.net/archlinux/$repo/os/$arch +## India +Server = https://mirrors.nxtgen.com/archlinux-mirror/$repo/os/$arch +## Romania +Server = https://mirror.efect.ro/archlinux/$repo/os/$arch +## Greece +Server = https://repo.greeklug.gr/data/pub/linux/archlinux/$repo/os/$arch +## Australia +Server = https://au.mirrors.cicku.me/archlinux/$repo/os/$arch +## United States +Server = https://nnenix.mm.fcix.net/archlinux/$repo/os/$arch +## Finland +Server = https://arch.yhtez.xyz/$repo/os/$arch +## Germany +Server = https://ftp.agdsn.de/pub/mirrors/archlinux/$repo/os/$arch +## Indonesia +Server = https://kacabenggala.uny.ac.id/archlinux/$repo/os/$arch +## United States +Server = https://mirror.adectra.com/archlinux/$repo/os/$arch +## France +Server = https://mirror.its-tps.fr/archlinux/$repo/os/$arch +## Germany +Server = https://arch.mirror.zachlge.org/$repo/os/$arch +## Moldova +Server = https://mirror.mangohost.net/archlinux/$repo/os/$arch +## New Zealand +Server = https://mirror.fsmg.org.nz/archlinux/$repo/os/$arch +## Chile +Server = https://mirror.anquan.cl/archlinux/$repo/os/$arch +## Japan +Server = https://jp.mirrors.cicku.me/archlinux/$repo/os/$arch +## North Macedonia +Server = https://mirror.t-home.mk/archlinux/$repo/os/$arch +## United States +Server = https://mirror.arizona.edu/archlinux/$repo/os/$arch +## Finland +Server = https://mirror.srv.fail/archlinux/$repo/os/$arch +## Sweden +Server = https://ftp.acc.umu.se/mirror/archlinux/$repo/os/$arch +## Russia +Server = https://mirror.truenetwork.ru/archlinux/$repo/os/$arch +## United States +Server = https://ohioix.mm.fcix.net/archlinux/$repo/os/$arch +## Canada +Server = https://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch +## United States +Server = https://mirror.mia11.us.leaseweb.net/archlinux/$repo/os/$arch +## Finland +Server = https://arch.kyberorg.fi/$repo/os/$arch +## Sweden +Server = https://mirror.bahnhof.net/pub/archlinux/$repo/os/$arch +## Thailand +Server = https://mirror.kku.ac.th/archlinux/$repo/os/$arch +## Canada +Server = https://mirror2.evolution-host.com/archlinux/$repo/os/$arch +## Norway +Server = https://lysakermoen.com/Software/Linux/Mirrors/ArchLinux/$repo/os/$arch +## Japan +Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch +## France +Server = https://archlinux.mailtunnel.eu/$repo/os/$arch +## United States +Server = https://uvermont.mm.fcix.net/archlinux/$repo/os/$arch +## Netherlands +Server = https://mirror.mijn.host/archlinux/$repo/os/$arch +## China +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.bjg.at/arch/$repo/os/$arch +## Indonesia +Server = https://mirror.citrahost.com/archlinux/$repo/os/$arch +## Switzerland +Server = https://mirror.init7.net/archlinux/$repo/os/$arch +## Singapore +Server = https://mirror.jingk.ai/archlinux/$repo/os/$arch +## Italy +Server = https://archmirror.it/repos/$repo/os/$arch +## Moldova +Server = https://md.mirrors.hacktegic.com/archlinux/$repo/os/$arch +## United States +Server = https://mirror.dal10.us.leaseweb.net/archlinux/$repo/os/$arch +## Singapore +Server = https://sg.mirrors.cicku.me/archlinux/$repo/os/$arch +## Germany +Server = https://de.arch.mirror.kescher.at/$repo/os/$arch +## United Kingdom +Server = https://mirrors.ukfast.co.uk/sites/archlinux.org/$repo/os/$arch +## United Kingdom +Server = https://mirrors.melbourne.co.uk/archlinux/$repo/os/$arch +## Australia +Server = https://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch +## Romania +Server = https://mirrors.hosterion.ro/archlinux/$repo/os/$arch +## China +Server = https://mirrors.shanghaitech.edu.cn/archlinux/$repo/os/$arch +## France +Server = https://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch +## Germany +Server = https://archlinux.thaller.ws/$repo/os/$arch +## United States +Server = https://iad.mirror.rackspace.com/archlinux/$repo/os/$arch +## Singapore +Server = https://mirror.aktkn.sg/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.bloomu.edu/archlinux/$repo/os/$arch +## United States +Server = https://mirrors.xtom.com/archlinux/$repo/os/$arch +## France +Server = https://mirror.theo546.fr/archlinux/$repo/os/$arch +## India +Server = https://in-mirror.garudalinux.org/archlinux/$repo/os/$arch +## United States +Server = https://ftp.osuosl.org/pub/archlinux/$repo/os/$arch +## China +Server = https://mirrors.jxust.edu.cn/archlinux/$repo/os/$arch +## Latvia +Server = https://archlinux.koyanet.lv/archlinux/$repo/os/$arch +## Germany +Server = https://de.mirrors.cicku.me/archlinux/$repo/os/$arch +## Japan +Server = https://repo.jing.rocks/archlinux/$repo/os/$arch diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/passwd b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/passwd new file mode 100644 index 0000000..91f4339 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/passwd @@ -0,0 +1,2 @@ +root:x:0:0:root:/root:/bin/bash +whoami:x:1000:1000::/home/whoami:/bin/bash diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules new file mode 100644 index 0000000..afc8670 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules @@ -0,0 +1,9 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); + diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/shadow b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/shadow new file mode 100644 index 0000000..0fceb62 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/shadow @@ -0,0 +1,2 @@ +root::14871:::::: +whoami::14871:::::: diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/snigdhaos-release b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/snigdhaos-release new file mode 100644 index 0000000..067633f --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/snigdhaos-release @@ -0,0 +1,4 @@ +LSB_VERSION=1.4 +DISTRIB_ID=SnigdhaOS +DISTRIB_RELEASE=rolling +DISTRIB_DESCRIPTION="SnigdhaOS" diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf new file mode 100644 index 0000000..6ea7b41 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/ssh/sshd_config.d/10-archiso.conf @@ -0,0 +1,3 @@ +# Allow root login using password authentication +PasswordAuthentication yes +PermitRootLogin yes diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/sudoers.d/g_wheel b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..bbad988 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL:ALL) NOPASSWD: ALL diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf new file mode 100755 index 0000000..883badd --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf @@ -0,0 +1,47 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) +# any later version. +# +# Entries in this file show the compile time defaults. Local configuration +# should be created by either modifying this file, or by creating "drop-ins" in +# the journald.conf.d/ subdirectory. The latter is generally recommended. +# Defaults can be restored by simply deleting this file and all drop-ins. +# +# Use 'systemd-analyze cat-config systemd/journald.conf' to display the full config. +# +# See journald.conf(5) for details. + +[Journal] +Storage=volatile +#Compress=yes +#Seal=yes +#SplitMode=uid +#SyncIntervalSec=5m +#RateLimitIntervalSec=30s +#RateLimitBurst=10000 +#SystemMaxUse= +#SystemKeepFree= +#SystemMaxFileSize= +#SystemMaxFiles=100 +#RuntimeMaxUse= +#RuntimeKeepFree= +#RuntimeMaxFileSize= +#RuntimeMaxFiles=100 +#MaxRetentionSec= +#MaxFileSec=1month +#ForwardToSyslog=no +#ForwardToKMsg=no +#ForwardToConsole=no +#ForwardToWall=yes +#TTYPath=/dev/console +#MaxLevelStore=debug +#MaxLevelSyslog=debug +#MaxLevelKMsg=notice +#MaxLevelConsole=info +#MaxLevelWall=emerg +#LineMax=48K +#ReadKMsg=yes +#Audit=yes diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf new file mode 100755 index 0000000..b69850d --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf @@ -0,0 +1,2 @@ +[Journal] +Storage=volatile diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf new file mode 100755 index 0000000..94ce46b --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf @@ -0,0 +1,45 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) +# any later version. +# +# Entries in this file show the compile time defaults. Local configuration +# should be created by either modifying this file, or by creating "drop-ins" in +# the logind.conf.d/ subdirectory. The latter is generally recommended. +# Defaults can be restored by simply deleting this file and all drop-ins. +# +# Use 'systemd-analyze cat-config systemd/logind.conf' to display the full config. +# +# See logind.conf(5) for details. + +[Login] +#NAutoVTs=6 +#ReserveVT=6 +#KillUserProcesses=no +#KillOnlyUsers= +#KillExcludeUsers=root +#InhibitDelayMaxSec=5 +#UserStopDelaySec=10 +#HandlePowerKey=poweroff +HandleSuspendKey=ignore +HandleHibernateKey=ignore +HandleLidSwitch=ignore +#HandleLidSwitchExternalPower=suspend +#HandleLidSwitchDocked=ignore +#HandleRebootKey=reboot +#HandleRebootKeyLongPress=poweroff +#PowerKeyIgnoreInhibited=no +#SuspendKeyIgnoreInhibited=no +#HibernateKeyIgnoreInhibited=no +#LidSwitchIgnoreInhibited=yes +#RebootKeyIgnoreInhibited=no +#HoldoffTimeoutSec=30s +#IdleAction=ignore +#IdleActionSec=30min +#RuntimeDirectorySize=10% +#RuntimeDirectoryInodes=400k +#RemoveIPC=yes +#InhibitorsMax=8192 +#SessionsMax=8192 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf new file mode 100755 index 0000000..f3ecb39 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf @@ -0,0 +1,4 @@ +[Login] +HandleSuspendKey=ignore +HandleHibernateKey=ignore +HandleLidSwitch=ignore diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-ethernet.network b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-ethernet.network new file mode 100755 index 0000000..9ada778 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-ethernet.network @@ -0,0 +1,21 @@ +[Match] +# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*). +# See https://bugs.archlinux.org/task/70892 +# Instead match by globbing the network interface name. +Name=en* +Name=eth* + +[Network] +DHCP=yes +IPv6PrivacyExtensions=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=100 + +[IPv6AcceptRA] +RouteMetric=100 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wlan.network b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wlan.network new file mode 100755 index 0000000..601d5b8 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wlan.network @@ -0,0 +1,17 @@ +[Match] +Name=wl* + +[Network] +DHCP=yes +IPv6PrivacyExtensions=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=600 + +[IPv6AcceptRA] +RouteMetric=600 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wwan.network b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wwan.network new file mode 100755 index 0000000..9104c24 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/network/20-wwan.network @@ -0,0 +1,17 @@ +[Match] +Name=ww* + +[Network] +DHCP=yes +IPv6PrivacyExtensions=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=700 + +[IPv6AcceptRA] +RouteMetric=700 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service new file mode 120000 index 0000000..d256bfe --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/bluetooth.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/choose-mirror.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/choose-mirror.service new file mode 100755 index 0000000..b6a3562 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.bluez.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.bluez.service new file mode 120000 index 0000000..d256bfe --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.bluez.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/bluetooth.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service new file mode 120000 index 0000000..e7ae405 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.Avahi.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/avahi-daemon.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service new file mode 120000 index 0000000..a7e5cd4 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-dispatcher.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/default.target b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/default.target new file mode 120000 index 0000000..cf9fa51 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/default.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/graphical.target \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/display-manager.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/display-manager.service new file mode 120000 index 0000000..43e48b1 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/display-manager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/gdm.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100755 index 0000000..7fe825e --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin whoami - $TERM diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service new file mode 100755 index 0000000..03db4b9 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-alsa-unmuter.service @@ -0,0 +1,13 @@ +[Unit] +Description=Unmute All Sound Card Controls For Use With The Live Arch Environment +# This needs to run after the audio device becomes available. +Wants=systemd-udev-settle.service +After=systemd-udev-settle.service sound.target +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/livecd-sound -u + +[Install] +WantedBy=sound.target diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-talk.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-talk.service new file mode 100755 index 0000000..b38df22 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/livecd-talk.service @@ -0,0 +1,20 @@ +[Unit] +Description=Screen reader service +After=livecd-alsa-unmuter.service +Before=getty@tty1.service +ConditionKernelCommandLine=accessibility=on + +[Service] +Type=oneshot +TTYPath=/dev/tty13 +ExecStartPre=/usr/bin/chvt 13 +ExecStart=/usr/local/bin/livecd-sound -p +ExecStartPost=/usr/bin/chvt 1 +ExecStartPost=systemctl start espeakup.service +StandardInput=tty +TTYVHangup=yes +TTYVTDisallocate=yes +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/mnt-hgfs.mount b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/mnt-hgfs.mount new file mode 100644 index 0000000..5344e48 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/mnt-hgfs.mount @@ -0,0 +1,15 @@ +[Unit] +Description=VMware mount for hgfs +DefaultDependencies=no +Before=umount.target +ConditionVirtualization=vmware +After=sys-fs-fuse-connections.mount + +[Mount] +What=vmhgfs-fuse +Where=/mnt/hgfs +Type=fuse +Options=default_permissions,allow_other + +[Install] +WantedBy=multi-user.target diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service new file mode 120000 index 0000000..e874a9b --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service new file mode 120000 index 0000000..e7ae405 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/avahi-daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/avahi-daemon.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/cups.path b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/cups.path new file mode 120000 index 0000000..53324dc --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/cups.path @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.path \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service new file mode 120000 index 0000000..20ac7b2 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_fcopy_daemon.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service new file mode 120000 index 0000000..a7eac4a --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_kvp_daemon.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service new file mode 120000 index 0000000..eae19ef --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_vss_daemon.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service new file mode 120000 index 0000000..8e3ff80 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/qemu-guest-agent.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service new file mode 120000 index 0000000..cb2d560 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vboxservice.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service new file mode 120000 index 0000000..e0a11a7 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmtoolsd.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service new file mode 120000 index 0000000..173f306 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmware-vmblock-fuse.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vnstat.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vnstat.service new file mode 120000 index 0000000..ceb6305 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/multi-user.target.wants/vnstat.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vnstat.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service new file mode 120000 index 0000000..b78b586 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/NetworkManager-wait-online.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/printer.target.wants/cups.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/printer.target.wants/cups.service new file mode 120000 index 0000000..a9ef506 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/printer.target.wants/cups.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf new file mode 100755 index 0000000..de6664d --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/reflector.service.d/archiso.conf @@ -0,0 +1,6 @@ +[Unit] +ConditionKernelCommandLine=!mirror + +[Service] +Restart=on-failure +RestartSec=10 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket new file mode 120000 index 0000000..045b23d --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/avahi-daemon.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/avahi-daemon.socket \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/cups.socket b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/cups.socket new file mode 120000 index 0000000..8015ac2 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sockets.target.wants/cups.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/cups.socket \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf new file mode 100755 index 0000000..c9f9bce --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf @@ -0,0 +1,6 @@ +# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist, +# network-online.target gets needlessly delayed. +# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online +[Service] +ExecStart= +ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/vnstatd.service b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/vnstatd.service new file mode 120000 index 0000000..ceb6305 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/systemd/system/vnstatd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vnstat.service \ No newline at end of file diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/vconsole.conf b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/vconsole.conf new file mode 100644 index 0000000..eb2f9e8 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/etc/vconsole.conf @@ -0,0 +1 @@ +FONT=gr737c-8x16 diff --git a/build-snigdha-os/snigdhaos-build/archiso/airootfs/root/.automated_script.sh b/build-snigdha-os/snigdhaos-build/archiso/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..0d95012 --- /dev/null +++ b/build-snigdha-os/snigdhaos-build/archiso/airootfs/root/.automated_script.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +script_cmdline() { + local param + for param in $(l^FH>n02*nmp43TU|^6eag8W(&d<$F%`0JW zE=o--Nlj5G&n(GMaQE~L2yf&QXJAlZ@N{tuskrrKZ}|+Ft26C>%?rMoxl28($;8vL zhiQ_VU?YR4f(swp;Y~BP{!O@+ec;}FL$kg=Z@Ry4GP}2RWB!MA>)#%~!6w}kY2c}l zGErrUz$wdf8osYM=dM1tvp(d-tC#O)zMIJxYFk^;CK+n6bKmEA->vU|pQstUtboU> zMSy3z(Z@3x@A<#`n4RAKYp+wa`t+Yqi|;M{>|=F)>F*r1d#A(y%_&Z??%mQ8a{u&| z;+uQyCsqHfQxCp=Hp*?;eZ$+f+IP->HFmajpLl#qXWyCde`&M7?2K4&=8vD*F|Fvz zwCa1}QIF=lwx4<8_^Su!bsVniY|@$RaNH|(wxita+_lEcJ2nR`N^@AACR!9G`NpT- zCz(?ws`QWXS&^BXJ5q#r(ztBICYwIn9lF00AK`egasc&5AFbIz?^%OeCG#3CJD zHy^G!m%aJjlDBkI8ZY+Urg)*kJh7&EG@@BJ+cn_bvmbZ3TI?&$p1c`Igt~eZvG@A zku7~7XNv3Eu%AlY8Mz;lzkSvYyR&fFBF=YQOCt2|c2Z{hJnY6~QaihsDA?MdOzy(GG} zZtX|EiL5$rTvhMqYPy{Mu;`b0eW})!iq}8?^_@xiGm-b3J{v=n?+LNU18-_7j+U?C zl{s^YNsNm_=gHw$u3z&L8QrvZv~K*=woBlNI6UmU1wiz5Z{}uj{)WteLQ;i96TWcv|d!iTR6n&MIj&JE2*=Ey2CuqwIwAwIS;T zF27&Y^?ru9i%3)afsIUIT$-X+_g`C;y->QoN40Xo*-aVSxU@GloZ7u`+0TT>vkolR zW949F)Zf$~b}Qvc_PrUUeX})fQWok<&1CuH`t|(_hlqs{to^N)0V)53>icHxZ466i zbiN$!@JJ@-jtj@-=?n}U3oZX99OJs6-O_wE>_$wlsX&CuJ45&ReW7OO&lv4`@$2ZV z)Qe8}32}BtU(1)Q;taZ5VsPwWZdu3W>8toRC~;>jvWh-ySfW_loYt>4S${+JvfjYJ zzu9Yd^*v2Ca{Z>i_xTD@sVrNu0L$m%vo`VUS;EwEdV&P|{2dG>e?p#eYCZXKSd(e* zp{PGxt*l#aIpuEqCORw8FYs@)#Qm9}vHN>k?R+>H`nC!b&a9f=tnvKMoTVKm=Yp+f z3bd$5Zdxt!Z6)_r_HLa8QxC43`FyqL!7{a*+a4(;zcUHDx<8Di_+~`=r>%u%-BI^+ z-rS$SU@*CN;~_oMWQK_vZ{l}UGA`Mb`AU^*CZl5KLA&o>3${o-*i#{Pf$4!s^!GIy zIb9D<$Gkmx^oRJ>{nxS%NAz*d$>ry6tuX0}N-g+o+puz(v# zAF4K_Et(Kxn=C38AZ5<^uyd`J(vk-O9S1iY5lE9+cWw2-l?(-ZPiC;5*?vINs_oq0 zh~=d%2VE2{yn3g9tjX$h)}|v`43|$y@2FY7|L2bRC-NydF%{}_fF za~RThdCg$pFz)L(^DrZ;F~HvWw8`=Zhj_G-jG1jWbMD>vPD^#RgTd`e@lSU)Et1h> z*}CB-XX8dG)st&JC+~Qkp=W)cD}9=qvWeyMgmp$O%hm?0KjQwE!;8m=U50zzwR@Y6 zFqwok#I57Eo&9mQk@n_Eo|YjmrX4>z#r8mk>HYe!8Qree^?$xBpY^)+E>~Wn+vG#N zpATrMsW{$d*~bwaaX|BPV`!|YYs?29PdntiI!>X!@`PVt%s|8?5DE~MAK!sd6nhZMt>tG;cy&x}N6g}lEfFSMMj zx2fT1%GH18#kG^3`7RB8=5_JMVVnDo%YNNBvyK1CDPFVIm)n2Mw)7UvoWboS65o)* z;UGTIvS}iR1Hh$Zb4s)7 zN=V&a@NRE_x>?_8}y;jS0P}IoiGzCkJ7gmc}0fD4f>1z+%_v! z%$ckg=-xalO-X!lTaT`Skr+$H#`B*qPfL2S{m`^Z*Khj2&!?>J&#-H4k(}e)f9fqa z0}~$~)5=Oa4MqiTg%&Lb0hShx1^&!UA`I;A4rvo4nMGZ0EYl4$N-^rvNho8Ifffh2>1?;QR|1zP`?i3CX6$FiE>M5ozwsSifsKWEyf_WD0+s^H2v%6+1Ab$ zT70i}Rki72{;%5?9{#$Y)6pTR!+@=kY1^;N4Ze{p?x|YdPZf=Hc>Sj3tcuGqE)E?R z=D9iN{?^p}KRTh{W^TOQm6NXD^gn-HwsTE}-h^U3^+ucY-mK3HE$WsvTGhIS;|rH`!IE0GvYy5RHCwKqdK14;MSErU+IPQF z*U0c2UOqNAZPli*s-v;(A*%r>W?kcdxkqI531HMNpFtb{wVE8)-n0C7vZZn)@w2! zh$(N7zOkgZt%Jpncvmx8DDanFo&z_xOnk_cRZ@H>N|0mvJfpZM!6mQ;5 z2=V#+H$osIE&ZVD{raEM&5JHZ=N(9#_}6=$%Q;I9MNQFZr;2yJS(0;2z3^XG#`Dc# zO(A{(hYqY{IQv7R(dl01GWnRj=Xp;vJ!CLvIQ);peP=L>s?4@iRu;>2ofd4??PEQY zGTVJp{JMJ^qv8%fHJ`QV%(u6^q5GFDQ}dZ+!Z}&Z*C{wyIPL7L)_L>f{=9IvcdD+o z)>xX*GjrS8o-U3lehwS<$o)H|*5Z9^VdD4h0-hKac1F(w?_HIfm^Zy(n5rtEcRa@Y zHPeLCy{UQ!f)$r<%=!?P@_$pfxuJY_*0On$xv`gauIH>zD`vVpZB=1?s(_=+mfP+! z3RmPVOyg&25SArm21}yQ7{naj#k|DUvpLK+2a|h zoAq43<(GK+Y%fYniZ41TCg8=W*6bh4v~VTs6pb84Lyejpj6VvMKPYc>2xxBp72nca zyg*;)aPDSChB>Ca8~n3fUra7fiqqND;3{Si-lP#(xk%&Dx7+#0O|Qo^fBIBZVKYzS z06W7b9p`DOH{O2Rav*+RgTix}NoRW-Z$-XhU6!+FhRu^_-m4@14>Qe~U9O$tuG#dI zSHPKhh0V^$seGL?osD%EW}e%>;@?@m08{1y%}w>n=MS&Z+nr&?;_tYtHPL8B27BgC z9wtVM$&Q+V=RZlF`=e<0Wp?3Kj}*~0GbgmDvU{R7gxFvq4bKbI}zs~hPPx!O;z>Sp8(RwUq>jj=h?Ryq9 z@vpSq#Tv6?MR|!*Y0Z9dOPVZJz5ln^u+B5dz~j-u2MNgnjSNQ2Y)(GB+U!%V_&3&` zYSK^+T;QO8Uw&EWoF%hdEsT!|@USs5Oj2nyWb@K=32af|$c$uo&ds5As#}=Juk{7{ ztfWhh$|BqRy%WD%UU& z(9LvUX5-)B*gXjwc8f1!cH(kY5oqp~c)N&=#gef}$hoCZHelM8b*EPcXl!b@7NudV zJ3+|yw57X+OxS^bt{+8f=b8QMd9v4M*{aLYhKc9nukyz*Ogube!*ACsvNgf%tw&Nm z>qvLkUi?0P>%n40%R0H&Z{k;-zgY9$Nk>?HN19U3X1!2JTdq}BMb{3-Gkw?FsQ8Fu zMWgJJSN$Jt8yOUjJ>)j#&~hj-J>O!mG;}TN$(;&jhpp4jo<5bH>_xAjQJ08E6J}`f0%Brb1?N_g8?JlhUygP0-tHP|k`&Z7i z&ocJSvC8MoDN|>gSY8#NYy_PyAhRWoc(k|esbeq zZ!U(lSpt*Rwoa`+cJNw}qyxjb)X=T7E%w}g5V61WfPyCn+tg|$#SiWhe+1baLzQ8xKNW_Dlg+Nn?JYc|x+`TT_8 zLJynb&m!*R**5WvrJGn9-JJJGPK;R-J^e*~Rsvh;vkM2f)Ql7aIUF4xad>*ouxw;{ zck{I4G5^qbp-tZe`&9NTacB4`&g5>M;FKgMq~>&h)o|%IL1vaSZ5z&&+0Q=sWAThL z%sgjrtW)|u{ie%V6UMW*HePD4XX9jbV39tslkbT}r|CBjHjd7Pi#zjdCf#Xh5m0Sv z&_Ck9!79;wH@0um&Tx&H29k?Q^(Ja31f?);4nJNavtDAdUv+1Iz~4mHZ|ehY+HB6N zIJ<4*+3(*?rrp?|$haU>yw&Hu&=cio!J4m`4t*=^&PA+IY+rZGRH8$Lp;=_5A zha?W%dBG6X&z%zy)}xA%b>E1TmImHIYF1-?8dp1Ypook!c`H1}~f3x0*C(kSNn{YYfdPZx-y2H16?F3IZ zOK5K}a!tsPI}n@l|4d-mw*E(*E7RtkzOi~)hp^6#11lMnS{EsNc)-pfu;9rteP@Fv zhqI@qOTYcc6Zl}~L-Ef2b9s1#_ zHf?ui4OLau83u_=YCba>+S=H9inrsFtpa+vZFEy2`O*)#}xTd3P)z6=3q~YinP;e}CO^(MFkbJLTA~ zKP*_VXc1FtYO02|cJtwf7nIX2=K8rP3BI|rQ#fvY`IQ7Ok;U`3s(4yenBI0u(-oK@ zzwPX*1uI_s*59rZztDQ8{-*kylFWveXFm5@kuI&$WjyVmWj!xb{vV+=-nHR=7my*G9itDEKAXy6vtTM`@3dnB`A?Z%CQrKP2ykbL#(l|kK~iYr&I zF5I?FthBWB#p~CH?f-waU%Y?6{FETsH<_8w&di))TWzN1H>cy)t*DUD(3kdn?aI$? zGPCm~e13Me@T~huIuf-yUt#|(?y`u<(SS7NOf zZN&aM+j*7GBwL&oPI*yLrs- zRVb&OnbEjw*RCnQK1>adb5sy$P~a#$;Nxv-Y8tVx#`4+O+3m}gsfC1xFJ85Zt4U#r z4d25830qrRtKwaipVQvl*r>eD-dOWVj#;$KVl57)W&ZQ~JSVFqURvV0V)g3g+i%;> zrd@VEeR5Mzfd$Y0`~BCLgLl~VVcbKv3O_OAgYmg%~eYuS~}uWwR{c(f}(ds9tV z>i0mHlqkutjT+M_J{g%=*9t134WR%M1W>7LZ?l9w^Y7mEr#>!QV*$<;w z%>OF#{eS9pclJB$$!fk$#~)w3y6BeDe7*|9We0y6A3Gqyyj0}u*|R(T|NC8dGj;ky zb^D*3-`?GwT~w>?JF6vhb=c9n*Bxeln=s%Uc5MQVr8<-?eO?o(dXypGBfzhwGz#~w#G3#TRST& z>p|J>(K;XuESz)nsXm0&ADfGgU!lurpYQ- z@73;`zPpucSsF7;Sz_fTmh_*ik~uKt|EI(MUNRV5)>&|s$H~B>V7ktJNfCzhQ%OFo z(l*y?_`Yd!3s!uO^vGowWvnSOuQ_ke`28!tun?CK-7P#@%%;P<)_lAbc%Y3^T*=F8T$w=ra=JTAS(4`a=74_k< z{C^35yPqm%xwobS)hbW);8}2~VU^$#341Hv4Z89BWa59{x(+HjQkxY#cL|;-V0eC* z-`*uZKfmW7C&QT;hRo%6OU1+1#YiqTnx>-37LZlyle)*mS!}I-jGp*1-`Q=MmzO;} zCY^s|_4<8X=JzU?#r5NQ65ZU5^qCqN>i&J6pZxdNR}Fpryt%+>jw#{tM-*2~X>?l+|H_z7kkyU@#i7Zq8-C7r}Z(tBix6I

~~In5$HjU&Tbb!x)8A`V9Vmd167_mdYfyG(P~!847`dA1O@ z2)mK7Ft=5BR^n#MR=Mss@p}E89XA=uXR-)bZvDZUFn_bqxnq&1oP0Wp_W7HBEAWYB zsJ`s;WBZ<-2ix{H{{F2n-?r)B^Lmc&U;i`xz7i&&q;X6!>clpe1$vDxrcx7l!UVZR zItU2engNvj{!zxOvhrjVA(xZG#vq{(-uv0XD+5F8oV`M&mj^^bGq z`~UMaYb?#k$vKj4|2uL`^me}bpQqzD zBpzn_^8NesIj$Vjt}Wc2$XF#UuJmT5tLOF3C9{oqMZR1;fAnYNcE_?EUj_Q-ef}MA zbmqY@9WI4mubwZgel_*ObsulOFG;6NtRzGQSLL{@*d%z@IBfBwBVr*kKds;FJC`_f z^T7wl%=fYGogA+4W~J+nHGBdt0+vkQZ`wZiC%0AiW@H5?16xUYB3k}q*Z#y0Nv-A{hh=2LTZWJzmf^l|OeaTQR`#tpDb34;}=>?Ea9FP$0o9)F|+!J$1@0 z)*G7b9-60~t!;TfxqQmzhE+>9MMfT28NB?}g3KjZ_e&%ldwENC-~Dmx`o1>(`k$vW z^7Gp@x;)R{Tsrwroqbev^v9j&Yx$;5ojO59Gq8x7fq!`~Rr!+O_M_Ebd7v583U1FmB7a*|hup zKI!lGs`cmirTau*n#RGhdKAvXN4s-o&ek+dtEAeBO25 zQOkJF`l-sEPv>7#yZ`?;&r+xDz~w@~t3tgKt znPxKACbss99C)xUyQTVDYTMt+Z+53H?g@^HTD97(c&5n(mD5I2Qc@pgp09CBpWkMs zJ>6?xL(+{;SJ&5xZcaOUDRN5*q%K^4b?4HhruX&# zfA4tMChexB=g#KkvYV?#N%OqsB00mrkS#XrYMA;0GG+bN|6tlPIpo9fnV;4?TRi2$ z!mIlY&tJ@loTL0`<-wcY_Wk>w9c8PS?sPvpH>HT@#i`II{C=!Y=PV9mXHe-p6@Pm9 z_erxaZ2iQYu&$`VbHd%w7dyWgPssHXICoGuVrBo5d2<53=>8Ik@MQgC9KJC9?BNOC zS|w=(Yj)OYZmNHl`u`C_!ouZCc1N8%(8=)q&{Y8q#uU%U6#~+$d^;~VI(B~Qd-|Yf zH*76{!mS6hc8ZA3|0m}4zJh1VGRcLy`U~Il_dCC{T+QI*)JZ zms0yT+JlO>MVmJZ+yDQ0eq+&7uh_G5&Th*{2+&@=W)08(U+e#OS-;<7%(sRAYTJ^} z7OguMHCs-&vVSQ{=p&P=dHQeG9h;dt-+99(%Qn>>#u}ft7w_ACA5xq$|5jI5^83Y~ zUhLMe-YTjp-tWNi<(N_Nu^p4=G0;*5gVv55Tr9`d%bbg_j_M)|%OgnZ-FE3M%*&KerGMSTU zx4F`Wuc?C|-zkSf0Vm8W456>0dYxm@q(;`il4cE8t)(P@27?e+0KF-n4SsZN>obvkW{iW^q8sA8^ z@3XxAYIdCf*Zm&tgx8tQFAwr|+4vi9x2@j4%!$wJOmqIZ(zaKwjMfv4UvFD+;$Ls< zH~q<;XUuk-R@rf)%aJ3w;V$R-L#su@^?WRUAD?)@mOIIO|Ez`VlT#Z60xq^qy0*1I zFQWIsJKqkOn|yLI4U1D*S;||B`Yt?BJ0>AK!(Dquh3%ujQ)U8*93DJ*vl(VHOwr#h zx9{$3hWPSR>5Q8hzf9U|oO()xqenvcCRr_Lr|;U#_{BF=Khj>Fe|E?<`i|mUEMdA!2);Y~J3l*IFKE-_JZfP4~x3 z|N5>1i#Y-Y*>5eYzv-MheR^ZsSt*8&!mpE0?U7t}_GQmjL6*9Q-0=r4E_N?`aDZ{{ zO&_~wY8}%SWpV4B+sXKE)=R@R@)K33Y<=r;^rWuFOB=J2_?4BM6B%s8`3@C7RA367 ze8KQ})sNR{uDr)rFch?TWa{p@yx!&Qas7sZX@;+_zF~BmRA!edzrQ6Q)YwTlYSF3! zrwg~MtaJ80e_*lOe|wkT&UIQpCda0}h^}GZadsg?S?|iJhcy0wC>Qt>clD8l^|gzx z-`1b_*ZU;WFkF7iOkSs$%VGy@YZvZ1DHih4sYGX)WjBWh%6LWJHn6a<8D{6b#mgA1#qQ7c^d!`>~Xj%32dwc4X8yXsnHjlF&Ms1L4 z45d zMn=YgEt!`$l)Sto5nsLX+RB9s8GU_yZ*0$xk1I=?Q`~YmanF}a-W+VrD^{;QT>Jg* z^5$hVD{F<9K0e<6INkoYWlyra%t% zFVES;?r>$^acK=OSn<+!{vY1H&A;6}xy5hpSNc7DZqd<;dSAjqSdZTk&(Vl2Ypzmh zYYdQL{=*Y(>s-R0w_#c^zrXMzcc#Qu%n@1~1!rT}#5x&bE}j1?$=Smcqs?aOW3 zY;A2TUaeeS@bFNp#Qv(zkRMG72j2F%9r3)@cQCo+;UU(X8ygs_zrQsHsLOF?(9Cj~t`@%aS9s@%kFLM8r@ zoN3*^yw+H3l-&9|u2tZbd4nCFO2U*y3cbf0MUS3}IP~LfJ;QR5TH)!(jtPsu{c!bs z>*DRPsf?S;59!~YXgtX_|8=JG(Qo#PU!T%<+o~!v;gtG;-CyJl@*e+R8}W9PLcxk( z8MTk+Z{pcE?J8SR&`Zne+j14(_N*#C{c=Nn8iTZrd)QsqZ~f0xYuZy8jyGxDFikeR z6D%%~u|q<4t)6@G`KPKKPZA}hSM5rEu8K!Zfw9=vmpAR)oX%Em@uX{O zA`SbNZvC^xL+fFIgum@q5k5H^iDc0^UUP#IXaD~F`{SF<=aUY%@p{IdIkBlH!GL4^ z_3q2d{gXdGJ6rL5Zuy4`&iqSdoo~G?nWbel(e8cnuh5nA_gAeFa&_^2%(u69S8aW; zLkm}g+oD;jS_e{BWo<8e{+VOyb>)zYD^|^%y7T(|9Ri~6|M;|8lMXIy)V#tQ*U>pc z%<16D+=yd*3|@YD&O0`7{+)hjfzg^%7A&*H7UVx%t8xEh(?N}t7iJzyO<%;9u!p>g zHkVk`7&j&Nw{eF~i<(WqI<6QKtLN{S&7|i(?IqS2kI4XzA^CHT*MS@fp`M zKldLjlVWMUVQ<8-RMJtIQQfI##yXcag*K<2q~jgtoeyIhg<4Yk8abL{6*h3PJQj=L z{Qqu0^S#fJ>5P-_O4t1T@$vDGf8Y17cRwaE$3~9-)TvV?qWQ_m%BN19O4xk!L4k#X zrfYq@{jS}+FW$S?*Vo4vv!_C^$FSva;-7!t_aEO=`T4?y3loewR;^oi?#G-fpFaMq z`SDo(f5-kmPxU1vBsv&(y3McdF}SteWqv7U{eljH|=eI)#Q#l`9WlegCq*eec=X=ISD9p3V)t z!S!$d-P>FJ@yliZ$3H$k{$=~N=EZ|Qo%g`+vv!%(V(-U$ac$ zh|OI0(3OcStX9ktTc@qJ`yrO~J)1{J@|uCNXqn4ot|k$ev-83)l-(3((0Y~5>-*s_1$ z$iJwlx})lw?oRHa%-&VMdhH^2{bjwe%U}Cl>Wn#mUxugr_c{7+rtXv59gGQzn;YKU zoW3aK(HseL9k(N{JqZSK%a5+?c&urCWd3VuoxnE6=0c@w4d$AP5*()sZnIcuK3KQ5 zJ^f%7&!4~jo&4Hq0xy=%>fxKdb&ri4KPVGSnmJUk34K&7Olg8q5*ya`vc(_0&xo16P%d;M?oH~02hv)##PV{dl+ zAQ~RCa05ryi(ONuS$_R1tnT;V`u=~W_iDf2wP2Wb=7-bjbQUYdHve8w)nrV z!hhWRzK?zS>8VB>CeI(u{$qQ7XYC5hA8qIICh|0K6gW$&ncp0K|n z$3v`O!P6`jb=|(QRk!M{FZ9*0{F4`CIWJZLv`8ju-_2VmEYIsQXPAj?_;hKu11n=p z_bE6t7F0^Au%JtQ&S8ptP8?`24Bh%WoYn4Co-nen2 z5v*|BChYe?B<>`ElIdt-QS4XST_9lanFa+(dPs%N*~MJ<`&=Q zDN*dv_3T>P{&LP;Eyu)Sm?iQ^qp|#@t;F|l=M`9fC+RGjsrB#h)yW1MK8S5SoHDmo zWKVkFuFtNbJ61pE&}B>LdUO9q!vCNohRp|=o?TUNVRc=~z0T?66>pKR`ifRRE-xyQ zu-zsRY0lTI$iB!;ve|i$pb$6PR$irW#wBrXBI2(q1(mB;OrL+Fp+(?;d?Lp!)*YPg znP)4e#1*OjGPj+6ZQ-|^Xzu&9-|z1DdM(;8`B={k*II+>sb2f$6n8A@n4PzaQ&d#6 zO6F!rql41oj*B%Z6Fpe`ZNE<8`xj)WmzkM)G4$ff9S#>SwaeFa9G9<`c~}rpUcSh1 z?aI1pw+kmE4sSkh*X`WS_p(j%<*|Rhs(XJt>aO~)V$C+V*o^0Km7Ior<$A5(CX z6grM4Lm_=lP=$$CvYZp)#hlc8~@mhsw8A@9Enyj>AfWy|7pFx9jCZ&OO%vWh=jXMC=AOXpEGP*6Pi z#HMq4Wizh_OKJEm=_wC21Rn@!teO_r{?Gs4x;d;%oOqfiWN$Y(d-iO_lZoydik^DO ze#vB$R!+>@vdLt^(xFo^P*M&c@*=(Kmd7l5b^J^X+?|L)e@`gRbg0KxCCnF+XwMT7B z5WN$u7Z_o#rLnOrvE#3`g-rCK*M`@7{;zy^TR>U5#36l;SZ(r)fP!O2$?sNc*?Ms_ z869?Tc_`+ktsS^6W3ASM)RaRr4|^QTetBu>kE8l^3!Aris4P1ET=wmu+>p)7xLK4Y zdbmA*GCO~tWO)0+vL91|d}bIZt~FBeJOnBlOG-;sS?d=^s%$B4c5ZW#PP}*b?%iG8 z^Dnx@oqT++>W0ocj+X2T1Uj6(Ew$Ca+o;qN+`{X?Je#o>YkfzE>piXRgUBpX;JHC$jRy>LJw^z#dT z;}#V*cGVS;Wx5_ue>jSyl-XT#d9M?-g#$FnCnYVd=s8L5qVnV(UP-lvYQ0H1r+-Ph z82Q*|e_y?NbzorN#4yX>-`^hxO;*^1Tgdo2%r}=Gp8Gvhjzub@##8(~&p|aM zcZZ0Sko$2_wX>Nc6RIlwHC*D&Pi?p37UFbCwl8K25Uln7&p2tf(3y8m_a9j^UX&~S z;iI|Ye)pxf`VC%+M-z^-oS7YZEKz4u{Y<&T7pHiijaZq(w<-M{SH-M!rUwf`I-J7; z+4>v!*qSBI9N^uxu4&VY`&`!Q5_K+I9a9_({&X1HizqEU_4!q8)`{s^Zx)#~WJNNu zs+_wZKJ5Twh1cnTZBKTsP&mCXV5UJL)4soN^B3>hB{fNQ8t66-vSkn zl}_=T{`OE(V#xCA=RUIsZhP!nDzoU5*SC@FU)jxQzG|2My z%5xKIqJN~#T6x;t!(wwH`|5^WC7(ol%|8{+Q@dPuqb;Uku3Sib-Rz{q(-scNwZA^H zi0zbGz5I>H)*d!jri(Xhr*=N>FugKCQlXH~^VtN6_9K=l&5P|HPv8&{;9z83q!9Rb zdl0)bi=f=@MsbeD_(vbyC2YzVw{ov{y8q4m;O_HjXLNnE-rM|m&^*JYa?`u$b3J|) z#-{Jv`gEnE`@Zd7vxaBs(xsV<4sUznwA|Eo{#j0@swJwjy55iK1EuMAT zN`8u+ck{i0@OAgg@7-p;xBOtH^mx|8`TLBjXRLf@8M5Jc&pO5*4_bKxw{AK0gR|v;V$coE1aVCnrbgdXHdd*v zCTR~QNM4Yh^l%erL3p3@(M{49KL4s$|E4{Ib#cF{_q2q!x3(5?mo8jZV6mq8K#0BD z?z`)v^_E|VW%WPAw z9N|%ru!HC4%Z0((mS;IFKg-Aj${1i&MsSW;@?c(gqd^ydQUlW z(d5_~ZjVJSv8gNe{z*&Seq3aK{VZwGSe6eKOT?Mkww|58f@#Z!Go=U21*RDaOnW%p zBIR6ZnO`V}%lYrT>Z?UsBp!e5Z%$A+wCGj(q6Vkwy@ynVcDQg^t1bu$G(0_LvAxd1 zLyC*i{&{_Q`^)-CvHPPxOli%mdw##$ow)htC9YhvACc>?bI(7&d^N8uAG?>AS3p?U zv@dgg&OW>twRBlf-{qHA7!$NsE?%tc*E%a~Pxj>c*~*NS3jx(ny)jDpUS*ZNc>`%mGPRla>fI9C_Wa(5R5f(IxD_JpDr# zq$gbzpCmXX`R~!}n*xhU4LlY8wNFVcO!BO5U-^IX0l{gh6<5{YG%;~_yKpV{P$)j& z-1upgR*3FCDcSWho>gK7!8#9)bP5}0Ut6=K+*)eF?R~Y@pedNW)!!GbUCUbsTE_tz zxmmc7QCC+Nv}Qz1H;QHU*=bXEuKLMwX4wbd?L7$wGcI%}2`dz+JU%NS{mmzSo#eru zDa|t6MY%qkH@q}3yg6;*Mx~Eam1bI}zj!je6v1d;p8Z3J0W2)3t!_Rdl!Sf zr&h>)Ex-YH55>LEak40#Gw@|KGRyAHUts zKhDVQ#IYw%-*2u}E5H380fvI7Q^Oza`~B|lpP!%IZTA;#eP~#BW0s-&D!cDS56#pk z-`^m1?c5pbdoj;vdz{P;OG~)%+o|OCEYA52lKanD9$2cV`aI*)b)|ZXb8p#sD->_P zO4|0_^IMh_9c!9mn z{EyrBJXWi+)oJ0DLkmJfLR8+Kk6Go^lRVLXYW6an-#b{( z-F}*U@L`BSwSL2iplL;YQ6>Cm_OTU3&ecj-e9ZDpXxjlE)jsn?qfHOLS%qgkRQf&L zdS|AafoE~(%sIc=Lc}$ybB&K}U1!u%rEJ(e<0AipUZESTPd~rs^SE(e^2okE2EXsE z7o>yAD$BeQz7;=@iq4s`K>Nf6$q5Ow%SAo@^7MwCUXgIIF8j^>g38Qf(0G2$bL;z# z?(XgD*yOxEWG?6o;#z;bTYY|wkagLcj>M~L6e2=}OjKb@{>fs<+2V2Rlxf`cB3={SBM0V`zGBu{mtRwSUC|(QC!e%s z*PD2~XUk{a*k9A@t;T6J>onKXl0&N#67Os(EeN~Xc-qLLX|8Vjqr9VP0WK29E8|&q zTQl9bEP23nf6Ih3ib6--=YQLyYG)EU<0Q`uPOk)pnA7=zcYGvtzZ;q4mF<>QRaG@) z$ba!L@yGf9fBe6E`{pEaR57%x`E+`ZqloL5@82Ku*Z*jilgc&utSw#~y!+kPs*BgJ zPcN!lq>=RP&CROYn-xVi>sqYc;Gnr`&%~?7(LEt?zb>de{QAkX{K+J*FM2z@KeC>P zcyrUK`Jns#P4x~-7RA|4bJn@e@A~b$%_k#i39YH=DeQ~R& z*2~HMb_e&>{!Vi6wR)P}bAMgz?k^Ub)6yADzpdQ8TRLvN`C2pm_=Sdba2Bit#)SX{w?x;)}#BwlelC zE#)%_PwAL>Y~hK2GuPiUx!!wXsn(9Fm!$<2rw+1Po>T3Z_tE-&cS3wR!*46*7hl}J zY%aNS=zzZ9g|~cOAG~=~Pv^^BY?|5?Wj;4Uo}EwTf^x}vs^nRsG~=KlKe;_ZoI)AikN;=h@n`pGoq zrH%LJz=JU*3sx6eWlf6{-kcolv`q7&=^jVPYU}13_azUo&M%Vl4*nb!X`;@S?$ALpofB6YSKN~HGHysTUU9zo)W1T@{hw?b&+osu#n)P2Ze5Pk{X@}LW4*6L z^!?haar>jVg?~}`GWYskG6xVO(=X_n3w(dy=OZ;2W z`AshhUasSIFc{xWN3FFN^ou^UP#6I~eu+x0}g@7L8R8I9iK8eoe5ctt(#f zk)zcqQ_{?5rjaXq!AYI^cJ26J*=#nUl}(KcuT0!&^``E@0mi>N$*aT;UXLxGTPIdv zl9ylfckgE&Nl}T(7pMAd6Bd5sY2LOoWc92x;mKEeMNYmbpY+CxnYFm$k$Z}Y0w=>m znK`#EZ2#eB5WbV?AJ4;kr?&l-O#1KYdhJc6Xy4`CJX0q!UTplATJBsnRZ~Y{q2zS& zol)UuPyBnTHSc{y@_$g@(qYTZ5Z38FGrL#)oW8nEfM=0|;1mhJD(4?RoEVn>KE!b{ zhI4t_nIpeU_Ff39|IVWNL;Xx!^1W3r{LGl;cj=t|wR2m@rAJ4*4QqdW5!~)B;wtNr z^^YN#mHFk4gp*&|SO2ZPzAkpxE32u$PHgJw>f*Bb^WpG{RjaxR7uY`PzrSG9{@?F* zZ>;+IY7W<~iyInu_OQ-*BYl$f$7!?Q(`P*NK6t76gRNFW@T|%CU6!^JVpB7jFD!hL z^k4P5@)ZmJ-YrVgEjCAa4*d?}Y$)NJ7KSS=~x^g>|eH((pIv3W=(oA2?d@TN>W=EO2i$Md2#clb6>f+26cZ8ebc~?#g ze$1z<7qgFjHiMvNo4E>e@j9kA>uwmhE6Ygd8eV&Jbs5u<95ZRV-#5>{V$g^c3)n2R z@9($Uf${P4!!j&%dm`-a8f@9V{qci?&6?k*r#-bvKPO}J>&4;^6*d!6Eg$Y)$r0nV zlFuf8|KGBjkKOS{lKXAjRdNlhHoA$DtMkw7KFsic&&s;s&J`02&P{q_Q72bo z8*?*b#bU8lolTvOIzI7VJMZ{^&+Em>Yd6(z>wBzm_v@shsRDPO&p%r&wls?;A;59^ z+s2vU2kf(_>V2+cyEWT8VFv#-n*Vory`@~s2SJ&VD#>nR55#fxy zJh{T?l*qQbdB>UgZ5rC;syG^wPX0ZcUnd+MUt4Gsz@#HPHd zKFz>1b=!CSeasUJ&mKGR-g16^SknJ96ZX%XYnN`V!G1PO(K3~hGjOI()32%969rix|^xsv8iHR+~MbY4QmVkTbrf6AK z?iIG%%iqV9l$Nf1;+FO1nE3u5t~HOP?|Zy>VG;RLZ#s9s-7gKfsuzkJO%o?|`C- zam@SZ5^JT$v##!0biTr_QnIg@eac0H6Gq9I^WN$^ys;6CUbb1}ulIYlIF zQ2ISRzF>Ox%~UqY-*t-|7AJE`x;x=7$O-L3dlZq=jEby&b{K>)d#7jm4_NcdKmW=PIg?b z*S;g4nPHiAzue0ka+XCbxw*M3)~@wEnah*RGbQLw>Gjx%9R-U2zAU#-{QK+cuF&@n zLSkckw`N~|G%Y&s;FiqGB?~NNen0VXE`MhdAf18gj>n6#r)0N_Q zGH3C|je_z2e_b!UTY4R2PQ~}T<)z<^I!}G6u$f_BZ?|suJ1d>2Egt1}&PrUq`dq5{ zcW-_TbJ=cL{r!J7#jTH#4>~`^#>jcafiGq^Eo0UQ$toTw;I4c0ThO0(&fMc)WlnJX zPFeB#ukm^&?Uf#aEBNOAnLPcVd3NcR%UAQyU);t%Z*Tsq3H>UW`n@ax+n)Bni2I%~ z#c_$q!?v9tw%+49|Lu9{bpsXm&+AV7OPzO9+vMtc!_J#5WjiBWEU#4b@R{#Qi|hS- zPe3KIX$70f`Cm6A56HjV%W%BCzTxeSFaa_7>tc%X4_>zwe3X#+ZLVaJFYCme$B@&v zB>m$i4;H61nZL!?7yh{s#<7s`sH_vy;?|O5zk1E@Ib>&R=a}8z&~S{S3bg9_eckun zKkhuYYX{A_U0CQ`HD$uDUsY%3*-Go`>aJL`rYA9_joIh+_I&ry(5n*|3@+;=SpEHa zuljxB<72%MTeCt>eZ3%~?LCPlP{c6*p3Rxr=KSC9*W35WST-de?_0Qev+%+Ij=b&C zQ>RYN$jLddFDPFLlVfa5Z;-i*UGVz&~$twCL)nt)Cg%WWZs$;ahFs7hd799%J=Vc-R}N5=()t#uM7SxPIsKK#9)@E&b+OE-ahAF zSn`|uMSNX9lR~KFyWLN$I_4gKXtUF~FnY3!a!|_uPsjQCO26szF)Z6$kvi$FH1CQl z_a-dYb6t@+?~;b&nYo4SQRyF__*t0$6VIq$&gJ8IhVkKzqfL!Jsvi7$VcGGVPodzd z_<>Vd?V*_|$|tAta-56koOE~n%hzW!A`X0gef{yi-|w80lasR+W`qPRH1zN7?F9u< zulYTTCrx$|J5;>#_kI;SH^;L1eEq-A%LIiwBMyM3RAyM0>t$tST{23$crGgIT?%L+ zNX5q_owz*}FAT%aOLrwb`a55c#qP(0=7OCu74LRFzf|;ja<0M(Nyep0#!3@CuIcWd z+}afUYThw(UyU!DbCg-?U+OS~T=rY?MJ{-e`q%OXH>L@$)jbD3TtDx+WDVc9eV?71 zu9w`f=lx@-wJ81La#3^LIsBaeCQVy;DvqydU+es)n5gW6pNqa!-t2p>_-$UO`Qe-& ze;B5`spg(|E0e=7a#hxcREG_T2`85;md$IjxWMVQ;^CR+2G*Yi<;*3#-^8z*vDeAu zPe){Z@x=!@?*AX03v!9d50cqlJgxded5Uq&`oAn&_6yGmsQu0z8Fb*@0(ritdw8D9 zY`Z-Fz~Alijo;?<&PzR0$aOX@w_x>zd7&>KRD-7YzuinPRhW2chLBTUa1H+9lgyPZ>zODcye;`kC*=StC(+>@HlBKHLN|}mLRp| zcas7Sw^8rcAAg?P_ls(W^~{)fddfD3}dy%G_tbCRxq`YkZ)!Xl$GA(r^^UvIZd z+kv&aYAkmMs=C|DY>WT$-eKzFmeU_{ejB&^>%KT)@f^o>D~=zyw0lageEP1#FBMg=^)ZhQ@@9sr`a0 ziWr=}XHHr3U$W!8^y5Ukbe#lO+os}mlAmh)t&;y<-~Uha_O@K_dZVCK%)*b8)*Gfb zDX7Gr=>2+ob2`6V{hz`+1&4Vv^78y{dZ^6bx8UEu@B1H%@Bh)tx9?Kwnl1Y-OI%I) zJAKvGEf>!}I4)nmMtXJ6l75NgWg@qZ%|9ca;FqQdDk3gJzMDb#;Wzw-1^>4 zeVTj=j%jrL6@U2i#ZC?DmHXso?UMPoGn+TTtTL+Ld2Phs7vBqCGXLie|GWPEqf_f^ zxOqQ|FV4KUbVlvrR-GHmDZJT8*4>s(5{_xI+|4lAU zRzJL#+aB5QSlHU{z}I*G#qUmiCc)B{7Q?r5jo(%dwZ*d{?B?_T|0w^zao)Unii`7j zj$Y&WC%LZX?M%>)hxmU_;|rvXoss-*xv1PkeRKki~UTO<(;6!MX1I3)8B&%l7|ppAr(5 z{PS=8u}AfLu##os9An~r@{THI%=XlCu%l6%_>WWtL# zZ+ZfsFXw($sWnlxOY`+--O|Go9^T)~U$WrMi{F7hi){}}&N$r5J^gO~y_?sa$|^4X zdN<>2XTn{ck~K99;$gNu9;usO&G(-!KMjC>vs1(@!=>p3w~>G$;CXQ$odu@7QuNRumh%REW@wc`1>x#Hi>Z+kC$qc7jP zQrt?%dST-!|G4IYhclScibXg1yxn%;%W1)tGkFTka%@g7eAe*o`!e6zAJ*pAa?hPR zch^BjGo3t6MbH$!T;&tNlG4(L8;{F52M15ii%4ocdh5ily`N5L|2Ss8uhHM`r%U+V zwA&qy$;Y<*`*k}0UlVAj!i!h0yne?ly4jj|t2B(4ucPysciHXPx6Fg<9_ZevKDR=O zTkdX4FT6uwbEtBBF09}%@5~R z%j&JGk`Q0_Q|iy;X$(!iTfc>-O#J;}cY*xc3o}_2b!p%7Qdt{Qu7!c7g<&Yml^<)piMa9- zj=l-}+hXf4i?bg}`6?z^x%+CwWY8$%yXz14KT`~Ccyhoff_3(uB{B;m!w+67bh5wg zG+|ft443a_xwpV+64W4%ijFpp&fU6ZZS?j>ACJqsySuaR`*Bo1>8h5hOt6vZD#N}v z8KH;y+LK@WoaI(8`G0TvdAXXuuj7xu-G0CCcHVB@ty{O=oXeE8vz<@&5GY0WN}Io` zwTSvKUE|FBnIWGJ*L`c6F_*R3Gw^}YDOdB!-OD%bb>6u_u(@`{y>B|_;y=0?q|a=O z?B3LCtrL!T+%bX=951xMh`QeQ5`Gm{M ze0O}imAx_VuGN*RS5s4e?B2cmyJ6ksZ4K4s35hxvZ2Ix!n~rI$8I{0`IY?<{kc^~g%UV{~@Tk_|JjZ4opDW;0Saf=KmE`ezwW}B0+#hr1n}${;;?H-j>Dg{Y(sZ^33Jx zemrc^ia#dt>({S>UtcokSQfLr-}Bk;(yy%d>a&j9+S-B&q&|83zU1S553j5Y-cj*U ziH(hIilyf1#YQ_MV$yy0*8cjE`R9B6fAhH7uc2q=+sm&GUw`b+&(B{y&1J5`k0pm8?tI?*(nqX>sX4 znsHw0wcQGP)6#XnFYKOh>X`Bsllc1ePcEoUk*SQ2k1*PrmANkQKx)Odf0998Q%;Bq zGbp_(eZsf>BWl|4%OAW`M&kZTDKKHKc^_cqa?zW%JX9Br;XVSZ{FP8Y*GD9 z=i2)C{#C2AKz+R8XJ-zA4)h2QXJ3Aqv;8n*ph)R-{aNpic&Ic5Xt2yb-ws-Hd48Vl zk0+D;LFq|$PG-Vgj&(v;XA3Y*KfRRMaQ}V&{rCIt-HQXQ&VF)oa@GCv(o#hkzSn+B z+OwW#nDsY0Ff=+a)a{oCt)rf4oDMPtN|Lfd>&l_jiOg=2Yw71|(yo2ZQz#Ufo z2QS{{QgF zf7iQDy?*1_3zJ_Gt{10NpAyrFXjtk!ebLUHlD@va9g8?>YinP;d*@bNZQUnlTXn4V zXsK&pOX=%t4}W}o{Nlxn8QcEe{I?I(1&-Rn0a~i~>-X>UJ^OzAxl?p&#h2|)1}9ju z58lW(H8su1&UVhu)|QfzGDtrsld}0HOO^k8yWYM&zLJs>pG@1?nirBcdd-@cW}*i;C#^U2O)*s@FP zYRv>kiRWIs_BYroZ}sgs%yIKy@ToQIn>F9XY~y3*zP51LYk^I*%e8`j6f%A|rl1;r zyW!qc@x}EY*?7*!w#3|xdGdPJvifI-nNRS{al3N2@z&#NgY^HCS7@I4Y;I}lZMVwx zz2)tR=UrCVZj`@xviZc9a@9>Nlb`6^JAG$=5_i)>#w&7_PkU_7Wimc^vj2Nbk#tcn z_k|xP>=k4tZ;sk=snmb#_g5T$Jh&ZvUH;AD__IQSA+#xW<@Kl6;<^?}|L0c@5Sf#8 zd`|t(^&GqVm^SZl^KRWUvray8iZR(db4>mR*+d8#|&zJvR_buD{85`G6b?_Bn z34W)qy>;EAl;cYegdLn3wWDs=NyFgSqoq@lE(WtU9{nV8Z2hJ3+@krHe*Ms{JI47X zWCC~5vY_yA^VO#1t2Sy?GR{r--*vj{i~b$!P=?TtrUxazPrV+u)ysO`(L>>Rb1M@b z%`;BoE2?E;Tjh!CW_|Apd6X6891V<`5>|)@){8H?oWF3{>c2b%vkkN^pNQf5 zAd--;r4hnf&l>sIN6ay=!slOS?IfnkAV&X7_v|MJgqPJl5nA6L^7eM{LoPRgq$jzL z7k=5bw*KHr=fxkUZ;9Wzdi#{R^n16OKYTHK@_c>EH=#6x4KL@excS?p$-;b^?EX*B z&412YDN?kuRP?^}&v{H2ME>uUaPZ1Z*3y{8m8A8ydh6%hO*&JrMaKABp4^r$wfyG1 z!kyeVN{V=Sc&6yM$C&L=eOculzd(Jzv+;rWh5uf@yO{cwW7)*LkG|G9#V&4``qH-1 za<97A_9e%H`x7_b-YK!^v1i{dS4zC-3WrLpuBR&b-wWd8tY2x!~6QK?c>KbMrUcG1`+O%y#~! z*-5L!w1t-vkImOh-1x;c>bg_#yB$lmHoU%*9KsQ;AuiMG`QK||{;KK{jm0YyOeQY$ zT79`9_VKiB794Kp?f9LJI4*k;|1jUNDWx^pqv@HDmJ5`eO128!S=X&-;8uBi zN9kHiAx5{P-+HWda~KTC$68J`^lhKvwP~vVA~wad7jVhBtt)}d@Qkj%WZ>?2X$1ljPw|;-#Gr} z#eSIy@{R(}yZ)KA)pI$X`QR|+ZPxS;iJq_L*Dk&DuVoecqF+_Vzx|6X(0#OR<7bi5 z!}1LYJLDgpY!*(r^l?$TpNvkIS>NRf1=W3$i`)0~>qK=Q+&aBa+r624THmgcliG%k zD@r)#aIsx}v6*W}2Ikn~{SpJ4h7F%RtmaC*axZzZ^<%J)SIg0w(?UG!cH1z1xUpc- zg@q+58nwae60Qoon05N-75Ao9>G_jIPq<2y-uR0S{%(__rVFgSS%2{B z3Da$Ujr)t%aHvgfR&iY^%yLPlzpbrpmA|><|1!>Hw%ogx@b5G52|8h7ZhpS1R&8?N zuRIe|(}l~HrG?F0{`#}eTalFc*5&Ucb63pS-WoHjP-gMcrK%@aN9Ns5lvuQMX{yts zFIh#`&doN@KPBAiv({4U*|IMU#+T*2wd`7!vefy^u(o2=O#fJ)Ynjjf|FVDayPNS!#h(-mYy$o$ zO#0jYaZVaf&b~aKWf9$?7fg1%j5y${b7|G{(&*@DPlf3xQzo2DnY4N4{f~X+54yD1 zN&F2vnI`O@q4DM9|5zT|*8SqA`edy?y!5Y^Vwf~J(2KFzNw)sa@%o;**5yil$#*KB z&*hX5y)}y`I{xRW@C{j4wHSoY+pSx>*0s3!v*ahyU&cG{J}T67$dEa{&(R( zUbl2kNVGj{+5h_AiA7)iWpCUJT6MEe_$)`Fru_e~brU{b`g$UF*Rl;I60%Pcc5Huj zr*7&$IlgbpOjj)aw%e!W&Z4a^qPK`0{yqQboaOb6ZO7|*Z2l$ltlh=oyjt(jhf7~i zoR4N>dEEWufMxiCZ(G|1=UUk$^SyidD^V*yZfVg{&G$Z~FaNE*vM+QKTgv80(3BBq zN7skN@_#dqy>@qVQ;SIW_ci{%>Ce3dC3l`&_Eh`-y<{ib^D{G>r%e-M@VKSfHsR)^ z#`ANn%{MaDex7~br|z_WvE1t>R_;mn+uGVD-G6>=Zuea4@<;9Ve;%@MXr2i1=!mD#13{h2wYXTza``9(1hD!lg@D^Y{H! z1C7c&dzLoGrcwxWn9#E`Gn=LJ_Xvu|6flAY5!>3>K*!hI*j1|SH_xW?-MhS)x}Q%$ z;e7A=zV8p$Y(95ro^7>(kx|pu?CXoRZWRTM?tqSU0_^~JKDS&B)OUUN?w#a(XPM(S zHl=b`RaJesh-m?hb^DaX>Mlc zSL#yAxw}i$y-&umw$?Up-_Nv|(yO5-o`25Bm$#LDe97Bg`Qz?gyDr?g(E&pR~J+9uoX1z*(WQ_ z>tp@<&1TTnxCbf$k8}!io{6jZc=X2uc6)F?_3+`t8Ch9}((OJ=u8G{trmL%) zk(ucj9W9-=|8JR$bs5j=>+3<|Y;JCD8**=(efjbw;p(bT&?#K^s$T1Y;{WT{ub`0q z_V)I4hC5Tk<2wKStE+jUEPwFZ+uMRHjG%sK?eA}@@`~DFYYxbk-)USMy?xQ{-O`}> zGQFKogwD*h7Qekc|2VJtorZ}M1!b&CJXU`_uckev`;kp z_V&>|4-TGquw$un`Qx1nr&tU3{p)^w@o)W19kz4z=DYItNHaf=v)t7%zmEIs?tkL5 z{{5BCsCw|!p1 zHfwJ6yPe?RyL-1c`FLOA?{9B+{Cc%|W9{!UPy%8206JR4y8N9>c(}NjZd40sx^Ktd zZ?`Yrzu*7sS5?iA!}7;wnPz`D>0c-GzVdwag^L#(zrMcyc-ibcuO}y;7J))rG(4v9 z+&RA|MV2w;cS|ESBplpw?d+lZO$r`s?8@&|s(<=v13E?vRCNT3B%YgN`QwrJ{*Lm! z*(LQw&d$tb@9uOea0G;hw_Cs8BfNI)+81x$xR}j83ff8j^=f$X<72%H4d3@XxBYS1 z{_o`@Nnh`M-zT1%n+u92P)-GH?7ZZyf7DexmW2Vd5eGCx$8bP*`<id&ay$fEi-LBN7v}Mbd2e-1<`zpK^p8tbonqKUzEgu{CYZ%_X zef#3gn@4T3*mrFq%zgMqce*{(TTeoiQi~+@(vomv6 zR#w69x7!!5T*-MeM@;_rjpJ%D-#7Nx@~mCE)}r>8$)}$-e)DWB9jB>!PkYd3{mvma zHa5vq*JeHF7??nj#FP{kkfurLrc+;qO6It7JEi~KHGh9_v6bFadmR9{(ta4QBtlT^TzS)yW;_y zzkBkmz0tJKJKy<#<#k1?Us6pL{Wc8&&C%w*=4<=Rmh5P{TqU|UwkJiFHXjZ! zN9?UKUAO;V6=>6^{o`Gt+F=XUuH^+yJ5N0S{NwBR|5CQLwh^1te3^J+V`IUii?O@Q z7#aS(d;gDb|KGRyh4*W}GfLbo-d^@LYRmTRj}NlTACdp}f!)O1{PDWo?+%@>`)16; z%bS>y!2ueQ{PpYCht2c<@-Tp!FOR#l*B#KW``E2{cV+O@b?fv%$+_^TC}?k6`TpOr z3@pSw@q1op7$Nql5-*3?eIxocL|DVq* zRGO|%dU|?e=4G{--?#6(<>%|??Rdzx=Y8$_!^Y=rn$Ml{ zD=95qxO1oE>+9=}-z~r2d+?y+mv7&aetvq&;P!pDtVIC>=p>mr4Ua&@()!xB*%fcM zUjOjD{{QzEZ{GMUNL^JY_N(~O5zar4#P=V#xY+&U1!sQn3Lb-3dAj?yuV2sK+}wO) zZ?$>dugmivfsXf*&fnAMJKOBx?E8Pz{N`G<&YC5~!^`_{)#`Ol>FMhGKF@v6z;JDS z{QNinZ7M&de9|$?yVK#LHu+2P%S%f$^7GxJqowOUO`f0d{@&glFPF{!@Ol1!8TWp< zqjz=|gO+52Fob<1ov?p9VwnT7V z-LID+*OkQ`jy(Tdw{%yXH=Bd#sT8-z?e-~X7+xj6m@8lI9&Q;440y#PQ4t~2} zdD~!9hAb$luDJX6#*EH%maV_%yL~&cS|VyI>&|IQJN#s46{=`8ipg$Bm2%i>cU$E4 z?6vcBqqim8+>{DB4-gcapi(7$ZmHO}x3|q7?m8}CFC%T1bD(_RXW2cV*|D?vbi*XlN2a(ZwmCtXZD=7z4Wu0`#yl26~&=T$ICoApE;Zf|S*aHsgZ z>i(}^zNk!Fw`-Txk;0zo@pY2h@0Lk}b{Bw-AFwE3kT%advMO}-haDX#Tz#|K<%83T2DV$Ub%i<>i;QTNXb{ zczCFllfieX02d>FX=y2VEMCrbmcykFA3jKm9X=!>_V4$@cKKsXtlZ#g0+eA3zr47} zIl(sno=r)4x%wyD?{|tV-tYOW)>9~R{KxeApW@(H{l4$JtXPU%l)%L$Z{Uo$=Gz?hBv$?2n&VR667HmH!SFH@Yo21o^%$ zde`edN!XP6NHU}1%gE(9o4>u>P!g8S>hroedDrWxsHlR2tl|n?N;S`n=X)+v-kyKo zj*;Q8fs4OC|GT~4%+=*qS9eO+S8~gRf(!Ti}!(9ES~j*0{2|#!XmiVYJyo zV4;BG?`HWw4BzjT%S%Z~UATRF_8+sUqB&|u4R^jj`pJi_y{YDBja}mg=XSn@>(=qz z-j;j#U^6?YL8u$OZNbWwod19H|L@?|-y_g(|Igyx&gXI_W@d|)FHa9+4ePk38)F>V zmQvgMI7KJ@b-v8;bQe`|cSiB+!8Z4{Zr$3kh-3fnyYDyD{44^kj0DAmX>QSk6Hit= zVKR`lD&dI#b!qyB%*$#nfi1bWw-{1Va&!!#I=NL<^ zP&n~b`ns8#^kzx#NE@?fdt2J*df;k(1-I?)3A|5!-Sk*X{e21!}>b zxBHzVbRvK!V)FMuQIVX7@d7LoQc_OY+1h%$-xx6*cy)EPp@Biey?b#fn5yH#oM>LL1%?(hp%(7o9`YSeY@pv&d~`$8`?yt*fGf1*U9AO=APVoJ*L=~NqF*8 z-8=KoKUe>=E&smVp1*JNk55!~|L|({`bT>{pF8~Fg8^uY>(LR;C!Z@pJLy4FTi@># zfBd$6zwJu>E~S#vQpLWVM z++Ft8$=8<`)G=AOP|+oD3X7Pp-1|p%vBhUiPuA;4Y+z{Tm-kz+_JPs;ZMo86Yol8K z{ri_v!~H%ZaSf=fQ{;bgGkt!qZS}V~jO&kPHiFXf8{Vs&m6sTL8s&}VXWkS$;H4w= zG|Hao$cgi@9e1X^KHg|xBK^~P;hCAMk8p*YdLPADP{JyEUs{4iBC>|hZ~ycC3m#6a zcX<2Ged`XJ*p1&--r2o;(K#=j#+x}};c=BuS*A-cfVK<8#>Q4Wx4z#AitA44%^T*w z`}KOgdwspV(M+DYABW{1&B|Wq8MMMDY{Su=U%7JG92*WEbj-Q6g;PAPLJ>5kAOG*u zbcTjszp6}3OdkCE{r>p;zc=TDDo01N*+(BdP^kOREYBcuH@fWi+wG4Zw#(ZUC(4|b zjrj53)YKGo3>&D!0y-Y-5NP7^-@kt@%T_*Fy?#9?dJEp%FuYU!e(#Uj`+rJXR zajAYSr+dE~=p>9^zkdr`syi1a%G7_Jeg6R{Vb}eA9k2fT8rO!94Jm1xZ?YtHt)0y} zJxze6;>E&ta4Y`)zi-<={(8M$dGg5x>(}$&-kyKF^7-6$P@6_VQu5&Xy06-x1wuFW z*VkX#&n{mhkbP~5}oVCz;|x6O#`0Ee^Xe^bAyA0LBjyMc3H_-m2m7Xe}8O|Yd5G*FRbpD@b%SI zP`D*2M(wRKy>5a|l{6;f*K-=W5T?>=3C}0SW zEfu}CF19G29?)RYlarG> zPjA~03fdA0YCh)X>fXA28zd`ZRiaV3k6T>t2x#cxxMA7*dvljW+}xDP4Lbhv+3b9^ zXzoQChgOBI-cbHN?n#lQPW(QZzkmNmY|Rptl9v8>#`wHSHGg(i7N{alcz0(fXg%-5 zvuTB|u4sPw`Ze+Csi_vC+Nt(F!=4W;jn{Ub~yZZZk z4;}faaA799?OlP0Q>Mb_e$FfL*E}dO*}J&dc;DBx`41n<|NqhQH~MI)@4cS*oQJzX zZR=O7*ZVOnTA89dMSJ}o@Gupq8NX=RGB(hVI zcrLg5s`=+#`ToP%>-V<3UcXY8&xX#eNW1ilonhv(Wy|*Kh`$PPNXYv=Un#CC zZ%-w76=Pg9ZO3J}g-uu)IX^npx6|LvuS`M;{ZiU{5=y#xaRu;+;LI zpw6Pvaz5o(c6MSC#&&AEbQ0|%e&={F#WJkYw4c+}XFU7Q_eaWCKmGjEQX4b*{I$8S z*4%aa@~m5bU&q9Wf-Zqm8vF`d@(+4N>Ui7DKfZeXzF85cmrbfJy8ZU;+l<`YqrdO} zugkf&N3!4cn}l4|i-k{SC0)?I*B}1k^^?cP)wT!Mo0p9%-enN(o*loUJLYmInLA69OJ+id z#*>=ULSO!z+*@>PA%|1*!n!N=zxZc-eswr`THqP3#-N82)Ei%HWLZ`@Uzh9Rmexf< zt+SVzcGX{xp04?NKHurNA+P8AuDfrn)38dX`f{wb;>*w0_RKmFntcD7g4-ur{!m(U zy{ag>#Q5$bMvOQ3Vr>zzv_pUzjyS^hUh^2ftt)pNS6^tUmD zZQ=;$YHZz8|Fd{|;*+-jb66xLSP$IuOX1tsai;OP;Jh2`U&@qTy!PsA)Mf|>cv>-q zt8wyosbi(RC(dWO-Pyyjvo$?Ac5fo7IMY0NlFQPUld+gb)8u_UGQDC*u#%|IoNgyK2gv8z|Ej4sl)(FMH!&@xe9an@#J38+j~+|9Bi+CDhWNC|Q12vQ3SA_ukOpR{zF^ zDFW$s+y2Z+>(RO0ac32`;id}NPis%7%XMElR(VFq!l>n0{JrKk(fMj(_qH^)HOl{U zSfC=Y=2~nD_n(_Am3n_-&7T;)HUT!qM>}&R_B~yF;E!lj%znq; z*&O_P8_qO}3&_(BLf^X}BPTVwXJ_`POITs6zXf3Y0>`}!7qztZxz^zlNCjoY^9 zY1QeUiVE%7eDb|A_c^D$kCqZ~pUryK>~Yw7?Z}<~KjQ;0|2x%U+f%~od?bIH^MWi1 zlbK?NO#aMllZ*O)#!+r;HsXAL!<&{nIC5y!GPLL|_DU)T-f9v|J z^|#==dcKDz4?mvHmRQvHwxXbQm&XE=zDDh*-#x9_jtdr?;gv3Z<9uZ!zv+6ro{6rn z4QkFkm9YCQbfmQRWw{l{h5b+WuJBycblztcFT>Ve-^Itz@bWC!wvqGj-&zSt8Hv?O zE;7%9Z4a%zv#VrFV5W8E*~6=z7tVBdUdEYsS=Gmkv)W3mW~${CpLw(28a;U_kw3M; z{m13qbuW6h^m*;H$Yq^cecRW;`SXo^Tex1Idw%Tu5k`minl0^dPS1|A3(D289=z~l zVo2c(#!o*x*IkPI72>u3@(#DF?-`R6<~z%LDi8B`nK0nT=%Fz(~_Qak7`$hkM z*e!bg&bi_oIn%Fsu8E4K6S8 zR;Pr2yip;-6xU?I|HLg|^Y6ebZ|X!2YwI7laO(uXnk7nqTdp z>EzP~US5`X_g;E$-2(Zy=k0qBzPr3)?(LYM|2f61;Z^-z_r0bDPgUJeVOYe-61t0_ zG}aXl{Rssiipa>dW54s+bE z5ps-wE^$HRO-yq2@1T&VZM&P6%N*WlsMQlK!<@*F!vDtU+X1~Eov7}GTc; zlJ&H1a)JGZhgw(OR5CquD4!&=E8^UWb$mB1zcMuJdKPB${rvxidwtsrzW)C<{ZxaW zk<6?c{25YArS(0YfhA_@&C@bOx3C)IZWLR&?cPf!m&wWcH^0u_aKI<a*6|-} zcH>et&zEewmUr~QvvQ?%`7=NM^!d*7TK=!#tNH)qJ+G8*)V5ePySeRW?hC6LhT`cu z#}B;JJF-*IWQ(rT^@V>`Py2^&*dx=hZa(*!$qqltFPEF-Os1&L5(?O-eP*E;lUy z^*u1*xTJdj6RGFP8ISpR*6!!}xr}vj{TXq;FwS(A10TK=n*6_A@BHjbbf>BWLzB~@ zw@fu+dl#Hxd|}Sw#pW10jbE)<&0y84^Ck}rpU>y{!Q9}JocuU`)v52|%p8v-GNKyp z^z}3Mu1$V-P;f!;BaSlYx_0P_K#84H@jX1^PZZ+doJ2GIU4XaO@6JrGZQE5 zc*(60!P9b(r_piS!G$UuSAO;_=Pc5j!!jvM*6P>c1O2ZUPj6{GANFH&VVrl{{+nJx ztZSH!*N`|$to zf~pR#f+-x0nND;3B%XLG{8BvmZBe#P&Y7Rnul>$f(l~XkywYr^`jW=LjVq4pc2C^@ z?tJ5|s-AhS*1bX2Ka`C4|H~c%Ip*VD;j$jl1Q*jgo=py#VTTwz&iP2P7J}w3zFp`( zAy>h7;`xO6+hsa7T{aiH%HY^Bi}}2tMg39r1)DSN7nE>>a5me`XIZ43G$qXOZ?Ya^ zQOVA_((~rB*H`V@r^TT2bl#s-d8TVIHij>YKiaDE_cz^t|6lOoMe}2^dtE;yO5eH3 z(E0S9^}|RO#Ri6l4(3^WcKvS_J{L^ibYkneIbt7*&vH-9t(Tm6FPNce62pXo7ji7C zn6_`S_ue3EecqVM0!x$<3VEvUMH>DRQ`(HhFO;`Tk=id|6z~#u= z`Zsp2yMWy<{}VPpwsY|B?MX;k!SUzRY5ug;q5(!M=ljZ!9uPg3;J~AaB|90fTmIJRAoI9#=;nG9@=P!l#*+z3dJ}zwk z=HyTHRNh&iR3>Z@`~1grKEt#*#`C_Za=7>BRR5}1`h1|?eaCl67Uky2-+s(&xAtsU zF7#~URpNZy4$a4RVwjw*RntXo1PC z)`s_p`iILaJ1T@acI|&%qh7=NXTj_6vtKXEv4&f+^!>}PJ1ehv@7wXk(-s)8xU~t` z)Y}{J|0z$2tCTnxaR12TTdVFoPG@>o;2|-24~7aZzbf}%iruf) zwASZrz2>_6R~Q9cr!BDH5RCsVxuEpti~08}WF9uxcb~bu-{r#fnKG_zh7~i`s-6^h zu~~b^kMAE7CK?L#d_FPnM*pn6{z@`$4xZTa)Zwhmljvy*#j9j5o@_q(`;pd#pR+h_ z9sN_kOLVm!Yu2q&&(#YeI~KkUf41XA)x67039j9R7HkdTZ(V9WRyRKWEok>+JBR#F z!$ZMu7c;4O*_*MIZEIQ-68@p(|FMcI28VbKO>|7@-)AOe$fL0RL(Y?^X$#8EPv&T6 zckAy^zF^7TsMowe@4=)hA&x{p`-tCCKOC>GzqOHTnogw9@?8SwbDjUq@>j4Z6gVjV zkG<*O#^l?FcqW_=-E;grJI9u*p*G2TTV2j4|F_)pBj!tNk#<)6f7@q!e#v+K^`E32 zVI=d5rSVci!1JHW*U2+Kw=(duP(AWwZzkiSl-Ki3uCEtj&?#r^n=P)mVrKJ#SUDct#+G1i-FR@hMn=(zyA!Jqa{J}22{9QowgdWVuv0!?>5NLDh|GFizh z82ENv=4}p|?6`W za(uBiJ@aONull#J;&l$y{vWEeWO!pm(f4I-! zD(g-T7WeavdT-CfO>JITtax4YwTYJH{zYLY~K~%8q3uT2ZJ8^iM|NEy+3HZIcvR|{VItc3*Vc|X0t7>`?}YD=^f!! zIX+B(XH_t&MEop?W(u)&mVS6fG`#=S&&ABgO7tHr^J6q*lv<{6eu>eve-EFZF3ex{ zY??}bs?__?6}tjMn-fkYttbxOagtM0Q`&ZIZI<|7le-7)ni5R^UfUSv;lYwCbk1j2 z#mvw8wST>?=U1tkSSBtN-o~rH>4*t~kc0mxCjG(~?@IBI=+!yQjqaJU^X3dFRyMjAu23M7d5p^ZBRN5XZ{0Oz_A8VUEi=>nD9N zF*`V4+d#ci_ru>E=DX^yZV`UKlQ+p;Byi>GnvzjHPX z!Kbw?Ik!yd*AHLQTJrbQrK#IKH2b+}J)d_W<*`}t&X?2Y|7QGpJ$-Y~g}vjds5#CewW2Ci06aafSoz2{s^!?I5d zuV#JUbM( ztI#&ZreT@=uNX_|2=)XoCg;nq8{ek?{Wam!(jDH zs@|f<{;K2|!<1R<0iVLSI;*)$o3dJ&A2jgckOnVly{B`)eMu%0c7fjq|RJn71Z`~y|*&u<3YomLk zM_|OIgMmscVUOFsvi>PqFWT7nH7x!mAWty^ShLNbxulKuqfB(*j{H^kyH+<=Ll^u1e=}TtR#A`$*u(i&Z`NKyj zS5C&)X~CA5hRlQ0PnLx?Y}S=e-sUJ5yT9bG7yHXC+d^9}t(@wpXryj2*=09(dejZN&+Wiq97MOuBkV z?0dl0+6}tDw$J&Zzbg39j8lv&9zQ-HW-vKH)MVm|yHD7+uiUod{rXKptLh?`+HDr&92dek@5I4XlHK|&(|9|en_AFx;%g`y^uzuuYK|R!jv`sIT`9Eyd`E%3e8Su zny0U9y~fTlWgeT`ckz;_pZ`^!GE6aYFWK2L^ONh}_Jtt{kN558Vhku!k8O6)jL+oZ z+Iaug^D3zsD-Y=89x$27b}a12;#U88U)wd~cf4P(#gLM+VczSCAda=QyA%y{pFVJs zk_g?jB4Ek71M{)WsBL$xOUZ@b+PuZe6?!Yx0TPDc+g0kJu_3FX8X67F$-3EvL+jUnd!r< z%=@q8;PkV<|Ak!3p8fi|=-=F;zL27Ljg87ZJY~unM~;MV6j_nNQt+n4?|{jo#>-Of zQ{4~md?sYZSTyNC;B>}=Q{qC_K90TdJ=~B%h$%HzJ#o=*Imt5|38o4blAD&i`F&B6 zch0pxrK10Ky!ZdlUU=(k!TtF+)5Tt8^$2KuKbnxTVdv49MV}@}F|JXra1M>uTC?1Y zwfV*h|0QcVt?X`8UYQ*^cdc}Z^W0uTqZ?;jCfCKxSue1nC?>JmY1@hdKI-TG zELm^7Z&%CC_x@|;K73tazEWP}>NnLZcQuroQ=JyH=zC9B4A{QN?{)cA!2^2Jyc~?q zZdCg-likwufyPCL!?pF#9_sf!4&+|&UO?k7ck{%9|I{WwBt;>gRa5nnzFBZEN!~d_qkZZ=o16hhETNm)Z`#qVx zYgdK)r6_T)2Fu%u6J93HkUN%QzbdpttI58EX-e;f#8rbqEZiw>Gd2XvE9ud>xcsKCCKGtTB!iTFOv@6f8|C#Ra zLz|hQl>6KQ0b>D;yFo96SiJ6jS2z9P{9N*Y*6lQd4k?At519jwzu&b!aAh}V{nESA zUT+u_1I~KCw_>@qNJT|^V$pry&cFj#-#CXb&eG~{4YrKW6rHls?j~FPGR5AL^Ss}O zuXv>>!1Ogv{p1#X(?FB&f2XFK27R5l=`kZXYP_-&FC1N7!V|~;nnw}sRkiSg=f6E`RB9ZpQRiPm(*tH>Nl?! z&*w%UO6CirIqS;~$1^pUIVvbOpLJYt zc0z_$`vTAD`BCp#&ohPH7QgF$Nbuj2x;-o7l1t+kOM7tEi!v!FP7uhbUX(F;Lz+`! zNcFdD%MS~a&(FVdfIsxptS+W!bqml{NqeVg%*c$#eh@d z%ktkPyzE*$C)-DkG2Qw@sBvHB70=ZR_NssJXts}TvWxMsUC#B7fwgl1XJe7#g{7CB zRGvwENxdJxRAGgZPz0;Ys;tA;lpn@0*@S)$eifB2^snMlyH3WORd*MxU7PEr>Epr{ zUbVij+Q*&UyZe{#YpInN_g}q|yU9Ou%lc2X{>i-?R;~!q*cEi-22wKj>e7+rb z`=QOr;LCYV`SG152hOgOM?>^7BdSl;F0Zj*%UibXa#xO@^q-JuHs2*38+k2aTkP3t zXSDiEo%STN*nn;+O9KdjVDIF&kNCMg1t%64d0Llaf78cN*h#zyAiQj#mn0=B)nB z$XQ?YmG9ws+aKCXTg*z1v2vJHuFZYUcAKYBNa5m>efF{wRJMjN&oq0-KBc0n?@CA9 z{mXkj7((wqSU=^rbF|gc&#Uj6aa{R3)s4f1zcc9j-<@)QCT`oK=FhsZ^!yr=hRvE2 zH}eYapQO{OcR2niLxwPmk-LK8g_c(5Q}363`ny!tK#`H_@|2@jgB@3~T1dz4Hd`|} zQ(Cm**!sU8!bKT`m^d5l92R6fUC8|@d|BG1ay?Okc}%wc$a^kBz(>tEbKdg`XP3qz}*e{)AT5XH2r=Y;19GN=V)By_L<6 zZPAtmUR)xpEJR&cf85+7KjDM;@^9;AHCSo(IQ*EsmxWtQXGTH!*55@wchB247Oi_c z&%v@bA- z{@)Mjzm(fw#-$vHmpOjCNtJg zV#-=}huLE1j61?Be#gDz3@MgvcK>pH;iJgcbHdeLhwcoxEx@7lwE2YF&5~=5KR$E+ zyY%mc1}6hJ>=w)|@?v(pdO>aL4iOHgAIg6O|GjCqU(mC;;U%Bh_e+;#WBxsQ<@CWL zs%Xk@nbLU-kDLWMS{wvo-_P#5&sqO$q2H-?p@-{tSvf^pIdZ75%-Rt2W5@gTm$GYZ zSXIv2?U*BRtNniIq4}Dz3QwaB#aorOn3cAHf^~<2_l=zSW&$hPgl;z)yj2hgexUx+ zx#Pp~`ng+0|CO9C6@SRDk<9-<(!9t&Vb%8n{{=U*bGYto$h|*bSH0mykk=i4j~~i^ zPMV*avCCilPbh0ci-Xewy^77e`&3+i%&J>n;ygP$j3rc#b>3~?ADgdE_5R_#e%^&8 z6H3@m&zi98&cUENAy%SJQE!(#6k{5~zdsLh+3>beVb{G{@dp>veoS7_AJb+p9kahx=*)b3d%we~&gBKW zzIznh^(^`NYR|E4Wg#)ki~C-zINg$DvhqgGZ-&hW-{x5VF}yDSFrSHG+13-F47bj4 zfl9y@L6%VFIlYbwyF_MnXU@!FFh8jmdr1Caz83>1C#X8McVG8tNtvs#Lh8m6adBqH zB@Utw`#-q<(B9t{&?F!v$Ml`$R8&ID9<{eIbxUKEEg6n1R}cticASwj_k;V7&BFiA zF*rCWC|+>mn6l`MPmHoELyM!rOSVQ2K9-A|K0-RpncJLyDF5+%w3buv0jK>1S)F%s zyPCgVNquapweGT|c*(WtVsB=yIeq2$Z0`aMP6f{TG>3EPkh1%m^MXu`2lpJ`{SM~M zw_|Nw5wfhs{?L4p8I$XbI@ZjMr&$#m@e*5_{~r^X+h72 z>s&2wHaubC3$B-=Yf&fuk5s;641xR_37HGAxx@8K`!Bnf!@{J#8e&XTw6S6EXo zefuT!kE34gHD{@*8^;%ECSMh|t)`PK-fo;E#qdZ__oz{$9>{uqVeJJKM_I)S zxd$doF)ZTdSSohctA+CpXMKzPq5D2xTg=K&9C4od?P^@j-u0Y|Pe(4uy?=iCx7`Ph zoPV{@KRqeq_IGBGhg$4SKbSvduT&K~V6y*NCZ|dE(vKH~B3_kFy1aeIuJ`BDxEG$} zuz$yH!k(k{O6iZ_ze_7tYcZ&>{99-J%;L5=&#%Vv$!e#9M&`QRJT+ERc5%kdlkp_+ckUxmwKL zT?g0B`d0E>b;>UJ3*tYDHOu86_J0WXj1^{>AfWL$F0*=vgs)He`d$N#jWYr)^i+$c zM~FY{|B$Zy$CtC=(gWYFPl+uCv4_kK%=P{KuZF=X*vpAYMBr7*!TGNeln%|0{a~&P zt_E8inik}NTphRc#pLK4A+teIeq?J>7=ur>TvnMv+B8O4i`)|OufAA-2?u~ zr_Pw9TzKjYD#unXS7A_LnYI7=a*o79vfuygjLNwo{9-mZ{yq!-JH-Ubya8G_1mC?m z^YyrbK&01YcaM@%d64g?TY(0SM|R?ZHKnRo)ltsT*5r}@PKZ^PPX|XvtEvTHK z%<_w~$E;z2O2TYEzR8X9%cf2_FL-#{7GIEIaqAyhtdn8jYy>T=*sz)RMh?59XYu9M zq##9)LhDPj(&hiWY_m8tzv>5bfGjvT%^Vh=zW$2EapmW`><=!l^vPwkk5-uY!TrZ% zj{21h3swtc1Od&ubcSug(6+XMJxy6;i^G)H8XY+nZ#(=Ab&T>2~dB5Cy#&z%7;~cG7VpY?>u?UHP zilO4ta~uu(92R7DD6IDLz?rY-u<(e3K$HB#^I<f*1KJpJ)mlw+wT!%Bff?K7Ttl2`sd-0&e?{7)!P!z!_&cibv0znJ>AH7>}iDCXn| zeJ8j@QQ}CM#p2V`msfkla$j1vK8Znvl^FM@}G6*q!z2=y$;25C9pnI`ShP)%B44Lx1%@ zj2`j~xf|pJnBF!z%)Q_uzFsF`Gb3Lu2U{WMpO~!X56|`1yga3{0F+?gIWORKcy4sX zljF|>rcA9A16hefwT;gdyB(!p?wfq(qdNCL28E2w%+6e^J97mzUf1oK^p@38w0O$z zKYv>6rXM(ewAyE{@T3P9(|^ofcW=ScrK({&3w{g9JYwRwB$Z))!L!-XX<_Us=UuKR zRS&5A5&Y+K_&y6m$ld^Bixz>5&$at@R)jjw_7BkbnIa&4;Jj+Ymef6*_3sYfmt@G0 zW?2@iu6RLSphPlk>AuVBniuxfHVcU?%GOH?Z@hS|nzR1bD_dp;&c;oz7MV`??#blH zIU#LP?PN#AAQ8ob{`N;`#-*@=_8U_!J5_TqEC-#LtY8PuG4D&D4E;U~*b+kU|0^Ok4m%@BCk@nnb=Gb5nbzFO&&v zdFp)nx>6|PPQJQbjTc2sKo$N`)m6(1L%a8N?Yg{Xv%!bVE7RLzGEW5e%3R$RpLzT0 zmh8`aGi_dPIhecZXh%TC_M(En8J4%-8CR}9{ouJasLi|2IbqgU&y~lY{M~nGj^>Ln z&gRX!L3T}w%}y1dia~wtJq_N*oaO^tbmcP-Mn`ek^1hysd(GkU_gQQQwfq*1su%o;f16V^|u9&Tt_*LQMWK)B++m;?!(Dmz5)PovpE!=fy3*Rhgw9 z`U^6Edh0s7l6cpMb>x(t-?ig>zoUGa?iVxm)*oyIE%v3wO&^v^Fyyv6h@QH*l|gW_ zLgs2y!?VAa9#U8saPN?wC+F{Hc1urB|B!xKN^qsvz3a7&nTMliow{F^ov`)$<*lpb z*wUkq)G#{FeV6r)|BLv&80+roAC^C7HoSC^BlgfIrM}#4Y`6G|GM|6mT-bl#hkH(L zK}M1PA{W<8WsaXb`FGwwSO3H4aN*7!nb#2oxz?60u6y<7DNJ&+-FILAW#kQxRIR-{ zb_bTd{mtylBvbs^@Wx@c58l_#J$v>n;yKg%&w@oliUC3g1X!NRMP>*K>DZNO1i zcTaz-+@bi&T$jo9S04WQcvp4KH4AU6&X(WYPoI8DKER&nANqG+)BLv&K&>!e&IT)n zvuPYY(Fb=*C@3*LQaP!xkWbdYLu1O$7v9ZwP0F$RTI?-B!<)O98dt56vt#Ml!CSoYJ;;KpIuAG5_6N}U#Db+_bOGGAWPotGF{x}w4Hu0zDD zLn+(}UL0Z*bH0A4T`%+Sd>_Ba-Oo{8au-ghEO^=A8(Ml<%A>=Ww_w$sUAxXR_+>Zx z6x-Cc_<3^8d+;o70sBM$d)N9`TsieZ=o)il=E;|p3 zf^&t+pPRevrrvf7@jF_=`Fi5aYYz5~0aiSI+fNu=IGn4R$h|?}PRgPAybqo$|C!3# zV8!6eo^$Joke@V1%qBK37Dvt6OPtNdx;8A%pS>J+390?q$z9iC|5Ls+aB1&F)iulG zuCHy(y!u#Z$|@#v&EtE2vb8OXxvaKzX1To-x)!`XC3}HL#w4zS zZExOR=1g7Z!Z4f7=Jp!pbuMDUf9^1t&Tp~}Vt0rYSg}hsTEXD0Ri#qry{eoh$IAj? z?-nh4JVp5afnX(p3t2DZ|6F{!dfQwLUBwq5W4mmV*6nIly}J0-&6iCIC&Mhm7uT15 zpZuHU@5*LS%bS&_Qn9pC+n0f7KxA*m9duv;a+CGUfFbH&dx;Tb7?M^t)_Vm@Ps{ylgE&iLa zW-kAJ34PQ~l!@UND3raC@%8Z?W4?x6ph&$W^@5+nYpuUH&n>1F7Q3Hs1^&F5+WF!6 zF&Ps+khSjCcG1k2-|g=Yvx)xx)$rAI-5Z-d4+`J7(_kO_Vr$K zh<|V*yV99>jiEG&)$eD)6F3}$zU}t>;k|vY2h)_7 z4eEE_-pJtn!poAoDp;MzZ+nKphQsnRzUq1$agSJh^?dDz*=x_PxH3DFcM9t)7RUXu zJJlZaWG38cv6X!*^oOIaWq-t-Ien*Ac3g9)T(I)er5Cs7Ip01IC7u(u>3{&w)24Z6 zyQV$>HOiJ=j|=f!x`pi&6T|$qjjLX7S$c1#+I~)nWGM;B3D3KnzMft6tePn;{D8mF zpQ*eJyB3~dVObRxuxf21i(~bgay2F!l>^}`xu>KAY*9VXa`7OGY1H34Gles^ONL&a z(5;s!TYLE-Uy6v)l&h<)GL6rF-^#tIM%H-t8haM|`q!#|G#MQ31}u}d$>dGhyDY(X z`O&^cSr$9Zw?8@Rww=g$yt(}CVGq~pz$m5*QW~4}S!uQOGAAlZ>|(FpbxZAs;GY+tOz)>HaZ-q4 zPTh9UBV}*$LT)zSgAxZXr<^>Z{45QG=C{Wh7eP!rm6UyLuSnj-Y&?LV&iOWu@x7!V)VVgS>?~o%gf3buJEQT zdvKXGd%>%^8$3ErT?fr-F4Esq;E6T<6wx!O~@^>=i_6C*3S_+-{(`p~}cY++l ztQG@Kg{(tT9s*m^-}uzcxxp1ORd0%w(xF&gwcjsf2HV5)tvkh*UX^eRh@Z{lwek5(PoK|^j6^owNNrRw zm?>=@_1EJ0A`@w|wIMIW)HuA@j6EA=&ir-1v3QgEkB_wEB}34@*wI)7l~M=ZB+`XPd|J16$bGaxMpbFuA(yt;39COlnK}*Das>k@FWv z9gF?_hyKzGV%++wza}cY@SAPNUid@c?CF~Nkc<|U`iD2a{MJhS8>r}>vP!sw+t}-- zs77*?xY!}NhX+efeBu35^TVUdr@SjKv1vi~V{O)bGgxLFc)r<&#lC6&+0X7X7iV>g-8T0hldb2MoD}ek(x@rt7G}B2Uc2(Z(Jgu`wpw}H+&_HI z=Idl|;ABu^b*p7@jK4KijrrgN0oSFz0+T=4aMu5N+M(hwU4>yXOH+yGZ}#SG2d?^X zi$1(ydt$Ph^}+sJp+7+k4xSfO85>ki9^BhmS6_33D|nxJbD3^#?|ZLF58QtghxU0W zm3W4pU~#lp=*WzHqF1GMKI7X;fnOQ5%0G7MyQ_%q;%H)V^vw01DZKCb&*Y#C`(sld z9RH~LN0Q+{5~He{mRHar7DxNzu|gGwOS!wX10HrUgoM6nC^Pn)pSj6r znx@uv<`QmU7S2UW{YzFZIQplK#rA%RYJ=cE3xD-fqM=pFcMq{RzI^Llp`PRY(#b%@ zCXiA14@X_zxw|KgT(5?>Y&US6kR0&y$!5+~Gk(lm;Qm7ShiBcln*XP!YkMtr+SQtR z+DTxF{K0Hvm$Ta*{N(Fcw`^VFD~WBsA2y5sTgB$kc|cXrPjZ72cSVlJ^G8A^Q+I24 zz2CilCr55Urr^FCcF)~j7P)4cy9lUo+_Dh6bT4*(@J@r9#`Bv?c5>9!u*b|$pSa5H zrI;GWEw+R+Z;v}YSeye&3HtIL6TK8OcvU!V{i>O9yTA2-`%jKI7W?pr{+bM4EP71} zPYVRume2mf;v^QG;J;`Ni#^kh)en}lGIY02&T&=bI5n-=V8*>g4jL+N0^@FO3SgW0 zeq(oalJZ?AFIGpjZPR$ITO7A`vmTtV!TqV9q(*aW@tUZcO2JH*b#tcsOgU;Rp&}tP zW5o?k_Tz{4RZgE4Gw~$f1zn#XMS{CxZgn3QcHpQ8nFn&{>`kshR!#yc9KSy3?PT*? zs^ik)QqI_a!Tp2skDI#DDl3y&9IG8CeA=P9c%|#Y$=Y9F zi#!Ww^GiLZ7ALX$jr|UeAC!Ms@-(nGZhtb#F3hY^bZv{yzJqd!ht7RmXtU{Qx61q7 zvuzA6eJ>PbdCR63-E5qpno=nGL*=yZ2jvyF^`cc|*X1ziHZ7<=Ke=;mBuCX7X2Z|zmxMrpwO^i{@{eJ zrds7IJ3js4s262gpzC!*Eo14^v#}?NY!#BXwRSal94KD99u!{spIptFy4P;H^y!%y z&n>mp>sZgGd!!^~JINpHe?KEca&Zvr^5_`~9zR#j{;;npU@71cp&e;7RU6j0!}!wy1iJO zGsTd%a-$-=f_# zzh7Zd;dT~K*>a0R%x-zc z!^#68S~BcS^Vgrh`}Di9k>ZTCKW}n0wK$5WnD2D>RFfk1Oms<4%{`-(J|8YmfhB9U z?H3OAwTe3OMQ2rJpYg)pQ&ToLN!C_}D|0dlvwYnnGG)4h$BKl9n-$jtxRu|#ot4t3 zQre*4Q5oCp$fU^K*k7ygBQUJ9$X&?VSzyVYb%zuhC$t_oUbjO>`}h^PoysfcZm!gq z(9M~$`_@Sxjg*CxQtCPCri3rOGx3X`5R2w!e*+JVl!ZYl`$3}ZcP8r2RpSUsi%*;o zaKg#eV4<>@jAv2X@u`sv8MbhB7e^gtq@Z2PfU@7o_UcnGNQY?A*aCd;HGDsjB|f&0w6 zlWaGcK0OuE>@KeAXm*y<|7-4<+R0uE z9$W0Xz~3~#{*(LU)Zr*4bNE~FLPcu%N1tf zY*rIzbW-FNmHzGV)AHLR#tW(s6dX3{w>XK3G0k87SLH|GzblLr6i)0DVB>7nX;Jt# zy>`K$Z{HQY7H?*8{MHH%)JsYGZ}K>`)@}GFPGzl3n^7jLRDVTYb^Xi>}2G>wby=lf43`y zU&wL7U&R-<_AV%Vvm(VJ?v3#8hxe?-UP_rXDI|JcdZKz|$?gw@Hk@TL-ru_aZde^Z z@tvazhY;IMcP(A7@3Cfw(!yZTjs)7HaV zW^9}fiU2L2KF;6A)1PrN{9i)wDz+nK*-xZp1Eg_n)flEqm} z%cW2B_lf7rm(@?qZhp+I@N-6Se?stIr-Oz|k`g}Vzu~BRGygKf3vCV|w#Z8{J{Idj zie$XMP5%3Nas9;C&Cf3frrK%d@9H|MYbBGdWz?tt`}Dt?_m7{L-uUJ1nW*{xj};c2 zh?-MlFWJ_5zTt1`f0b{>pK_aiJkxvXDZ}C