From 49effb12fc8f5e5bda231eea21642cf947a20f95 Mon Sep 17 00:00:00 2001 From: Sean Dugre Date: Sun, 30 Nov 2025 19:43:24 -0500 Subject: [PATCH] fix: remove .gitignore files --- .direnv/bin/nix-direnv-reload | 19 - .direnv/nix-profile-25.11-c9asdiqw1rf5qwdj | 1 - .direnv/nix-profile-25.11-c9asdiqw1rf5qwdj.rc | 2039 ----------------- .hugo_build.lock | 0 public.tgz | Bin 63332 -> 0 bytes public/404.html | 189 -- public/about/index.html | 212 -- public/apple-touch-icon.png | Bin 190 -> 0 bytes public/bundle.min.js | 3 - public/categories/index.html | 191 -- public/categories/index.xml | 11 - ...36b442c1f66f718ff4e8164fa86cf6c61ad641.css | 1 - ...5466d5f7bc2f0bc9abdd98b69385335d7baee4.css | 1 - ...6737007eb5051b157b86fc24487c94f3dc8bbe.css | 1 - ...3e69e849e2200e0002a228d137f236b09ecd75.css | 1 - ...8b19d8950fe78ca29454ea8c2595cf26aad5c0.css | 1 - ...7d0223a38db52e2561dd87966eb5fc7c6bdac6.css | 1 - ...7c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css | 1 - ...f519901124fa5cbb4519b2fb0667a21e9aca39.css | 1 - ...925fc1c581992a4bf57f163e5d69cc1db7d836.css | 1 - ...c05216742d42fc8ecbfbe6b67083412b609bd3.css | 1 - ...05448facf29a53001b57e038828daa466b25c0.css | 1 - ...6fb92427ae41e4649b934ca495991b7852b855.css | 2 - ...802312390d30e4b1d8dc9d814a5b5454d0ac11.css | 1 - public/favicon.png | Bin 273 -> 0 bytes public/fonts/FiraCode-Latin.woff2 | Bin 35496 -> 0 bytes public/fonts/FiraCode-LatinExt.woff2 | Bin 12696 -> 0 bytes public/index.html | 239 -- public/index.xml | 26 - public/og-image.png | Bin 22535 -> 0 bytes public/page/1/index.html | 9 - public/posts/index.html | 228 -- public/posts/index.xml | 19 - public/posts/page/1/index.html | 9 - public/posts/test-post/index.html | 217 -- public/sitemap.xml | 21 - public/tags/index.html | 191 -- public/tags/index.xml | 11 - public/terminal.css | 5 - themes/default | 1 - 40 files changed, 3655 deletions(-) delete mode 100755 .direnv/bin/nix-direnv-reload delete mode 120000 .direnv/nix-profile-25.11-c9asdiqw1rf5qwdj delete mode 100644 .direnv/nix-profile-25.11-c9asdiqw1rf5qwdj.rc delete mode 100644 .hugo_build.lock delete mode 100644 public.tgz delete mode 100644 public/404.html delete mode 100644 public/about/index.html delete mode 100644 public/apple-touch-icon.png delete mode 100644 public/bundle.min.js delete mode 100644 public/categories/index.html delete mode 100644 public/categories/index.xml delete mode 100644 public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css delete mode 100644 public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css delete mode 100644 public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css delete mode 100644 public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css delete mode 100644 public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css delete mode 100644 public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css delete mode 100644 public/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css delete mode 100644 public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css delete mode 100644 public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css delete mode 100644 public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css delete mode 100644 public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css delete mode 100644 public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css delete mode 100644 public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css delete mode 100644 public/favicon.png delete mode 100644 public/fonts/FiraCode-Latin.woff2 delete mode 100644 public/fonts/FiraCode-LatinExt.woff2 delete mode 100644 public/index.html delete mode 100644 public/index.xml delete mode 100644 public/og-image.png delete mode 100644 public/page/1/index.html delete mode 100644 public/posts/index.html delete mode 100644 public/posts/index.xml delete mode 100644 public/posts/page/1/index.html delete mode 100644 public/posts/test-post/index.html delete mode 100644 public/sitemap.xml delete mode 100644 public/tags/index.html delete mode 100644 public/tags/index.xml delete mode 100644 public/terminal.css delete mode 120000 themes/default diff --git a/.direnv/bin/nix-direnv-reload b/.direnv/bin/nix-direnv-reload deleted file mode 100755 index 260cd44..0000000 --- a/.direnv/bin/nix-direnv-reload +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -set -e -if [[ ! -d "/home/sdugre/www/seandugre.com" ]]; then - echo "Cannot find source directory; Did you move it?" - echo "(Looking for "/home/sdugre/www/seandugre.com")" - echo 'Cannot force reload with this script - use "direnv reload" manually and then try again' - exit 1 -fi - -# rebuild the cache forcefully -_nix_direnv_force_reload=1 direnv exec "/home/sdugre/www/seandugre.com" true - -# Update the mtime for .envrc. -# This will cause direnv to reload again - but without re-building. -touch "/home/sdugre/www/seandugre.com/.envrc" - -# Also update the timestamp of whatever profile_rc we have. -# This makes sure that we know we are up to date. -touch -r "/home/sdugre/www/seandugre.com/.envrc" "/home/sdugre/www/seandugre.com/.direnv"/*.rc diff --git a/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj b/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj deleted file mode 120000 index 11ecc85..0000000 --- a/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj +++ /dev/null @@ -1 +0,0 @@ -/nix/store/24wp2x622g5zad6j9nicp5fg5bw8p80k-nix-shell-env \ No newline at end of file diff --git a/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj.rc b/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj.rc deleted file mode 100644 index b34a6d5..0000000 --- a/.direnv/nix-profile-25.11-c9asdiqw1rf5qwdj.rc +++ /dev/null @@ -1,2039 +0,0 @@ -unset shellHook -PATH=${PATH:-} -nix_saved_PATH="$PATH" -XDG_DATA_DIRS=${XDG_DATA_DIRS:-} -nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS" -BASH='/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash' -CONFIG_SHELL='/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash' -export CONFIG_SHELL -HOSTTYPE='x86_64' -HOST_PATH='/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin' -export HOST_PATH -IFS=' -' -IN_NIX_SHELL='impure' -export IN_NIX_SHELL -LINENO='76' -MACHTYPE='x86_64-pc-linux-gnu' -NIX_BUILD_CORES='8' -export NIX_BUILD_CORES -NIX_CFLAGS_COMPILE=' -frandom-seed=24wp2x622g' -export NIX_CFLAGS_COMPILE -NIX_ENFORCE_NO_NATIVE='1' -export NIX_ENFORCE_NO_NATIVE -NIX_LDFLAGS='-rpath /home/sdugre/www/testsite/outputs/out/lib ' -export NIX_LDFLAGS -NIX_NO_SELF_RPATH='1' -NIX_STORE='/nix/store' -export NIX_STORE -OLDPWD='' -export OLDPWD -OPTERR='1' -OSTYPE='linux-gnu' -PATH='/nix/store/22bglxh2smwy0b4rpqq88kbq4zvdq6lq-hugo-0.152.2/bin:/nix/store/kkmg0vkp9y4jp9yqgzrml0fgac9lfcyq-just-1.43.1/bin:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/bin:/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8/bin:/nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0/bin:/nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12/bin:/nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9/bin:/nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12/bin:/nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2/bin:/nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35/bin:/nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14/bin:/nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin/bin:/nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1/bin:/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin:/nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8/bin:/nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin/bin:/nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45/bin' -export PATH -PS4='+ ' -SHELL='/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash' -export SHELL -SOURCE_DATE_EPOCH='315532800' -export SOURCE_DATE_EPOCH -XDG_DATA_DIRS='/nix/store/22bglxh2smwy0b4rpqq88kbq4zvdq6lq-hugo-0.152.2/share:/nix/store/kkmg0vkp9y4jp9yqgzrml0fgac9lfcyq-just-1.43.1/share:/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2/share' -export XDG_DATA_DIRS -__structuredAttrs='' -export __structuredAttrs -_substituteStream_has_warned_replace_deprecation='false' -buildInputs='' -export buildInputs -buildPhase='{ echo "------------------------------------------------------------"; - echo " WARNING: the existence of this path is not guaranteed."; - echo " It is an internal implementation detail for pkgs.mkShell."; - echo "------------------------------------------------------------"; - echo; - # Record all build inputs as runtime dependencies - export; -} >> "$out" -' -export buildPhase -builder='/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash' -export builder -checkPhase='justCheckPhase' -cmakeFlags='' -export cmakeFlags -configureFlags='' -export configureFlags -defaultBuildInputs='' -defaultNativeBuildInputs='/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2 /nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook /nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh /nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh /nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh /nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh /nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' -depsBuildBuild='' -export depsBuildBuild -depsBuildBuildPropagated='' -export depsBuildBuildPropagated -depsBuildTarget='' -export depsBuildTarget -depsBuildTargetPropagated='' -export depsBuildTargetPropagated -depsHostHost='' -export depsHostHost -depsHostHostPropagated='' -export depsHostHostPropagated -depsTargetTarget='' -export depsTargetTarget -depsTargetTargetPropagated='' -export depsTargetTargetPropagated -doCheck='' -export doCheck -doInstallCheck='' -export doInstallCheck -dontAddDisableDepTrack='1' -export dontAddDisableDepTrack -declare -a envBuildBuildHooks=() -declare -a envBuildHostHooks=() -declare -a envBuildTargetHooks=() -declare -a envHostHostHooks=() -declare -a envHostTargetHooks=() -declare -a envTargetTargetHooks=() -declare -a fixupOutputHooks=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi' 'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi' 'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi' '_moveLib64' '_moveSbin' '_moveSystemdUserUnits' 'patchShebangsAuto' '_pruneLibtoolFiles' '_doStrip' ) -initialPath='/nix/store/imad8dvhp77h0pjbckp6wvmnyhp8dpgg-coreutils-9.8 /nix/store/av4xw9f56xlx5pgv862wabfif6m1yc0a-findutils-4.10.0 /nix/store/20axvl7mgj15m23jgmnq97hx37fgz7bk-diffutils-3.12 /nix/store/drc7kang929jaza6cy9zdx10s4gw1z5p-gnused-4.9 /nix/store/x3zjxxz8m4ki88axp0gn8q8m6bldybba-gnugrep-3.12 /nix/store/y2wdhdcrffp9hnkzk06d178hq3g98jay-gawk-5.3.2 /nix/store/yi3c5karhx764ham5rfwk7iynr8mjf6q-gnutar-1.35 /nix/store/d471xb7sfbah076s8rx02i68zpxc2r5n-gzip-1.14 /nix/store/qm9rxn2sc1vrz91i443rr6f0vxm0zd82-bzip2-1.0.8-bin /nix/store/3fmzbq9y4m9nk235il7scmvwn8j9zy3p-gnumake-4.4.1 /nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3 /nix/store/qrwznp1ikdf0qw05wia2haiwi32ik5n0-patch-2.8 /nix/store/v0rfdwhg6w6i0yb6dbry4srk6pnj3xp0-xz-5.8.1-bin /nix/store/paj6a1lpzp57hz1djm5bs86b7ci221r0-file-5.45' -installPhase='justInstallPhase' -mesonFlags='' -export mesonFlags -name='nix-shell-env' -export name -nativeBuildInputs='/nix/store/22bglxh2smwy0b4rpqq88kbq4zvdq6lq-hugo-0.152.2 /nix/store/kkmg0vkp9y4jp9yqgzrml0fgac9lfcyq-just-1.43.1' -export nativeBuildInputs -out='/home/sdugre/www/testsite/outputs/out' -export out -outputBin='out' -outputDev='out' -outputDevdoc='REMOVE' -outputDevman='out' -outputDoc='out' -outputInclude='out' -outputInfo='out' -outputLib='out' -outputMan='out' -outputs='out' -export outputs -patches='' -export patches -phases='buildPhase' -export phases -pkg='/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' -declare -a pkgsBuildBuild=() -declare -a pkgsBuildHost=('/nix/store/22bglxh2smwy0b4rpqq88kbq4zvdq6lq-hugo-0.152.2' '/nix/store/kkmg0vkp9y4jp9yqgzrml0fgac9lfcyq-just-1.43.1' '/nix/store/8q2582rd22xp8jlcg1xn1w219q5lx5xa-patchelf-0.15.2' '/nix/store/l2xk4ac1wx9c95kpp8vymv9r9yn57fvh-update-autotools-gnu-config-scripts-hook' '/nix/store/0y5xmdb7qfvimjwbq7ibg1xdgkgjwqng-no-broken-symlinks.sh' '/nix/store/cv1d7p48379km6a85h4zp6kr86brh32q-audit-tmpdir.sh' '/nix/store/85clx3b0xkdf58jn161iy80y5223ilbi-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/cmzya9irvxzlkh7lfy6i82gbp0saxqj3-multiple-outputs.sh' '/nix/store/x8c40nfigps493a07sdr2pm5s9j1cdc0-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/z7k98578dfzi6l3hsvbivzm7hfqlk0zc-set-source-date-epoch-to-latest.sh' '/nix/store/pilsssjjdxvdphlg2h19p0bfx5q0jzkn-strip.sh' ) -declare -a pkgsBuildTarget=() -declare -a pkgsHostHost=() -declare -a pkgsHostTarget=() -declare -a pkgsTargetTarget=() -declare -a postFixupHooks=('noBrokenSymlinksInAllOutputs' '_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) -declare -a postUnpackHooks=('_updateSourceDateEpochFromSourceRoot' ) -declare -a preConfigureHooks=('_multioutConfig' ) -preConfigurePhases=' updateAutotoolsGnuConfigScriptsPhase' -declare -a preFixupHooks=('_moveToShare' '_multioutDocs' '_multioutDevs' ) -preferLocalBuild='1' -export preferLocalBuild -prefix='/home/sdugre/www/testsite/outputs/out' -declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' ) -propagatedBuildInputs='' -export propagatedBuildInputs -declare -a propagatedHostDepFiles=('propagated-host-host-deps' 'propagated-build-inputs' ) -propagatedNativeBuildInputs='' -export propagatedNativeBuildInputs -declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) -shell='/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/bash' -export shell -shellHook='mkdir -p themes -ln -snf "/nix/store/xb7i8d85z33f7prfimkc2pn049yfbbny-hugo-theme-terminal" themes/default -' -export shellHook -stdenv='/nix/store/br3nr5ymp1p8k9gn9zljmbnsksikj98l-stdenv-linux' -export stdenv -strictDeps='' -export strictDeps -system='x86_64-linux' -export system -declare -a unpackCmdHooks=('_defaultUnpack' ) -_activatePkgs () -{ - - local hostOffset targetOffset; - local pkg; - for hostOffset in "${allPlatOffsets[@]}"; - do - local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}"; - for targetOffset in "${allPlatOffsets[@]}"; - do - (( hostOffset <= targetOffset )) || continue; - local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]"; - local pkgsSlice="${!pkgsRef}[@]"; - for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; - do - activatePackage "$pkg" "$hostOffset" "$targetOffset"; - done; - done; - done -} -_addRpathPrefix () -{ - - if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then - export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}"; - fi -} -_addToEnv () -{ - - local depHostOffset depTargetOffset; - local pkg; - for depHostOffset in "${allPlatOffsets[@]}"; - do - local hookVar="${pkgHookVarVars[depHostOffset + 1]}"; - local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}"; - for depTargetOffset in "${allPlatOffsets[@]}"; - do - (( depHostOffset <= depTargetOffset )) || continue; - local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]"; - if [[ -z "${strictDeps-}" ]]; then - local visitedPkgs=""; - for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}"; - do - if [[ "$visitedPkgs" = *"$pkg"* ]]; then - continue; - fi; - runHook "${!hookRef}" "$pkg"; - visitedPkgs+=" $pkg"; - done; - else - local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]"; - local pkgsSlice="${!pkgsRef}[@]"; - for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; - do - runHook "${!hookRef}" "$pkg"; - done; - fi; - done; - done -} -_allFlags () -{ - - export system pname name version; - while IFS='' read -r varName; do - nixTalkativeLog "@${varName}@ -> ${!varName}"; - args+=("--subst-var" "$varName"); - done < <(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }') -} -_assignFirst () -{ - - local varName="$1"; - local _var; - local REMOVE=REMOVE; - shift; - for _var in "$@"; - do - if [ -n "${!_var-}" ]; then - eval "${varName}"="${_var}"; - return; - fi; - done; - echo; - echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}."; - echo " The following variables were all unset or empty:"; - echo " $*"; - if [ -z "${out:-}" ]; then - echo ' If you do not want an "out" output in your derivation, make sure to define'; - echo ' the other specific required outputs. This can be achieved by picking one'; - echo " of the above as an output."; - echo ' You do not have to remove "out" if you want to have a different default'; - echo ' output, because the first output is taken as a default.'; - echo; - fi; - return 1 -} -_callImplicitHook () -{ - - local def="$1"; - local hookName="$2"; - if declare -F "$hookName" > /dev/null; then - nixTalkativeLog "calling implicit '$hookName' function hook"; - "$hookName"; - else - if type -p "$hookName" > /dev/null; then - nixTalkativeLog "sourcing implicit '$hookName' script hook"; - source "$hookName"; - else - if [ -n "${!hookName:-}" ]; then - nixTalkativeLog "evaling implicit '$hookName' string hook"; - eval "${!hookName}"; - else - return "$def"; - fi; - fi; - fi -} -_defaultUnpack () -{ - - local fn="$1"; - local destination; - if [ -d "$fn" ]; then - destination="$(stripHash "$fn")"; - if [ -e "$destination" ]; then - echo "Cannot copy $fn to $destination: destination already exists!"; - echo "Did you specify two \"srcs\" with the same \"name\"?"; - return 1; - fi; - cp -r --preserve=timestamps --reflink=auto -- "$fn" "$destination"; - else - case "$fn" in - *.tar.xz | *.tar.lzma | *.txz) - ( XZ_OPT="--threads=$NIX_BUILD_CORES" xz -d < "$fn"; - true ) | tar xf - --mode=+w --warning=no-timestamp - ;; - *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz) - tar xf "$fn" --mode=+w --warning=no-timestamp - ;; - *) - return 1 - ;; - esac; - fi -} -_doStrip () -{ - - local -ra flags=(dontStripHost dontStripTarget); - local -ra debugDirs=(stripDebugList stripDebugListTarget); - local -ra allDirs=(stripAllList stripAllListTarget); - local -ra stripCmds=(STRIP STRIP_FOR_TARGET); - local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET); - stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin Applications Library/Frameworks}; - stripDebugListTarget=${stripDebugListTarget[*]:-}; - stripAllList=${stripAllList[*]:-}; - stripAllListTarget=${stripAllListTarget[*]:-}; - local i; - for i in ${!stripCmds[@]}; - do - local -n flag="${flags[$i]}"; - local -n debugDirList="${debugDirs[$i]}"; - local -n allDirList="${allDirs[$i]}"; - local -n stripCmd="${stripCmds[$i]}"; - local -n ranlibCmd="${ranlibCmds[$i]}"; - if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then - continue; - fi; - stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}"; - stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}"; - done -} -_eval () -{ - - if declare -F "$1" > /dev/null 2>&1; then - "$@"; - else - eval "$1"; - fi -} -_logHook () -{ - - if [[ -z ${NIX_LOG_FD-} ]]; then - return; - fi; - local hookKind="$1"; - local hookExpr="$2"; - shift 2; - if declare -F "$hookExpr" > /dev/null 2>&1; then - nixTalkativeLog "calling '$hookKind' function hook '$hookExpr'" "$@"; - else - if type -p "$hookExpr" > /dev/null; then - nixTalkativeLog "sourcing '$hookKind' script hook '$hookExpr'"; - else - if [[ "$hookExpr" != "_callImplicitHook"* ]]; then - local exprToOutput; - if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then - exprToOutput="$hookExpr"; - else - local hookExprLine; - while IFS= read -r hookExprLine; do - hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}"; - if [[ -n "$hookExprLine" ]]; then - exprToOutput+="$hookExprLine\\n "; - fi; - done <<< "$hookExpr"; - exprToOutput="${exprToOutput%%\\n }"; - fi; - nixTalkativeLog "evaling '$hookKind' string hook '$exprToOutput'"; - fi; - fi; - fi -} -_makeSymlinksRelative () -{ - - local symlinkTarget; - if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then - return; - fi; - while IFS= read -r -d '' f; do - symlinkTarget=$(readlink "$f"); - if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then - continue; - fi; - if [ ! -e "$symlinkTarget" ]; then - echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)"; - fi; - echo "rewriting symlink $f to be relative to $prefix"; - ln -snrf "$symlinkTarget" "$f"; - done < <(find $prefix -type l -print0) -} -_makeSymlinksRelativeInAllOutputs () -{ - - local output; - for output in $(getAllOutputNames); - do - prefix="${!output}" _makeSymlinksRelative; - done -} -_moveLib64 () -{ - - if [ "${dontMoveLib64-}" = 1 ]; then - return; - fi; - if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then - return; - fi; - echo "moving $prefix/lib64/* to $prefix/lib"; - mkdir -p $prefix/lib; - shopt -s dotglob; - for i in $prefix/lib64/*; - do - mv --no-clobber "$i" $prefix/lib; - done; - shopt -u dotglob; - rmdir $prefix/lib64; - ln -s lib $prefix/lib64 -} -_moveSbin () -{ - - if [ "${dontMoveSbin-}" = 1 ]; then - return; - fi; - if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then - return; - fi; - echo "moving $prefix/sbin/* to $prefix/bin"; - mkdir -p $prefix/bin; - shopt -s dotglob; - for i in $prefix/sbin/*; - do - mv "$i" $prefix/bin; - done; - shopt -u dotglob; - rmdir $prefix/sbin; - ln -s bin $prefix/sbin -} -_moveSystemdUserUnits () -{ - - if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then - return; - fi; - if [ ! -e "${prefix:?}/lib/systemd/user" ]; then - return; - fi; - local source="$prefix/lib/systemd/user"; - local target="$prefix/share/systemd/user"; - echo "moving $source/* to $target"; - mkdir -p "$target"; - ( shopt -s dotglob; - for i in "$source"/*; - do - mv "$i" "$target"; - done ); - rmdir "$source"; - ln -s "$target" "$source" -} -_moveToShare () -{ - - if [ -n "$__structuredAttrs" ]; then - if [ -z "${forceShare-}" ]; then - forceShare=(man doc info); - fi; - else - forceShare=(${forceShare:-man doc info}); - fi; - if [[ -z "$out" ]]; then - return; - fi; - for d in "${forceShare[@]}"; - do - if [ -d "$out/$d" ]; then - if [ -d "$out/share/$d" ]; then - echo "both $d/ and share/$d/ exist!"; - else - echo "moving $out/$d to $out/share/$d"; - mkdir -p $out/share; - mv $out/$d $out/share/; - fi; - fi; - done -} -_multioutConfig () -{ - - if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then - return; - fi; - if [ -z "${shareDocName:-}" ]; then - local confScript="${configureScript:-}"; - if [ -z "$confScript" ] && [ -x ./configure ]; then - confScript=./configure; - fi; - if [ -f "$confScript" ]; then - local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"; - fi; - if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then - shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"; - fi; - fi; - prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale; - prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal -} -_multioutDevs () -{ - - if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then - return; - fi; - moveToOutput include "${!outputInclude}"; - moveToOutput lib/pkgconfig "${!outputDev}"; - moveToOutput share/pkgconfig "${!outputDev}"; - moveToOutput lib/cmake "${!outputDev}"; - moveToOutput share/aclocal "${!outputDev}"; - for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc; - do - echo "Patching '$f' includedir to output ${!outputInclude}"; - sed -i "/^includedir=/s,=\${prefix},=${!outputInclude}," "$f"; - done -} -_multioutDocs () -{ - - local REMOVE=REMOVE; - moveToOutput share/info "${!outputInfo}"; - moveToOutput share/doc "${!outputDoc}"; - moveToOutput share/gtk-doc "${!outputDevdoc}"; - moveToOutput share/devhelp/books "${!outputDevdoc}"; - moveToOutput share/man "${!outputMan}"; - moveToOutput share/man/man3 "${!outputDevman}" -} -_multioutPropagateDev () -{ - - if [ "$(getAllOutputNames)" = "out" ]; then - return; - fi; - local outputFirst; - for outputFirst in $(getAllOutputNames); - do - break; - done; - local propagaterOutput="$outputDev"; - if [ -z "$propagaterOutput" ]; then - propagaterOutput="$outputFirst"; - fi; - if [ -z "${propagatedBuildOutputs+1}" ]; then - local po_dirty="$outputBin $outputInclude $outputLib"; - set +o pipefail; - propagatedBuildOutputs=`echo "$po_dirty" | tr -s ' ' '\n' | grep -v -F "$propagaterOutput" | sort -u | tr '\n' ' ' `; - set -o pipefail; - fi; - if [ -z "$propagatedBuildOutputs" ]; then - return; - fi; - mkdir -p "${!propagaterOutput}"/nix-support; - for output in $propagatedBuildOutputs; - do - echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs; - done -} -_nixLogWithLevel () -{ - - [[ -z ${NIX_LOG_FD-} || ${NIX_DEBUG:-0} -lt ${1:?} ]] && return 0; - local logLevel; - case "${1:?}" in - 0) - logLevel=ERROR - ;; - 1) - logLevel=WARN - ;; - 2) - logLevel=NOTICE - ;; - 3) - logLevel=INFO - ;; - 4) - logLevel=TALKATIVE - ;; - 5) - logLevel=CHATTY - ;; - 6) - logLevel=DEBUG - ;; - 7) - logLevel=VOMIT - ;; - *) - echo "_nixLogWithLevel: called with invalid log level: ${1:?}" >&"$NIX_LOG_FD"; - return 1 - ;; - esac; - local callerName="${FUNCNAME[2]}"; - if [[ $callerName == "_callImplicitHook" ]]; then - callerName="${hookName:?}"; - fi; - printf "%s: %s: %s\n" "$logLevel" "$callerName" "${2:?}" >&"$NIX_LOG_FD" -} -_overrideFirst () -{ - - if [ -z "${!1-}" ]; then - _assignFirst "$@"; - fi -} -_pruneLibtoolFiles () -{ - - if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then - return; - fi; - find "$prefix" -type f -name '*.la' -exec grep -q '^# Generated by .*libtool' {} \; -exec grep -q "^old_library=''" {} \; -exec sed -i {} -e "/^dependency_libs='[^']/ c dependency_libs='' #pruned" \; -} -_updateSourceDateEpochFromSourceRoot () -{ - - if [ -n "$sourceRoot" ]; then - updateSourceDateEpoch "$sourceRoot"; - fi -} -activatePackage () -{ - - local pkg="$1"; - local -r hostOffset="$2"; - local -r targetOffset="$3"; - (( hostOffset <= targetOffset )) || exit 1; - if [ -f "$pkg" ]; then - nixTalkativeLog "sourcing setup hook '$pkg'"; - source "$pkg"; - fi; - if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then - addToSearchPath _PATH "$pkg/bin"; - fi; - if (( hostOffset <= -1 )); then - addToSearchPath _XDG_DATA_DIRS "$pkg/share"; - fi; - if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then - addToSearchPath _HOST_PATH "$pkg/bin"; - fi; - if [[ -f "$pkg/nix-support/setup-hook" ]]; then - nixTalkativeLog "sourcing setup hook '$pkg/nix-support/setup-hook'"; - source "$pkg/nix-support/setup-hook"; - fi -} -addEnvHooks () -{ - - local depHostOffset="$1"; - shift; - local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]"; - local pkgHookVar; - for pkgHookVar in "${!pkgHookVarsSlice}"; - do - eval "${pkgHookVar}s"'+=("$@")'; - done -} -addToSearchPath () -{ - - addToSearchPathWithCustomDelimiter ":" "$@" -} -addToSearchPathWithCustomDelimiter () -{ - - local delimiter="$1"; - local varName="$2"; - local dir="$3"; - if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then - export "${varName}=${!varName:+${!varName}${delimiter}}${dir}"; - fi -} -appendToVar () -{ - - local -n nameref="$1"; - local useArray type; - if [ -n "$__structuredAttrs" ]; then - useArray=true; - else - useArray=false; - fi; - if type=$(declare -p "$1" 2> /dev/null); then - case "${type#* }" in - -A*) - echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; - return 1 - ;; - -a*) - useArray=true - ;; - *) - useArray=false - ;; - esac; - fi; - shift; - if $useArray; then - nameref=(${nameref+"${nameref[@]}"} "$@"); - else - nameref="${nameref-} $*"; - fi -} -auditTmpdir () -{ - - local dir="$1"; - [ -e "$dir" ] || return 0; - echo "checking for references to $TMPDIR/ in $dir..."; - local tmpdir elf_fifo script_fifo; - tmpdir="$(mktemp -d)"; - elf_fifo="$tmpdir/elf"; - script_fifo="$tmpdir/script"; - mkfifo "$elf_fifo" "$script_fifo"; - ( find "$dir" -type f -not -path '*/.build-id/*' -print0 | while IFS= read -r -d '' file; do - if isELF "$file"; then - printf '%s\0' "$file" 1>&3; - else - if isScript "$file"; then - filename=${file##*/}; - dir=${file%/*}; - if [ -e "$dir/.$filename-wrapped" ]; then - printf '%s\0' "$file" 1>&4; - fi; - fi; - fi; - done; - exec 3>&- 4>&- ) 3> "$elf_fifo" 4> "$script_fifo" & ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c ' - if { printf :; patchelf --print-rpath "$1"; } | grep -q -F ":$TMPDIR/"; then - echo "RPATH of binary $1 contains a forbidden reference to $TMPDIR/" - exit 1 - fi - ' _ < "$elf_fifo" ) & local pid_elf=$!; - local pid_script; - ( xargs -0 -r -P "$NIX_BUILD_CORES" -n 1 sh -c ' - if grep -q -F "$TMPDIR/" "$1"; then - echo "wrapper script $1 contains a forbidden reference to $TMPDIR/" - exit 1 - fi - ' _ < "$script_fifo" ) & local pid_script=$!; - wait "$pid_elf" || { - echo "Some binaries contain forbidden references to $TMPDIR/. Check the error above!"; - exit 1 - }; - wait "$pid_script" || { - echo "Some scripts contain forbidden references to $TMPDIR/. Check the error above!"; - exit 1 - }; - rm -r "$tmpdir" -} -buildPhase () -{ - - runHook preBuild; - if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then - echo "no Makefile or custom buildPhase, doing nothing"; - else - foundMakefile=1; - local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); - concatTo flagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; - echoCmd 'build flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - runHook postBuild -} -checkPhase () -{ - - runHook preCheck; - if [[ -z "${foundMakefile:-}" ]]; then - echo "no Makefile or custom checkPhase, doing nothing"; - runHook postCheck; - return; - fi; - if [[ -z "${checkTarget:-}" ]]; then - if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then - checkTarget="check"; - else - if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then - checkTarget="test"; - fi; - fi; - fi; - if [[ -z "${checkTarget:-}" ]]; then - echo "no check/test target in ${makefile:-Makefile}, doing nothing"; - else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); - concatTo flagsArray makeFlags makeFlagsArray checkFlags=VERBOSE=y checkFlagsArray checkTarget; - echoCmd 'check flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - runHook postCheck -} -compressManPages () -{ - - local dir="$1"; - if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then - return; - fi; - echo "gzipping man pages under $dir/share/man/"; - find "$dir"/share/man/ -type f -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | xargs -0 -n1 -P "$NIX_BUILD_CORES" gzip -n -f; - find "$dir"/share/man/ -type l -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | sort -z | while IFS= read -r -d '' f; do - local target; - target="$(readlink -f "$f")"; - if [ -f "$target".gz ]; then - ln -sf "$target".gz "$f".gz && rm "$f"; - fi; - done -} -concatStringsSep () -{ - - local sep="$1"; - local name="$2"; - local type oldifs; - if type=$(declare -p "$name" 2> /dev/null); then - local -n nameref="$name"; - case "${type#* }" in - -A*) - echo "concatStringsSep(): ERROR: trying to use concatStringsSep on an associative array." 1>&2; - return 1 - ;; - -a*) - local IFS="$(printf '\036')" - ;; - *) - local IFS=" " - ;; - esac; - local ifs_separated="${nameref[*]}"; - echo -n "${ifs_separated//"$IFS"/"$sep"}"; - fi -} -concatTo () -{ - - local -; - set -o noglob; - local -n targetref="$1"; - shift; - local arg default name type; - for arg in "$@"; - do - IFS="=" read -r name default <<< "$arg"; - local -n nameref="$name"; - if [[ -z "${nameref[*]}" && -n "$default" ]]; then - targetref+=("$default"); - else - if type=$(declare -p "$name" 2> /dev/null); then - case "${type#* }" in - -A*) - echo "concatTo(): ERROR: trying to use concatTo on an associative array." 1>&2; - return 1 - ;; - -a*) - targetref+=("${nameref[@]}") - ;; - *) - if [[ "$name" = *"Array" ]]; then - nixErrorLog "concatTo(): $name is not declared as array, treating as a singleton. This will become an error in future"; - targetref+=(${nameref+"${nameref[@]}"}); - else - targetref+=(${nameref-}); - fi - ;; - esac; - fi; - fi; - done -} -configurePhase () -{ - - runHook preConfigure; - : "${configureScript=}"; - if [[ -z "$configureScript" && -x ./configure ]]; then - configureScript=./configure; - fi; - if [ -z "${dontFixLibtool:-}" ]; then - export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}"; - local i; - find . -iname "ltmain.sh" -print0 | while IFS='' read -r -d '' i; do - echo "fixing libtool script $i"; - fixLibtool "$i"; - done; - CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX); - find . -executable -type f -name configure -exec grep -l 'GNU Libtool is free software; you can redistribute it and/or modify' {} \; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \; -exec sed -i s_/usr/bin/file_file_g {} \; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \;; - rm -f "$CONFIGURE_MTIME_REFERENCE"; - fi; - if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then - prependToVar configureFlags "${prefixKey:---prefix=}$prefix"; - fi; - if [[ -f "$configureScript" ]]; then - if [ -z "${dontAddDisableDepTrack:-}" ]; then - if grep -q dependency-tracking "$configureScript"; then - prependToVar configureFlags --disable-dependency-tracking; - fi; - fi; - if [ -z "${dontDisableStatic:-}" ]; then - if grep -q enable-static "$configureScript"; then - prependToVar configureFlags --disable-static; - fi; - fi; - if [ -z "${dontPatchShebangsInConfigure:-}" ]; then - patchShebangs --build "$configureScript"; - fi; - fi; - if [ -n "$configureScript" ]; then - local -a flagsArray; - concatTo flagsArray configureFlags configureFlagsArray; - echoCmd 'configure flags' "${flagsArray[@]}"; - $configureScript "${flagsArray[@]}"; - unset flagsArray; - else - echo "no configure script, doing nothing"; - fi; - runHook postConfigure -} -consumeEntire () -{ - - if IFS='' read -r -d '' "$1"; then - echo "consumeEntire(): ERROR: Input null bytes, won't process" 1>&2; - return 1; - fi -} -distPhase () -{ - - runHook preDist; - local flagsArray=(); - concatTo flagsArray distFlags distFlagsArray distTarget=dist; - echo 'dist flags: %q' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - if [ "${dontCopyDist:-0}" != 1 ]; then - mkdir -p "$out/tarballs"; - cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs"; - fi; - runHook postDist -} -dumpVars () -{ - - if [[ "${noDumpEnvVars:-0}" != 1 && -d "$NIX_BUILD_TOP" ]]; then - local old_umask; - old_umask=$(umask); - umask 0077; - export 2> /dev/null > "$NIX_BUILD_TOP/env-vars"; - umask "$old_umask"; - fi -} -echoCmd () -{ - - printf "%s:" "$1"; - shift; - printf ' %q' "$@"; - echo -} -exitHandler () -{ - - exitCode="$?"; - set +e; - if [ -n "${showBuildStats:-}" ]; then - read -r -d '' -a buildTimes < <(times); - echo "build times:"; - echo "user time for the shell ${buildTimes[0]}"; - echo "system time for the shell ${buildTimes[1]}"; - echo "user time for all child processes ${buildTimes[2]}"; - echo "system time for all child processes ${buildTimes[3]}"; - fi; - if (( "$exitCode" != 0 )); then - runHook failureHook; - if [ -n "${succeedOnFailure:-}" ]; then - echo "build failed with exit code $exitCode (ignored)"; - mkdir -p "$out/nix-support"; - printf "%s" "$exitCode" > "$out/nix-support/failed"; - exit 0; - fi; - else - runHook exitHook; - fi; - return "$exitCode" -} -findInputs () -{ - - local -r pkg="$1"; - local -r hostOffset="$2"; - local -r targetOffset="$3"; - (( hostOffset <= targetOffset )) || exit 1; - local varVar="${pkgAccumVarVars[hostOffset + 1]}"; - local varRef="$varVar[$((targetOffset - hostOffset))]"; - local var="${!varRef}"; - unset -v varVar varRef; - local varSlice="$var[*]"; - case " ${!varSlice-} " in - *" $pkg "*) - return 0 - ;; - esac; - unset -v varSlice; - eval "$var"'+=("$pkg")'; - if ! [ -e "$pkg" ]; then - echo "build input $pkg does not exist" 1>&2; - exit 1; - fi; - function mapOffset () - { - local -r inputOffset="$1"; - local -n outputOffset="$2"; - if (( inputOffset <= 0 )); then - outputOffset=$((inputOffset + hostOffset)); - else - outputOffset=$((inputOffset - 1 + targetOffset)); - fi - }; - local relHostOffset; - for relHostOffset in "${allPlatOffsets[@]}"; - do - local files="${propagatedDepFilesVars[relHostOffset + 1]}"; - local hostOffsetNext; - mapOffset "$relHostOffset" hostOffsetNext; - (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; - local relTargetOffset; - for relTargetOffset in "${allPlatOffsets[@]}"; - do - (( "$relHostOffset" <= "$relTargetOffset" )) || continue; - local fileRef="${files}[$relTargetOffset - $relHostOffset]"; - local file="${!fileRef}"; - unset -v fileRef; - local targetOffsetNext; - mapOffset "$relTargetOffset" targetOffsetNext; - (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; - [[ -f "$pkg/nix-support/$file" ]] || continue; - local pkgNext; - read -r -d '' pkgNext < "$pkg/nix-support/$file" || true; - for pkgNext in $pkgNext; - do - findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext"; - done; - done; - done -} -fixLibtool () -{ - - local search_path; - for flag in $NIX_LDFLAGS; - do - case $flag in - -L*) - search_path+=" ${flag#-L}" - ;; - esac; - done; - sed -i "$1" -e "s^eval \(sys_lib_search_path=\).*^\1'${search_path:-}'^" -e 's^eval sys_lib_.+search_path=.*^^' -} -fixupPhase () -{ - - local output; - for output in $(getAllOutputNames); - do - if [ -e "${!output}" ]; then - chmod -R u+w,u-s,g-s "${!output}"; - fi; - done; - runHook preFixup; - local output; - for output in $(getAllOutputNames); - do - prefix="${!output}" runHook fixupOutput; - done; - recordPropagatedDependencies; - if [ -n "${setupHook:-}" ]; then - mkdir -p "${!outputDev}/nix-support"; - substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"; - fi; - if [ -n "${setupHooks:-}" ]; then - mkdir -p "${!outputDev}/nix-support"; - local hook; - for hook in ${setupHooks[@]}; - do - local content; - consumeEntire content < "$hook"; - substituteAllStream content "file '$hook'" >> "${!outputDev}/nix-support/setup-hook"; - unset -v content; - done; - unset -v hook; - fi; - if [ -n "${propagatedUserEnvPkgs[*]:-}" ]; then - mkdir -p "${!outputBin}/nix-support"; - printWords "${propagatedUserEnvPkgs[@]}" > "${!outputBin}/nix-support/propagated-user-env-packages"; - fi; - runHook postFixup -} -genericBuild () -{ - - export GZIP_NO_TIMESTAMPS=1; - if [ -f "${buildCommandPath:-}" ]; then - source "$buildCommandPath"; - return; - fi; - if [ -n "${buildCommand:-}" ]; then - eval "$buildCommand"; - return; - fi; - if [ -z "${phases[*]:-}" ]; then - phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}"; - fi; - for curPhase in ${phases[*]}; - do - runPhase "$curPhase"; - done -} -getAllOutputNames () -{ - - if [ -n "$__structuredAttrs" ]; then - echo "${!outputs[*]}"; - else - echo "$outputs"; - fi -} -installCheckPhase () -{ - - runHook preInstallCheck; - if [[ -z "${foundMakefile:-}" ]]; then - echo "no Makefile or custom installCheckPhase, doing nothing"; - else - if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then - echo "no installcheck target in ${makefile:-Makefile}, doing nothing"; - else - local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); - concatTo flagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray installCheckTarget=installcheck; - echoCmd 'installcheck flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - fi; - fi; - runHook postInstallCheck -} -installPhase () -{ - - runHook preInstall; - if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then - echo "no Makefile or custom installPhase, doing nothing"; - runHook postInstall; - return; - else - foundMakefile=1; - fi; - if [ -n "$prefix" ]; then - mkdir -p "$prefix"; - fi; - local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL="$SHELL"); - concatTo flagsArray makeFlags makeFlagsArray installFlags installFlagsArray installTargets=install; - echoCmd 'install flags' "${flagsArray[@]}"; - make ${makefile:+-f $makefile} "${flagsArray[@]}"; - unset flagsArray; - runHook postInstall -} -isELF () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - LANG=C read -r -n 4 -u "$fd" magic; - exec {fd}>&-; - if [ "$magic" = 'ELF' ]; then - return 0; - else - return 1; - fi -} -isMachO () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - LANG=C read -r -n 4 -u "$fd" magic; - exec {fd}>&-; - if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xcf") || "$magic" = $(echo -ne "\xcf\xfa\xed\xfe") ]]; then - return 0; - else - if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xce") || "$magic" = $(echo -ne "\xce\xfa\xed\xfe") ]]; then - return 0; - else - if [[ "$magic" = $(echo -ne "\xca\xfe\xba\xbe") || "$magic" = $(echo -ne "\xbe\xba\xfe\xca") ]]; then - return 0; - else - return 1; - fi; - fi; - fi -} -isScript () -{ - - local fn="$1"; - local fd; - local magic; - exec {fd}< "$fn"; - LANG=C read -r -n 2 -u "$fd" magic; - exec {fd}>&-; - if [[ "$magic" =~ \#! ]]; then - return 0; - else - return 1; - fi -} -justBuildPhase () -{ - - runHook preBuild; - local flagsArray=(); - concatTo flagsArray justFlags justFlagsArray; - echoCmd 'build flags' "${flagsArray[@]}"; - just "${flagsArray[@]}"; - runHook postBuild -} -justCheckPhase () -{ - - runHook preCheck; - if [ -z "${checkTarget:-}" ]; then - if just -n test > /dev/null 2>&1; then - checkTarget="test"; - fi; - fi; - if [ -z "${checkTarget:-}" ]; then - echo "no test target found in just, doing nothing"; - else - local flagsArray=(); - concatTo flagsArray justFlags justFlagsArray checkTarget; - echoCmd 'check flags' "${flagsArray[@]}"; - just "${flagsArray[@]}"; - fi; - runHook postCheck -} -justInstallPhase () -{ - - runHook preInstall; - local flagsArray=(); - concatTo flagsArray justFlags justFlagsArray installTargets=install; - echoCmd 'install flags' "${flagsArray[@]}"; - just "${flagsArray[@]}"; - runHook postInstall -} -mapOffset () -{ - - local -r inputOffset="$1"; - local -n outputOffset="$2"; - if (( inputOffset <= 0 )); then - outputOffset=$((inputOffset + hostOffset)); - else - outputOffset=$((inputOffset - 1 + targetOffset)); - fi -} -moveToOutput () -{ - - local patt="$1"; - local dstOut="$2"; - local output; - for output in $(getAllOutputNames); - do - if [ "${!output}" = "$dstOut" ]; then - continue; - fi; - local srcPath; - for srcPath in "${!output}"/$patt; - do - if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then - continue; - fi; - if [ "$dstOut" = REMOVE ]; then - echo "Removing $srcPath"; - rm -r "$srcPath"; - else - local dstPath="$dstOut${srcPath#${!output}}"; - echo "Moving $srcPath to $dstPath"; - if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then - rmdir "$srcPath" --ignore-fail-on-non-empty; - if [ -d "$srcPath" ]; then - mv -t "$dstPath" "$srcPath"/*; - rmdir "$srcPath"; - fi; - else - mkdir -p "$(readlink -m "$dstPath/..")"; - mv "$srcPath" "$dstPath"; - fi; - fi; - local srcParent="$(readlink -m "$srcPath/..")"; - if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then - echo "Removing empty $srcParent/ and (possibly) its parents"; - rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true; - fi; - done; - done -} -nixChattyLog () -{ - - _nixLogWithLevel 5 "$*" -} -nixDebugLog () -{ - - _nixLogWithLevel 6 "$*" -} -nixErrorLog () -{ - - _nixLogWithLevel 0 "$*" -} -nixInfoLog () -{ - - _nixLogWithLevel 3 "$*" -} -nixLog () -{ - - [[ -z ${NIX_LOG_FD-} ]] && return 0; - local callerName="${FUNCNAME[1]}"; - if [[ $callerName == "_callImplicitHook" ]]; then - callerName="${hookName:?}"; - fi; - printf "%s: %s\n" "$callerName" "$*" >&"$NIX_LOG_FD" -} -nixNoticeLog () -{ - - _nixLogWithLevel 2 "$*" -} -nixTalkativeLog () -{ - - _nixLogWithLevel 4 "$*" -} -nixVomitLog () -{ - - _nixLogWithLevel 7 "$*" -} -nixWarnLog () -{ - - _nixLogWithLevel 1 "$*" -} -noBrokenSymlinks () -{ - - local -r output="${1:?}"; - local path; - local pathParent; - local symlinkTarget; - local -i numDanglingSymlinks=0; - local -i numReflexiveSymlinks=0; - local -i numUnreadableSymlinks=0; - if [[ ! -e $output ]]; then - nixWarnLog "skipping non-existent output $output"; - return 0; - fi; - nixInfoLog "running on $output"; - while IFS= read -r -d '' path; do - pathParent="$(dirname "$path")"; - if ! symlinkTarget="$(readlink "$path")"; then - nixErrorLog "the symlink $path is unreadable"; - numUnreadableSymlinks+=1; - continue; - fi; - if [[ $symlinkTarget == /* ]]; then - nixInfoLog "symlink $path points to absolute target $symlinkTarget"; - else - nixInfoLog "symlink $path points to relative target $symlinkTarget"; - symlinkTarget="$(realpath --no-symlinks --canonicalize-missing "$pathParent/$symlinkTarget")"; - fi; - if [[ $symlinkTarget = "$TMPDIR"/* ]]; then - nixErrorLog "the symlink $path points to $TMPDIR directory: $symlinkTarget"; - numDanglingSymlinks+=1; - continue; - fi; - if [[ $symlinkTarget != "$NIX_STORE"/* ]]; then - nixInfoLog "symlink $path points outside the Nix store; ignoring"; - continue; - fi; - if [[ $path == "$symlinkTarget" ]]; then - nixErrorLog "the symlink $path is reflexive"; - numReflexiveSymlinks+=1; - else - if [[ ! -e $symlinkTarget ]]; then - nixErrorLog "the symlink $path points to a missing target: $symlinkTarget"; - numDanglingSymlinks+=1; - else - nixDebugLog "the symlink $path is irreflexive and points to a target which exists"; - fi; - fi; - done < <(find "$output" -type l -print0); - if ((numDanglingSymlinks > 0 || numReflexiveSymlinks > 0 || numUnreadableSymlinks > 0)); then - nixErrorLog "found $numDanglingSymlinks dangling symlinks, $numReflexiveSymlinks reflexive symlinks and $numUnreadableSymlinks unreadable symlinks"; - exit 1; - fi; - return 0 -} -noBrokenSymlinksInAllOutputs () -{ - - if [[ -z ${dontCheckForBrokenSymlinks-} ]]; then - for output in $(getAllOutputNames); - do - noBrokenSymlinks "${!output}"; - done; - fi -} -patchELF () -{ - - local dir="$1"; - [ -e "$dir" ] || return 0; - echo "shrinking RPATHs of ELF executables and libraries in $dir"; - local i; - while IFS= read -r -d '' i; do - if [[ "$i" =~ .build-id ]]; then - continue; - fi; - if ! isELF "$i"; then - continue; - fi; - echo "shrinking $i"; - patchelf --shrink-rpath "$i" || true; - done < <(find "$dir" -type f -print0) -} -patchPhase () -{ - - runHook prePatch; - local -a patchesArray; - concatTo patchesArray patches; - local -a flagsArray; - concatTo flagsArray patchFlags=-p1; - for i in "${patchesArray[@]}"; - do - echo "applying patch $i"; - local uncompress=cat; - case "$i" in - *.gz) - uncompress="gzip -d" - ;; - *.bz2) - uncompress="bzip2 -d" - ;; - *.xz) - uncompress="xz -d" - ;; - *.lzma) - uncompress="lzma -d" - ;; - esac; - $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}"; - done; - runHook postPatch -} -patchShebangs () -{ - - local pathName; - local update=false; - while [[ $# -gt 0 ]]; do - case "$1" in - --host) - pathName=HOST_PATH; - shift - ;; - --build) - pathName=PATH; - shift - ;; - --update) - update=true; - shift - ;; - --) - shift; - break - ;; - -* | --*) - echo "Unknown option $1 supplied to patchShebangs" 1>&2; - return 1 - ;; - *) - break - ;; - esac; - done; - echo "patching script interpreter paths in $@"; - local f; - local oldPath; - local newPath; - local arg0; - local args; - local oldInterpreterLine; - local newInterpreterLine; - if [[ $# -eq 0 ]]; then - echo "No arguments supplied to patchShebangs" 1>&2; - return 0; - fi; - local f; - while IFS= read -r -d '' f; do - isScript "$f" || continue; - read -r oldInterpreterLine < "$f" || [ "$oldInterpreterLine" ]; - read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"; - if [[ -z "${pathName:-}" ]]; then - if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then - pathName=HOST_PATH; - else - pathName=PATH; - fi; - fi; - if [[ "$oldPath" == *"/bin/env" ]]; then - if [[ $arg0 == "-S" ]]; then - arg0=${args%% *}; - [[ "$args" == *" "* ]] && args=${args#* } || args=; - newPath="$(PATH="${!pathName}" type -P "env" || true)"; - args="-S $(PATH="${!pathName}" type -P "$arg0" || true) $args"; - else - if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then - echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2; - exit 1; - else - newPath="$(PATH="${!pathName}" type -P "$arg0" || true)"; - fi; - fi; - else - if [[ -z $oldPath ]]; then - oldPath="/bin/sh"; - fi; - newPath="$(PATH="${!pathName}" type -P "$(basename "$oldPath")" || true)"; - args="$arg0 $args"; - fi; - newInterpreterLine="$newPath $args"; - newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}}; - if [[ -n "$oldPath" && ( "$update" == true || "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ) ]]; then - if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then - echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""; - escapedInterpreterLine=${newInterpreterLine//\\/\\\\}; - timestamp=$(stat --printf "%y" "$f"); - tmpFile=$(mktemp -t patchShebangs.XXXXXXXXXX); - sed -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" > "$tmpFile"; - local restoreReadOnly; - if [[ ! -w "$f" ]]; then - chmod +w "$f"; - restoreReadOnly=true; - fi; - cat "$tmpFile" > "$f"; - rm "$tmpFile"; - if [[ -n "${restoreReadOnly:-}" ]]; then - chmod -w "$f"; - fi; - touch --date "$timestamp" "$f"; - fi; - fi; - done < <(find "$@" -type f -perm -0100 -print0) -} -patchShebangsAuto () -{ - - if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then - if [[ "$output" != out && "$output" = "$outputDev" ]]; then - patchShebangs --build "$prefix"; - else - patchShebangs --host "$prefix"; - fi; - fi -} -prependToVar () -{ - - local -n nameref="$1"; - local useArray type; - if [ -n "$__structuredAttrs" ]; then - useArray=true; - else - useArray=false; - fi; - if type=$(declare -p "$1" 2> /dev/null); then - case "${type#* }" in - -A*) - echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; - return 1 - ;; - -a*) - useArray=true - ;; - *) - useArray=false - ;; - esac; - fi; - shift; - if $useArray; then - nameref=("$@" ${nameref+"${nameref[@]}"}); - else - nameref="$* ${nameref-}"; - fi -} -printLines () -{ - - (( "$#" > 0 )) || return 0; - printf '%s\n' "$@" -} -printWords () -{ - - (( "$#" > 0 )) || return 0; - printf '%s ' "$@" -} -recordPropagatedDependencies () -{ - - declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated); - declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}"); - local propagatedInputsIndex; - for propagatedInputsIndex in "${!flatVars[@]}"; - do - local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]"; - local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}"; - [[ -n "${!propagatedInputsSlice}" ]] || continue; - mkdir -p "${!outputDev}/nix-support"; - printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile"; - done -} -runHook () -{ - - local hookName="$1"; - shift; - local hooksSlice="${hookName%Hook}Hooks[@]"; - local hook; - for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; - do - _logHook "$hookName" "$hook" "$@"; - _eval "$hook" "$@"; - done; - return 0 -} -runOneHook () -{ - - local hookName="$1"; - shift; - local hooksSlice="${hookName%Hook}Hooks[@]"; - local hook ret=1; - for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"}; - do - _logHook "$hookName" "$hook" "$@"; - if _eval "$hook" "$@"; then - ret=0; - break; - fi; - done; - return "$ret" -} -runPhase () -{ - - local curPhase="$*"; - if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then - return; - fi; - if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then - return; - fi; - if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then - return; - fi; - if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then - return; - fi; - if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then - return; - fi; - if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then - return; - fi; - if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then - return; - fi; - if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then - return; - fi; - if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then - return; - fi; - showPhaseHeader "$curPhase"; - dumpVars; - local startTime endTime; - startTime=$(date +"%s"); - eval "${!curPhase:-$curPhase}"; - endTime=$(date +"%s"); - showPhaseFooter "$curPhase" "$startTime" "$endTime"; - if [ "$curPhase" = unpackPhase ]; then - [ -n "${sourceRoot:-}" ] && chmod +x -- "${sourceRoot}"; - cd -- "${sourceRoot:-.}"; - fi -} -showPhaseFooter () -{ - - local phase="$1"; - local startTime="$2"; - local endTime="$3"; - local delta=$(( endTime - startTime )); - (( delta < 30 )) && return; - local H=$((delta/3600)); - local M=$((delta%3600/60)); - local S=$((delta%60)); - echo -n "$phase completed in "; - (( H > 0 )) && echo -n "$H hours "; - (( M > 0 )) && echo -n "$M minutes "; - echo "$S seconds" -} -showPhaseHeader () -{ - - local phase="$1"; - echo "Running phase: $phase"; - if [[ -z ${NIX_LOG_FD-} ]]; then - return; - fi; - printf "@nix { \"action\": \"setPhase\", \"phase\": \"%s\" }\n" "$phase" >&"$NIX_LOG_FD" -} -stripDirs () -{ - - local cmd="$1"; - local ranlibCmd="$2"; - local paths="$3"; - local stripFlags="$4"; - local excludeFlags=(); - local pathsNew=; - [ -z "$cmd" ] && echo "stripDirs: Strip command is empty" 1>&2 && exit 1; - [ -z "$ranlibCmd" ] && echo "stripDirs: Ranlib command is empty" 1>&2 && exit 1; - local pattern; - if [ -n "${stripExclude:-}" ]; then - for pattern in "${stripExclude[@]}"; - do - excludeFlags+=(-a '!' '(' -name "$pattern" -o -wholename "$prefix/$pattern" ')'); - done; - fi; - local p; - for p in ${paths}; - do - if [ -e "$prefix/$p" ]; then - pathsNew="${pathsNew} $prefix/$p"; - fi; - done; - paths=${pathsNew}; - if [ -n "${paths}" ]; then - echo "stripping (with command $cmd and flags $stripFlags) in $paths"; - local striperr; - striperr="$(mktemp --tmpdir="$TMPDIR" 'striperr.XXXXXX')"; - find $paths -type f "${excludeFlags[@]}" -a '!' -path "$prefix/lib/debug/*" -printf '%D-%i,%p\0' | sort -t, -k1,1 -u -z | cut -d, -f2- -z | xargs -r -0 -n1 -P "$NIX_BUILD_CORES" -- $cmd $stripFlags 2> "$striperr" || exit_code=$?; - [[ "$exit_code" = 123 || -z "$exit_code" ]] || ( cat "$striperr" 1>&2 && exit 1 ); - rm "$striperr"; - find $paths -name '*.a' -type f -exec $ranlibCmd '{}' \; 2> /dev/null; - fi -} -stripHash () -{ - - local strippedName casematchOpt=0; - strippedName="$(basename -- "$1")"; - shopt -q nocasematch && casematchOpt=1; - shopt -u nocasematch; - if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then - echo "${strippedName:33}"; - else - echo "$strippedName"; - fi; - if (( casematchOpt )); then - shopt -s nocasematch; - fi -} -substitute () -{ - - local input="$1"; - local output="$2"; - shift 2; - if [ ! -f "$input" ]; then - echo "substitute(): ERROR: file '$input' does not exist" 1>&2; - return 1; - fi; - local content; - consumeEntire content < "$input"; - if [ -e "$output" ]; then - chmod +w "$output"; - fi; - substituteStream content "file '$input'" "$@" > "$output" -} -substituteAll () -{ - - local input="$1"; - local output="$2"; - local -a args=(); - _allFlags; - substitute "$input" "$output" "${args[@]}" -} -substituteAllInPlace () -{ - - local fileName="$1"; - shift; - substituteAll "$fileName" "$fileName" "$@" -} -substituteAllStream () -{ - - local -a args=(); - _allFlags; - substituteStream "$1" "$2" "${args[@]}" -} -substituteInPlace () -{ - - local -a fileNames=(); - for arg in "$@"; - do - if [[ "$arg" = "--"* ]]; then - break; - fi; - fileNames+=("$arg"); - shift; - done; - if ! [[ "${#fileNames[@]}" -gt 0 ]]; then - echo "substituteInPlace called without any files to operate on (files must come before options!)" 1>&2; - return 1; - fi; - for file in "${fileNames[@]}"; - do - substitute "$file" "$file" "$@"; - done -} -substituteStream () -{ - - local var=$1; - local description=$2; - shift 2; - while (( "$#" )); do - local replace_mode="$1"; - case "$1" in - --replace) - if ! "$_substituteStream_has_warned_replace_deprecation"; then - echo "substituteStream() in derivation $name: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. ($description)" 1>&2; - _substituteStream_has_warned_replace_deprecation=true; - fi; - replace_mode='--replace-warn' - ;& - --replace-quiet | --replace-warn | --replace-fail) - pattern="$2"; - replacement="$3"; - shift 3; - if ! [[ "${!var}" == *"$pattern"* ]]; then - if [ "$replace_mode" == --replace-warn ]; then - printf "substituteStream() in derivation $name: WARNING: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; - else - if [ "$replace_mode" == --replace-fail ]; then - printf "substituteStream() in derivation $name: ERROR: pattern %q doesn't match anything in %s\n" "$pattern" "$description" 1>&2; - return 1; - fi; - fi; - fi; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' - ;; - --subst-var) - local varName="$2"; - shift 2; - if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then - echo "substituteStream() in derivation $name: ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; - return 1; - fi; - if [ -z ${!varName+x} ]; then - echo "substituteStream() in derivation $name: ERROR: variable \$$varName is unset" 1>&2; - return 1; - fi; - pattern="@$varName@"; - replacement="${!varName}"; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' - ;; - --subst-var-by) - pattern="@$2@"; - replacement="$3"; - eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; - shift 3 - ;; - *) - echo "substituteStream() in derivation $name: ERROR: Invalid command line argument: $1" 1>&2; - return 1 - ;; - esac; - done; - printf "%s" "${!var}" -} -unpackFile () -{ - - curSrc="$1"; - echo "unpacking source archive $curSrc"; - if ! runOneHook unpackCmd "$curSrc"; then - echo "do not know how to unpack source archive $curSrc"; - exit 1; - fi -} -unpackPhase () -{ - - runHook preUnpack; - if [ -z "${srcs:-}" ]; then - if [ -z "${src:-}" ]; then - echo 'variable $src or $srcs should point to the source'; - exit 1; - fi; - srcs="$src"; - fi; - local -a srcsArray; - concatTo srcsArray srcs; - local dirsBefore=""; - for i in *; - do - if [ -d "$i" ]; then - dirsBefore="$dirsBefore $i "; - fi; - done; - for i in "${srcsArray[@]}"; - do - unpackFile "$i"; - done; - : "${sourceRoot=}"; - if [ -n "${setSourceRoot:-}" ]; then - runOneHook setSourceRoot; - else - if [ -z "$sourceRoot" ]; then - for i in *; - do - if [ -d "$i" ]; then - case $dirsBefore in - *\ $i\ *) - - ;; - *) - if [ -n "$sourceRoot" ]; then - echo "unpacker produced multiple directories"; - exit 1; - fi; - sourceRoot="$i" - ;; - esac; - fi; - done; - fi; - fi; - if [ -z "$sourceRoot" ]; then - echo "unpacker appears to have produced no directories"; - exit 1; - fi; - echo "source root is $sourceRoot"; - if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then - chmod -R u+w -- "$sourceRoot"; - fi; - runHook postUnpack -} -updateAutotoolsGnuConfigScriptsPhase () -{ - - if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then - return; - fi; - for script in config.sub config.guess; - do - for f in $(find . -type f -name "$script"); - do - echo "Updating Autotools / GNU config script to a newer upstream version: $f"; - cp -f "/nix/store/1kzclixw4c13wxin0b6cij1zykvwp0wb-gnu-config-2024-01-01/$script" "$f"; - done; - done -} -updateSourceDateEpoch () -{ - - local path="$1"; - [[ $path == -* ]] && path="./$path"; - local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ "%p"\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); - local time="${res[0]//\.[0-9]*/}"; - local newestFile="${res[1]}"; - if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then - echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile"; - export SOURCE_DATE_EPOCH="$time"; - local now="$(date +%s)"; - if [ "$time" -gt $((now - 60)) ]; then - echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic"; - fi; - fi -} -PATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}" -XDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}" -export NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)" -export TMP="$NIX_BUILD_TOP" -export TMPDIR="$NIX_BUILD_TOP" -export TEMP="$NIX_BUILD_TOP" -export TEMPDIR="$NIX_BUILD_TOP" -eval "${shellHook:-}" diff --git a/.hugo_build.lock b/.hugo_build.lock deleted file mode 100644 index e69de29..0000000 diff --git a/public.tgz b/public.tgz deleted file mode 100644 index f7cbe6f1c2768c9238c44bde94f5cf8e28f3a449..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63332 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 diff --git a/public/404.html b/public/404.html deleted file mode 100644 index be6abb8..0000000 --- a/public/404.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - 404 Page not found :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- -
-

404 — Page not found...

- -
- Back to home page → -
- -
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/about/index.html b/public/about/index.html deleted file mode 100644 index b89a71d..0000000 --- a/public/about/index.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - About :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- -
-

- About -

- - - - - - - - -
-

This is just for fun. A neat puzzle to figure out.

-

git

- -
- - - - - - - -
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png deleted file mode 100644 index 0ac2c2772a6d8d5905459c349e848c297c9bd86d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7oCO|{#S9GG!XV7ZFl&wk z0|NtNage(c!@6@aFBupZSkfJR9T^xl_H+M9WMyDr2=;Vw45?szd!CW^fC9q-gSzsL w!`gfYjyXlK|NS;A-R6OOzradClHktn+svA+Wv9&;7#J8lUHx3vIVCg!02hQeMF0Q* diff --git a/public/bundle.min.js b/public/bundle.min.js deleted file mode 100644 index e7d4b17..0000000 --- a/public/bundle.min.js +++ /dev/null @@ -1,3 +0,0 @@ -(()=>{var t=document.querySelector(".container"),e=document.querySelectorAll(".menu");document.body.addEventListener("click",()=>{e.forEach(e=>{e.classList.contains("open")&&e.classList.remove("open")})}),window.addEventListener("resize",()=>{e.forEach(e=>{e.classList.remove("open")})}),e.forEach(n=>{const o=n.querySelector(".menu__trigger"),s=n.querySelector(".menu__dropdown");o.addEventListener("click",o=>{o.stopPropagation(),n.classList.contains("open")?n.classList.remove("open"):(e.forEach(e=>e.classList.remove("open")),n.classList.add("open")),s.getBoundingClientRect().right>t.getBoundingClientRect().right&&(s.style.left="auto",s.style.right=0)}),s.addEventListener("click",e=>e.stopPropagation())})})(),(()=>{var e=document.querySelectorAll(".chroma code[data-lang]");for(const n of e){const s=n.parentElement,o=n.innerText.split(` -`).filter(Boolean).join(` -`),t=document.createElement("div"),i=n.dataset.lang;if(t.classList.add("code-title"),t.innerText=i,navigator.clipboard!==0[0]){const e=document.createElement("button");e.classList.add("copy-button"),e.innerText="Copy",e.addEventListener("click",()=>{e.innerText="Copied",setTimeout(()=>{e.innerText="Copy"},1e3),navigator.clipboard.writeText(o)}),t.append(e)}s.closest(".highlight").prepend(t)}})() \ No newline at end of file diff --git a/public/categories/index.html b/public/categories/index.html deleted file mode 100644 index 436efc6..0000000 --- a/public/categories/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - Categories :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- -
-

Categories

- -
    - - -
-
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/categories/index.xml b/public/categories/index.xml deleted file mode 100644 index 256e8a1..0000000 --- a/public/categories/index.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - Categories on Terminal - https://seandugre.com/categories/ - Recent content in Categories on Terminal - Hugo - en - - - diff --git a/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css b/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css deleted file mode 100644 index 5359990..0000000 --- a/public/css/buttons.min.86f6b4c106b6c6eb690ae5203d36b442c1f66f718ff4e8164fa86cf6c61ad641.css +++ /dev/null @@ -1 +0,0 @@ -.button-container{display:table;margin-left:auto;margin-right:auto}button,.button,a.button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;text-decoration:none;text-align:center;font:inherit;font-weight:700;appearance:none;cursor:pointer;outline:none}button.outline,.button.outline,a.button.outline{background:0 0;box-shadow:none;padding:8px 18px}button.outline :hover,.button.outline :hover,a.button.outline :hover{transform:none;box-shadow:none}button.link,.button.link,a.button.link{background:0 0;font-size:var(--font-size)}button.small,.button.small,a.button.small{font-size:calc(var(--font-size) * .8)}button.wide,.button.wide,a.button.wide{min-width:200px;padding:14px 24px}a.button.inline{background:0 0;color:var(--accent);padding:initial;margin:initial;border:initial;font-weight:initial;text-decoration:none}a.button.inline:active,a.button.inline:hover{background:0 0}a.read-more,a.read-more:hover,a.read-more:active{display:inline-flex;border:none;background:0 0;box-shadow:none;padding:0;max-width:100%;text-decoration:none} \ No newline at end of file diff --git a/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css b/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css deleted file mode 100644 index de12fb9..0000000 --- a/public/css/code.min.d529ea4b2fb8d34328d7d31afc5466d5f7bc2f0bc9abdd98b69385335d7baee4.css +++ /dev/null @@ -1 +0,0 @@ -:root{--code-border:color-mix(in srgb, var(--foreground) 10%, transparent)}pre:not(.chroma){padding:10px}pre.chroma{margin:0;padding:10px 0;color:var(--foreground)}pre code{color:var(--foreground);border:none}code{color:var(--accent);text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}.highlight{position:relative;margin:20px 0;border:1px solid var(--code-border)}.highlight pre{border:none}.code-title{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--foreground) 5%,transparent);border-bottom:1px solid var(--code-border);color:var(--comment);text-transform:uppercase;font-size:calc(var(--font-size) * .8);padding:6px 10px;line-height:1}.copy-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;text-decoration:none;text-align:center;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);appearance:none;cursor:pointer;outline:none}.code-title .copy-button{z-index:1;background:color-mix(in srgb,var(--foreground) 5%,var(--background))}.code-title:hover .copy-button{display:inline-block}.code-title .copy-button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--background))}.collapsable-code{position:relative;width:100%;margin:20px 0;border:1px solid var(--accent);.highlight { margin: 0; }}.collapsable-code__title{display:inline-flex;align-items:center;flex:1;color:var(--accent);padding:3px 10px;font-size:calc(var(--font-size) * .9);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapsable-code__language{color:var(--accent);border:1px solid var(--accent);border-bottom:none;text-transform:uppercase;padding:3px 10px}.collapsable-code summary{color:var(--accent);padding:0 10px;cursor:pointer}.collapsable-code summary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.collapsable-code pre{margin-top:0}.collapsable-code pre::first-line{line-height:0} \ No newline at end of file diff --git a/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css b/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css deleted file mode 100644 index 937fa55..0000000 --- a/public/css/fonts.min.5bb7ed13e1d00d8ff39ea84af26737007eb5051b157b86fc24487c94f3dc8bbe.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-LatinExt.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/FiraCode-Latin.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} \ No newline at end of file diff --git a/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css b/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css deleted file mode 100644 index dddfe01..0000000 --- a/public/css/footer.min.eb8dfc2c6a7eafa36cd3ba92d63e69e849e2200e0002a228d137f236b09ecd75.css +++ /dev/null @@ -1 +0,0 @@ -.footer{padding:40px 0;flex-grow:0;opacity:.65}.footer__inner{display:flex;align-items:center;justify-content:space-between;margin:0;max-width:100%}.footer a{color:inherit}.footer .copyright{display:flex;flex-flow:row wrap;flex:1;align-items:center;justify-content:center}.footer .copyright--user{margin:auto;text-align:center}.footer .copyright>*:first-child:not(:only-child){margin-right:10px}.footer .copyright span{white-space:nowrap}@media(max-width:900px){.footer__inner{flex-direction:column}} \ No newline at end of file diff --git a/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css b/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css deleted file mode 100644 index fe934de..0000000 --- a/public/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css +++ /dev/null @@ -1 +0,0 @@ -body .gist .blob-num,body .gist .blob-code-inner{border:none} \ No newline at end of file diff --git a/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css b/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css deleted file mode 100644 index b51a56f..0000000 --- a/public/css/header.min.75c7eb0e2872d95ff48109c6647d0223a38db52e2561dd87966eb5fc7c6bdac6.css +++ /dev/null @@ -1 +0,0 @@ -.header{display:flex;flex-direction:column;position:relative}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo::after{content:"";background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{display:flex;align-items:center;text-decoration:none;background:var(--accent);color:var(--background);font-weight:700;padding:5px 10px}@media print{.header{display:none}} \ No newline at end of file diff --git a/public/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css b/public/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css deleted file mode 100644 index 81d6f0c..0000000 --- a/public/css/main.min.36833afd348409fc6c3d09d0897c5833d9d5bf1ff31f5e60ea3ee42ce2b1268c.css +++ /dev/null @@ -1 +0,0 @@ -:root{--background:#1a170f;--foreground:#eceae5;--accent:#eec35e;--font-size:1rem;--line-height:1.54em;--radius:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit;word-break:break-word}body{margin:0;padding:0;font-family:fira code,Monaco,Consolas,ubuntu mono,monospace;font-size:var(--font-size);line-height:var(--line-height);background-color:var(--background);color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;text-size-adjust:100%}h1{font-size:calc(var(--font-size) * 1.45);letter-spacing:0}h2{font-size:calc(var(--font-size) * 1.35);letter-spacing:0}h3{font-size:calc(var(--font-size) * 1.15);letter-spacing:0}h4,h5,h6{font-size:calc(var(--font-size) * 1);letter-spacing:0}h1,h2,h3,h4,h5,h6,p,ul,ol,img,figure,video,table{margin:25px 0}a{color:var(--accent)}button{position:relative;font:inherit;font-weight:700;text-decoration:none;text-align:center;background:0 0;color:var(--accent);padding:5px 18px;border:4px solid var(--accent);border-radius:var(--radius);transition:background .15s linear;appearance:none;cursor:pointer;outline:none}button:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}fieldset{display:inline-block;border:2px solid var(--foreground);border-radius:calc(var(--radius) * 1.6);padding:10px}fieldset *:first-child{margin-top:0}fieldset input,fieldset select,fieldset textarea,fieldset label,fieldset button{margin-top:calc(var(--line-height) * .5);width:100%}label{display:inline-block}label input{margin-top:0}input,textarea,select{background:0 0;color:var(--foreground);border:1px solid var(--foreground);border-radius:var(--radius);padding:10px;font:inherit;appearance:none}input[type=checkbox]{width:auto}input:focus-visible,input:active,textarea:focus-visible,textarea:active,select:focus-visible,select:active{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}input:active,textarea:active,select:active{box-shadow:none}select{background-image:linear-gradient( 45deg,transparent 50%,var(--foreground) 50% ),linear-gradient(135deg,var(--foreground) 50%,transparent 50%);background-position:calc(100% - 20px),calc(100% - 1em);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}select option{background:var(--background)}input[type=checkbox]{vertical-align:middle;padding:10px;box-shadow:inset 0 0 0 3px var(--background)}input[type=checkbox]:checked{background:var(--accent)}img{display:block;max-width:100%;border:8px solid var(--accent);border-radius:var(--radius);padding:8px;overflow:hidden}img.left{margin-right:auto}img.center{margin-left:auto;margin-right:auto}img.right{margin-left:auto}figure{width:fit-content}figure.left{margin-right:auto}figure.center{margin-left:auto;margin-right:auto}figure.right{margin-left:auto}figure img,figure video{margin-bottom:0}figure figcaption{background:var(--accent);color:var(--background);text-align:center;font-size:var(--font-size);font-weight:400;margin-top:-8px;padding:0 8px;border-radius:0 0 var(--radius)var(--radius)}figure figcaption p:first-child{margin-top:0}ul,ol{margin-left:4ch;padding:0}ul ul,ul ol,ol ul,ol ol{margin-top:0}li::marker{color:var(--accent)}ul li,ol li{position:relative}code,kbd{font-family:fira code,Monaco,Consolas,ubuntu mono,monospace!important;font-feature-settings:normal;background:color-mix(in srgb,var(--foreground) 5%,transparent);border:1px solid var(--code-border);padding:1px 6px;margin:0 2px;font-size:calc(var(--font-size) * .95)}kbd{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-left:1px solid var(--accent);border-right:1px solid var(--accent);border-bottom:4px solid var(--accent);border-radius:4px}code code{background:0 0;padding:0;margin:0}pre{tab-size:4;background:color-mix(in srgb,var(--foreground) 5%,transparent)!important;color:var(--foreground);padding:20px 10px;font-size:calc(var(--font-size) * .95)!important;overflow:auto;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}pre code{background:0 0!important;margin:0;padding:0;border:none}sup{line-height:0}abbr{position:relative;text-decoration-style:wavy;text-decoration-color:var(--accent);cursor:help}sub{bottom:-.25em}sup{top:-.25em}mark{background:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--foreground)}blockquote{position:relative;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);margin:0;padding:25px}blockquote::before{content:">";display:block;position:absolute;left:0;color:var(--accent)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}table{table-layout:auto;border-collapse:collapse}table,th,td{border:2px solid var(--foreground);padding:10px}th{border-style:solid;color:var(--foreground);text-align:left;text-transform:uppercase;letter-spacing:.04em}hr{width:100%;border:none;background:var(--accent);height:2px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.4rem;line-height:1.3;margin:20px 0}.headings--one-size~h1:first-child,.headings--one-size~h2:first-child,.headings--one-size~h3:first-child,.headings--one-size~h4:first-child,.headings--one-size~h5:first-child,.headings--one-size~h6:first-child{margin-top:20px}blockquote.twitter-tweet{position:relative;background:var(--background);font:inherit;color:inherit;border:1px solid var(--accent);padding-top:60px}blockquote.twitter-tweet a{color:var(--accent);text-decoration:underline}blockquote.twitter-tweet::before{content:"> From X:";position:absolute;top:20px;left:20px;color:var(--accent);font-weight:700}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid color-mix(in srgb,var(--accent) 10%,transparent)}.container.full,.container.center{border:none;margin:0 auto}.container.full{max-width:100%}.content{display:flex;flex-direction:column}.hidden{display:none}.__h_video{position:relative;overflow:visible!important;height:auto!important;padding-bottom:0!important}.__h_video a{position:relative;display:block;width:100%}.__h_video a img{width:100%}.__h_video a .play{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:60px;height:60px}iframe[src*="youtube.com"]{border:8px solid var(--accent)!important;padding:8px!important}@media(max-width:684px){:root{--font-size:0.95rem}.container{padding:20px}}@media print{.container{display:initial}.content{display:initial}} \ No newline at end of file diff --git a/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css b/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css deleted file mode 100644 index 2ea3ee0..0000000 --- a/public/css/menu.min.3c17467ebeb3d38663dce68f71f519901124fa5cbb4519b2fb0667a21e9aca39.css +++ /dev/null @@ -1 +0,0 @@ -.navigation-menu{display:flex;align-items:flex-start;justify-content:space-between;margin:20px 1px}.navigation-menu__inner{display:flex;flex:1;flex-wrap:wrap;list-style:none;margin:0;padding:0}.navigation-menu__inner>li{flex:none;margin-bottom:10px;white-space:nowrap}.navigation-menu__inner>li:not(:last-of-type){margin-right:20px}.navigation-menu .spacer{flex-grow:1!important}.menu{display:flex;flex-direction:column;position:relative;list-style:none;padding:0;margin:0}.menu__trigger{margin-right:0!important;color:var(--accent);user-select:none;cursor:pointer}.menu__dropdown{display:none;flex-direction:column;position:absolute;background:var(--background);box-shadow:0 10px var(--background),-10px 10px var(--background),10px 10px var(--background);color:var(--accent);border:2px solid var(--accent);margin:0;padding:10px;top:10px;left:0;list-style:none;z-index:99}.open .menu__dropdown{display:flex}.menu__dropdown>li{flex:none}.menu__dropdown>li:not(:last-of-type){margin-bottom:10px}.menu__dropdown>li a{display:flex;padding:5px}.menu--mobile .menu__trigger{color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer;display:none}.menu--mobile li{flex:none}.menu--mobile li:not(:last-of-type){margin-bottom:10px}.menu--language-selector .menu__trigger{color:var(--accent);border:2px solid;margin-left:5px;height:100%;padding:3px 8px;margin-bottom:0!important;position:relative;cursor:pointer}.menu--language-selector .menu__dropdown{left:auto;right:0}@media(max-width:684px){.navigation-menu{margin:0}.navigation-menu__inner{flex-direction:column;align-items:flex-start;padding:0}.navigation-menu__inner li{margin:0;padding:5px}.menu--desktop{display:none}.menu--mobile .menu__trigger{display:block}.menu--mobile .menu__dropdown{left:auto;right:0}.menu--language-selector .menu__trigger{display:none}} \ No newline at end of file diff --git a/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css b/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css deleted file mode 100644 index 7fe5a22..0000000 --- a/public/css/pagination.min.bbb986dbce00a5ce5aca0504b7925fc1c581992a4bf57f163e5d69cc1db7d836.css +++ /dev/null @@ -1 +0,0 @@ -.pagination{margin-top:50px}.pagination__title{display:flex;text-align:center;position:relative;margin:100px 0 20px}.pagination__title-h{text-align:center;margin:0 auto;padding:5px 10px;background:var(--background);color:color-mix(in srgb var(--foreground) 30%,transparent);font-size:calc(var(--font-size) * .8);text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;flex-flow:row wrap;gap:10px}.pagination__buttons a{display:inline-flex;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:inherit;padding:0;appearance:none}.button a{display:flex;justify-content:center;flex:1;padding:8px 16px}.button__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next .button__icon{margin-left:8px}.prev .button__icon{margin-right:8px}@media print{.pagination{display:none}} \ No newline at end of file diff --git a/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css b/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css deleted file mode 100644 index fd83cca..0000000 --- a/public/css/post.min.e6dddd258e64c83e05cec0cd49c05216742d42fc8ecbfbe6b67083412b609bd3.css +++ /dev/null @@ -1 +0,0 @@ -.index-content{margin:25px 0}.framed{border:1px solid var(--accent);padding:20px}.framed *:first-child{margin-top:0}.framed *:last-child{margin-bottom:0}.posts{width:100%}.post{width:100%;text-align:left;padding:30px 0}.post:not(:last-of-type){border-bottom:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.post-meta{font-size:inherit;margin-bottom:10px;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.post-meta>*:not(:first-child)::before{content:"::";display:inline-block;margin:0 8px}.post-title{position:relative;color:var(--accent);margin-top:0!important;margin-bottom:15px!important;padding-bottom:15px;border-bottom:3px dotted var(--accent);text-decoration:none!important}.post-title::after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted var(--accent)}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:inherit;color:var(--accent)}.table-of-contents{margin:40px 0}.post-content{margin-top:25px}.post-cover{margin:25px 0}.post ul{list-style:none}.post ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)}.post--regulation h1{justify-content:center}.post--regulation h2{justify-content:center;margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{position:absolute;color:var(--accent);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover .hanchor,h2:hover .hanchor,h3:hover .hanchor,h4:hover .hanchor,h5:hover .hanchor,h6:hover .hanchor{visibility:visible}.footnotes{color:color-mix(in srgb,var(--foreground) 50%,transparent)}.footnotes hr{background:color-mix(in srgb,var(--foreground) 50%,transparent)}@media(max-width:684px){.post-cover{padding:10px;border-width:10px}} \ No newline at end of file diff --git a/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css b/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css deleted file mode 100644 index bf67df9..0000000 --- a/public/css/syntax.min.a0773cce9310cb6d8ed23e50f005448facf29a53001b57e038828daa466b25c0.css +++ /dev/null @@ -1 +0,0 @@ -:root{--first-tone:var(--accent);--second-tone:color-mix(in srgb, var(--accent) 70%, transparent);--comment:color-mix(in srgb, var(--foreground) 50%, transparent)}.bg{}.chroma{overflow:auto}.chroma .x{}.chroma .err{}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{width:100%;vertical-align:top;padding:0;margin:0;border:0}.chroma .lntd:first-child{width:auto}.chroma .lntd code{display:grid}.chroma .lntable{width:100%;border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:color-mix(in srgb,var(--foreground) 5%,transparent)!important}.chroma .lnt{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;padding:0 10px}.chroma .ln{color:var(--comment);white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.8em;padding:0 .4em 0 0}.chroma .line{display:flex;padding:0 10px}.chroma .k{color:var(--second-tone)}.chroma .kc{color:var(--second-tone)}.chroma .kd{color:var(--second-tone)}.chroma .kn{color:var(--second-tone)}.chroma .kp{color:var(--second-tone)}.chroma .kr{color:var(--second-tone)}.chroma .kt{color:var(--second-tone)}.chroma .n{color:var(--first-tone)}.chroma .na{color:var(--second-tone)}.chroma .nb{color:var(--first-tone)}.chroma .bp{color:var(--first-tone)}.chroma .nc{color:var(--foreground)}.chroma .no{color:var(--first-tone)}.chroma .nd{color:var(--first-tone)}.chroma .ni{color:var(--first-tone)}.chroma .ne{color:var(--first-tone)}.chroma .nf{color:var(--first-tone)}.chroma .fm{color:var(--first-tone)}.chroma .nl{color:var(--first-tone)}.chroma .nn{color:var(--first-tone)}.chroma .nx{color:var(--first-tone)}.chroma .py{color:var(--first-tone)}.chroma .nt{color:var(--first-tone)}.chroma .nv{color:var(--first-tone)}.chroma .vc{color:var(--first-tone)}.chroma .vg{color:var(--first-tone)}.chroma .vi{color:var(--first-tone)}.chroma .vm{color:var(--first-tone)}.chroma .l{}.chroma .ld{}.chroma .s{color:var(--foreground)}.chroma .sa{color:var(--foreground)}.chroma .sb{color:var(--foreground)}.chroma .sc{color:var(--foreground)}.chroma .dl{color:var(--foreground)}.chroma .sd{color:var(--foreground)}.chroma .s2{color:var(--foreground)}.chroma .se{color:var(--foreground)}.chroma .sh{color:var(--foreground)}.chroma .si{color:var(--foreground)}.chroma .sx{color:var(--foreground)}.chroma .sr{color:var(--foreground)}.chroma .s1{color:var(--foreground)}.chroma .ss{color:var(--foreground)}.chroma .m{color:var(--first-tone)}.chroma .mb{color:var(--first-tone)}.chroma .mf{color:var(--first-tone)}.chroma .mh{color:var(--first-tone)}.chroma .mi{color:var(--first-tone)}.chroma .il{color:var(--first-tone)}.chroma .mo{color:var(--first-tone)}.chroma .o{color:var(--foreground)}.chroma .ow{color:var(--foreground)}.chroma .p{color:var(--foreground)}.chroma .c{color:var(--comment)}.chroma .ch{color:var(--comment)}.chroma .cm{color:var(--comment)}.chroma .c1{color:var(--comment)}.chroma .cs{color:var(--comment)}.chroma .cp{color:var(--comment)}.chroma .cpf{color:var(--comment)}.chroma .g{}.chroma .gd{color:var(--first-tone)}.chroma .ge{}.chroma .gr{}.chroma .gh{}.chroma .gi{color:var(--second-tone)}.chroma .go{}.chroma .gp{}.chroma .gs{}.chroma .gu{}.chroma .gt{}.chroma .gl{}.chroma .w{}.chroma .language-php .cp{color:var(--foreground)} \ No newline at end of file diff --git a/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css b/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css deleted file mode 100644 index 0c7817a..0000000 --- a/public/css/terminal.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css +++ /dev/null @@ -1,2 +0,0 @@ -/* Placeholder file for your custom settings. */ -/* You can get the color scheme variables from https://panr.github.io/terminal-css/ */ diff --git a/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css b/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css deleted file mode 100644 index a879e58..0000000 --- a/public/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css +++ /dev/null @@ -1 +0,0 @@ -.terms h3{font-size:initial}.terms ul{list-style:none}.terms ul li a{color:var(--accent)}.terms ul li:not(:empty)::before{content:"-";position:absolute;left:-20px;color:var(--accent)} \ No newline at end of file diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index bd140d98b9b7941d0c93baae2cf04e60c393d926..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7H#}V&Lo%F`O}=hgbLOYg zv4p@4_VMo;LY^(k_kSdzzpHqrVeOBk&^)zuw$Be-Tc~ipqFDBR_rf=f5iADhd>%&H zizGAHvKq!2l*d_5nIy1I=YYj5ceY4HgIVru(T27l($#X7yW3}u-djbBbJrfc7A2RP z&AaX2sSG*Ev&tr~g8H{@b-Nv9@@hiwHRZ)$IeOXtx&2mN{CDETe;oe~e!Xa81k!yX zLryX(xBx7CBBP$=zsXOq{>7CkCjC6UM@<%I2eRFMV44$=wM9-c=PL(;J`eNed*NlC Q3=9kmp00i_>zopr0J#otq5uE@ diff --git a/public/fonts/FiraCode-Latin.woff2 b/public/fonts/FiraCode-Latin.woff2 deleted file mode 100644 index d2925e0c2ed747a76bb2d786946a2d8ef358ac2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35496 zcmXT-cQayOWME)m=vu)b!oa}5Xnuo%q00aw1`Fu z6S(+Asrv()M(^JGy)!4P3hzA1xJg>*cklZ+Ruk#OgU1*fj{I^@`TyV2^SA)-7H@{o z)qlT7dv$~;abJA#MXrajt#jfG?$FTUZOgy+vGd+)Jdn3LV%x{Mk5ZY%jwXfM3IwEh zqa;qrBo>wXPf|a5`BJWaoBRGBhW0Nq+GbrbnR6plP1A2yy!5oN?|V`|I~Xf`%TjezPo2^Eo!7$1uf6GP%c4^3V(gAD5QSj@7HQ9(gTVq&2B) zg-^<&RZ6SYyiNp&oy+%kntzR%xoefyDy>K2rKaIWC(mEDYSk(u&y5H zOIMUQI?M`Dbl~DtoGTEdAS>h~f4iFU(dX=FJIZ!86wepSi(`^!~efgmG9cGAKtxpvybhV=Z_@zC|SQL-eq2V{G8eQowxUvb_Z|UvGj}f+N5n;?3UW)&3U$?S@&4y zqKg?OTx}T!0!;Eu^Ix4n8b6fB=yzb{}<2hpVGH6R%fv_&%zlklFcg{C6+Dgbrbxh{H{MF%HQu_ zL~_Zy>ksZTcxc~|zjH<4;eo^N?tS^<_j&ESEtkCfwbyP*+WP3=qSTLzTBouyHE!6W zpc6gOd5z07=R;Fj(9%C zRryaX_kH^Lf4%P3;?GX|cLdMTZOU$)oq3b-)Kt-;Z~FiC_+&`UFqmE$JT>fT$X31! z+qeQYF_#^fl+wDUVAHzg$G`vgxq9oT@QM90XD2_H`bXjLx7L_vQblL3wq6O@+$_1| z=0QCZ?#TkI?K7r7+UwpV?r~%0E*b6Z(}S+YMBlwXd)3zenoX0KU;NO2|Fm9G{Ix)l zc=xYo@7W!6${aH{hD11Ia&}&uByybF!%EkcU60|?1ed1{maeC!A7W4WHEoJ1TV*Go zVOSBz#=TRz&lUSVUA8CtRZK{D$ky&xNr89&zdZBq#^yNI)y!Ha-T(XwD8CSU`R?nd z_W!fjNcKK`Qzgtk<9Yuam#`Vudb2{<55#&##B~O|T6WyoY1Iac@=t3cv#itwgu*R7 ze*C@i%*uXZs#I<#S;Fj}oz!pCm=U=f&y$ zbU&Jw0wZD%inI>1({Q7rBHeGq0BCp}m z4aZDVbaKx>pMLrKWWQjwd0axR9h;||j_r-@fexfM8C4l;5uI`A~GGk)FK7yl`$F@as^XkW(BHx^#U`-E5B2wcJE zVrUvM+wj$LC6~8ijqg|*yjQ6Bxz}%Ga(Q!}N84y!QMJGEJO2J>e~vHS>GS7|shHA* zEjI79!&3fEeemSL*D%uL?}z`o7H5XKu+C#)OAkEYvb=zfCu}zI@p_ zpG1YG%)8eTOFvkb`tK|e5br!YQSa1=#NO)V`V9f<-%4$D{Bq{bQz|>RX$5c0K@nMZ zlfW$gCTD|5tqUbgQl5*>ZD-`XSRxUVG~or~hFX_Z|7IWU5r5po?#Z+;dDlJuKZyd( z4AEB_{T>zd3Z1FxyWk@;7x$KgxCO1Zbq;7g=vkh^+N@S1_cQT|z{i-q zEho%+B7fNE+s@v1!uvs+4fFKBGynd!vXtXrbKu#zj#(2^-JVHKG&VYWfqJR^;If6%#X?7n39uRK(?_B~_JX zCYp8S@RZAj1{*gOuL@Wi#j7vBzemrI|N7sFfcF8Cs}C1VM+FQPN`@ZXoU*$f{6`CD?MeI~x1XFKhqJmZ!4{ey2*` z@5{aUdU@~+v+i^X6z|qAJyzg}2w+~-?O7=QVHgSklS@?GOP5-QNI~LykD{VFJv6}w0*H4*t*UM(Qmv7&l8d|og>#V` zw|l+0;J(Mgwvl@x6TAG>g4NZJSs0uZIi*xo6}cGRL@wn!a3(v4?cVK+PTJRORaCrJ zG5Ta*D46K6EVLu^+IL=^SE(yS*Z6uiF0_yc_Huc=cjarPXI>|@&+fm<9#^_fv;FXE zCy(g)J_}V3Z_Yd#b5kgAWlrLj2!piXlmlYxHZuOr*H0@9tYz`Fka+S(v|CYAd9L%) zm5VN)uM+rn&%aURdh`RMjOttS_wukG*X)|dCcm_1m&CN7lR|T)jE$MTFLQmM)|z{} zPw%D8{XR zGvEGeK=Mn8ayI^|7u)1qx=jU3WweTpItbrPyzE_KqIsoJkZJOP6+9Yq>yHPEGRIAm z_*ri9GUzqWl&JXkG3RsTnP&J3XfgUwwYpx}+#Li~6U$#)# zlUrqL^uO;#8E!jv3Wst;DZF?y>HmA?6YYm$mcD!yW#{0vh@E?Rcf8>^-(wWX7M{Cb$29r}LyTTKoBZxd zUW=+Ft*1p+g|as>Rq0J^%50SizaMFIrnES_+v2iT*9Mhc+%ukd%hm-NM;!^{Z|Iq1 zKiAhWTewg026NPX!JYSZDs7I5=)2t_(Rf<>cE{sGIo1=7OnhBCLq2+|fnubB-U$ZN zC5>05UPLaK_{~w8J6qg#YQ!OP=^qECNz@u}wC}ijxs|=4OeOxC(n@h-!&qUt<24qi zPRiMMb-{fNFw=V^EuYS4O<(+H9skZupn&T0RL(b2AgGxMjoXsOXpP1m+d*_sG ztxG~{%bPQz@mH%jl};*_-)^cIFF)xTo#rtEp>z(dG#;Hetb+exAN{YU7V8>ZUtv)$Dw^VPAgk>&i9-ixu zy?Hf_b3$~e(`&1mznT}eI9&cU=Y~zE)@zGXRnyj%XDf0XGx>b&g%@+~R)%RR`g1mB zPiZ$7jbDNGQl-)(u_xLY~mn&COR+nVh&^n3Vo9*VW4TD^WX> zSLX7i#~)^Fbz1HJ{_OXt%{w+c%YK?c@t3Wo_pXZaEX-@%byf2J zF~v0+ru+*8S#7yPa%b&g)0&XD?s`*J*l7ki+jcGO{2cCx(+TDG-zhh_HYc89;5nke zQ^!>0RwlY?N9gK@f$JSP3{$i}vrqV>dO4AOr>D`1PmU|Yc6L;%bL^=;+QvT7$FF(z z=?xMyCv2I^Q1MFLMV#&Ohm=?zf17{*-xfNgwBOZOkr6R#>g7upjSY+pH#a!=ZDy`a zkNDQRCz$EQTzh_Z$FijFTbsK|?r`+4-m|%b{Q+a!y(RtY7{seqywh1y;p52c`?qxE z(XZ!jUGJ(?JW!L#dYJ1^r}5{Gb5(kFvQ0V9wcL)(DEDMhpQ!&VX3B5f9c{&bBP+bT ztdH7#-_v*aGqY@BVL`>$o#h{<@0ie;y7f?y{Ptj`^zRIx@7ruK+$y|ln#Sw2{bI5U zzgdQ#(fqT|Q6a4G%`Mio+ZcY|>t&ZrYI?JNV(9D%w;2v}8C?^+T6OsR$E{%sYs~iO z?wES~S_gySig)3+leUU})|@B!JT|W&=i;Yr4%0VEUCHgzPY#~CoiWnEc+c}|fowZB zmb@+s{`#mkEK2RKV5!!|BlFtRI=-*db@*kg>u~1(o1G1z^JCc}pG@6U9(koU|Lh~j z-%A#JYf_f)T{>UX@y)~+N}tv=$+R-a32oal<>$Spl|RnyyX>;vN{_#Tajvu6id60T zj?-tQtaR?~i19XE;8thhU-Eh~kLB$1?+dYxk5g-CA?XHcg>;axBlQ z1$ohDFaKTW%5_hxuT`0?gtOb>sc4;u`9^r`q?p z{_$B{a=G%(Y&jQ~u-YDB3e0|45VGTf<|_gF`R@&0^~B_q@CDC}diFymD}ATWiA6!i z?<0SmI&tLwPxIO!h2tS+&P`V&w9`C-EZc4<_D^zM{9VAZ>|5)?^VMB`ahcoGC*Hnz zWQ+Rl*L$Cdsmag0Vq)I0+$(9`;Ul`jx!s;yPTqN{eyu3y#m;+S*A2d%i1ayb@ND(W zXUP(;PiK0r^NBlo)ug-1x9QCt_DLGc)y$lJWUUfYUhrD{CZouL8S@V}?PQo%Siv&Q zyM59Hji8?aLce}(+_b`J_nuoKQNqvnRB5_!E#=$5D74~=7Mn-W%CluB7N>5!c1l|8 zE5xJ1cRs(pXp>mvo@njE{&9lO-9M=u-y{;K%_pcS6u-%huhQauBIhKg3FTh3N>h#n zh;5JCs#`3!y|rle)}tx2r~ORc+7Ybu;A72+?XF20a`(7*n0m}yQh4Xl)Gw_Se>_f?|z|aED?75j|(}mZQ=c#8){;CHX_DEy-vSp)=~yx z!N{u@9%h)ho2u+r`}Y6d;g#JHOTTOqo3vs{=#~kyf~4L|n0~@(<)OLnIy$OnxSF(A zie49+)1D%9DQ(RbuLH9S|CI=d^L?CSSzpj?IqO8goYUJGR!+G8e$&>lv&U1)a}J(g z)N^oNWOeijzbSlX3w$*Uz3keK9S_)i=y%-9nTfhL{j$8)1PE)!X}O)ec;ZsC+eELe zvhIi8wXC;!_i25Q#&Tg-<-<(8$@gcrten@LsKB*Za##DTuHR?ewy|ngwr`F8JoEwTHW!2z>d1)OA9MGQh3c*&i()XL4(a&!-eZoE|t$|Pbf6`+Pm~Z>SB5C z-eV;;f%kmO7G9iCP%jwkt06mO8()}ZzxkcZ#_@aXzMV5~I$v0{!O`KqqUM=K_769A z%c$i9+IpwHzp!0f!S?SZd8zjkG!3;T+*a|uF!_Wd=htsGORhbR*?P09|CoQWt)`Vn zugdNvTGmfAH_h%^(0;k6<$$8d&Dp#)v5p&9IBV9j|DC7YH!;jqEoG~TXw`)m&sRvd zb{=#o_TO<_+RwyYPV&~rW2c#urq+1Ge_GLA@ye3HxkK`4^F1+9wNrfj&x>CA+Mi|X zvSvi3nRF?znWH^KA73?W%K! zQ+Ylt-MsP36n*1uE4)^}`Ct^=_TxPc`JwmM%4TiZwPe|i@mUt7Z;qWwd&Z|=HdU)SV!Nhdh>jV zeRC)H#gE<9R{rJrZ_X6+vy1-q-e^2!1=GgMj%;sagH~9{cMAorUU)b#&`UaO^1R}& znXC%GTHLo)cpqJrnS3;NVrua>6kd%pXjayd>@PS9T?kFon5Zj@=EUMlq@o=yB;lB|>f*qE684>TfroXbEixC_czw;q z{)DrZQ4(vtyjMGaa9f_eNOXhZtji$^ho+`}63*b1O4}%+JEvpsvz6ycetyb+DI|Pg zNl&u2ZC^=p%%r`08s+$z0xL-hSmREN{ zds*WfnJM=tYkqlB;nlojt=C?wpckt>xtIg_qvqcT{bW2vN50{Q=)ua}U9ultKeK*_ zlAJT`v|-hc0|`rI-XyiRPB-^+k7hjkap~rtyW(RfeJiVC1J99W?45n^d!WUr_=ssJFxoSZs@B6Q(*j$V_E%V;K zVUSv+xt4SNk>(j9$DUvPAi4CO%JjFp-LmdXT5^2fCXd1@J9dM{PJZ2 zPBwzVTlLm@Ww)MSPx3?YhDe~K#9RJ#NlrAT*ahRm@)FZ8+@t6yF?^h3Q< z`|Z*Nr}wIEV|f=@6>xTM*0fhA)B~>jZ(SOl{AXc*z^(qY=?2f_${P!uWrIAkUQVe{ ztz(lFe>3;?SChKy$3Les9R3>b^RGC#s`ku-*skJTF^$nCazT+&a!2`ouE;Y>&<~h6 zY34B>k$HQ=WcfC$d@s{o%w=ktEi9_#ZM=A)VC}bzsfKA`N9;~B{JWsBfD=?Rs6kO+JIGHp1Z{XQ)KWjIga0>g$G^;M{(210`iz*Z1csECMZ4o-~ z`S!EkFW&pb!uOXX?E0p-EJSNcmwT8TQ?J{xz=e}Sc5V0E{;p-ly!&4gCs(aL;&9{k zeT_*A+fOJpSjdDNxIJOw&kuf8F6*9gFLFNH7_Yp2jXCL{IOwmy{UCl^Qyn^uba26 zl$}{(t;XHIK<b$r**3<)#Y2^3O96hB#tP~a|)=@ z)%g~>P}FD1_b8T*#y@G6jWGgWSj*VBC)|2iJuCR4WY;xkHWPuZtIix^zVOQUiJ*e- z@wGzNd`;eRC*G9ZWu?0|s_V*xV@F&c%Wm>Kw_(xG!wq>ycP#NaSen7qduyeGi9>_1 zX1es_Icd}6Lb^Ox?XBCpRsY+$GqZw%-%s$inr3MB;?$)H*H<~tS)bs1WxJ$vgoLQ? zLG^rHTfQ?zWn3Q=>LlvRkJZc&s6M-EYqF|)#fGoiU3rZUsy|pJq zB4t*fOL%g|)iXv7opohwYFg{BvQ3O!b5+8tdDog3g?u6 znlad93anY!)VJE;#1@{NhYm2u&2JA+nwybpbw99tTU(vmuiGJ=`=Wlp**;kJLhX3onavLy*lQ2xMf9!nee);EnB}DT3sIXAwX;2KH`G3~mrOgf zgx8W&>|)$3ria;z4qLn)ut=?+8LhjATliB}%31E224C)#{pHDuiFkE9Lv2dlee245 zsU^HxuLJTs!qgdrinsZm(%SlAEkn+ODM8EFKW(nA5{xmC*Wh+P`i5ZD?Dq2)g2SOiZiFTs<=+Nq81{tqQI4HX>I31-zz?D6C9_#dZhKC z`H}FpzhBk$7H#u8$-1yoHRPMip(!^l-19$iT|crdAxcJ;<-A+Bkoc?3PDh^GvVZ6n zlsx__k@Lj7+je}V335{Mix!->o^r`bHq%ie;$-K?y2uwl`#%M^wv`C*bf0rLb?b~=y|E@id$_ew6me}>+>F=6uZTl8Re?~sjpnK0mJKyrMO5eO+nartj za?Ur^ZX%)6j_KQp%$KGq z-_!GXHU8(g@9d8G#nyaQg+YPkh5Gqo!(HFrU-tX?Vx#-}t+~%mGaNW0y?23nnpFBa z%irg2FM7Mr*mY4{(v6i;Hj&m3Cf~8MtvND{_mNSA&dzI+Guk36Hw6d&W;>8`C*8_) z@vbM?Vcy%z{_gg(@Af+~$1_(+`T4QA({*cpT>2!OF-)3VpE)U>B$dU0NJ ziyE)tI)|#h>0S+P2h|TrZGG&x;NgL$URfI%&Nb>=CU*0x{LrWf`m|x@DwP241)HbZ z+veZ=u%WE0!P#L_qb9d(vw%2%yxK~oqSh`=uQnb5VdL(iEYU@&Q6^90>k4kGusAd{ zbQl!;W<7d|>x=UP^M4K98{1lJoqI}`*!(zLFLUaGqQvYIN!-W8jB)}CG}M1Bzh}?h z*4bY5M)7#bOKy(}R)b2;+SR@cQkV9h{FbrZWj2>Y`Lk&p2Fq4XkaNGwn)dW_$tg!& z7VU;ZYgaB>_~-S7$+Zi+rz#u>DEH~#^y!N70j5(M#JyY>D4g<02^IZ*ze2KmUzCPr zd+E;ThG|?A4l-{0wbQ3}_XU~x2QM^TUs9NIa+XSPncwXvvkaDoZc6yDD(@7_ovD@e z$=NI3s0D;BQOKyVcsM0*%Z*oeSq}t#d+KYYxmwP3qWdYW8;|vFFrE1F{#nafx3`On za^H0vRN)9UudS-)x}Z6IkHdU+-x+nk)Hffyz@%d^e{yNZmMp*Y7tseNluK+*jtWnn z*5AE2)08JG@s;h{nvD~U`9(sWpS@x7OyVM|ex`S+ul3FSw=ELQg|g?rO6ob}D6YY# z?z_xgmM!{t-mSRf7aMNr-B5VIlX2wDl81rIjzS51mqpKq4gb-ixm_O6(~ zwbNcL)_qnWzskA&@7f(3({FW!alUo^pmplhj=n=zZn(#uo~`!CyKF(P*;D@tk9%!S ze~JX+TqnwI>XG()7SpjV{q4S#KAq6cbuT*DCvA@2bA0Jf|9c@4Yd)Hls$iCVD>TwY2)mcH8e-|b<;sF5|tcZ*TiqggXw95^(q^Hh!FX2Swa`I`@eW_GFVc93D_4}FrsY_nc1NpO=t-We%z7EUCGGhs zZXtI!{1;x(qWUBJ;{)IPO8e~Y zotN0MV_KMZE_*$DMgQxL9BmHOcAused%=E#N&i$&XziP@V8*3YDUx|?zX^ zM8U5OK4vvbUaT>Ha98fzZi@*21S5^I#Sc67tTQ?u6H>A(qQ=d&t#tZ>B(ZtgEw3V* zi=CFWsah|b*_=J`wrp#&tYl%;U!9ZFCth`5rm}JQ4Z+uMI<{=#ZZj@a?p|^>XVn{5 zuQ{ipqgpF(b#6|v_mBz^o%n0!#Oad`aa^)D4A>i8zj0b?x8_9+--RyvZ+;gCsW_Wj zbNgJ4cZpv8a;401F7=>k8@G4Qf3%d*dqdEQ0}YEfZKaNf#CQ{!rQkA83Ss*Zr__9NRhGnq#S&XSwEcRw`f_SWVoS{rBemyj3nkxJd){xfi3*a? zpLF7=iGncqqm46E-oE(tvM2t@$NNpzR~2ItBww!9^p}nMm?{0Y^@1&T{LfeR7G|;< zu`bemhi9Dd`u}5|(sA?W4ZXXAIX+dKFBRic3TaksH^pdaat<*;&=! zPFB!R^GfL5((A7dxOSH=Iez{e17AzWl54woWOEV^erBnDsa$vCys+QdL${B9t7u&6 zof{_O9uB1n(c*_^?%0*8AKO{QJ{DSyIovD;RQtLvYfowH3T(&bTq zjZ05-tienvhH|$9(-LRwH942nD7STE)b;QeK{c7F>g~3CVvnM3t)3F#lC#JAx_0`( zPg1qjQkFY<_Z+mSzN;YGeJXC*nZ`L4M>c$#a+|5>_|}`#3}#<=vB2%u#+3o$rv75w zRZADHa{XkHAS9-Hr={oq0o&b26SM!@Zd#(`d8>oZ_!zHQOvJKUk7f1mEpyldIK)=o z-F5NLqmyd?{Q~N4S?w!$Ui^RdzN1bRpXK<@tY6ygouz29JAdWWj)Wk;*dL2kYx3lz zWjmLPSNG&>IQO8gj!OSn|bWfOL z<>gy@WZUjVGP0lka_hd&h4#z?EsGzf?YlMMYAEl<$m>k!PrmWR=&b(PB2S=k{v|26i0^W~I?NKw}DPvbC>W=K zCKT|b9OL{k!!ya1D|7AEnlsx~X0Lz3aP4-$SF_$#yt9k9SweEE{CEcGfQOJbf%RrEZq^N`dVOK`!y%dNmhx zX6z4{JGt=WzMwhRo&-Pp`s)l|zRlIO;-@!ncAm1jw&tC+kmlRe8}}sH8>h*>HJAE- zDUH$O^@%5vT@3Q)Cox`HpJO>o$I7(&+EkG{lXDYT77D)nnf#DlIw69w{Ou8w8#jAG zy3?+2+_{VS+8e#^_pV)@6!SrH#kmYi`D<2(J3d%kKXftNGU&{#t9g@F2u#>2xqxMz z`?J1CT#&0UDkz-C8?we(x-iaPx`*e< z8+qQ}ZWkXJil?Z2oKjRN!0!IpV7uSeLjgDED0<#Me8)kW!_~Z#Iq&ms)!F(w_v>a@ zpQzo`t@X%{S6SZ9v|*0qHWVg?f z`;l*YH;0(=a=j7Rd9_1w8h@18T>I!Nu`S*;vRwSdjiv8o9=D%9)BCW=Gw;4`!t9sj zo8&d`MZdP0&%SS>taXQnssA^DKdsLvl&-Ow-=F;ETknQbZ=I}Tt?bM8UVXSPd9iwZ zy6Y?>(P{@-(OGdz54HX=WaZm&^G2({K3<~_92<{bJj0ikq5VLiLBVrPP=+yI3-dje zn@#&KW*uO$OuMBV8XfMQ;;b5T&Aw@o!W-_}YROCE*S)_IwQ~L{;}FYjrR!H(Rd*=) z%FbA1COL_J39s<_?a~s_juRJJUU{`h_wt)uJNKf7ytm7ae334@QpuV8zT$6qd1k!{ z<6^F^sLF<*zSM&Ud$!Doo#JtJ?=P{wyYtq(E!rHhr|j;8tVMpCR=wz2dT4#zvs*t+ zN^FZ=Vy|B)x%wbKYF%D_x8+nfmGqUjU-+!OTAV7ldy&=CZ4)Z^+4uao_1#z0XJLEB zgw%tbF*i)kiOaB_@;s<3YpVEpv9kN|^EM2^?S~T z`H0hTw#rCBCaWAknKutTp;&*Vm=5w@QU1{{Oj>tHD4rBlXuN zhSe$g4x5)`zMjm_$9(z#|JLU`x6JA{J=w_q<>H1bNv0CvB9ZU!)GsVAjNn`3e)??F zrgs+Sx)j<~nwN_-h8+@ree5c)z3t!iWt+bqx?goLAphOO4jaaTDN8;qZ@wk*=Gme> zXS_PPikGf`rTVnI;YRkdW6c&}R?Z#{-;QrOweIz*gNNn4-tIFBoysSCRC3YU={Iey z=a%Ps*Z#|5+L~kS@cn%36T3{)p4PN^tM_`y-@Xzu_w$;^KNg-T4^4i&r&jUi#Rk=n zo9uk-?yW9kwEuH@jrrof2@gM4&j0&mVsdF*Z2ku8)BlehX8E(z-tw4K(&?8kC@vh^%KtS6O|QZohyK_b zGUx97^=kEl=<-iX*DrbTGxqJaWzS4AXMCGl`nET3#%vGvXw3sH^EP+QK0e{n@eALN zT2EG$oy%(-eg5wmIm@SE>@uoT=G*LNu#20ty}zz>=f4E^*H_JVI&Yto-LUwG+Kt7Uw&3{pZ0zy?n#=&|=qyATQs*Eyk;zvJcx$ zpHamdboIo}JG;K=OT=jD&v&zFIG1Xw{^Z09i$xXedv!Mz+~wR?$>TCHZttqv(re!? zUgat%R|%fm_WJr6Uf=18UwgN$oHe_-`nUD2Z(sTEu~crZyHmThQC{WP*S<-94&2js zSbFL0)?wXshwo3))nd=nUgwRqJ^zWvuKTtAlMVB<&nn6@17`-t#-@tT>y5ajearg% zJ@&(K_ju@G31|vYTP0&vjEy(Ycq~f2qsM?U<`?F6zjHYNF8lDD?L+jF|Ldmq-d;7eYNDO7ckrA=Kkn@HsfyRT{jjXG{jlRf&j+cQ z?#AvrC%tQ4duHiL&XetvW7mFG_0{f;dQh?S(&58VSM7Hd?B_0CxyD09z9H%3!Hq3_ zIR?|tzx9(kR_L*U+v44cw`zZX-%bA2zrEUxn{UC&l@*Gr3zZcY=hqb`Hkj{Mc zcik6;HQG_%<8t0<^xmyp)4P33a?G#eG3Cu$+9xy>e|jswcmIXPy)ltf*1s?~B4l`4zZW}M%XY4v@4GhJE@0no(;EFRzrWtv_UXLu((cF27alDw znq1Y@xaf!JcbkAq-{kf^l#=RheJ*$My3sAkJ+Zvc`ReW()qG?1h})1aa_-B#z9%no_xLTr`Pu25TNm>!+4p1$gVW^y`?)3F=m>2tsXvo9mBJ3^1*lS_Z9EwF67i=io15(#phbtv=uksZSFqy|L~9Bu`f1R9AyyoD_a}F zc>JeVe?U({)4`WFuTT0}R}}N(_``RFrTO3gw(?zZ&0gqnZ*iw`PRGI$!vmks{GIvR zJ7&*+zty%EtOZ)5JMS>K2AW@yvu&{W{Aym-uVdR!ug;1wc3iU~HR7Z%-?D5&xBADs z?jDJm>!GmTqTzDrxrg;Goo(jJUs&-nB^k{L;0OX1_ovbWa< z)mDYSOiTZ!F|D`rNs;!ljJq-)n*P+AdQCa{>F=){Jm0nIr)Jk%y;h00*;BgceY}Ih z&)-h}Z1*Mp`#R76xQ%Y|gHvZkTkq+4-kZPP>fQZ)NuPe5Vtn<+i~Uts<7?gn)eDTH zKAb+$rTZ?r?Z|p7p|V5!*;)MSH0tNRI>i+$ z``^^B{cv)%%H;no%jd67mw)SbW6F_?J4gSyZe*;OQGfMR`oH^YBVO+{I{EwSr^x*0 zb3dQkd7+y1;_u$iDJ<`=XMZd!{P3^lYTo~CqML)wVst{LpRK;NG+@Tkc~KwthMbsW z>>BI*RQsihXv@+&a`!KW?^U)trW&x~jElmw?+Kf3eaqQqxh55O>9lsK?b|-iyrZ;^Bfcw_?cv$&r~6kd3BUC!^?Kin)2I5go`lbq zej1)u>ZrbHw#@7r+xgRS?-|qsMUPg4N{j&?IKT||9XC0BgZGLlQ+SILw zcDR+BPL5$dZ^*q`J^SpUXC_>V&4-icsx@EG48Eu~|KzLrA!#q)w5-Va{>rjppYlho z&PbJ(nSVN;*?!vd`EBm3_3K{VUQ>MYW=NQsVy%JiCF{Bm1(|N%l17t59yEV8%3}|7 zRjaCf5|DIHD>fnO<+-)}4#Q`#T>zxVHo&)#yLIYq{;EjHB`mX~X@MVttaw9hzbb}-G)bk^DS zeN(sQ|MOaCxguY}He&Ls+bNQpJZ7F1o%8KONKpC?-S%5M-u&fq?R;r*R^p$1EZ@ek zDC>Qdw{Psb_+e|^A(@i`n+#S+EZjV8M%63nS5>ndUa;4`Z#6q<@4hen=lMBNfwfW_ z_kG}=@;T!1Z)3hikC)8$-T7(Z!RFxVUG7r8*3u_`l}&l!QE6GSWyc4v;|)(gscL$> zP@d-1Woc=&HgbCWvBw@?OwHu#cDSz6%9|?GR_SyoVD*lOt4hc68F$zHz0~k*{r&mZ z86GGu|8V5c#Y0t1M?-}t+DDeiEP9sHB>3P)O6i~1F+r~9@4X7+*0`CIJ+)xciz^l_6jvVf z2~S^N%Ky9k`jh)TY8R6>`k1L&_O>w@T@Q-*wOg~aN8mtx{oI3x-#+=-nHll1?(DOF zwo!~u2hJ4LPng%Z*#C+1SLdLOiVHQD-Po(zBQ|&Tg!$1OPYe(3ln!03zmJE1fopM5 zhP30nCsV$w#!Wa9FX^g$GiimB(NyL9M#EprtEBz+T66s2Gn%-nL34ug<7XRHRu-_> z3)-{^{A^KIP?b;l+vC{4?G%w2k>p}DDAs*z$(Sx&s0XdPf@{LU=u7)7R#=KFUp{*JL*cbep4iSJv4eP^S z?{3agoV925$JXe|Z{5=`+$}RTh*zIA>uNpoe}B%|^XI*Ebe?r-^Np0lpVjA0*IyB= zF5S6raen=8iFJ$LINa}6GhJL(>z3yD=1HvjOu2+2@BOq zf8V@R_)K)CVf5S&2QOWFqWCi)Iw+t~*e>l#WQTF|<=uZ9l3j$kq)v)QUzm7BDgUKM z-_)?bZPiXe##ziOXZr29@$;$WYp$CoBehSgwwSR%Nj*wU(rqXHi=dYi5nbeWjx7}~8^T&vekiJiOw|DsK{0cg&pf|HU$v9}X z(zKf_O#W|-tP_<2WYkWTizpbLh%<5bpOQQE^tRl#_b1MT>58)L<(}+t%6i&;kEU&% zlhSTVDNCMM@CYw(v*s@AWEC0gkIURGnLe?>9?bsLA(O|r@dEP56 z{c?tT=6mAwn5r08GHj3uNOp6YdBLxP?P3h4gVFD1p^Y$)5fDN3_-hhm$9u0-BBga_ip)#ovPP^ zb&^^mOr++=N1M%kaZG9*r^%__*yGhPk(~>KZydQc@q^!nKNF^zE(n=@i8;*0^w6VQ zT^AE|^`$e^-(HGdvax1C@~!S-+Z~H?HU2XE%V{RDHNL&D<^X$t}BiE(#JVLM+7h3+%rRi&rZpzO+c`* z-z)n_%}k~bb$@~m&$|2QVvyAh(Jy^dR2Iwp4>*wbr+SkNyTD;-g>ZJpoc9_RyjCoq zvHlUmaSndPWiIOvi^VNttyz$;@z@=)Ljm^dkDfW@rFC-I)1~!>N}eYxwANnYU_W8J zp5M-Lom)sXvv60nbJE6RZM={4gySL-JZ~hseUn`9cmntGeQV=+WfpdOn*W#f-u3iO z_3Kk>&;RnzDJ=hApt93O+aocBABsydCHyOwr+!;ocXC#|*v_=MCxRk^ZpN6Ewx~Z#EO~R-pnbjT zv{Ivp9ha42DwYDql#P2Wj&N-|a#l0qX{;!aVQ6gTA$$1;wZ`TTpqXxz3iZU)=;#;mQgnK#Hg&0SXh zKWNJa@AzeY|I&JHJlK2RdHbqq3i0;rXa0rVZqUco)B(z|u*v5hyhwjO&i zFK9-5#p8L;kKEmMG*^w&qw|+Q$@3$R4*h+5-TLyGiAPj&_H8uzmKWjsW9QcAHS@n0 z#l3sGy0oAD&cV~g%gwH~1RJk1zj6NT$tTDA*z?ycHe8hL+%G>>beEf)Ft_Q&AtS5a2wU%!;S%gM~WfAjX`ecVSX`j6fYJKMR9t7!YS2{ZN9 ze`5M3Dp?l#Y-72v6_RO+?!=XqOMm2?)1L%Y3bF2 z{mJvYxL^O56yI@k$|aq~V`BU@%X~gHYB=ev-LS!gc3t61bhJ980Q)KWaV!rpWO3xopmU!DIE;aJ* zyy0@-nYN-vyjRWqoZuzl%C8NzJT8lxba?!gG0R-x7^ILnZ9@AEo1*&SyobMoj=Z(r zaaCdVe4aV|{YxH+2mamvO66vc9$$;O`%AM6t!DQeX7AdxZq@3X1E+XjH?LUsJM>jw z-R$MzZ@!dkYNs#ADK_PJI&<6oiKc#&>poN_|5Kk9wexVB@WTm0^P4K3hrX=L;&G47 zcfFqxSNQnve<9zxI}y8dm+2^5sYyn@DZcVBF!K4Y{h#z?jlOuq2}|oRxo$q{|1Q!d zYfo*Y;Fh@){Zl$TIu9NFs_0^_U}v7vf9PiA8l5)Lxygo8y)S9D1qG#bJq&u1urQ%| zSL*GbT>m6*emJ+@jY;;iZRny5Zm$FKcXVIP;xO8>y5O*h)V96831{RF{o|joOy$7K z+?nDDR`(gzvu9r4U0ZhE>&$Vll4;5QS1v1Ty1C@N|6f(*`WsU7XQw|*Q*jgA;&HT1 zGNpR6W^_<{zlcD{lRHhXH1|YpX8x=ZY!M}^duHvalP#_fO$#bN_`G_i))5-e-W{@Z zbw_2_th+z92(WmG&7bEb=l$Nd)5TNRVC9nB3IV&)+Gl4|mOejIvh?}vyT;XZ_hKJg z+6F)UdHG3WI8UksyY`FctS+B(N}F?+J=+tK$Rd5zIC8?DzToH2SAAag>*kqz`?}{| z+FomWK-~IQRd3UF+uBt#xaTU|soMKCG5hl4ZQGW$^UuB=wNm{o|LrMXZeIJA%;VaZ zdM?5!-)#DvnZ^+dgxS0iHfEMd)4 z^~B$r<+rsq`*TJqYyKD5`|IS^qi5n)&N0ZjnyXqAn}01X-MXwI$2s#s?A6HNB~sx{ zkKY|Vc-tic%)Hvg|mTW?R-Zn*h&x8`e(n_iP_yR?;_ z?uj_8HdF51$xY8s`^ofNPjSCeD}G~gmSEX*w+H6u52yO&L}tt}ijv%rBkA(&1lzNP z-K{cNCzFh?esg4=Ug!7GWMADbqoV#LPS1N8ex;cyF?d@{(knf$8UJ|QlIU~EbD|4> zFSg7)eIYDx>)m?m)k=cl|JSwr{m1`C_Jz~e$HzY1Ul`yYko=eF zZj0KR@K>z#=Yr#0+G^gZm3hIT{tpUyoBjp(r^kCwfBZifaAxGv4)68Tx;ccJeZ9l5dcqv>U&m-|=OI>K~>m}w>`V%|5Per7#MKLn-1xvSx zdYV2vWNY^9{BP#?+n@e5n4M8*I&)|Cm9O6|g43gC@`$ZVj1f7-@hNAA$u}DuWQ-`hl)?4Qy{1G*O84O-k5VPyU)yCAmgaHo1N-y^-u#Dlr#81FZ|7Ld zc{A^5_XUw%i$6wgnZo6}zqX<&;mC{ozd1V(3FQ2iKeAz?`J2*+Jr=Wi{!SE-b#Axy z-J;0c=B<){9%R~r5}u{~u=1V^uV%O~9pl@ld1WM)Z7 z*52b$pVz;nXbG>34A-`ZdAFs)nq;%C>q#zrE>Q48bQeeBo1SaNG4a#-x%NusZG0NN z>DX-5s>}Who9sP*t&(}Wq>Sx^hMT&K1+RYMP1foEbA0dCua9#pS;1E{FLQptnx=R~ z-6e)KGPPMuE`^_+ViPutbi3{FE4ICO>10t2=b<%j)8lT>dwat`Ug`9T+Dg9@#w!Gx z)TP?@{Fs&dZQa9lx_Xjg#b3Q5%WvM2jK0(t_Et2k>)4O$kIiSid(1d@#f!zM=L`P$ zSH&4PxONyuFTC1ou|-jWFW~R5^H=Yi{bSfzv?5f_t?|;&w=Whiyu|*=tmfIfpS$Py z?)hZ=VpgMgPH9m8Y!)E_<_ibdGq|iaZ0oN4Uid{_Vf|0p?9eq?Ej#!eX3V^JEWXRn zp~^w-YL36e3XRi|caNWOEZ(r5E8*LT6pfwdDyn75-uk5kZn@sg8@Xq5PLpxP{_-mf z5$>F8cZs^byUi=qP#bbt*HN1PhvhF9L8ZkVfr9VTR2EtYv1xMhgeuJW{!m+GMN;tT zgUiytXZvr|d9-|{?Z><*rOB~!Pp#|^O}sD5{4n~*%113CayFK&mkYD9>X`i6mVcNO z@Z^b!%$^q^PRs}AdoUJwZng@?2-V8MZRGPlwh2gl3<^La#lQvu`}#e8>606Ay*G2S2OZeScQ!eADy6 z>>XWygXix4YO$ifU@m+4mNk9<`|{%t{}np)T~}~j;kSp9M6vSyyH$1fG;2Zr z-P;}}7{7j+_!Ox^8XtF}3uk!i(|ymyboqRtziZdhu(dq(K`Yp(ILWY$<8 zFp8TN7kIsBo6*FlFMXaX{tlCPtT_4E%QBmn@3cym|9)y`dA8hsnf%`u;Rjcq4OC`R z+LD}nPrk?al%LuWEu)~{U1n+X3f-Ia`rm=k#HN+i3~Z?5XEdxDyHW$#He6uRBi z-1hv5VY}s-$YocS?EiLG{^N#&)w{1-oGDw;l=*Sr3bE&|y+0VT618Fy3I$gw=gJdV%QAiy7^$JkvkSxwqP)VcPbiSq;&p-@1OT{%g&{oIWA-=hmm z*ICts)~>$Q&1`!+^XIe~VYh_BS-mwAGq-$itGoF*{ke--vfyg1haS~2rm}6{=0!ce zIQiPYXtzDwu{S>&ular;w%PQ4^w~e1(z}>7g31=`{`%lUgQ7q@=4K@>k}Tll@0&Tw)^3IKAtlSyH`)q;^R(wXE^1^+FM%P_S~Us zG(3O5kPBgYWPAC~n|i}&zWiTrS8SR&YnzFRTub}wO#e^cql%uoFx|DC@$Qja)%&{+ ziRllY&RbiX+t8R-Qd#lZW5JEGSh>4a)9%{sv$?phw(|L>zHhNfmr5tTJehdN_T-oH z4eim%oNtsIZ|>_@@^89&YWM!@x%{0swXIjb6`Zk-;md;sLEHh%CAmuriqA7m5@qCT zJR2n`AbsGWrMEf57X_EcA3A?rK6&D));SjIf<>SU5)u|%&zvPc4|FWIll&pkCm+u6369gz46LYJks;}y7udVh@X7HTn#=AVUM9-z zc=)vN6RV}#LTs9~nj5P_)L->`#(i33uX!suAaa{@@N&17^8!aZGxbh#E@Ip1$7SFb+r?9X*Y zC!+-ZD|%n5Kl;7WG&c7A1;m(If*fvEiNvVJJaP#qhHog4M-)8bGtvFG<^X!JYBR@a4 z+XS7Aw3Uri(y29OuatQD)AFUGeeK0W8%2$2zFRFO*|myC8DwnWt`hRGd8%q)^m%)^Tk_98I*XjQ z2w47J@|LktoY_GuwT@SNsdN{({$98Pgj_FXBKS1L8(R&TIG!D|mG#n5Q))6wC%!e_6{DHWNdHS_G`xgSsZ zCZ5_o>Dk5EFI23OUA6CDT6=xz+dbcqal9fY{gKE!t+w+PhKxQM&U>Qs zf1i#0c}#E5&um-1ZC$-d#c~%ffBG@MGyRw5UKts)Hn^Y2iDE4 z>RBcHZ*{@+Kg>U^D*J0za~0gZR=oClRC(0;t#%2ucYZCqs`slmV|mu{S4(!?{?_5E z`LFHAx*bo97Vv#>{vx&L;`J<^vRn5u>yP|fbXV`^_F4CL^OiL1Yx&1`*XO>+eUJN& z_x4YUS%KAQ=ZuWm6bIfPTBHrVMJ#QtB zuY3J1{e!1^nqKL)bqhDEyk7mPM)u-G*~?2OtFJSj+Zz+hc}iJ$>!j(kIuW?wvCtjP5^;g4mdd5QTK^BC_% zTU2YWS{HWSyHtO3eb?;odlyaOS~(6jePt3cGFORC+GXXZc8e{!xTT}k~@$-l)P zYLntOzxSE+-YZjY<)`kvESu%-_f?;+bm_HPPa zk@S0OW}Bb4{d~sh_s+V;{Ri(q{(t-F?WYe<3I1HP`i5FrM{Lskia4M3t3vnx+mV}B zdv1nbDnDJ=?Z?y|v4;(B4(yR~NksPz|{oA>(*r&5S8?xT>$YSk1aVTl?(SXKKZFg5PF-UGsTM#ie=4 z^M5rhU%T$kiww=pCXpJZp=U#$ubi3~;PRkByJ1c3#QAnEjW?&S&F2!)+P+-e}Q{lx^y4M1l9lV1R2(tC?A*>JoUu?xlP;Ls>;81l2XK7b&2G1x|M`>UOV_vLXMa@-_J8r@*U8Mw zZ)>D)cG<1DCA3H4nR}j&o{Q3+ZIOyfP7CS<+Du2f} zEXt4iRl2|S?o~qjEnMz?%2TY`A)_!5S7_#5yh&9 zY*)G|s4vm=$ol`H+2`gS`sjP*tuo8{_u7k%JR>vs-4r_Ko3We-cs^JNvjlEmNDhe6QgGdsg4c(Knw5JYYI|^X0+t z)Jq4C_Z|N9vFy?7i^_lHv!336vuzKbX;7z%+lIIId!DQBSfW2GAoSv~Wagfk=U?VO z|GUENXo8@NfAyxWZh=mLcJ4zdm#@oyU;gHjG_PP6^V%)C0lhESSR6iR8#M47I`^6_ zaE|({Tf%?us9O6ruk3y6^iTa~pn{P@vHAoF)0+n}(k_Hu=sm%~XQH{KK)5M@tCU+L zhxy9$Z{=?7FCW;rXdVcA+xx9##pm0VzMLl0S4gn21Q~o+`YE&^$TorhkNAzfr}yU0 z*%x#pxjZB40;|#FEz!q}4~Smjo1`1ssH9ktX-3Y9y)yVedG}JYwG{n>bbkrV}*R4 z-{ZCuEbQ#F3c9;y$~ULf#4vx)r;js)Mfdi;dBwl=LjUC#)4uoqY7-WDmbInppnk7v zcuEhaMJk{CbT-8*nU_M#i^_`6-nw|Ay6g3mr>qb4B(v4F)fbjUOc&q1YHi~>rE``1 zrVD3B{#kpGx!d~e-w;X1ezu*KWo>C+wk`WUb@7THw-!Cqahk)uBzLLkA$6zw$K~e= ztYy+!$Mk3F<6f6vhhF{6iHc0p6n-%M|H-s)!>bi$LhfDvTAj@+OC>yvm#m!kwl(^m z|Jq!kBVn%38ebD|B8D5c`}Ky?3#n`>7KfzYt`JVR&ntk)!+8-?wX5>;##KV zeXV6YI>)}4D@#l9_X5$VR<=47`SOK-1-Y2xil-Xwxy{Y~N94h5?Nf@PEp{`0Y8@ym ztJ->@TsfQLi;F&g^}({QoMKT4ubEF%ZZ+6y8;yu$dZ&7gZs+{78CfOPB zHSHJ8`g7-UF57ulo%7=(HRX%aw|d{l&&UdUHsR;OBsr12f0mXA zkEEm{8`(tkLyM#L&J0PNq4ccr)afMW(oIdgcbPssTIqWHU}qoqrql|Sg?%ysVmswy z9X8FJ-g+|r?*`dbb5F+y-RjekTwpmN@T0)56TS{SF_qJ%em_t$KRskY!R)(NlVV!z z5@(!Z%w-W|oO#v4vU2fstEh)umb$OXc-Q=RV6=vP9^a+q@1H+7Cd+i_co6>tt|^b7 zA1T})w##yjC*!S(=*`d8<|o&-PI$9ukNw?)kI&3k*=YP(SMXj*y>&Wcn%WVwG*RBY z7s5l_uOgdSCg9V7*38?|%m_1eDLz$!#0Il4E%{ zQ@o{n4A%)C~VESB^ZIPp1bdyHt|R^^gF!_Xzhbse*Wc7%KuP<>jdeyj9S z_r-}fm26gN?Yp>A%YM6!n((XK=0)FFo+lplNYsh(@V1F&Y7y$^*kN%%LXzj+38A$s zE`0B7c|Ye+w2T-_+r60`E3;Y;^cfXzu9@|3(cC}rL8^<}#YpH`)v1P&X~Fmp?!WPX`!h~>3_AF`g`Zfol>vR z=iYVTjrqV1Vzpnmqjsx%N-tTuAZ+&6P{rIGOYF8@ zH*-Ijk>xctdH>P&zJBuylC#W=->oa;{lU_e<+E-{^SPN!zJ79C_3zVEZ!G#o-$F{^k!a zzdic*RsPg=b^{JW%Nb5Jd_O`y1kKcZzVY1$NxOS5R>>(pJ!~+eW!8@iDK*uJyPj{k z=hJAWQ*m2Xrfl}t11%DpL+jS`7JLcbRB5s^GPJx}V&g~Az?$BDjqe2{mbtxpan(}7 zdGd*mtL|2vy=e3`MNm;?`g?mU%FD+uAbK@ExoFc4vDrI(bzu zbucdfn*4bAl;=h_(hWqnOQk3XSqklZH_PAh-FrFbnX%XZYt3T38+>`!1HS)X>zY#h zzCYX(DZmjc<1DbQ%=g7Kh6%3Zh9kN*_B$m`jD_~xk; zjuv5#dt1|Zvey1tS14L-J&FHl9}oY}<@59YYX&O(oj(1&Kkw9cwhosPOn&igaxM4F zn9lMy<>G}`ESGeAg^RwHUQ@cgQC4|#!Y-x9ZErKS?LIImL~-?e9cN^yMD_>W<=d&YBp=O3X@A2st3`)LxoUCPjs@$Ic zh3(_QvP9R()4AgwR8ISA#>-<#kb@8)BDGp zn%&q<|9J|CPQCXm<(fp()=vkG=9dSVn{gT{EDJhW@!eTs)6a$}%f1+^J&j5^%frI1 z7IJpQmj`U0f>~IfPxO7q#oElc@#GiARVO;7H?dUQKJxTd!I=W1l}`%IUL7p4<{c$umqtrsMD7rw4#n^ayAXk9&A2svo6C;&(y%Y0V|97qK^Zy}}@^91^ z?_b9>@rZrmX9q6npW9Z>f3;eU_4?b4Kb!2uR@hi*ysZ7sVa)vWVsVdO?lu`V=8Z1= zkCo%BKgg-MT=~!Aex?0TSlV1;(}j(jI*$vp`MZR__?@sZ_)6$3zO(06-MN{+E8vSS zAHQ_$n%&b=UX?e_`hMQ*j@bDQhg_jGIw@hF_tmoecD}OC-?!juhMv&6b6;3YZkq2~ z82d8pvdH@Hzb=}6juJUKZ;r#Sw2wEQm(6gTx9Y9t%@sN3dcJ?Nj()q=RZ$nYX0h|v zPv5R7u_|u4DPw+0>bIrh3c)3zY>CNA6)rs2m75H7dp>?*tGs2(cad4=ymiXXo{aSO zze8pGW-d0_I{Ufo54|`6KfU>X#5WYMriy!Of8L_M`P||3(86sEx*|U3UzSgrZ)tvZ z4yWS@y#yVuea16+|1@%0sTGLM;CW#@WzPnMrl#W(i{C6cqwW{xy7_g3|GbWGPKni(HX2-DQ7)YHviHG>owYvu+*AIm{8ubr z#J8UNSm0cf*r1AP1>a7CvRSeF=4t<(Jb6{lFWY&?#5P}i-*o(Yu3URhUchsnWovfz zZj0yhzw>Na)dz`{@9 zM%go7F5JVNw@s<&MU>-KN!$5v9`OBPyvgGsFL&EMCip|eywrO#wG$J7A7j(lncp&3Pxx^1WIK)LPsN^|v7A(Y{O6bJ=N9&h zs;j&0@R%WbGl+AO@Lj=sOM>mWlc();7E-diZ|3Wrndn?v)*zOZq`xJR#ebrm^shCk zpSMqnSgFim?$@W6p)@f&qc?oj|3#dx+*c>0zrDUC{fOLlLFRwEj7~gAb}2r#Re7U_ zhjU$0ob>+s2*KIy8C_Y{xihIh_CZ{gQ{vgUSo z*;%)83pvx9tkah5wAnYKY##R<4SJlU;J>B!PL{@7r;9HyrnH8NpWjwKJ#gB!%Q6<3)=JXFSGR^}KcAO& z`CIga%c1fzI#1NH^FHaTUz_?NKmG3fl}&4F`ciKTeGJ`_s#^8E%0FoHtE`xw+Z|VT zs+>J}F~d(LbKwTPO|y!k%I`AO2Ysw|UKhGK;Wyj7$AV#1VIM6nRsCn2n9QYrcp|gy z52eUfu7?s!g=Cte1Rt}mzOd`3M74GDA*JZRz`55GFIe|^y8N|#uW-?RrR!c}=GR*% zeLi$F;yT9_E1URdJ7feJV)f20da>5!@TSvIZ8gy|gxfYoMI_%nlyU24+Dlgd_N*tm zl98Y1_1@%&>29evyLkNm!?|r%ho@`Y-nnJ^G^wfT#+x1-s%vb|SW*~v{mwLtjaMDz z=2{CbzIH{8uj54Ere=YD??uyfE;&p{d#rozcA(|=6`@Xxa`^<}Lf6WaHND;<9a_e> zW{Pc3-<4Npk@7RV6jUuw7%VzqT#>!2adB4A_g+T!;`W$tDLqjZ#XoXp^tt_+!x6kd zdGW{Bd1C8Kn7-xCo2hU&?8A=I;JG{2uhJ|}_K*oro!b6=*4dU7pIUfsoXysJbGV>9 z*i7Rk#|Do=p7kjczV}t_HC8ZC^Pb!1C2>u)TdAx2gwEDe@>VCy7leONIFh|5?dDN~ zxBNysbQ}4+jJvtMDs5izm21y8g;=*dS86IR;%kq5 z+?nT+wvF-G!KUT!o-tV)e*4%{X140uu6KtU4=bsMI2s<~6aQGc>)1wl&m3u+rdika zYVPab(<93AwLV3_uA%sd*>`HeKJMp zlnm41dqL_ovy$bnynHzMMXzTrUu@Wcg;o1>au!_szN|oV>f@qf7mwM8W=E}_ePZqJ zSGzA~t+ouR&2Gz2@qaOWIm^{2hh_$s&0Bp`^o2IFW4Oi!Zl#5X7}hfxEUSnsv(P^} zY4Nv0uSQ{ePUjMdgk<&5N42h*d#mNU}wJp3F^>vcc52lr!yCYb> zAD*Mj(H!?NLe}mb@+Ed4k%H4qWs0JF4{LQ;_nH8Y7wK>sF>5 zXV-gO`Zs_1ZKa&`2lif(J^MJv^>Fa!6PmpuJ}>-z9?Hc!yIkW-dss7k8Zh;F@gIkb8GKDW7cg+PmadVvz}SKNO862(vV-K!S^^) z&ab~{+{XG z%_OxuYu0W~m$;#P_|jR=!VN1luWP;cEdFsixZ7-l&$iXKmpA(wo1VEX72OcI;wwK- znELnZ*R}39T z>FHnPi3<}HB8!VWf3C7R$;T^`8@Y&Yq5p?p5#Iu(nGa4@+5Nri_|cMI4Lh6ov!#`5 zbHC`yTwJ`iS8ba0M*m%Rb^SN>c^sO~HJ!tMX-!@A|EV4)^D;hYZ#|ai`RDl5+h_QC zZM3weObROOc%9bN+_(+piY$6yB{(D{*i% z;8EUa+j_OS?#HXXRpI;I9sH_oF~9I})sYIOZJcMbWPU8Szn7;N5wpGW=3B-b;WNLZ zUaE;}7d&16lbP>yyVbhX$x}BvcQNTjgkM+|>7~JYcl%`(%l{6)A541cqv(?#wM=Xk z_lcjTcXyur{_FFk&LcB!@fAGmnmchC^OiSndH(SqRq{MBC;6__wMy}mUfw3tPpn+) zx9*yV)R`Uo%wLoj2b}tCIxXeQ&Fu`<2R1qJYqH)_uS=N_&2)EJpUBb}w&df24|Ysr zm~(si+w|MJ)$duw+z{&SJTXP*CIfqQq5B*A6FP!Z!m65Q8cxjMS7v_2^-9IrQU7@K zMDvz;*F{fAXrA(3641}=)NLZ`u=ULT9joqpH>!Da&EH(Tb=OA$mI8adCv5W`RKEOB z77~0RdO~;nK^4_#;qbkzCl*G`o_X^3%A2i)z2V0ik``yxHflMU>Mx%9CG}J|gNy9U z>CMqIl)nbXJ$~+~HGl4v#_cng1w7^o@b;O|yVl9~-?R#qN37l%xhY>vgWe|_W{UEy z5c*cW;^>}($~pRy8#^9}=pXgun>N`?C9U9fHBaTc&#Q`RUzQtRnY+t@ET}wOvQtE}Bp4~UJRe55c=}u>^CzsA{`nE(`!2G3~;?u8x>x3&NC4H}Z)a)hLc}snwRJGps zV;>wAy!ZSOE11jDvZ`l~>wLa@n|(d5rxd&uN_};7jt7@v;8B?kW^;-w1kbPWu;q;i zIwLGNox9z<^6>5bE^h_@c>Z#G|Et0FWFH5!N>Y}G09%v8?ytuuzmq?-+|V=ZdCbSH z=ezB*wtngJ{P@g^KejJaKjVE+NpAYKIhsxEH;>(E zQy06z{AgyRNV@Xnm>tJ2t~tYU^83>ToXrPAtmdv=e(ZTU$M<)_<)X4oyLOr!|Xn*@@e~dt5kpY)0sh1|zltw#OV>{U)3^=c9B^OMc6>?Dfl^ zE_=E2l}Y-Hdk3S9r%7L2kZ8!vV-Rt6pM334=ZB4P&+BckpU`;}-*aSkwB|+SE0)ZW z76077U*8|UCvET2X2sJ21{&$QinrWFf2+3kp6$$Zn;NxYU&j=aC1&$omu~J}Ub4FP zcxaXM=eH)W-L~)8*6`TO*(`d&f_wY^Dl^Z1?T~n3r|g=UQQFnpncnhSo%d_rb$I`b z*Lu@VOPkbv4S)J{+xmlM$7WC9VqbSTSSw^&n7GZ)*vj{Emlu>JoUmeexF)54Lq$~b zgo%RI89#XCvlJ7~6g*_$NmKQi=#kAc>qswqxEP=5y$@5*Zu$P^gNLs{$J6Z_r6XNW z`udbcoaWo8{zSHAg0S}Y;_|y@x(!{6FTOZ%_fY<(#t?yqSHM5~jPgrqRX4?yvVgob+Z}=H0s{x3;-3f1B6NyZ10h z>#-CYn^{%51)+}^{T@2$wA^Z5`ltQw_msC2udL%fUM^iG>$KXfu&eaPc0o~kn{66$7#>}e|I>Ly@{iTrJ4ekXmFUcHxFD;e>sBVFu6{n~XW3U)ExG$MUEkK# zExyfey+1ohcF*IBvhLd>9=&-JdFuUy+%Usrj#U>*J^$y$7*6WrW0#ts%;$Jc&RVgq z_{qdm?yu78{)H|nXfDpLH1PYz%x2^zJeygsd`%%^q3n#K0cW1(x7>GFVV2x1EILDX znuSTpv?uXK;%!?h%f22HeE#;s!L`Y$3{$Q)w|HMkb=kUN!tUK%TYnY4y&^Vy?c8;K zNpW+_53x_YF?Gg9xB4qdpHE+OR4Fghz9&*|=lS|N*Qdv=8@5VrVBF3!Yre$oI|1xj zWhtxt-#)9@-Wjoi={e_DVQKkbhDvtF4oz{Dp0d7Ru}iV%x=MOEZ%ojf+|+;cs(OIY zx~Ky^6Cy&B0*>ryYBXu$Rq&bIeZ?|mZhzs|q#&oKLI$@bSFTgzxvCQ4ofMX0?)%bU zC&Rgv6-JE$nw&;&V?{FaL%KE?ytL)qz4Gn5y>A0%FSQQq&7XZs%(zsCO?Rp5VdGm| zZ*7V)u2kyuyUvlfauj8c`ZMXUlgITy)#PP|Y+tHxdc5dpl||V@&VL`CI9geGKIoof z;-Q=3X{Ubr+zaEHgTiyfHn~{vZCz#RtNGo+_;Dv$=bT2f>dd9_3OC=^uK#VU zTgX*g_Kk1LJs#=B*A_1;D`WVkcXG{sT|b-m%m*GfnT7eC+BSVM<0Pr`$4owk>uuHj z%vqn`84%o5{g6j{~7-#k904a|vx~NwVSkW)j4w`Xp6^tLdtK$pwSp z;3u~uT;1ZQ?R_|*{@4Rnp~(N-D!a7{3$H)A$MIwLX8uR*{!;GYWtwQMco_J+ zn*OVN*A#7Msb6Nlr@nr4YUc8+Rc~1uPX;FMmyalOF*aDoarRBPLf&)vUEEi%sa%$N z7V=?1M?K@g08{p7#71$E^2%@$81(tQW~UH?9;gG`*&AtV6nY$zNa-r-| zyCY8T2CD(=|7E=KNYjoQ}>B|Bm_PF|CEcgp)ck9m%K zPg^RGHs_s*x7m%iKTb$ayMO%Lg6q1k9J*&U8$U{8N-KV0;#+<``1aGwwU%CMkA}^W zkrh?Aa%pp<&Wu2Qm%R9=yAN+Uf9to@%@=hVvlnkV-5EYpTlDwuNVQ_`PfAlJ~@h) z*&Qo8e=U8#pnx1_(*yr(_l@#|W}?3ZzHw!q0KN4dbZ?MaI-Xyt^Re>MM_ zK--T~S%3UYQyy{biVO>}`J-!VwpLuXBW1xPa}TTElU41GU;F3TqH_GEn?QTUy35ht z#am|ic;C^po&0J6+pWDm>e?yKJn9c66^EuVomgu&$IeCm_2aO|@k%cQDx#LWQ^?Cm zh&5B6ao&1bw8X6yOFsPhT2YW(q_ZmP=BFgldk+?za^cSU`}Z18nA{wJ0CCePRss{4E5(&O?yE6PIo7R~J_Gri~% z9RB5xscVOsyYmu}L&rYzY$@vMI32U?Rl*P7vJ5ffbdgZg>n>sqd-Dov{(NItrdktq zsc`>9qsY?VE3(&dz3Mx({t5qqgJKijgy$R%yw$MqnAv5EMMZUtQC}`}-ZP!{_Oh*X zBlo_Y-gDm1XU%mjdort5gDpDiWk!i^?drfMSIkOLGN;if*Yf z+I-9HbqR}nIE{lf@$!}>7kYLu1*q|sncdE-?h7yadNV-p#~s1_5^J8d#iwa)@(Mj` znY>D#jYHeo-t;HiS8ZKx~uPxVhGz2a@07#^BdZhcBu zY+k%S_Y4&!@fp!y-t@S*CrGasUGsg(If=9X6Psp!ecjdh*-`AzW~XhZ5}!DT56>dKN*W>%gQhB$hh%x=1%)s!(-tS zFU}X+qjcp_)LWjFQ713ux`&z9r%buvn`U-%f8Dl|V=Zd(-{)0{)H-ue0vXoRYcjR^jWlcUL^q zD*SzH&Yb==uNXHimDh-QAls-fF6FrG_pe;tn6&d(S8?sK*ELvQZju*b)~(yTmw9jR0S%W&+zp?$ zcIiE^ka}mwXmz&neAe-mF0K8GKfUOCsqMH*_SepdivDG}EY3QU*Td>bTy##`x?7w5z` zuUuW)nVPC%a`aA}nldBoFQ?YJEAGLrs=XEK_t{L5xS%XJJ1JXpt>c6z3hv!{(HDR5 zOjwh`*D5A3O~{ig+);Dt0)B1I%hz9YMy$%2RMXzIa?zUka=-8X<+9>Bb~Jpw^TGf2 zHecTdKYq%tX=CSYuhaHyQrZ8M?8A?h(|dHxRgeC0$tyP5Bs(Q-X4=M^Qk4%|CWzjX z5WDcczIkT9&*Pr{dg)&=M_n^kdc^%|+`!P#k!SXNM(h(4zMBj?KRGx*tYkehnJLgp zOn(342Wz8L+Z!ZuE4e198925d6W_^gw4?lpW|z>B>RY@YRDQ5WH%DZ;&NF1c|6}2) zn8{KH6|DayJzMb6^+}~$rRD3LJtpN`&%7ERh~${*HU({GWHDOO6Z%-Ye(qP9XA&P; zvsTFi9E+|8NJ`=z4cOve7F0ZdyH_fIVIubsW+rT2HY zp2sfl4*Y+p7QXvLX5D3eZJ*t3SD!wd-_bZ_miKwhfL@cz_F0*MkvnA)zVn41oW=D0 z->w%L?P}bD`}aR)l{>B#W|cfZ_J=6IYKpvhju z;i?l+cli9-y&4yL@4fYR7WylY&Z%|g_SZAwCk6I1$tz?hwKJ%0cl~R--0u7Fk3IX< zIPEU)W|@_DmgD9m?mYpOul}#N86V%5dtM{-NwKE=cJ*)PS9Umio|^emR(DHu_2Nx= z6YSaLS2`};cs666#y2C0U*gJHvM$vNGmKgTWH%Jb`~ID}TXBPNQH#CV<&d?h_Om1x z-uw6W14FCh^=oeWn`~w575G@+`TGS1^{rktIku92vrC$Dq+h){(_)tGo4+pkRTTNa z)BX8-`TN^6Oc-pruB=?c@tB9zUFku7!SBEGV|IiWYRvdBN%4&cd;YIUzm_p?b@S9% z`)5XMt;N06%Zbs`Zg42Khd&Te{r6gE-FF7A*&0hV6D_Q>L|W!fZkKhQu0HLW=DpMJ zT$27x+0t@v^L2AR75zg`SG&(FQ`fs{r+b(a}x6v{!c*=G2HJ4*~T2pof^iAQ(_$_!iZI+em zt&dN=Ircq$y1MRgSb>JYmd5Y--=F9N2UYlapZHWV!AUF7^V3Po>1P|1bQ66(7?kum zYBDmcUEdqkxLWsF&FYt57_}Q#TAbPbi{;PPb!-zK9#LYLxp3R2KXxHzDffd5TL0fX zd?9Z)r%>wSTa6EAHQPn5s-7IBJ7SV#d$iFA~=f^kvY-avx$#Cho#XFORFQp#>R>^FB;*{3EltFQk zhVqBC3tqP9*>sEXUnun6lzp>lN0qRXT%)q!pACVo?KS?&@$$|1fr^0ZKX8$*CKQ65JdXE30L34e6&0*E7{>>Mz>o5B^nWrhS z?v}=D^~(ouemj>IQjtgS9ZKQNWWi5W+I%wkdbYs)Ow=e%qZQB=-=vPvIv_5Emn{8OZ zg!DUCI=(KN9Y1BU(`}D04f{6No_M3$xXW_$9m(sFBFB5hnP+Wg-)Xz`P;hkD*WyZ# z&|UwnR+sPMJ9|Zt-Ei@`;<#_;SB8Zjy(pLTr6BQLP3lcX@g+aXe(^naZqK^TYCMx~ z?)E$u`=x8|INxN}6Fw?>i6P|5scqhQ9}<2nPmsQJ@Oa6>2k#Hx+*8i<*3Ia~hd)v1ZXsjSpvf(@mPTPs#7?vb`3(`_9`<_3wY$UosO8?RfU<{r7*5B0uh&6Z`zH zsBti}XjXFNvj_7hXXbmm%@;Xx?yG@_F2_4{=bzDUwB^Ir{r>o3&#vI#eI{c4vdP;% z{xo6EtNzM)ZGBA5o11%=r07q$!gznK@ATcX-x36|~YQ@cc<|t)!uX8P1{Pg(!Y5tnqLJrBeR)>CiG{fHcZ0kb284exF1 zZx-G^{iQjf>LvHb;@Hy%KJY&OFPBwiWj)6sal*r14YxEgwV4^4F5FE`37(}q=g@&8 zr#K%y*&^d}<5cLXpv2|)%}MzZ@?;UHI&)y3D3GfB)+yO7sa{ zco|+Fv2h;r>=QL@hefMRUwzc$m_u)wLQ?k+m>T^KbbcRF#oPU%`XCE)S}*oCkWH>YR?uT$cy3Z9x}nmOsn z_1l?YGbd>U)oneIWp2LiT=ki}rKTrTvB>hg3xThzr{Te@Eeh+gg#oPNN|%k%Z6 z?rZHA-}78+aCCHTD|G95)GMhz!@$!dHOk`#k7rBHH5u0{HlaRq)EuWzVOp9hv1#QL z@x;xQ_P-A1UVf@jxs0`YL(`)Bg}#phkE`$dJnstgU#`c652l}Th^g7XpHVRE|Nnh& zMY=6kIkiV^xqH?3ROZ|)lNi0bwc_#4A3qm*$LYPhQqIO$1#$_7ZR|Rxv9T-n;l2}9t0ZLR z9bEBb!Hi=wYg7211T_dT_`Ez!fE>#5n2X6p{m z6{9J*6!rS zJZDY|hY*qFA03qnj9LzFSgKo>Xv)K#^N@SBL-=8C@uOa0%KXz4zfa;iQ&y?7`nq>+ zu6JaIuIpOw8_ZR6(mX^qs2Q=nzu0~2*rsJ_?b~gxb~wL!RZf!xw{};@`~_+6cOvAn#Te0h$;bb;^{JJ{-vNRFZgtDmc#8iNtZe`SKq089vD}2!aHPb>7jM2pKoOB zPq;tXuqgch^@Fx&ulKYCDx0hj+}AuKqARO8lzBsjMq+=I7_P%}V_izEQn3p&;z?w~R9Na^~Kjsjb>yC4@^Ho9f zQ(Rvx{;1kK{cBg=6^*<;tJqoIT9a4kzdkiDsm;KMHO4ox?cb8qo95m;IBE5SS-Wjq zBNycbnVt?<827)IjX(NYZGL{&p9XIotG*9uI^O3REz;i>i&`4<%S$gaku2IC-2Jvh zd&67fecN+PFW*dAd^7Ln;x7eahhMWbn6WfeO{+Yssc<-9^^`L@(cTZtpG^F3`bSh- zdY|#-zMS;W0u@WeydSgIFVuO}#pk|XD`F@2za8Do?d9DsDL&xNl_Xf7*e9H#?YLhpCHJ=b;;m}HFt9qgTY=WMl&WA=C%qJ1=h9@_I_jO^--#CW{B>P z?Qq$%Z@y}mm8<1nVb{GB74NXWyaN+ zsF_yoirSiNH+A#W)qke1n7XpK=I+wlMX7%tuYdpBwzAaNh9@|tO`H4gx}z1mCo3i^ zn^?MP+x)-z^=|n3UDX$Ce=P9h%VkrzJK^D(Ajd-&)Y+XGR)#unIQz~)Hp#@QgfBNl zgxS@_T|?qVgMy-4vqZ0{a=MG|t(YzER>!9N=AEh=75e?$zMm}34q7T4-OTQPW}AAn zZ)bP^v-_vL;z>`xO_l<64}~3_esnKN(C~5=YW~=~)J^2*B8_QX%PJODXii&wq&aB+ zk10u~MNd!dTKaU^vgu+Ae{}x{(CXrK6L49)aH5oF@5Ka_mU;c%Z-198YA-7ec3@{^ z6-o^=cAw^9zxH*1zL=k5*YYotuXGMnZm(4~_1bwo@c*;q4$l?rp}SePs%=}re$r&s ze%*$Kqg!hvG+7kYRVD;n&N|d1y3pm_*J{tIo?`KwU}!e(u$rKo!?>u^Ou+Vw zBTu5knHkLyn^-m`u|GP%$imP6=nU_Xx#At>MjWiHEm{mMY62~~A}z{NDq`|33UV$w zoGPwT9&J1mbhreT#!RR=s<1RfVd^S}tSb#yvRE>&FG;S;qGs|8 z->%$v@K60l)_;rW13w~j^w>%mJASWB^JmUWk>S;e%<_ohxfOhfNz7dLfoOn3_Do-w z*V884tK1a*%e_SW?;K-GzkN&QFR}M`TjH%OG@)|8ey7FLUHy(7>(;x@$yx9)e!~}i zUvb_Wx#~X|rA`{&s1JPnso|*R&ZMV*xdmGdYkB6rITEwN>3HOnndU1e9pvY@#G%IS zz~t~zdO=Y=lL1@6NT}kwT%TL-3sSqW*yt{a!q?{t61Lb|0(-L zm_rio2rqf%Av(#_Q7Fw;HSO9F5#!cFIg31^x%?fkcUtZWaMvn2C}n%n&EUwANMmV+ z#ySl{o%e=pf2<~4ulC(`XEooc6Bd7Dv^2U|9_olWh1o7YtSQrO+0dxIkl*>HI?wDB zStm=i39OMbCaSbl^n5UDNou&>(8R`K&GeF?@$wJHhF2>ZGp@KXn>g~!TFjc~oV~@} z#!8XV_JZ_E4`;QuBn!6$o}$1GAs+|HWl2`248^%O2zYN`%HALt{dC=`{^+92=-}9h zaOYKrPu!d0ur57dA;V4+@tyOhb1#^DKUL=U+vr0Z@B9~$IrBnF{D_Z&eX;xP#s#bQ zC9)J;?+ER+XXQ{0I?ESu=DBMl1G6jBOc&2{R?qiz=Qs$$cR(VVtDHUgf%k2@q)Z;4~w{@?$QH50?@_j;w57+0xgFAhE| z&gHZq&EJB%wBhfrK4uGp_(L*>le^R>YxsV>;+xgZ5G;N8{JzIGTGb9#DrYM`{u0XA zvG(0%{s#}@nYJBzI(e`u`>Wl&jhERN_)eHE7fN7S za>#M^J;8GECmB}d@xT5@e~&X?zxu-~=8B)SmP~tM77b#pCq+g0?&9fu01tFGu4lE^_-Fq~ii?}@fb=_kn?S9dT> z{^Pq~<}s7@M6tU)0>4>qcjxwJa4X3iD-4*j_>ip7OOAD^OvgDp=PH%99m$M7;b5qB zVNbyCk88WOwxql65#CqU%5cJg!EhPlt;$*4tM5eCL^nE3_vTU3+sUs`*sI9aM z-9N%7sDx~vYo@Ds<%Evs7GKNb!gjTi)7o#%eb(w-uAwc~o2SdE99GD* z&glQ4R@RXB)44#AV?SqX%6Yb;yWC~HoCT@s7*AgHG&pHNU_8;mn!2 z#=SpNep=kR&4T|5~nWX*sy@PS};Xu>1=l9he zu&QubI7QW;lgs?jt*6#2rW%QDJi_&RH{5 z4BJ*pI0jC9;+wkmv7_CQ-){|=>@J5#UMso5$CVQ6`NaC8LlJ9Bsj!6=TUMci#A_+* zB(?KvUpmXXb?SP2+vO_x-9WM`=ObJBqr!resR4g?x?SJ8o!k6P+^6aLGPi8G!&_^a zbZPIYg7x>3w6>S-V7_lzG;2Y{-9_I`w1bovzy9D{?r6@zuySc|6Z32Fr`FfY@D-W!_vA6B1Y)E`tZrB7bF2zYTzt-f)ZO*;hb!vHj zs?C9|99LL;4_!HSq$Nt2$)a8YOIb|-dej~?R3g)+YKGx_)WBV$^}l z*^Fnjy+VFPZ3y+`D5QhmJYV_)=!)}G)z_$UXba3 z{JB%*eWu~Ai~D9D<>-x__54fslFZxPYjg_q&mU8tC{WP+_Fmw5XNRZuw@l5StYTbw zxqA1j*qq?wYqyx*I;UX}H(!PAVE8As^4C|t$Nb?eK4JE1L(zhW=Vy$6O});>IV?#|OG)0kK$&YCQBxa08>ZUY_PzVPMOcS|lgDbG0JUF9a#Yd?R5_unkL z^J2;Ls3$WFwjI{papdgm_}wA4U!~Q*?7p3OLnlMr)k{}9r(R7Y(dgmL)2DWoStnI( zUvoLYHU80T$8|H0uW>ngZOZbi>&*%tq&Zl%BuK}eUA{U0e&5IVDV%p}Ssyhf<{VJU zi=Ani-+qVZ=DeaVMV_c<*HBNqDcjoIT9pW}FqX3Sl9YT*SVhT6^- z&y(gm|JwicTV>l%yJ%Y%xtGtS1h@VDc|uwDf0goQ(|Pj_OG%!!Yo4X4;c-#-pzdj% z>Pz1~UERO-lw;96qb(-OuPpM|b$*d!lzqkj;9o4fW})d*KBeVM_%g5VrTEglh0Be? zjZ2>|on0@sa3ar)-&*V63FsEN?`Uv*SJE4Uxxo196>%`ZTqrVUGGVsa&3w{4l@ZaXd zzQ|7(y(XVpeKLHtfVutGAB!^|zP}_VJLCVBhxRhJXSQr}{v-CWwZSK=!NE&%qjJAr z&DPt?%*9uTWMzfb2iVF*%=%iu-|zh4pT|wKnLTgu%WfzWT!N-(IqQJGnHnMg7Q~9SUp88H{xn?ccR}>*7X}lgSb5 zY`#oZdhqMhoj1LUx%S_$`!}WR@r^fkzPg&<_;UN&=D6qQ&i>9ZwSG|c=uMtdN5+ZS z@6D#M|M8QpI%A{dF7C21Fjr!l2-aJ>CuW5QO!(g)M@_F;Vn(dYOb^k@* zroRh!&x}nxJTXZj`m0K?kKNf^VGCoUU;^^5evakZHe#RVJDkBHFX6=&8}{{@9}xplubPkjStP5mVbEX zK^sqv&kN=oY-*I4dt#yC(cn30?J1u{>;6dy#06coeYhkr=~R{c%)a{4xT$4NmTb{l za$wCp#lBPKU-D(&zm=-KQ5&EAdEU)}+05@UWgpjGmR=fuy`5b_?ZeByxc66s@6!W{{H^XU`}1@4q+7qX9$FJW>-p-s*SD`<-j!YNe?LDVvLz(EwwW*Y z{xPW;h0fJE&WoqzFP~=f!e*B>$4mRa2d~%7h`L77FQy-Rx+8DJ zvu>Fw35;*WZ=H+|vplZq*p~DDfu-NE8;2&|TX}X`=Sh>R>y{J+HD_*V^<8zP>WIyg zBQKx+TNzhZzb1Xf>4(94w-&jU@dEUS6)>}xY)_Now1uho}Y6MYj*+nEbj-K{uz?a-vA!)xxpRgZO_ko~>P{Zn%G zod}m%7B|wb+OPZlTtU4|iCLiNezQ#>1KZ32evuZha z=O>Td4%yF3t=6sZ%zqvsY`5G&(5L^Tz0BFYiXZz+Gjk;ucBY!_NIe^Me1}_ITS40T z6=(EW-tL*6(7SwM()FO{PAO9-9)9rU@<-tc)Q9k$6*H?LU zS-5Q4(dhqR>(XV*{nmSU&3-7k{?6OUwX$3PR_^3wzMFbASJd<>?}7C%rfX=u51CW4 zD0f@+=B5dCI%ha^K2QGeJu{5qFVm5;x2LLDPn8LKtGsj3X1OHOcc1K^O7gVHEU`Os zZ*`Vk>E>-h`BVRdzg`rSm{I6*Q1F}S&Y6Fzzy193f8BBU1G~2f#hi})keYIR_3G8x z*Z8OSD9k$C=hJ)Vz}w$>yVvJPe9k<5@u=AR{3i}!t$*J;uBzzt`D@Ws&hR&nbwNB^ zrmmQw#!}tMC+Ev;ZqnM|V6nf>bLPRGPXZEu(>5EfJYuxvQNm)a$*SzN=MKJ}@}}P1 z_Pnl$#CmpLllJCqS$uot|LzSixclZ&_@VTr(Z4Gjlfo=Rb#5$YtUcS@XZ_Jl&uq?% z#T&QOf8CxmXL`VOcFA*z3yc;o!10;ac0>u)Z}{V3CW$H4H~q?Pw)FPOP;UwXmgu-XeVt>!IR{{GU} z;NSbD%03;qagAA#-RRht67?s`6bzJ%!RQm2Gz zI|?;=U$;I!v2y2)n9r8W0u;Nvwd_5DSA@OXUVEK?>tvDKQx?mnn=ihkd|HXuTIQIx zcSzWk^}*Y=&h4!`)A>Kyiebsz?=x;^Z%$4s^#A(g*|n43l^MPFToOL+;_2ynCFFDH zhqyDEm03-H9Ak{nuGie}^k#NUW>nRsMj58)^-3Df%hh#1NyOWjSX}%oAM^U~=f4*_ z|J~2n&bl?j?Cv$IjVYepyI9`ujpa_+7jfB1T08R7!k?F_Z1=zATHNI^?bMuZ^S6i1 zr1WJ?-R8B&s(x(y$v^3B)l0vluQMAAXIppQI`-C;^Yi+mXHwrqu7~RTaC9lqKpBm1i{yP@0TBN#WhV1jbo6oV|lr74b%l$|{_r%f}((7iM2<`dc!*Z1JO00N=0ZXA^c@b`cDD=DBhT+!Q~TM_ag~*r2h$hTsSZDO7*$_dyyn)1tw{~otv5&}E3=fYGj zI`6Z!imHEd{K4l1EPPWuZn}r*W`#1AS1YuM`#e5bnfx@l+K`uJbB`8(F58 ziEO#>n6s(Zluxs7+3xo$_aFS;d%^SLarI`0(m0;OjOUNs{;$E;Q^L-lWXtIuCUEe# zOODQ^j+Qp%{)BUfXIJ;Ri*?9z>{hs^)>7uz`=9CS&d)nLRvnnH@gV-cp{;Cfx$LWT zDlh&jso0w3Z(I=^{^f2-vbR9u@6@mM%91}@JC~^?77CTEaCzjxqdHS;)2GwQjz<{g zE2&MYxEHr1LRqA%#beJN&pmxL&3pc2-n)9W`$_wr{k9E}{WijuF3WcBoqBJ7QB0|M zI%`$CP^Qc8+#8pjnrdCRc+b4=5A|Q#EN$NIN<&|=lbZBgz5iPIv(szfAguw^Uk3=J)D9r8*Xmm zNK|r5zBucMm%qT`yn9D}MsQ*-ZmuFe}r5A|%j%RBi{E9b_e zb}~vnzixC1zB$h$zPlixXi4vj#KZ0Xn4f$*axqw^E1I#K@8pg}8gIT<&h+9scIb*| zf>23qoefJ?##ts|JzkGv++TNjPf9)YYof%ho{NIjjq=%ESI$n~xZ}tp-dguHScT zuGzh#W%i5!P4O8A47bF@%irqz$+?N?Vr%l*_?G!DE%W0!Hf}YO%Dk{6Y~_m%o(Pd> zv&6#56%B5)7WbtZ&gx*aIn3E}&EdjfWqz$QZT*G(lMdL~{#$rIZ*h@clhhmO_=dy> z;onnF1k0st=P1ur%;YvviIRL3&wQu(;jfd)C+0~gU64o&S<@}Jh9S$%g?)|t!ug9- zSl%wud?vTRzL$$hO8D69kOxX<1Wm%P+4Qu;q#OuuILhxIxhkRG5DJn7s z1lOs=6#NZK6`_oO%c;l-MUEV>jY1k zYnt!QU*b^Ln&`s)^8OKKX66Uh+uz35E}OX}Z|;tYzxVf@dimpF|GE?gs7rJQdOJ!GbTB-Uh8*UgMueYs!A=o-L7V6Yn`QPvPHI?b59eciI`hf5jeY z;d%Dw51~0l3eTrkCGgl*F#i3@tDmAFyD z{JWI>9iGj`?-m{Ct;zgck*_H6Zs8+SnP*l`n{E|cXj*&mfWpU2x%5Py3+0kuxZUpP zoVGQ1(ra{sTQmRJlFW*C-({{e&6Kb`60F8|!OH$=@0KJ}-5CcDO20FGHy`bMfYv_t>m1Yh2efj$L|u@0%H7@jK0~bp~#b$dOxiXx|~fMBf|yGsLP- zdZecqgc)8lHZv|WmXdrfvEN{q#CpkKAF0V_MT{QLNJ_IZo*j8cCwnNI&Ir#(CL;H~3UXRHoh z+Hfmk|HgHj@;2mcW{XI>#(houTJ*Hpy@{W1GJUHl)2bG%mW)0bcl=zk_=f(C);F9x z+Jr8OeUa314_(1_b>Za|ye}`#f1x_-(FV)LIU0R4Hg|5G9emdE^u@wo7FFjAo@=Hz zeV(>JU>?hS4;3+??vAHNyp*PEOmSGsAne3AVOk8QOrWoC=CmVsy&auJm#+5qb@X_v zC^T0kxM5!jANS6FmSuf6jyeBvS8Xfe{4+<{DrVZIrF!9hO?U6bEpb;_x;wg8`O1|k zlP=wlk67`oqc>Nl<#+6~tmAv0FYntwtBCFSiG=q%{nWxcEaycADP?T?Eq>dn+Msu-i=GN6d&BU_K~gNPP=}uyt|)rw)zi$kIC+LZmRTL|7*vY zn!4_~`D+!Km?@Js8CagXz4D@kgt2gthu*j2+f5t4b(B3lfB1%sSgyWoWU`pBHm~HI zPe0WrU%9(m|8H4CllQ`)u$*5j)z=-l>uxkNW|D|cZa(|^86uJ|#j_2L)E!>vsDA9A za`I(0vC5guJ&y#BJ1BRSDhYN%r^H<2v^};DJr}nNRy}b>h-th z^6d&fK7aZoU}YlbqBZAJ3JS7q?%4HLR4&{%uRT4bgZX5^>|CkiGh5{4y8@%nnQeTo zC$VvY=&I-)ii?-Kt2p^dzf>=s+xYfI8%MYQ@`?w2FWFC-q_R)>lI9?(!Tr%Fsi(uX zi~YpYcb!_-L-XBT_X%Y)tGI7`yp89ra(a2@zf0fR$}9|cLM>BIF$UJjF{m!S?jO#+ zJVfb9LB`fD(Z%wOd$&yX5r1ClfBWg_nKQG@7QWSU^7y|$fB)ZQvs%^#sVnO}P3)U; zmZ$K|ZuZ5w|FaG6Ti!3;bW6!EI&U$*(8KfpiX39sEjoXCTBL$ajYMRRAx9l&SmlF; zAkA|9B?qK~?nIldddZQ<@zLv%+=n`$isSvypLDdOsIn?*h6L~B{FS?!NrdxCZGJiZ#MLcxW;$y*99(|%(an1XAKUr<^>cohr#o%e>`Rya zaGieV*A>Y#_i*^N-h(?Xn_bit5jnMdA>)txzDL?xR&{o(#ER~@nwtFC%&lcd!Nu+V zUwAr|idQMD3fDJ~a){FV6{zxJm2UdG$@kn}zki|5usCex?S%EaRyeh?uenx1eL!hZGgg9yihFiIXq%Em)%Jtx}*h_5VU^&rhl^zIC2Z_#Q7c zbN6kopzwQpEGu^9E3IJ&dG6p{#l=$dZ^3^53W3X+b9W1KRNs6q>sWTw=k?lX#_%oi zmw)O?wfP#cLZib|}wxUOjn?-W*U>)v&4TEX5sm-Qqz`S3_=k=0X?JYnV8*Ylt_msEadxuX_mx_FbDP!6X8a-H$w}|_gC&DCg-?zQQ~2-Mlo9e}!q_3LU+5i>sO|Q(DA(CT%H^+b{k} z$p6f)mlm&{JpNa=+`-}Fi}1d+8$2SkKGdWN@1Nf?$N8>>BxBwkrc3+jF{N~4GwMb2iy?5j2E=%?@rta2K)0s1UefP)ZS^m%7 zT~i+W`rpUZQqP-`nB|Y|%DaC3${Z;*&Bh(G@|k8E@^O9QeDu3d+}zCW;NBG1wu?%>KSF zy{q)H*rnPfd!N5{&AT1T{k)(|*;!?iao3{T0vj7ucYSR=y7T0r1se{$xq5QO#?7HV zw;K+Bwq3e->dbEw{`|Q$ng8Sl!I;1VmFWj^&R9#iss7l0ZT`E08E(6F-8*uuue9{> z1C@YjkJX>#X;1BA`S$(Yt*xIQ-|?NjJ?(RD(B#Yc^7D1r^Cs{gD$tOAzi(OeRmQ9v zbCyKQZfv}KXM)2XrQlf;SI2lSuH;PmnKW6iZ|b@;PU@2Hwwalyr*s^?_+)F<;`+pe z`oBBk?yr4)_Q3(!Edlr6Jdf_$-)68ixxUBeblDy`dGly@dC9fM1P?#fJkr1P5JOX1 z+WkioVkYr%g^3(JCEUMwj&XMXo!iY}(infnsFzKCF%O_L9h?2TIe7NJprH0%Dzd6|_|DIBC>k>JqX56-G-Q3lF@88>hdVD9X z`;gk%)b0d%_n))GF5mdEhB0l!nMntwh2*vM-KWpLf5jz8ApC9PVh7U)Pb69rc*DFj zc-p=cB<}y3nE9k=tI`yC$2n6%TQ!tT4UGb<&fosHKkW0>i;hJf_Dr%ZDYtyKDL1>5 zWtFcpv)`|@dxZrb*DU_${J=57c4tES6JG7y-m}3oZ+qp%$X^dyy_l72v8DBbh}CCx zbv(nDRcJ5&wy1aesuI62Bf+j-yR~P03?BzY20V98zB;QdOgrVROU(vDrHMx`l;5!p<$VHy0Hb%?;sjFY~b9>RQURL~E*E z-X^0NBJneJEL>=NK9*B!5=ZUUPr61HnUBvOe0x4OBT~IEPhtPYk9PBZTx~tXE`8E{ z+Cjk$`&@TxJH#wo5xM-jet5(pAz`aq8~@pb=j;pKDE>nF+3L-c?z!@QdZX9*JA6*o z#-fdv#Ol0HYshWWng6x#czjH*qW8h1rCzIT>-NNPEOgpt5x7aK+g!Q9yn15L%!!63 zERlgJszEDf%@W`e`EX^kxmUS=UcujQ_Y9BT3ej2--tx+`;$HvS4-;1k|6d$;CcKpQ z|K1zAf9^h#-s<6*5d3G3?Xfo}&Yp~%UdwbkY2xbr-3kRpdiM2ZMSS;P>@`dgwuM z+3&jgQF0pFB%2cdW36e|uPd|II7LT=#f7VePGLWJY_(W-cU86N&rdvY;XOkBDxA^` z+ToTwr8d8gy3J4(6|0{8bdSCNRU5ycf4{rGsq6A|Dlc4Q@_i9Y%axvw!s*`i1)e~f6KV$0Wv zf19NLR@eNruE{mq>F573T+(1(J=;q!dg9F3j_f$Mh5D`cXDs}7 zqS`_pLrQtNntrD=2tL!HjL2+pL;)n5Z=?W;~Rh zTz$#2DKGzn_Uq4$r;Azw&c7F*75#R7$=0gc+}D}uwojP3JzJ0*FQKLPXm)Co3C}eur@$fs}^>&qy3g>^Xzbc!Nm6h>t?R}pK2A@(M zf2}%Es;oLKfaQk3L6*$ceV0AvojlSxb@j7}$BTRvxf=7mf|NJ8D6Qa+US8?3N&e2) z<^TEk-)_`Z)wW$BdNZ`~{Y93$da9RZ1__)jSo&ku3Qe2O(jV$9?%%mMTjP7_#2ND@ zoaX$?5#PMtX5;q5F^grczb>rII-_C9_{O!q+V}%5-TQwmCYpOx?Lavoyu=X-IWioR9WR7fW#+*}bJ{tWvti z4(L2sR(Z$l`O%=(l|r(8E}?QeFE72f|I%7zixRD)X}+-v-R9?#63>UH=$-EV8aHj_ zjPu*3NSEBIzw2PLV4G$|>=G8fSuRTyb}ovtTx*TH)~T!>xe57mdG~PCoU5 zy+OUAMv}oMdhO1X?%7-i?2mkA_;8S!L7*XC#;LbYk3dX{fSwa5YXmSkjQvP@v*_2 z^V3r#45}>VKg&t}Y4SAdY`I0aOzh;hfd#h5^A{zyJE`qy&0Ei|(Ym!X-kDA2+5xkS zhMo6j|M_Ecf7kA0i8SB&_s^R-KaEN*w)oJxxi)hrYhHKErTc2ly;?C(^qH6{tR*IB zw!S;5zkCIw1|Q=Dht-@6$Fun|J5tYPvg`_)=k_RY!zwZV)y-#3*EYJgiNARC^qZbQ z!-V^ayo|H*`=?z~5Vm}~vQx%)HFIrnCT~NMhvU?pOjlSemS&o45P6^JxFRz*f%o;x zGynY>JdK`uA6YU*NtCg9QViGcBged!PLOOZ@TlCN)Wvbc;o+<&9zIL8mC}ozT2IaX zeM66RPSviS&uMe6Bplw>S`@g$_qLeFG=1Uq7ktB6=k57x&dwu;0!z2(d`PW3 zCm(vM(fLtV$BE>fyX4i@IrLcTUyfTn+oa`outnVt)$o~r?q)x%P$+udy5YlVE57ag zD`Q(<1%B$EpgOr&y2SOFN2;l>jQirIrds9Lv@LNep06iqYFcgDkZ0DHuKn7^_o1SN z_fA8(ybyzXzwCFPEU$D>31N=C*toa8P@p-wp*h`fp;`eC@74uoR~mO6IJs#G9 z!R$`u@f0-_DqYt8Ol2?cs>wcAOXfZb z_;c)kRfgRDk4ha1H{4iaZ*a9}X&=5>=$aVZ#=Gfi&S~Akdoo{^oGdeL`ZX(z-(aow zWR(RgGd9jLpS!`D-8ZyzxnL$&_Li`DVQo|N4fx$R`$wBaILMwiN)5Sw=kc{$>Q9}m z|CsG9NLYExs_sprtZBMj^WxpVHkR1`dzUZS=NJB9O^?-l?|E-^e$BRg<9F%pN1s^l zg4&e+2f4bX&AZP8`r9|gyyH0a|GmDSZ0bg%e9<4vT5Fo~Z+@v4uop{-K_1(Qz-uQtvOnk<#Q z_geI>x7lB(z55y`ze17w%%l`eWA@u$GGl9X?DQ(UI%R^jW<7f}W#O(R|Gw?7P&;X8 ze|ufQlYk%3HZHuKGQ;d-gsGALteWEj8|6OjRy@aPH#H7yvWTGmiiO diff --git a/public/index.html b/public/index.html deleted file mode 100644 index bcef83a..0000000 --- a/public/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- - -
- - - - - - - - - - -
-

- Test Post -

- - - - - - - - - - -
- - - -
- - - - -
- - - - -
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/index.xml b/public/index.xml deleted file mode 100644 index ba86e54..0000000 --- a/public/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Terminal - https://seandugre.com/ - Recent content on Terminal - Hugo - en - Sun, 30 Nov 2025 18:28:59 -0500 - - - About - https://seandugre.com/about/ - Sun, 30 Nov 2025 18:28:59 -0500 - https://seandugre.com/about/ - <p>This is just for fun. A neat puzzle to figure out.</p> <p><a href="https://git.seandugre.com">git</a></p> - - - Test Post - https://seandugre.com/posts/test-post/ - Sun, 30 Nov 2025 18:19:37 -0500 - https://seandugre.com/posts/test-post/ - - - - diff --git a/public/og-image.png b/public/og-image.png deleted file mode 100644 index 6c4f9dc75d83e3a4118f8f906a291e3aa2e12d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22535 zcmeAS@N?(olHy`uVBq!ia0y~yVA;UHz*NS;#=yYf?@%4Xz@Wh3>Eakt5%>1?!ilme z60HwAJ5KHD=#6mH_L1sb#%Pr=i9^dFIa6`t3<)7uMjsQ_C9RLY&CQqVeQY1|t@?d& z{GY#{_xr!M|Nr^ze*1X)J=I@dU!FZZU*7)D$N$IY@3XV3`Ss&;e*NEnf4l47-S4mc z@&54h=JW3V>p%Q=ub2Pv`^5eBe|BZ^JNoamze}!lkgr&0_rdAFC&nktC)h6(*E0NM zKJmQ&y!?E7yZRc(N8Cd36Mi%u5m(u#@R7As-=oHHQ;nlif?!&UY@Is|?OgP-)n(&hOrJX{8WJc8jtl`qaw{SCu?DxlSe+M2A+Q5Q6T$s8KTw=de z>u|v6!WRe8FSl9m{;rD02p8oy9J^g_a7HjqYrq;VAi-Y_yZAXG*k;LTV2LBJ19hB^ z|E>64C$fP>hY?#Gfg|oqV~M=L1|AdJ0M@@{j^Fp)n~oMo;26sjEMuD1po%SyKyG0f zO*W&+2Aoh(bNFbo87*y4%E8gnX0(z*ZB~p{Qlo7fjAq4X+Xk~O3~pzMHI6okN1Mc> zJt;^nI@*)M((?xQ>Ns>pJK!h{Pvl{W(PT54Y*2@_M#pVNhx;%_AV-J$Fxus?aoW-0 zzR}^n(cwNwEjl{6Fgm$_I!!h@Cp9`J1*<9HlZm6_Hp64w=Hte?X4qN)P$yz^Hhgq8 z9DT5Mw0S(*JRWTxk2a4-*WO@Tnl#!x9&H|vHjfeY!{|!C(FLNA`Aq0)+R^zbNYeq^ zn$^*1&CzL1@Zx6pDzecI_-F@wv;&S^eeM(3wS=ch*Jry%n%qw9*% zYf4DCu#B!N9^Gm;xw_#HymXa2)XGsI)*bkhBG>b0~xCr z9m5$N!$Hh;z_vn - - - https://seandugre.com/ - - - - - diff --git a/public/posts/index.html b/public/posts/index.html deleted file mode 100644 index d7651f2..0000000 --- a/public/posts/index.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - Posts :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- - -
- -
-

- Test Post -

- - - - - - - - - -
- - - -
- - - - -
- - - - -
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/posts/index.xml b/public/posts/index.xml deleted file mode 100644 index 2784498..0000000 --- a/public/posts/index.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - Posts on Terminal - https://seandugre.com/posts/ - Recent content in Posts on Terminal - Hugo - en - Sun, 30 Nov 2025 18:19:37 -0500 - - - Test Post - https://seandugre.com/posts/test-post/ - Sun, 30 Nov 2025 18:19:37 -0500 - https://seandugre.com/posts/test-post/ - - - - diff --git a/public/posts/page/1/index.html b/public/posts/page/1/index.html deleted file mode 100644 index c824cb9..0000000 --- a/public/posts/page/1/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - https://seandugre.com/posts/ - - - - - diff --git a/public/posts/test-post/index.html b/public/posts/test-post/index.html deleted file mode 100644 index 688755d..0000000 --- a/public/posts/test-post/index.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - Test Post :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- -
-

- Test Post -

- - - - - - - - - - -
- - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/sitemap.xml b/public/sitemap.xml deleted file mode 100644 index ac6e13e..0000000 --- a/public/sitemap.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - https://seandugre.com/about/ - 2025-11-30T18:28:59-05:00 - - https://seandugre.com/ - 2025-11-30T18:28:59-05:00 - - https://seandugre.com/posts/ - 2025-11-30T18:19:37-05:00 - - https://seandugre.com/posts/test-post/ - 2025-11-30T18:19:37-05:00 - - https://seandugre.com/categories/ - - https://seandugre.com/tags/ - - diff --git a/public/tags/index.html b/public/tags/index.html deleted file mode 100644 index 320aa68..0000000 --- a/public/tags/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - Tags :: Terminal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - - -
- - - - -
- - -
- -
-

Tags

- -
    - - -
-
- -
- - - - - - - - - - - - - - - - -
- - - diff --git a/public/tags/index.xml b/public/tags/index.xml deleted file mode 100644 index 47fccc8..0000000 --- a/public/tags/index.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - Tags on Terminal - https://seandugre.com/tags/ - Recent content in Tags on Terminal - Hugo - en - - - diff --git a/public/terminal.css b/public/terminal.css deleted file mode 100644 index 39414e9..0000000 --- a/public/terminal.css +++ /dev/null @@ -1,5 +0,0 @@ -:root { - --background: #1d2021; - --foreground: #ebdbb2; - --accent: #8ec07c; -} diff --git a/themes/default b/themes/default deleted file mode 120000 index e2cc53f..0000000 --- a/themes/default +++ /dev/null @@ -1 +0,0 @@ -/nix/store/xb7i8d85z33f7prfimkc2pn049yfbbny-hugo-theme-terminal \ No newline at end of file