From c233d0a288caf38c2dab546d79d2e9972ecbb30d Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Tue, 17 Mar 2026 10:17:42 +0100 Subject: [PATCH] Add tmux package and common dotfiles deployment --- ansible/inventory/group_vars/all.yml | 9 + dotfiles/common/.tmux.conf | 118 ++++ .../.tmux/plugins/tmux-autoreload/.gitignore | 139 ++++ .../.tmux/plugins/tmux-autoreload/LICENSE | 21 + .../.tmux/plugins/tmux-autoreload/README.md | 166 +++++ .../tmux-autoreload/scripts/gendocs.sh | 154 +++++ .../tmux-autoreload/tmux-autoreload.tmux | 258 ++++++++ .../.tmux/plugins/tmux-bitwarden/README.md | 57 ++ .../.tmux/plugins/tmux-bitwarden/plugin.tmux | 29 + .../plugins/tmux-bitwarden/scripts/main.sh | 60 ++ .../plugins/tmux-bitwarden/scripts/utils.sh | 44 ++ .../plugins/tmux-continuum/.gitattributes | 2 + .../.tmux/plugins/tmux-continuum/CHANGELOG.md | 45 ++ .../plugins/tmux-continuum/CONTRIBUTING.md | 15 + .../.tmux/plugins/tmux-continuum/LICENSE.md | 19 + .../.tmux/plugins/tmux-continuum/README.md | 103 +++ .../plugins/tmux-continuum/continuum.tmux | 89 +++ .../tmux-continuum/docs/automatic_start.md | 47 ++ .../tmux-continuum/docs/continuum_status.md | 17 + .../.tmux/plugins/tmux-continuum/docs/faq.md | 45 ++ .../docs/multiple_tmux_servers.md | 20 + .../tmux-continuum/docs/systemd_details.md | 13 + .../scripts/check_tmux_version.sh | 33 + .../scripts/continuum_restore.sh | 29 + .../tmux-continuum/scripts/continuum_save.sh | 60 ++ .../scripts/continuum_status.sh | 25 + .../scripts/handle_tmux_automatic_start.sh | 36 + .../handle_tmux_automatic_start/README.md | 1 + .../osx_alacritty_start_tmux.sh | 68 ++ .../osx_disable.sh | 10 + .../handle_tmux_automatic_start/osx_enable.sh | 72 ++ .../osx_iterm_start_tmux.sh | 66 ++ .../osx_kitty_start_tmux.sh | 60 ++ .../osx_terminal_start_tmux.sh | 52 ++ .../systemd_disable.sh | 13 + .../systemd_enable.sh | 78 +++ .../plugins/tmux-continuum/scripts/helpers.sh | 49 ++ .../plugins/tmux-continuum/scripts/shared.sh | 7 + .../tmux-continuum/scripts/variables.sh | 43 ++ .../common/.tmux/plugins/tmux-project/LICENSE | 21 + .../.tmux/plugins/tmux-project/README.md | 79 +++ .../.tmux/plugins/tmux-project/flake.lock | 61 ++ .../.tmux/plugins/tmux-project/flake.nix | 30 + .../.tmux/plugins/tmux-project/lib/tmux.bash | 8 + .../tmux-project/libexec/switch-project.bash | 98 +++ .../plugins/tmux-project/packages/default.nix | 11 + .../.tmux/plugins/tmux-project/project.tmux | 10 + .../plugins/tmux-resurrect/.gitattributes | 5 + .../.tmux/plugins/tmux-resurrect/.gitignore | 3 + .../.tmux/plugins/tmux-resurrect/.gitmodules | 3 + .../.tmux/plugins/tmux-resurrect/.travis.yml | 19 + .../.tmux/plugins/tmux-resurrect/CHANGELOG.md | 163 +++++ .../plugins/tmux-resurrect/CONTRIBUTING.md | 12 + .../.tmux/plugins/tmux-resurrect/LICENSE.md | 19 + .../.tmux/plugins/tmux-resurrect/README.md | 129 ++++ .../docs/custom_key_bindings.md | 11 + .../plugins/tmux-resurrect/docs/hooks.md | 33 + .../docs/migrating_from_tmuxinator.md | 72 ++ .../docs/restoring_bash_history.md | 39 ++ .../docs/restoring_pane_contents.md | 31 + .../restoring_previously_saved_environment.md | 14 + .../tmux-resurrect/docs/restoring_programs.md | 205 ++++++ .../docs/restoring_vim_and_neovim_sessions.md | 19 + .../plugins/tmux-resurrect/docs/save_dir.md | 15 + .../tmux-resurrect/lib/tmux-test/.gitignore | 2 + .../tmux-resurrect/lib/tmux-test/.travis.yml | 19 + .../tmux-resurrect/lib/tmux-test/CHANGELOG.md | 46 ++ .../tmux-resurrect/lib/tmux-test/LICENSE.md | 19 + .../tmux-resurrect/lib/tmux-test/README.md | 134 ++++ .../tmux-resurrect/lib/tmux-test/Vagrantfile | 17 + .../lib/tmux-test/run_framework_tests | 17 + .../tmux-resurrect/lib/tmux-test/setup | 93 +++ .../lib/tmux-test/tests/helpers/helpers.sh | 68 ++ .../tmux-test/tests/run_tests_in_isolation | 47 ++ .../tests/test_basic_script_execution.sh | 3 + .../tests/test_default_session_name.sh | 24 + .../tmux-test/tests/test_tmux_scripting.sh | 24 + .../tmux-test/vagrant_centos_provisioning.sh | 26 + .../tmux-test/vagrant_ubuntu_provisioning.sh | 15 + .../plugins/tmux-resurrect/resurrect.tmux | 40 ++ .../save_command_strategies/gdb.sh | 22 + .../save_command_strategies/linux_procfs.sh | 26 + .../save_command_strategies/pgrep.sh | 22 + .../save_command_strategies/ps.sh | 24 + .../scripts/check_tmux_version.sh | 78 +++ .../plugins/tmux-resurrect/scripts/helpers.sh | 159 +++++ .../scripts/process_restore_helpers.sh | 198 ++++++ .../tmux-resurrect/scripts/restore.exp | 14 + .../plugins/tmux-resurrect/scripts/restore.sh | 387 +++++++++++ .../plugins/tmux-resurrect/scripts/save.sh | 278 ++++++++ .../tmux-resurrect/scripts/spinner_helpers.sh | 8 + .../tmux-resurrect/scripts/tmux_spinner.sh | 29 + .../tmux-resurrect/scripts/variables.sh | 48 ++ .../strategies/irb_default_strategy.sh | 23 + .../mosh-client_default_strategy.sh | 25 + .../tmux-resurrect/strategies/nvim_session.sh | 30 + .../tmux-resurrect/strategies/vim_session.sh | 23 + .../tests/fixtures/restore_file.txt | 21 + .../tests/fixtures/save_file.txt | 21 + .../create_and_save_tmux_test_environment.exp | 42 ++ .../tests/helpers/expect_helpers.exp | 70 ++ ...restore_and_save_tmux_test_environment.exp | 18 + .../tests/helpers/resurrect_helpers.sh | 11 + .../tests/test_resurrect_restore.sh | 33 + .../tests/test_resurrect_save.sh | 23 + .../tmux-resurrect/video/issue_vid.png | Bin 0 -> 63584 bytes .../tmux-resurrect/video/screencast_img.png | Bin 0 -> 124253 bytes .../plugins/tmux-resurrect/video/script.md | 110 +++ .../plugins/tmux-sensible/.gitattributes | 2 + .../.tmux/plugins/tmux-sensible/CHANGELOG.md | 43 ++ .../.tmux/plugins/tmux-sensible/LICENSE.md | 19 + .../.tmux/plugins/tmux-sensible/README.md | 122 ++++ .../.tmux/plugins/tmux-sensible/sensible.tmux | 168 +++++ .../common/.tmux/plugins/tmux/.editorconfig | 34 + .../tmux/.github/ISSUE_TEMPLATE/bug.yml | 46 ++ .../tmux/.github/ISSUE_TEMPLATE/config.yml | 11 + .../.github/ISSUE_TEMPLATE/enhancement.yml | 18 + .../tmux/.github/ISSUE_TEMPLATE/meta.yml | 18 + .../tmux/.github/release-please-config.json | 13 + .../tmux/.github/release-please-manifest.json | 3 + .../plugins/tmux/.github/scripts/test.bash | 71 ++ .../tmux/.github/workflows/release.yml | 45 ++ .../tmux/.github/workflows/shellcheck.yml | 32 + .../plugins/tmux/.github/workflows/test.yml | 51 ++ dotfiles/common/.tmux/plugins/tmux/.gitignore | 3 + .../common/.tmux/plugins/tmux/.shellcheckrc | 6 + .../common/.tmux/plugins/tmux/CHANGELOG.md | 8 + .../common/.tmux/plugins/tmux/CONTRIBUTING.md | 43 ++ dotfiles/common/.tmux/plugins/tmux/LICENSE | 21 + dotfiles/common/.tmux/plugins/tmux/README.md | 625 ++++++++++++++++++ .../.tmux/plugins/tmux/assets/config1.png | Bin 0 -> 30407 bytes .../.tmux/plugins/tmux/assets/config2.png | Bin 0 -> 31017 bytes .../.tmux/plugins/tmux/assets/config3.png | Bin 0 -> 28905 bytes .../.tmux/plugins/tmux/assets/frappe.webp | Bin 0 -> 99148 bytes .../.tmux/plugins/tmux/assets/latte.webp | Bin 0 -> 99880 bytes .../.tmux/plugins/tmux/assets/macchiato.webp | Bin 0 -> 99682 bytes .../.tmux/plugins/tmux/assets/mocha.webp | Bin 0 -> 98518 bytes .../.tmux/plugins/tmux/assets/overview.png | Bin 0 -> 227645 bytes .../.tmux/plugins/tmux/assets/preview.webp | Bin 0 -> 162412 bytes .../plugins/tmux/builder/module_builder.sh | 48 ++ .../plugins/tmux/builder/pane_builder.sh | 64 ++ .../plugins/tmux/builder/window_builder.sh | 127 ++++ .../common/.tmux/plugins/tmux/catppuccin.tmux | 164 +++++ .../plugins/tmux/pane/pane_default_format.sh | 13 + .../common/.tmux/plugins/tmux/renovate.json | 6 + .../.tmux/plugins/tmux/status/application.sh | 12 + .../.tmux/plugins/tmux/status/battery.sh | 26 + .../common/.tmux/plugins/tmux/status/clima.sh | 13 + .../common/.tmux/plugins/tmux/status/cpu.sh | 16 + .../.tmux/plugins/tmux/status/date_time.sh | 12 + .../.tmux/plugins/tmux/status/directory.sh | 12 + .../.tmux/plugins/tmux/status/gitmux.sh | 14 + .../common/.tmux/plugins/tmux/status/host.sh | 12 + .../common/.tmux/plugins/tmux/status/kube.sh | 17 + .../common/.tmux/plugins/tmux/status/load.sh | 12 + .../plugins/tmux/status/pomodoro_plus.sh | 14 + .../.tmux/plugins/tmux/status/session.sh | 12 + .../.tmux/plugins/tmux/status/uptime.sh | 12 + .../common/.tmux/plugins/tmux/status/user.sh | 12 + .../.tmux/plugins/tmux/status/weather.sh | 14 + .../tmux/themes/catppuccin_frappe.tmuxtheme | 17 + .../tmux/themes/catppuccin_latte.tmuxtheme | 17 + .../themes/catppuccin_macchiato.tmuxtheme | 17 + .../tmux/themes/catppuccin_mocha.tmuxtheme | 17 + dotfiles/common/.tmux/plugins/tmux/tmux.tera | 25 + .../plugins/tmux/utils/interpolate_utils.sh | 11 + .../.tmux/plugins/tmux/utils/module_utils.sh | 51 ++ .../.tmux/plugins/tmux/utils/tmux_utils.sh | 63 ++ .../tmux/window/window_current_format.sh | 13 + .../tmux/window/window_default_format.sh | 13 + .../common/.tmux/plugins/tpm/.gitattributes | 9 + dotfiles/common/.tmux/plugins/tpm/.gitignore | 4 + dotfiles/common/.tmux/plugins/tpm/.gitmodules | 3 + dotfiles/common/.tmux/plugins/tpm/.travis.yml | 19 + .../common/.tmux/plugins/tpm/CHANGELOG.md | 86 +++ .../common/.tmux/plugins/tpm/HOW_TO_PLUGIN.md | 2 + dotfiles/common/.tmux/plugins/tpm/LICENSE.md | 20 + dotfiles/common/.tmux/plugins/tpm/README.md | 101 +++ .../.tmux/plugins/tpm/bin/clean_plugins | 14 + .../.tmux/plugins/tpm/bin/install_plugins | 14 + .../.tmux/plugins/tpm/bin/update_plugins | 24 + .../.tmux/plugins/tpm/bindings/clean_plugins | 19 + .../plugins/tpm/bindings/install_plugins | 19 + .../.tmux/plugins/tpm/bindings/update_plugins | 49 ++ .../tpm/docs/automatic_tpm_installation.md | 12 + .../tpm/docs/changing_plugins_install_dir.md | 16 + .../plugins/tpm/docs/how_to_create_plugin.md | 108 +++ .../tpm/docs/managing_plugins_via_cmd_line.md | 36 + .../.tmux/plugins/tpm/docs/tpm_not_working.md | 102 +++ .../plugins/tpm/lib/tmux-test/.gitignore | 2 + .../plugins/tpm/lib/tmux-test/.travis.yml | 19 + .../plugins/tpm/lib/tmux-test/CHANGELOG.md | 45 ++ .../plugins/tpm/lib/tmux-test/LICENSE.md | 19 + .../.tmux/plugins/tpm/lib/tmux-test/README.md | 134 ++++ .../plugins/tpm/lib/tmux-test/Vagrantfile | 17 + .../tpm/lib/tmux-test/run_framework_tests | 17 + .../.tmux/plugins/tpm/lib/tmux-test/setup | 93 +++ .../lib/tmux-test/tests/helpers/helpers.sh | 68 ++ .../tmux-test/tests/run_tests_in_isolation | 47 ++ .../tests/test_basic_script_execution.sh | 3 + .../tests/test_default_session_name.sh | 24 + .../tmux-test/tests/test_tmux_scripting.sh | 24 + .../tmux-test/vagrant_centos_provisioning.sh | 26 + .../tmux-test/vagrant_ubuntu_provisioning.sh | 14 + .../plugins/tpm/scripts/check_tmux_version.sh | 78 +++ .../plugins/tpm/scripts/clean_plugins.sh | 41 ++ .../tpm/scripts/helpers/plugin_functions.sh | 104 +++ .../scripts/helpers/shell_echo_functions.sh | 7 + .../scripts/helpers/tmux_echo_functions.sh | 28 + .../plugins/tpm/scripts/helpers/tmux_utils.sh | 6 + .../plugins/tpm/scripts/helpers/utility.sh | 17 + .../plugins/tpm/scripts/install_plugins.sh | 75 +++ .../plugins/tpm/scripts/source_plugins.sh | 42 ++ .../plugins/tpm/scripts/update_plugin.sh | 78 +++ .../scripts/update_plugin_prompt_handler.sh | 18 + .../.tmux/plugins/tpm/scripts/variables.sh | 13 + .../tpm/tests/expect_failed_plugin_download | 36 + .../tpm/tests/expect_successful_clean_plugins | 35 + ...xpect_successful_multiple_plugins_download | 44 ++ .../tests/expect_successful_plugin_download | 50 ++ ...xpect_successful_update_of_a_single_plugin | 55 ++ .../expect_successful_update_of_all_plugins | 59 ++ .../.tmux/plugins/tpm/tests/helpers/tpm.sh | 13 + .../plugins/tpm/tests/test_plugin_clean.sh | 67 ++ .../tpm/tests/test_plugin_installation.sh | 284 ++++++++ .../tests/test_plugin_installation_legacy.sh | 100 +++ .../plugins/tpm/tests/test_plugin_sourcing.sh | 78 +++ .../plugins/tpm/tests/test_plugin_update.sh | 60 ++ dotfiles/common/.tmux/plugins/tpm/tpm | 81 +++ 229 files changed, 10575 insertions(+) create mode 100644 dotfiles/common/.tmux.conf create mode 100644 dotfiles/common/.tmux/plugins/tmux-autoreload/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tmux-autoreload/LICENSE create mode 100644 dotfiles/common/.tmux/plugins/tmux-autoreload/README.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-autoreload/scripts/gendocs.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-autoreload/tmux-autoreload.tmux create mode 100644 dotfiles/common/.tmux/plugins/tmux-bitwarden/README.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-bitwarden/plugin.tmux create mode 100755 dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/main.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/utils.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/.gitattributes create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/CONTRIBUTING.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/README.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/continuum.tmux create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/docs/automatic_start.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/docs/continuum_status.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/docs/faq.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/docs/multiple_tmux_servers.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/docs/systemd_details.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/check_tmux_version.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_restore.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_save.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_status.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start.sh create mode 120000 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/README.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_alacritty_start_tmux.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_disable.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_enable.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_iterm_start_tmux.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_kitty_start_tmux.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_terminal_start_tmux.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_disable.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_enable.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/helpers.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/shared.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-continuum/scripts/variables.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/LICENSE create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/README.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/flake.lock create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/flake.nix create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/lib/tmux.bash create mode 100755 dotfiles/common/.tmux/plugins/tmux-project/libexec/switch-project.bash create mode 100644 dotfiles/common/.tmux/plugins/tmux-project/packages/default.nix create mode 100755 dotfiles/common/.tmux/plugins/tmux-project/project.tmux create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/.gitattributes create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/.gitmodules create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/.travis.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/CONTRIBUTING.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/README.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/custom_key_bindings.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/hooks.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/migrating_from_tmuxinator.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_bash_history.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_pane_contents.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_previously_saved_environment.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_programs.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_vim_and_neovim_sessions.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/docs/save_dir.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.travis.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/README.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/Vagrantfile create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/run_framework_tests create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/setup create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/helpers/helpers.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/run_tests_in_isolation create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_basic_script_execution.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_default_session_name.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_tmux_scripting.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_centos_provisioning.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_ubuntu_provisioning.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/resurrect.tmux create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/gdb.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/linux_procfs.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/pgrep.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/ps.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/check_tmux_version.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/helpers.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/process_restore_helpers.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.exp create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/save.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/spinner_helpers.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/tmux_spinner.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/variables.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/irb_default_strategy.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/mosh-client_default_strategy.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/nvim_session.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/vim_session.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/restore_file.txt create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/save_file.txt create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/create_and_save_tmux_test_environment.exp create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/expect_helpers.exp create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/restore_and_save_tmux_test_environment.exp create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/resurrect_helpers.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_restore.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_save.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/video/issue_vid.png create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/video/screencast_img.png create mode 100644 dotfiles/common/.tmux/plugins/tmux-resurrect/video/script.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-sensible/.gitattributes create mode 100644 dotfiles/common/.tmux/plugins/tmux-sensible/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-sensible/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tmux-sensible/README.md create mode 100755 dotfiles/common/.tmux/plugins/tmux-sensible/sensible.tmux create mode 100644 dotfiles/common/.tmux/plugins/tmux/.editorconfig create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/bug.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/config.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/enhancement.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/meta.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/release-please-config.json create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/release-please-manifest.json create mode 100755 dotfiles/common/.tmux/plugins/tmux/.github/scripts/test.bash create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/workflows/release.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/workflows/shellcheck.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.github/workflows/test.yml create mode 100644 dotfiles/common/.tmux/plugins/tmux/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tmux/.shellcheckrc create mode 100644 dotfiles/common/.tmux/plugins/tmux/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tmux/CONTRIBUTING.md create mode 100644 dotfiles/common/.tmux/plugins/tmux/LICENSE create mode 100644 dotfiles/common/.tmux/plugins/tmux/README.md create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/config1.png create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/config2.png create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/config3.png create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/frappe.webp create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/latte.webp create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/macchiato.webp create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/mocha.webp create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/overview.png create mode 100644 dotfiles/common/.tmux/plugins/tmux/assets/preview.webp create mode 100644 dotfiles/common/.tmux/plugins/tmux/builder/module_builder.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/builder/pane_builder.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/builder/window_builder.sh create mode 100755 dotfiles/common/.tmux/plugins/tmux/catppuccin.tmux create mode 100644 dotfiles/common/.tmux/plugins/tmux/pane/pane_default_format.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/renovate.json create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/application.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/battery.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/clima.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/cpu.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/date_time.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/directory.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/gitmux.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/host.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/kube.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/load.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/pomodoro_plus.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/session.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/uptime.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/user.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/status/weather.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_frappe.tmuxtheme create mode 100644 dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_latte.tmuxtheme create mode 100644 dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_macchiato.tmuxtheme create mode 100644 dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_mocha.tmuxtheme create mode 100644 dotfiles/common/.tmux/plugins/tmux/tmux.tera create mode 100644 dotfiles/common/.tmux/plugins/tmux/utils/interpolate_utils.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/utils/module_utils.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/utils/tmux_utils.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/window/window_current_format.sh create mode 100644 dotfiles/common/.tmux/plugins/tmux/window/window_default_format.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/.gitattributes create mode 100644 dotfiles/common/.tmux/plugins/tpm/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tpm/.gitmodules create mode 100644 dotfiles/common/.tmux/plugins/tpm/.travis.yml create mode 100644 dotfiles/common/.tmux/plugins/tpm/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/HOW_TO_PLUGIN.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/README.md create mode 100755 dotfiles/common/.tmux/plugins/tpm/bin/clean_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/bin/install_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/bin/update_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/bindings/clean_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/bindings/install_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/bindings/update_plugins create mode 100644 dotfiles/common/.tmux/plugins/tpm/docs/automatic_tpm_installation.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/docs/changing_plugins_install_dir.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/docs/how_to_create_plugin.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/docs/tpm_not_working.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.gitignore create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.travis.yml create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/CHANGELOG.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/LICENSE.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/README.md create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/Vagrantfile create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/run_framework_tests create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/setup create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/helpers/helpers.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/run_tests_in_isolation create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_basic_script_execution.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_default_session_name.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_tmux_scripting.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_centos_provisioning.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_ubuntu_provisioning.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/check_tmux_version.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/clean_plugins.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/helpers/plugin_functions.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_utils.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/helpers/utility.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/install_plugins.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/source_plugins.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin_prompt_handler.sh create mode 100644 dotfiles/common/.tmux/plugins/tpm/scripts/variables.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_failed_plugin_download create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_clean_plugins create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_multiple_plugins_download create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_plugin_download create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_a_single_plugin create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_all_plugins create mode 100644 dotfiles/common/.tmux/plugins/tpm/tests/helpers/tpm.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_clean.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation_legacy.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_sourcing.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_update.sh create mode 100755 dotfiles/common/.tmux/plugins/tpm/tpm diff --git a/ansible/inventory/group_vars/all.yml b/ansible/inventory/group_vars/all.yml index 43f22ce..0879dac 100644 --- a/ansible/inventory/group_vars/all.yml +++ b/ansible/inventory/group_vars/all.yml @@ -8,6 +8,7 @@ user_shell: /bin/bash common_packages: - bash-completion - bat + - tmux - git - wget - unzip @@ -24,6 +25,14 @@ common_dotfiles: src: .bash_profile dest: .bash_profile mode: "0644" + - name: .tmux.conf + src: .tmux.conf + dest: .tmux.conf + mode: "0644" + - name: tmux config directory + src: .tmux/ + dest: .tmux/ + mode: preserve - name: bat config src: .config/bat/.config/bat/ dest: .config/bat/ diff --git a/dotfiles/common/.tmux.conf b/dotfiles/common/.tmux.conf new file mode 100644 index 0000000..f166554 --- /dev/null +++ b/dotfiles/common/.tmux.conf @@ -0,0 +1,118 @@ +#=== KEYBINDINGS ====# + +# change prefix +unbind C-b +set -g prefix C-a +bind C-a send-prefix + +# split panes using | and - +bind | split-window -h +bind - split-window -v +unbind '"' +unbind % + +# switch panes using Alt-arrow without prefix +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + +# switch windows using Alt- without prefix +bind-key -n M-1 select-window -t 1 +bind-key -n M-2 select-window -t 2 +bind-key -n M-3 select-window -t 3 +bind-key -n M-4 select-window -t 4 +bind-key -n M-5 select-window -t 5 + +# Other session shortcuts +bind S command-prompt -p "New Session:" "new-session -A -s '%%'" +bind K confirm kill-session +set-option -g detach-on-destroy off + +#=== LAYOUT ===# +set -g renumber-window on +set -g base-index 1 +setw -g pane-base-index 1 +bind c new-window -c '#{pane_current_path}' + +# Enable mouse control (clickable windows, panes, resizable panes) +set -g mouse on + +# Fix Tmux for colors +set -g default-terminal "tmux-256color" +set -ag terminal-features ',alacritty:RGB,foot:RGB,xterm-256color:RGB,gnome*:RGB' +set -g allow-passthrough on +set -ga update-environment TERM +set -ga update-environment TERM_PROGRAM + +#=== PLUGINS ===# +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'catppuccin/tmux' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'sei40kr/tmux-project' +set -g @plugin 'Alkindi42/tmux-bitwarden' +set-option -g @plugin 'b0o/tmux-autoreload' +set -g @plugin 'tmux-plugins/tmux-resurrect' +set -g @plugin 'tmux-plugins/tmux-continuum' + +# Configure Catppuccin +set -g @catppuccin_flavor "mocha" +set -g @catppuccin_status_background "none" +set -g @catppuccin_window_status_style "none" +set -g @catppuccin_pane_status_enabled "off" +set -g @catppuccin_pane_border_status "off" + +# status left look and feel +set -g status-left-length 100 +set -g status-left "" +set -ga status-left "#{?client_prefix,#{#[bg=#{@thm_red},fg=#{@thm_bg},bold]  #S },#{#[bg=#{@thm_bg},fg=#{@thm_green}]  #S }}" +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]│" +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_maroon}]  #{pane_current_command} " +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]│" +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_blue}]  #{=/-32/...:#{s|$USER|~|:#{b:pane_current_path}}} " +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]#{?window_zoomed_flag,│,}" +set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_yellow}]#{?window_zoomed_flag,  zoom ,}" + +# status right look and feel +set -g status-right-length 100 +set -g status-right "" +set -g status-right '#(gitmux "#{pane_current_path}") ' +set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_overlay_0}, none]│" +set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_blue}] #H" + +set -g status-position top +set -g status-style "bg=#{@thm_bg}" + +# pane border look and feel +setw -g pane-border-status top +setw -g pane-border-format "" +setw -g pane-active-border-style "bg=#{@thm_bg},fg=#{@thm_overlay_0}" +setw -g pane-border-style "bg=#{@thm_bg},fg=#{@thm_surface_0}" +setw -g pane-border-lines single + +# window look and feel +set -wg automatic-rename on +set -g automatic-rename-format "Window" +set -g window-status-format " #I#{?#{!=:#{window_name},Window},: #W,} " +set -g window-status-style "bg=#{@thm_bg},fg=#{@thm_rosewater}" +set -g window-status-last-style "bg=#{@thm_bg},fg=#{@thm_peach}" +set -g window-status-activity-style "bg=#{@thm_red},fg=#{@thm_bg}" +set -g window-status-bell-style "bg=#{@thm_red},fg=#{@thm_bg},bold" +set -gF window-status-separator "#[bg=#{@thm_bg},fg=#{@thm_overlay_0}]│" +set -g window-status-current-format " #I#{?#{!=:#{window_name},Window},: #W,} " +set -g window-status-current-style "bg=#{@thm_peach},fg=#{@thm_bg},bold" + +# Continuum options +set -g @continuum-restore 'on' + +# Project options +set -ag @project-base-dirs ,"${HOME}/.dotfiles","${HOME}/Projects:0:2" + +# Bitwarden plugin setup +set -g @bw-session 'BW_SESSION' +set -g @bw-copy-to-clipboard 'on' +set -g @bw-key 'T' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' + diff --git a/dotfiles/common/.tmux/plugins/tmux-autoreload/.gitignore b/dotfiles/common/.tmux/plugins/tmux-autoreload/.gitignore new file mode 100644 index 0000000..3811c63 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-autoreload/.gitignore @@ -0,0 +1,139 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/linux,macos,windows,vim,git,zsh +# Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,windows,vim,git,zsh + +### Git ### +# Created by git for backups. To disable backups in Git: +# $ git config --global mergetool.keepBackup false +*.orig + +# Created by git when using merge tools for conflicts +*.BACKUP.* +*.BASE.* +*.LOCAL.* +*.REMOTE.* +*_BACKUP_*.txt +*_BASE_*.txt +*_LOCAL_*.txt +*_REMOTE_*.txt + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Vim ### +# Swap +[._]*.s[a-v][a-z] +!*.svg # comment out if you don't need vector files +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### Zsh ### +# Zsh compiled script + zrecompile backup +*.zwc +*.zwc.old + +# Zsh completion-optimization dumpfile +*zcompdump* + +# Zsh zcalc history +.zcalc_history + +# A popular plugin manager's files +._zinit +.zinit_lstupd + +# zdharma/zshelldoc tool's files +zsdoc/data + +# robbyrussell/oh-my-zsh/plugins/per-directory-history plugin's files +# (when set-up to store the history in the local directory) +.directory_history + +# MichaelAquilina/zsh-autoswitch-virtualenv plugin's files +# (for Zsh plugins using Python) +.venv + +# Zunit tests' output +/tests/_output/* +!/tests/_output/.gitkeep + +# End of https://www.toptal.com/developers/gitignore/api/linux,macos,windows,vim,git,zsh diff --git a/dotfiles/common/.tmux/plugins/tmux-autoreload/LICENSE b/dotfiles/common/.tmux/plugins/tmux-autoreload/LICENSE new file mode 100644 index 0000000..5876a8b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-autoreload/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Maddison Hellstrom + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-autoreload/README.md b/dotfiles/common/.tmux/plugins/tmux-autoreload/README.md new file mode 100644 index 0000000..18ddc38 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-autoreload/README.md @@ -0,0 +1,166 @@ +# tmux-autoreload [![version](https://img.shields.io/github/v/tag/b0o/tmux-autoreload?style=flat&color=yellow&label=version&sort=semver)](https://github.com/b0o/tmux-autoreload/releases) [![license: MIT](https://img.shields.io/github/license/b0o/tmux-autoreload?style=flat&color=green)](https://mit-license.org) + +tmux-autoreload watches your tmux configuration file and automatically reloads +it on change. + +## Install + +#### Dependencies + +- [entr](https://github.com/eradman/entr) + +## Installation + +To install tmux-autoreload with TPM (https://github.com/tmux-plugins/tpm), add the +following line to the end of your tmux configuration file: + +```sh +set-option -g @plugin 'b0o/tmux-autoreload' +``` + +Then, inside tmux, press `prefix + I` to fetch the plugin. + +If you don't use a plugin manager, git clone tmux-autoreload to the location of your +choice and run it directly: + +```sh +run-shell "/path/to/tmux-autoreload/tmux-autoreload.tmux" +``` + +## Setup + +Once installed, you should be good to go unless you use non-standard +configuration file paths or want to customize how tmux-autoreload behaves. + +### Configuration file paths + +If your tmux config file is at a non-standard location or if you have multiple, +specify them in `@tmux-autoreload-configs`, separated by commas: + +```sh +set-option -g @tmux-autoreload-configs '/path/to/configs/a.conf,/path/to/configs/b.conf' +``` + +### Entrypoints + +Normally, tmux-autoreload will source whichever file changed. If you wish to +source a specific set of files when any configuration file changes, use +`@tmux-autoreload-entrypoints`: + +```sh +set-option -g @tmux-autoreload-entrypoints '/path/to/entrypoint.conf' +``` + +You can specify multiple entrypoints separated by commas. All entrypoints +will be sourced when any watched file changes. + +Set `@tmux-autoreload-entrypoints` to 1 to use the standard tmux configuration +files as entrypoints, usually `/etc/tmux.conf` and `~/.tmux.conf.` You can see +these files with: + +```sh +tmux display-message -p "#{config_files}" +``` + +#### Entrypoint Notes + +- If entrypoints are configured, a changed file itself will not necessarily + be reloaded unless it's an entrypoint or is sourced by an entrypoint. + +- Entrypoints will not be watched unless they're a standard tmux + configuration file like `~/.tmux.conf` or are included in `@tmux-autoreload-configs.` + +### All Options + +``` +@tmux-autoreload-configs (Default: unset) + A comma-delimited list of paths to configuration files which should be + watched in addition to the base tmux configuration files. + +@tmux-autoreload-entrypoints (Default: unset) + A comma-delimited list of paths to configuration files which should be + reloaded when any watched configuration file changes. If unset, the changed + file itself will be reloaded. + + If set, only the entrypoints will be reloaded, not necessarily the changed + file. + + If set to 1, the base tmux configuration files are used as the entrypoints + (you can see the base configuration files with the command tmux + display-message -p "#{config_files}"). + +@tmux-autoreload-quiet 0|1 (Default: 0) + If set to 1, tmux-autoreload will not display status messages. +``` + +## Advanced Usage + + + +``` + +Usage: tmux-autoreload.tmux [-f] [OPT...] + Automatically reloads your tmux configuration files on change. + +Options + -h Display usage information. + -v Display tmux-autoreload version and copyright information. + -f Run in foreground (do not fork). + -k Kill the running tmux-autoreload instance. + -s Show tmux-autoreload status + +Installation + To install tmux-autoreload with TPM (https://github.com/tmux-plugins/tpm), add the + following line to the end of your tmux configuration file: + set-option -g @plugin 'b0o/tmux-autoreload' + + If you don't use a plugin manager, git clone tmux-autoreload to the location of your + choice and run it directly: + run-shell "/path/to/tmux-autoreload/tmux-autoreload.tmux" + + Once installed, you should be good to go unless you use non-standard + configuration file paths or want to customize how tmux-autoreload behaves. + +Configuration file paths + If your config file is at a non-standard location or if you have multiple, + specify them in @tmux-autoreload-configs, separated by commas: + set-option -g @tmux-autoreload-configs '/path/to/configs/a.conf,/path/to/configs/b.conf' + +Entrypoints + Normally, tmux-autoreload will source whichever file changed. If you wish to + source a specific set of files when any configuration file changes, use + @tmux-autoreload-entrypoints: + set-option -g @tmux-autoreload-entrypoints '/path/to/entrypoint.conf' + + You can specify multiple entrypoints separated by commas. All entrypoints + will be sourced when any watched file changes. + + Set @tmux-autoreload-entrypoints to 1 to use the standard tmux configuration + files as entrypoints, usually /etc/tmux.conf and ~/.tmux.conf. You can see + these files with: + tmux display-message -p "#{config_files}". + + Entrypoint Notes: + - If entrypoints are configured, a changed file itself will not necessarily + be reloaded unless it's an entrypoint or is sourced by an entrypoint. + + - Entrypoints will not be watched unless they're a standard tmux + configuration file like ~/.tmux.conf or are included in @tmux-autoreload-configs. + +Other Options + @tmux-autoreload-quiet 0|1 (Default: 0) + If set to 1, tmux-autoreload will not display messages + +``` + + + +## License + + + +© 2021 Maddison Hellstrom + +Released under the MIT License. + + diff --git a/dotfiles/common/.tmux/plugins/tmux-autoreload/scripts/gendocs.sh b/dotfiles/common/.tmux/plugins/tmux-autoreload/scripts/gendocs.sh new file mode 100755 index 0000000..1d94ae4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-autoreload/scripts/gendocs.sh @@ -0,0 +1,154 @@ +#!/bin/bash + +# Copyright (C) 2020-2021 Maddison Hellstrom , MIT License. + +set -Eeuo pipefail +if [[ ${BASH_VERSINFO[0]} -ge 5 || (${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -ge 4) ]]; then + shopt -s inherit_errexit +fi + +declare -g self prog basedir reporoot +self="$(readlink -e "${BASH_SOURCE[0]}")" +prog="$(basename "$self")" +basedir="$(realpath -m "$self/..")" +reporoot="$(realpath -m "$basedir/..")" + +# gendocs configuration {{{ + +declare -g main="${reporoot}/tmux-autoreload.tmux" + +declare -gA targets=( + [readme]="$reporoot/README.md" +) + +declare -gi copyright_start=2021 + +function target_readme() { + section -s USAGE -c <<< "$("$main" -h 2>&1)" + section -s LICENSE << EOF +© ${copyright_start}$( (($(date +%Y) == copyright_start)) || date +-%Y) Maddison Hellstrom + +Released under the MIT License. +EOF +} + +# }}} + +declare -gA sections + +function section() { + local section + local -i code=0 + local lang + + local opt OPTARG + local -i OPTIND + while getopts "s:cC:" opt "$@"; do + case "$opt" in + s) + section="$OPTARG" + ;; + c) + code=1 + ;; + C) + code=1 + lang="$OPTARG" + ;; + \?) + return 1 + ;; + esac + done + shift $((OPTIND - 1)) + + local -a lines=('') + + if [[ $code -eq 1 ]]; then + lines+=('```'"${lang:-}" '') + fi + + mapfile -tO ${#lines[@]} lines + + if [[ $code -eq 1 ]]; then + lines+=('' '```') + fi + + sections["$section"]="$(printf '%s\n' "${lines[@]}")\n" +} + +function regen_section() { + local section="$1" + local content="${sections[$section]}" + awk < "$target" -v "section=$section" -v "content=$content" ' + BEGIN { + d = 0 + } + + { + if (match($0, "^$")) { + d = 1 + print $0 + print content + next + } + if (match($0, "^$")) { + d = 0 + print $0 + next + } + } + + d == 0 { + print $0 + } + ' +} + +function main() { + local opt OPTARG + local -i OPTIND + while getopts "h" opt "$@"; do + case "$opt" in + h) + echo "usage: $prog [opt].. [target].." >&2 + return 0 + ;; + \?) + return 1 + ;; + esac + done + shift $((OPTIND - 1)) + + local -a targets_selected=("${!targets[@]}") + + if [[ $# -gt 0 ]]; then + targets_selected=("$@") + fi + + local t target + for t in "${targets_selected[@]}"; do + [[ -v "targets[$t]" ]] || { + echo "unknown target: $t" >&2 + return 1 + } + target="${targets["$t"]}" + [[ -e "$target" ]] || { + echo "target file not found: $target" >&2 + return 1 + } + sections=() + "target_${t}" || { + echo "unknown target: $t" + return 1 + } + local s + for s in "${!sections[@]}"; do + regen_section "$s" > "${target}_" + mv "${target}_" "$target" + done + done +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-autoreload/tmux-autoreload.tmux b/dotfiles/common/.tmux/plugins/tmux-autoreload/tmux-autoreload.tmux new file mode 100755 index 0000000..0ab882d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-autoreload/tmux-autoreload.tmux @@ -0,0 +1,258 @@ +#!/usr/bin/env bash + +# Automatically reloads your tmux configuration files on change. +# +# Copyright 2021 Maddison Hellstrom , MIT License. + +set -Eeuo pipefail +if [[ ${BASH_VERSINFO[0]} -ge 5 || (${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -ge 4) ]]; then + shopt -s inherit_errexit +fi + +function years_from() { + local from="$1" to + to="${2:-$(date +%Y)}" + if [[ "$from" == "$to" ]]; then + echo "$from" + else + echo "$from-$to" + fi +} + +declare -g self prog name +self="$(realpath -e "${BASH_SOURCE[0]}")" +prog="$(basename "$self")" +name="${prog%.tmux}" + +declare -gr version="0.0.1" +declare -gr authors=("$(years_from 2021) Maddison Hellstrom ") +declare -gr repo_short="b0o/$name" +declare -gr repository="https://github.com/$repo_short" +declare -gr issues="https://github.com/$repo_short/issues" +declare -gr license="MIT" +declare -gr license_url="https://mit-license.org" + +function usage() { + cat </dev/null; then + echo "$instance_pid" + return 0 + fi + return 1 +} + +function reload() { + local -a entrypoints + mapfile -t entrypoints < <(get_entrypoints) + if [[ ${#entrypoints[@]} -eq 0 ]]; then + entrypoints=("$@") + fi + if msg="$(tmux source-file "${entrypoints[@]}")"; then + display_message "Reloaded $( + printf '%s\n' "${entrypoints[@]}" | xargs -n1 basename | tr '\n' ',' | sed 's/,$/\n/; s/,/, /g' + )" + else + display_message -d 0 "#[fg=white,bg=red,bold]ERROR: $msg" + fi +} + +function onexit() { + local -i code=$? + local -i entr_pid=$1 + display_message "$name exited with code $code" || true + if [[ -v entr_pid && $entr_pid -gt 1 ]] && ps "$entr_pid" &>/dev/null; then + kill "$entr_pid" || true + fi + tmux set-option -gu "@$name-pid" & + return "$code" +} + +function kill_instance() { + local -i instance_pid + if instance_pid="$(get_instance)"; then + kill "$instance_pid" + return $? + fi + echo "$name -k: kill failed: no instance found" >&2 + return 1 +} + +function get_status() { + local -i instance_pid + if instance_pid="$(get_instance)"; then + echo "running: $instance_pid" + return 0 + fi + echo "not running" + return 1 +} + +function main() { + if ! [[ "${1:-}" =~ ^-[hvfksr]$ ]]; then + "$self" -f "$@" &>/dev/null & + disown + exit $? + fi + + local opt OPTARG + local -i OPTIND + while getopts "hvfksr:" opt "$@"; do + case "$opt" in + h) + usage + return 0 + ;; + v) + usage_version + return 0 + ;; + f) + # Silently ignore -f + ;; + k) + kill_instance + return + ;; + s) + get_status + return + ;; + r) + reload "$OPTARG" + return + ;; + \?) + return 1 + ;; + esac + done + shift $((OPTIND - 1)) + + if get_instance &>/dev/null; then + return 0 + fi + + command -v entr &>/dev/null || { + echo "Command not found: entr" >&2 + display_message -d 0 "Failed to start $name: Command not found: entr" + return 1 + } + + tmux set-option -g "@$name-pid" $$ + + # shellcheck disable=2016 + entr -np sh -c '"$0" -r "$1"' "$self" /_ <<<"$(printf '%s\n' "$(get_base_configs)" "$(get_user_configs)")" & + # shellcheck disable=2064 + trap "onexit $!" EXIT + wait +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-bitwarden/README.md b/dotfiles/common/.tmux/plugins/tmux-bitwarden/README.md new file mode 100644 index 0000000..ce80321 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-bitwarden/README.md @@ -0,0 +1,57 @@ +# tmux-bitwarden + +## Requirements +You need to have: +* [Bitwarden CLI](https://bitwarden.com/) +* [jq](https://stedolan.github.io/jq/) +* [fzf](https://github.com/junegunn/fzf) +* bash > 4.0 + +## Install + +### Tmux Plugin Manager (recommended) +1. In your `.tmux.conf` add the plugin to the list. +``` +set -g @plugin 'Alkindi42/tmux-bitwarden' +``` +2. Type `prefix + I` to install the plugin. + +## Key bindings +* `prefix + b`: list login items in a bottom pane. + +## Usage +First, log into your Bitwarden user account using the `login` command (you only need to do this once): +```bash +$ bw login your-email@domain.com +? Master password: [input is hidden] +To unlock your vault, set your session key to the `BW_SESSION` environment variable. ex: +$ export BW_SESSION="lpvf7Rt+pAMXW2YJ5O42jJp6ZY0Ny01vq9jaUdFYbroS1CXWgjVdy7j42owHVoLwZf+yDI+ro68Qngo9mdD/vA==" +> $env:BW_SESSION="lpvf7Rt+pAMXW2YJ5O42jJp6ZY0Ny01vq9jaUdFYbroS1CXWgjVdy7j42owHVoLwZf+yDI+ro68Qngo9mdD/vA==" +``` + +In a tmux session, you can run the plugin with the default key binding `prefix + b`. This opens a new pane at the bottom with login items. You can choose your login item with ``, your password will be automatically filled. + +If you have not configured your bitwarden session (`BW_SESSION`), you will be prompted to re-enter your master password before each selection (see configuration section for more information) + +## Configuration + +### Changing the default key-binding +``` +set -g @bw-key 'T' +``` +Default: `u` + +### Define Bitwarden session +To avoid re-entering your master password before each selection, you can define your [session Bitwarden](https://bitwarden.com/help/article/cli/#session-management). +Your `BW_SESSION` comes from the result of the `login` command. +``` +set -g @bw-session 'BW_SESSION' +``` +If the `BW_SESSION` variable exists in your environment variable then it will be used. + +### Copy the password to the clipboard +By default, after selection, the password is sent in the last pane. If you want to have it in your clipboard you have to activate the option: +``` +set -g @bw-copy-to-clipboard 'on' +``` +Default: `off` diff --git a/dotfiles/common/.tmux/plugins/tmux-bitwarden/plugin.tmux b/dotfiles/common/.tmux/plugins/tmux-bitwarden/plugin.tmux new file mode 100755 index 0000000..14b6c2a --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-bitwarden/plugin.tmux @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +declare -r CURRENT_DIR + +# shellcheck source=/dev/null +source "$CURRENT_DIR/scripts/utils.sh" + +declare -a REQUIRED_BINARIES=( + 'jq' + 'fzf' + 'bw' +) + +main() { + for binary in "${REQUIRED_BINARIES[@]}" + do + if ! is_binary_exist "$binary" + then + display_tmux_message "binary $binary does not exist" + return 1 + fi + done + + key_binding=$(get_tmux_option "@bw-key" "b") + tmux bind-key "$key_binding" split-window -l 10 "$CURRENT_DIR/scripts/main.sh" +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/main.sh b/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/main.sh new file mode 100755 index 0000000..2b87dcd --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/main.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +declare -r CURRENT_DIR + +# shellcheck source=/dev/null +source "$CURRENT_DIR/utils.sh" + +is_authenticated() { + [[ $(bw status | jq '.status') != "\"unauthenticated\"" ]] && true +} + +# Get bitwarden items +get_bw_items() { + local session="$1" + filter='map({ (.name|tostring): .login.password })|add' + + if [[ -z "$session" ]]; then + bw list items | jq -r "$filter" + else + bw list items --session "$session" | jq -r "$filter" + fi +} + +get_password() { + local items=$1 + local key=$2 + + password=$(echo "$items" | jq ".\"$key\"") + echo "${password:1:-1}" +} + +main() { + declare -A TMUX_OPTS=( + ["@bw-session"]=$(get_tmux_option "@bw-session" "$BW_SESSION") + ["@bw-copy-to-clipboard"]=$(get_tmux_option "@bw-copy-to-clipboard" "off") + ) + + is_authenticated + if [[ $? -eq 1 ]]; then + display_tmux_message "You are not logged in." + return 1 + fi + + items=$(get_bw_items "${TMUX_OPTS[@bw-session]}") + + # Choice element + key=$(echo "$items" | jq --raw-output '.|keys[]' | fzf --no-multi) || return + + password=$(get_password "$items" "$key") + + if [[ "${TMUX_OPTS[@bw-copy-to-clipboard]}" == "on" ]]; then + cp_to_clipboard "$password" + else + # Send the password in the last pane. + tmux send-keys -t ! "$password" + fi +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/utils.sh b/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/utils.sh new file mode 100644 index 0000000..bdb25c0 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-bitwarden/scripts/utils.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Copy text to the clipboard +cp_to_clipboard() { + if [[ "$(uname)" == "Darwin" ]] && is_binary_exist "pbcopy"; then + echo -n "$1" | pbcopy + elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "wl-copy"; then + echo -n "$1" | wl-copy + elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "xsel"; then + echo -n "$1" | xsel -b + elif [[ "$(uname)" == "Linux" ]] && is_binary_exist "xclip"; then + echo -n "$1" | xclip -i + else + return 1 + fi +} + +# Check if binary exist +is_binary_exist() { + local binary=$1 + + command -v "$binary" &> /dev/null + return $? +} + +# Get tmux option +get_tmux_option() { + local option="$1" + local default_value="$2" + local option_value + option_value=$(tmux show-option -gqv "$option") + + if [[ -z "$option_value" ]]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +# Display tmux message in status bar +display_tmux_message() { + local message=$1 + tmux display-message "tmux-bitwarden: $message" +} diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/.gitattributes b/dotfiles/common/.tmux/plugins/tmux-continuum/.gitattributes new file mode 100644 index 0000000..4cde323 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/.gitattributes @@ -0,0 +1,2 @@ +# Force text files to have unix eols, so Windows/Cygwin does not break them +*.* eol=lf diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tmux-continuum/CHANGELOG.md new file mode 100644 index 0000000..2a56b2f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog + +### master +- bugfix: "auto restore" feature stopped working +- bugfix: prevent race condition when auto-saving with locks (@v9v) +- Multiple users on a system can now each run continuum on their own. + +### v3.1.0, 2015-03-14 +- properly quote scripts +- bugfix: "auto restore" feature does not work on tmux `1.9a` +- bugfix: do not count `tmux source-file .tmux.conf` as a tmux process (when + checking if other tmux server is running). Previously, this caused + interpolation command not to be inserted into `status-right` because `tmux + source-file` was falsely detected as another tmux server. +- add `#{continuum_status}` status line interpolation + +### v3.0.0, 2015-02-20 +- rename the plugin from `tmux-resurrect-auto` to `tmux-continuum` + +### v2.2.0, 2015-02-20 +- document tmux multi-server behavior in the readme +- do not auto-restore tmux environment if another tmux server is already running + (we don't want to duplicate stuff) +- bugfixes for 'tmux auto start' OS X Terminal.app and iTerm scripts +- prevent saving for the first 15 minutes only when plugin is sourced the first + time (not on subsequent sources or tmux.conf reloads) +- do not start auto-saving if there's another tmux server running (we don't want + for save files from various tmux environments to override each other) + +### v2.1.0, 2015-02-18 +- enable "tmux auto start" for OS X +- enable customizing "tmux auto start" for OS X +- fix errors when creating a launchd plist file for auto-start on OS X + +### v2.0.0, 2015-02-15 +- enable automatic environment restore when tmux is started + +### v1.0.0, 2015-02-12 +- first working version +- run the save script in the background +- do not start saving right after tmux is started +- add a check for tmux version to the initializer script +- when interval is set to '0' autosave is disabled +- bugfix: helper files not loaded +- update readme with the instructions how to disable auto saving diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/CONTRIBUTING.md b/dotfiles/common/.tmux/plugins/tmux-continuum/CONTRIBUTING.md new file mode 100644 index 0000000..21c18fd --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/CONTRIBUTING.md @@ -0,0 +1,15 @@ +### Contributing + +Code contributions are welcome! + +If you wanna contribute a bigger feature, please open a github issue so we can +discuss it together first. + +### Reporting a bug + +If you find a bug please report it in the issues. When reporting a bug please +attach: +- a file symlinked to `~/.tmux/resurrect/last`. +- your `.tmux.conf` +- if you're getting an error paste it to a [gist](https://gist.github.com/) and + link it in the issue diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/LICENSE.md b/dotfiles/common/.tmux/plugins/tmux-continuum/LICENSE.md new file mode 100644 index 0000000..e6e7350 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (C) Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/README.md b/dotfiles/common/.tmux/plugins/tmux-continuum/README.md new file mode 100644 index 0000000..d263261 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/README.md @@ -0,0 +1,103 @@ +# tmux-continuum + +Features: + +- continuous saving of tmux environment +- automatic tmux start when computer/server is turned on +- automatic restore when tmux is started + +Together, these features enable uninterrupted tmux usage. No matter the computer +or server restarts, if the machine is on, tmux will be there how you left it off +the last time it was used. + +Tested and working on Linux, OSX and Cygwin. + +#### Continuous saving + +Tmux environment will be saved at an interval of 15 minutes. All the saving +happens in the background without impact to your workflow. + +This action starts automatically when the plugin is installed. Note it requires +the status line to be `on` to run (since it uses a hook in status-right to run). + +#### Automatic tmux start + +Tmux is automatically started after the computer/server is turned on. + +See the [instructions](docs/automatic_start.md) on how to enable this for your +system. + +#### Automatic restore + +Last saved environment is automatically restored when tmux is started. + +Put `set -g @continuum-restore 'on'` in `.tmux.conf` to enable this. + +Note: automatic restore happens **exclusively** on tmux server start. No other +action (e.g. sourcing `.tmux.conf`) triggers this. + +#### Dependencies + +`tmux 1.9` or higher, `bash`, +[tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect) plugin. + +### Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended) + +Please make sure you have +[tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect) installed. + +Add plugin to the list of TPM plugins in `.tmux.conf`: + + set -g @plugin 'tmux-plugins/tmux-resurrect' + set -g @plugin 'tmux-plugins/tmux-continuum' + +Hit `prefix + I` to fetch the plugin and source it. The plugin will +automatically start "working" in the background, no action required. + +### Manual Installation + +Please make sure you have +[tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect) installed. + +Clone the repo: + + $ git clone https://github.com/tmux-plugins/tmux-continuum ~/clone/path + +Add this line to the bottom of `.tmux.conf`: + + run-shell ~/clone/path/continuum.tmux + +Reload TMUX environment with: `$ tmux source-file ~/.tmux.conf` + +The plugin will automatically start "working" in the background, no action +required. + +### Docs + +- [frequently asked questions](docs/faq.md) +- [behavior when running multiple tmux servers](docs/multiple_tmux_servers.md) - + this doc is safe to skip, but you might want to read it if you're using tmux + with `-L` or `-S` flags +- [automatically start tmux after the computer is turned on](docs/automatic_start.md) +- [continuum status in tmux status line](docs/continuum_status.md) + +### Other goodies + +- [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) - a plugin for + regex searches in tmux and fast match selection +- [tmux-yank](https://github.com/tmux-plugins/tmux-yank) - enables copying + highlighted text to system clipboard +- [tmux-open](https://github.com/tmux-plugins/tmux-open) - a plugin for quickly + opening highlighted file or a url + +### Known Issues + +- In order to be executed periodically, the plugin updates the `status-right` tmux variable. In case some plugin (usually themes) overwrites the `status-right` variable, the autosave feature stops working. To fix this issue, place the plugin last in the TPM plugins list. + +### Reporting bugs and contributing + +Both contributing and bug reports are welcome. Please check out +[contributing guidelines](CONTRIBUTING.md). + +### License +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/continuum.tmux b/dotfiles/common/.tmux/plugins/tmux-continuum/continuum.tmux new file mode 100755 index 0000000..0a2490f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/continuum.tmux @@ -0,0 +1,89 @@ +#!/usr/bin/env bash + +set -x + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/scripts/helpers.sh" +source "$CURRENT_DIR/scripts/variables.sh" +source "$CURRENT_DIR/scripts/shared.sh" + +save_command_interpolation="#($CURRENT_DIR/scripts/continuum_save.sh)" + +supported_tmux_version_ok() { + "$CURRENT_DIR/scripts/check_tmux_version.sh" "$SUPPORTED_VERSION" +} + +handle_tmux_automatic_start() { + "$CURRENT_DIR/scripts/handle_tmux_automatic_start.sh" +} + +another_tmux_server_running() { + if just_started_tmux_server; then + another_tmux_server_running_on_startup + else + # script loaded after tmux server start can have multiple clients attached + [ "$(number_tmux_processes_except_current_server)" -gt "$(number_current_server_client_processes)" ] + fi +} + +delay_saving_environment_on_first_plugin_load() { + if [ -z "$(get_tmux_option "$last_auto_save_option" "")" ]; then + # last save option not set, this is first time plugin load + set_last_save_timestamp + fi +} + +add_resurrect_save_interpolation() { + local status_right_value="$(get_tmux_option "status-right" "")" + # check interpolation not already added + if ! [[ "$status_right_value" == *"$save_command_interpolation"* ]]; then + local new_value="${save_command_interpolation}${status_right_value}" + set_tmux_option "status-right" "$new_value" + fi +} + +just_started_tmux_server() { + local tmux_start_time + tmux_start_time="$(tmux display-message -p -F '#{start_time}')" + local restore_max_delay + restore_max_delay="$(get_tmux_option "$auto_restore_max_delay_option" "${auto_restore_max_delay_default}")" + [ "$tmux_start_time" == "" ] || [ "$tmux_start_time" -gt "$(($(date +%s)-${restore_max_delay}))" ] +} + +start_auto_restore_in_background() { + "$CURRENT_DIR/scripts/continuum_restore.sh" & +} + +update_tmux_option() { + local option="$1" + local option_value="$(get_tmux_option "$option")" + # replace interpolation string with a script to execute + local new_option_value="${option_value/$status_interpolation_string/$status_script}" + set_tmux_option "$option" "$new_option_value" +} + +main() { + if supported_tmux_version_ok; then + handle_tmux_automatic_start + + # Advanced edge case handling: start auto-saving only if this is the + # only tmux server. We don't want saved files from more environments to + # overwrite each other. + if ! another_tmux_server_running; then + # give user a chance to restore previously saved session + delay_saving_environment_on_first_plugin_load + add_resurrect_save_interpolation + fi + + if just_started_tmux_server; then + start_auto_restore_in_background + fi + + # Put "#{continuum_status}" interpolation in status-right or + # status-left tmux option to get current tmux continuum status. + update_tmux_option "status-right" + update_tmux_option "status-left" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/docs/automatic_start.md b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/automatic_start.md new file mode 100644 index 0000000..2b7e443 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/automatic_start.md @@ -0,0 +1,47 @@ +# Automatic Tmux start + +Tmux is automatically started after the computer/server is turned on. + +### OS X + +To enable this feature: +- put `set -g @continuum-boot 'on'` in `.tmux.conf` +- reload tmux config with this shell command: `$ tmux source-file ~/.tmux.conf` + +Next time the computer is started: +- `Terminal.app` window will open and resize to maximum size +- `tmux` command will be executed in the terminal window +- if "auto restore" feature is enabled, tmux will start restoring previous env + +Config options: +- `set -g @continuum-boot-options 'fullscreen'` - terminal window + will go fullscreen +- `set -g @continuum-boot-options 'iterm'` - start [iTerm](https://www.iterm2.com) instead + of `Terminal.app` +- `set -g @continuum-boot-options 'iterm,fullscreen'` - start `iTerm` + in fullscreen +- `set -g @continuum-boot-options 'kitty'` - start [kitty](https://sw.kovidgoyal.net/kitty) instead + of `Terminal.app` +- `set -g @continuum-boot-options 'kitty,fullscreen'` - start `kitty` + in fullscreen +- `set -g @continuum-boot-options 'alacritty'` - start [alacritty](https://github.com/alacritty/alacritty) instead of `Terminal.app` +- `set -g @continuum-boot-options 'alacritty,fullscreen'` - start `alacritty` + in fullscreen + +Note: The first time you reboot your machine and activate this feature you may be prompted about a script requiring +access to a system program (i.e. - System Events). If this happens tmux will not start automatically and you will need +to go to `System Preferences -> Security & Privacy -> Accessability` and add the script to the list of apps that are +allowed to control your computer. + +### Linux + +Help with this would be greatly appreciated. Please get in touch. + +#### Systemd + +##### this will only start the tmux server, it will *not* start any terminal emulator + +To enable automatic start with systemd: +- Put `set -g @continuum-boot 'on'` in `.tmux.conf` +- reload tmux config with this shell command: `$ tmux source-file ~/.tmux.conf` +- see [systemd](/docs/systemd_details.md) for more details about how this is implemented diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/docs/continuum_status.md b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/continuum_status.md new file mode 100644 index 0000000..c154ae4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/continuum_status.md @@ -0,0 +1,17 @@ +## Continuum status in tmux status line + +There is an option to display current status of tmux continuum in tmux status +line. This is done via `#{continuum_status}` interpolation and it works with +both `status-right` and `status-left` tmux native options. + +Example usage: + + set -g status-right 'Continuum status: #{continuum_status}' + +When running, `#{continuum_status}` will show continuum save interval: + + Continuum status: 15 + +or if continuous saving is disabled: + + Continuum status: off diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/docs/faq.md b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/faq.md new file mode 100644 index 0000000..42fd26d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/faq.md @@ -0,0 +1,45 @@ +### FAQ + +> Will a previous save be overwritten immediately after I start tmux? + +No, first automatic save starts 15 minutes after tmux is started. If automatic +restore is not enabled, that gives you enough time to manually restore from a +previous save. + +> I want to make a restore to a previous point in time, but it seems that save +is now overwritten? + +Read how to [restore a previously saved environment](https://github.com/tmux-plugins/tmux-resurrect/blob/master/docs/restoring_previously_saved_environment.md) + +> Will this plugin fill my hard disk? + +Most likely no. A regular save file is in the range of 5Kb. And `tmux-resurrect` already has a `remove_old_backups()` routine that will ["remove resurrect files older than 30 days, but keep at least 5 copies of backup."](https://github.com/tmux-plugins/tmux-resurrect/blob/da1a7558024b8552f7262b39ed22e3d679304f99/scripts/save.sh#L271-L277) + +> How do I change the save interval to i.e. 1 hour? + +The interval is always measured in minutes. So setting the interval to `60` +(minutes) will do the trick. Put this in `.tmux.conf`: + + set -g @continuum-save-interval '60' + +and then source `tmux.conf` by executing this command in the shell +`$ tmux source-file ~/.tmux.conf`. + +> How do I stop automatic saving? + +Just set the save interval to `0`. Put this in `.tmux.conf` + + set -g @continuum-save-interval '0' + +and then source `tmux.conf` by executing this command in the shell +`$ tmux source-file ~/.tmux.conf`. + +> I had automatic restore turned on, how do I disable it now? + +Just remove `set -g @continuum-restore 'on'` from `tmux.conf`. + +To be absolutely sure automatic restore doesn't happen, create a +`tmux_no_auto_restore` file in your home directory (command: +`$ touch ~/tmux_no_auto_restore`). Automatic restore won't happen if this file +exists. + diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/docs/multiple_tmux_servers.md b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/multiple_tmux_servers.md new file mode 100644 index 0000000..98c2506 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/multiple_tmux_servers.md @@ -0,0 +1,20 @@ +### Behavior when running multiple tmux servers + +(This is safe to skip if you're always running a single tmux server.) + +If you're an advanced tmux user, you might be running multiple tmux servers at +the same time. Maybe you start the first tmux server with `$ tmux` and then +later another one with e.g. `$ tmux -S/tmp/foo`. + +You probably don't want to "auto restore" the same environment in the second +tmux that uses `/tmp/foo` socket. You also probably don't want two tmux +environments both having "auto save" feature on (think about overwrites). + +This plugin handles multi-server scenario by giving precedence to the tmux +server that was first started. + +In the above example, the server started with `$ tmux` will do "auto +restore" (if enabled) and will start "auto saving". +"Auto restore" or "auto saving" **will not** happen for the second server that +was started later with the `$ tmux -S/tmp/foo` command. The plugin will +detect the presence of another server (`$ tmux`) and give it precedence. diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/docs/systemd_details.md b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/systemd_details.md new file mode 100644 index 0000000..7b9ed45 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/docs/systemd_details.md @@ -0,0 +1,13 @@ +# Systemd automatic start for tmux + +The first time tmux starts when `@continuum-boot` is set to 'on' tmux-continuum will generate a user level systemd unit file which it will save to `${HOME}/.config/systemd/user/tmux.service` and enable it. From then on when that user logs in, either through a GUI session or on the console or via ssh, Systemd will start the tmux server. + +The command used to start the tmux server is determined via the `@continuum-systemd-start-cmd` option that can be set in .tmux.conf. (Remember to reload your configuration with `tmux source ~/.tmux.conf` afterwards. + +The default command to use is `new-session -d`. If you want more control over what sessions get started then you should set up your sessions in tmux.conf and set `@continuum-systemd-start-cmd = 'start-server'`. As this will be executed as part of systemd's ExecStart statement there will be no shell parsing. See [Systemd manual](http://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20lines) for more details. + +To control the tmux service you can use all the standard `systemctl` commands using the `--user` argument. eg to see if the tmux server has started: + + systemctl --user status tmux.service + + diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/check_tmux_version.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/check_tmux_version.sh new file mode 100755 index 0000000..f4a887a --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/check_tmux_version.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +VERSION="$1" +UNSUPPORTED_MSG="$2" + +# this is used to get "clean" integer version number. Examples: +# `tmux 1.9` => `19` +# `1.9a` => `19` +get_digits_from_string() { + local string="$1" + local only_digits="$(echo "$string" | tr -dC '[:digit:]')" + echo "$only_digits" +} + +tmux_version_int() { + local tmux_version_string=$(tmux -V) + echo "$(get_digits_from_string "$tmux_version_string")" +} + +exit_if_unsupported_version() { + local current_version="$1" + local supported_version="$2" + if [ "$current_version" -lt "$supported_version" ]; then + exit 1 + fi +} + +main() { + local supported_version_int="$(get_digits_from_string "$VERSION")" + local current_version_int="$(tmux_version_int)" + exit_if_unsupported_version "$current_version_int" "$supported_version_int" +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_restore.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_restore.sh new file mode 100755 index 0000000..27afbc4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_restore.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/variables.sh" + +auto_restore_enabled() { + local auto_restore_value="$(get_tmux_option "$auto_restore_option" "$auto_restore_default")" + [ "$auto_restore_value" == "on" ] && [ ! -f "$auto_restore_halt_file" ] +} + +fetch_and_run_tmux_resurrect_restore_script() { + # give tmux some time to start and source all the plugins + sleep 1 + local resurrect_restore_script_path="$(get_tmux_option "$resurrect_restore_path_option" "")" + if [ -n "$resurrect_restore_script_path" ]; then + "$resurrect_restore_script_path" + fi +} + +main() { + # Advanced edge case handling: auto restore only if this is the only tmux + # server. If another tmux server exists, it is assumed auto-restore is not wanted. + if auto_restore_enabled && ! another_tmux_server_running_on_startup; then + fetch_and_run_tmux_resurrect_restore_script + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_save.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_save.sh new file mode 100755 index 0000000..c0e0e7e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_save.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/variables.sh" +source "$CURRENT_DIR/shared.sh" + +supported_tmux_version_ok() { + "$CURRENT_DIR/check_tmux_version.sh" "$SUPPORTED_VERSION" +} + +get_interval() { + get_tmux_option "$auto_save_interval_option" "$auto_save_interval_default" +} + +auto_save_not_disabled() { + [ "$(get_interval)" -gt 0 ] +} + +enough_time_since_last_run_passed() { + local last_saved_timestamp="$(get_tmux_option "$last_auto_save_option" "0")" + local interval_minutes="$(get_interval)" + local interval_seconds="$((interval_minutes * 60))" + local next_run="$((last_saved_timestamp + $interval_seconds))" + [ "$(current_timestamp)" -ge "$next_run" ] +} + +fetch_and_run_tmux_resurrect_save_script() { + local resurrect_save_script_path="$(get_tmux_option "$resurrect_save_path_option" "")" + if [ -n "$resurrect_save_script_path" ]; then + "$resurrect_save_script_path" "quiet" >/dev/null 2>&1 & + set_last_save_timestamp + fi +} + +acquire_lock() { + # Sometimes tmux starts multiple saves in parallel. We want only one + # save to be running, otherwise we can get corrupted saved state. + local lockdir_prefix="/tmp/tmux-continuum-$(current_tmux_server_pid)-lock-" + # The following implements a lock that auto-expires after 100...200s. + local lock_generation=$((`date +%s` / 100)) + local lockdir1="${lockdir_prefix}${lock_generation}" + local lockdir2="${lockdir_prefix}$(($lock_generation + 1))" + if mkdir "$lockdir1"; then + trap "rmdir "$lockdir1"" EXIT + if mkdir "$lockdir2"; then + trap "rmdir "$lockdir1" "$lockdir2"" EXIT + return 0 + fi + fi + return 1 # Someone else has the lock. +} + +main() { + if supported_tmux_version_ok && auto_save_not_disabled && enough_time_since_last_run_passed && acquire_lock; then + fetch_and_run_tmux_resurrect_save_script + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_status.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_status.sh new file mode 100755 index 0000000..280cf00 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/continuum_status.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/variables.sh" + +print_status() { + local save_int="$(get_tmux_option "$auto_save_interval_option")" + local status="" + local style_wrap + if [ $save_int -gt 0 ]; then + style_wrap="$(get_tmux_option "$status_on_style_wrap_option" "")" + status="$save_int" + else + style_wrap="$(get_tmux_option "$status_off_style_wrap_option" "")" + status="off" + fi + + if [ -n "$style_wrap" ]; then + status="${style_wrap/$status_wrap_string/$status}" + fi + echo "$status" +} +print_status diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start.sh new file mode 100755 index 0000000..433798b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/variables.sh" + +is_tmux_automatic_start_enabled() { + local auto_start_value="$(get_tmux_option "$auto_start_option" "$auto_start_default")" + [ "$auto_start_value" == "on" ] +} + +is_osx() { + [ $(uname) == "Darwin" ] +} + +is_systemd() { + [ $(ps -o comm= -p1) == 'systemd' ] +} + +main() { + if is_tmux_automatic_start_enabled; then + if is_osx; then + "$CURRENT_DIR/handle_tmux_automatic_start/osx_enable.sh" + elif is_systemd; then + "$CURRENT_DIR/handle_tmux_automatic_start/systemd_enable.sh" + fi + else + if is_osx; then + "$CURRENT_DIR/handle_tmux_automatic_start/osx_disable.sh" + elif is_systemd; then + "$CURRENT_DIR/handle_tmux_automatic_start/systemd_disable.sh" + fi + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/README.md b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/README.md new file mode 120000 index 0000000..0bf63cd --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/README.md @@ -0,0 +1 @@ +../../docs/automatic_start.md \ No newline at end of file diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_alacritty_start_tmux.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_alacritty_start_tmux.sh new file mode 100755 index 0000000..e9f09c6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_alacritty_start_tmux.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash + +# for "true full screen" call the script with "fullscreen" as the first argument +TRUE_FULL_SCREEN="$1" + +start_terminal_and_run_tmux() { + osascript <<-EOF + tell application "alacritty" + activate + delay 0.5 + tell application "System Events" to tell process "alacritty" + set frontmost to true + keystroke "tmux" + key code 36 + end tell + end tell + EOF +} + +resize_window_to_full_screen() { + osascript <<-EOF + tell application "alacritty" + activate + tell application "System Events" + if (every window of process "alacritty") is {} then + keystroke "n" using command down + end if + + tell application "Finder" + set desktopSize to bounds of window of desktop + end tell + + set position of front window of process "alacritty" to {0, 0} + set size of front window of process "alacritty" to {item 3 of desktopSize, item 4 of desktopSize} + end tell + end tell + EOF +} + +resize_to_true_full_screen() { + osascript <<-EOF + tell application "Alacritty" + activate + delay 0.5 + tell application "System Events" to tell process "Alacritty" + if front window exists then + tell front window + if value of attribute "AXFullScreen" then + set value of attribute "AXFullScreen" to false + else + set value of attribute "AXFullScreen" to true + end if + end tell + end if + end tell + end tell + EOF +} + +main() { + start_terminal_and_run_tmux + if [ "$TRUE_FULL_SCREEN" == "fullscreen" ]; then + resize_to_true_full_screen + else + resize_window_to_full_screen + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_disable.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_disable.sh new file mode 100755 index 0000000..19f9af1 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_disable.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/../variables.sh" + +main() { + rm "$osx_auto_start_file_path" > /dev/null 2>&1 +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_enable.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_enable.sh new file mode 100755 index 0000000..a7fea78 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_enable.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/../helpers.sh" +source "$CURRENT_DIR/../variables.sh" + +template() { + local tmux_start_script="$1" + local is_fullscreen="$2" + + local fullscreen_tag="" + if [ "$is_fullscreen" == "true" ]; then + # newline and spacing so tag is aligned with other tags in template + fullscreen_tag=$'\n fullscreen' + fi + + local content + read -r -d '' content <<-EOF + + + + + Label + ${osx_auto_start_file_name} + ProgramArguments + + ${tmux_start_script}$fullscreen_tag + + RunAtLoad + + + + EOF + echo "$content" +} + +get_strategy() { + local options="$1" + if [[ "$options" =~ "iterm" ]]; then + echo "iterm" + elif [[ "$options" =~ "kitty" ]]; then + echo "kitty" + elif [[ "$options" =~ "alacritty" ]]; then + echo "alacritty" + else + # Terminal.app is the default console app + echo "terminal" + fi +} + +get_fullscreen_option_value() { + local options="$1" + if [[ "$options" =~ "fullscreen" ]]; then + echo "true" + else + echo "false" + fi +} + +main() { + local options="$(get_tmux_option "$auto_start_config_option" "$auto_start_config_default")" + local strategy="$(get_strategy "$options")" + local fullscreen_option_value="$(get_fullscreen_option_value "$options")" + local tmux_start_script_path="${CURRENT_DIR}/osx_${strategy}_start_tmux.sh" + + local launchd_plist_file_content="$(template "$tmux_start_script_path" "$fullscreen_option_value")" + if ! diff "$osx_auto_start_file_path" <(echo "$launchd_plist_file_content") &>/dev/null ; then + echo "$launchd_plist_file_content" > "$osx_auto_start_file_path" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_iterm_start_tmux.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_iterm_start_tmux.sh new file mode 100755 index 0000000..18ea5e6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_iterm_start_tmux.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +# for "true full screen" call the script with "fullscreen" as the first argument +TRUE_FULL_SCREEN="$1" + +start_iterm_and_run_tmux() { + osascript <<-EOF + tell application "iTerm" + activate + + # open iterm window + try + set _session to current session of current window + on error + set _term to (make new terminal) + tell _term + launch session "Tmux" + set _session to current session + end tell + end try + + # start tmux + tell _session + write text "tmux" + end tell + end tell + EOF +} + +resize_window_to_full_screen() { + osascript <<-EOF + tell application "iTerm" + set winID to id of window 1 + tell application "Finder" + set desktopSize to bounds of window of desktop + end tell + set bounds of window id winID to desktopSize + end tell + EOF +} + +resize_to_true_full_screen() { + osascript <<-EOF + tell application "iTerm" + # wait for iTerm to start + delay 1 + activate + # short wait for iTerm to gain focus + delay 0.1 + # Command + Enter for fullscreen + tell application "System Events" + key code 36 using {command down} + end tell + end tell + EOF +} + +main() { + start_iterm_and_run_tmux + if [ "$TRUE_FULL_SCREEN" == "fullscreen" ]; then + resize_to_true_full_screen + else + resize_window_to_full_screen + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_kitty_start_tmux.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_kitty_start_tmux.sh new file mode 100755 index 0000000..94c1d2b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_kitty_start_tmux.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +# for "true full screen" call the script with "fullscreen" as the first argument +TRUE_FULL_SCREEN="$1" + +start_terminal_and_run_tmux() { + osascript <<-EOF + tell application "kitty" + activate + delay 5 + tell application "System Events" to tell process "kitty" + set frontmost to true + keystroke "tmux" + key code 36 + end tell + end tell + EOF +} + +resize_window_to_full_screen() { + osascript <<-EOF + tell application "kitty" + activate + tell application "System Events" + if (every window of process "kitty") is {} then + keystroke "n" using command down + end if + + tell application "Finder" + set desktopSize to bounds of window of desktop + end tell + + set position of front window of process "kitty" to {0, 0} + set size of front window of process "kitty" to {item 3 of desktopSize, item 4 of desktopSize} + end tell + end tell + EOF +} + +resize_to_true_full_screen() { + osascript <<-EOF + tell application "kitty" + activate + delay 1 + tell application "System Events" to tell process "kitty" + keystroke "f" using {control down, command down} + end tell + end tell + EOF +} + +main() { + start_terminal_and_run_tmux + if [ "$TRUE_FULL_SCREEN" == "fullscreen" ]; then + resize_to_true_full_screen + else + resize_window_to_full_screen + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_terminal_start_tmux.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_terminal_start_tmux.sh new file mode 100755 index 0000000..5a49391 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/osx_terminal_start_tmux.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +# for "true full screen" call the script with "fullscreen" as the first argument +TRUE_FULL_SCREEN="$1" + +start_terminal_and_run_tmux() { + osascript <<-EOF + tell application "Terminal" + if not (exists window 1) then reopen + activate + set winID to id of window 1 + do script "tmux" in window id winID + end tell + EOF +} + +resize_window_to_full_screen() { + osascript <<-EOF + tell application "Terminal" + set winID to id of window 1 + tell application "Finder" + set desktopSize to bounds of window of desktop + end tell + set bounds of window id winID to desktopSize + end tell + EOF +} + +resize_to_true_full_screen() { + osascript <<-EOF + tell application "Terminal" + # waiting for Terminal.app to start + delay 1 + activate + # short wait for Terminal to gain focus + delay 0.1 + tell application "System Events" + keystroke "f" using {control down, command down} + end tell + end tell + EOF +} + +main() { + start_terminal_and_run_tmux + if [ "$TRUE_FULL_SCREEN" == "fullscreen" ]; then + resize_to_true_full_screen + else + resize_window_to_full_screen + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_disable.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_disable.sh new file mode 100755 index 0000000..8c7bd6b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_disable.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Maintainer: Sven Vowe @nuclearglow +# Contact maintainer for any change to this file. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/../variables.sh" + +main() { + systemctl --user disable ${systemd_service_name} +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_enable.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_enable.sh new file mode 100755 index 0000000..ec9d349 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/handle_tmux_automatic_start/systemd_enable.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +# Maintainer: Sven Vowe @nuclearglow +# Contact maintainer for any change to this file. + +CURRENT_DIR="$( dirname ${BASH_SOURCE[0]} )" + +source "$CURRENT_DIR/../helpers.sh" +source "$CURRENT_DIR/../variables.sh" + +template() { + local tmux_start_script="$1" + shift + local options="$@" + local content="" + local resurrect_save_script_path="$(get_tmux_option "$resurrect_save_path_option" "$(realpath ${CURRENT_DIR}/../../../tmux-resurrect/scripts/save.sh)")" + local tmux_path="$(command -v tmux)" + + read -r -d '' content <<-EOF + [Unit] + Description=tmux default session (detached) + Documentation=man:tmux(1) + + [Service] + Type=forking + Environment=DISPLAY=:0 + ExecStart=${tmux_path} ${systemd_tmux_server_start_cmd} + + ExecStop=${resurrect_save_script_path} + ExecStop=${tmux_path} kill-server + KillMode=control-group + + RestartSec=2 + + [Install] + WantedBy=default.target + EOF + + echo "$content" +} + +systemd_tmux_is_enabled() { + systemctl --user is-enabled $(basename "${systemd_unit_file_path}") >/dev/null 2>&1 +} + +enable_tmux_unit_on_boot() { + if ! systemd_tmux_is_enabled; then + systemctl --user enable ${systemd_service_name} + fi +} + +systemd_unit_file() { + local options="$(get_tmux_option "$auto_start_config_option" "${auto_start_config_default}")" + local systemd_tmux_server_start_cmd="$(get_tmux_option "${systemd_tmux_server_start_cmd_option}" "${systemd_tmux_server_start_cmd_default}" )" + local tmux_start_script_path="${CURRENT_DIR}/linux_start_tmux.sh" + local systemd_unit_file=$(template "${tmux_start_script_path}" "${options}") + echo "$systemd_unit_file" +} + +write_unit_file() { + systemd_unit_file > "${systemd_unit_file_path}" +} + +write_unit_file_unless_exists() { + local systemd_unit_file_dir=$(dirname ${systemd_unit_file_path}) + if ! [ -d $systemd_unit_file_dir ]; then + mkdir -p $systemd_unit_file_dir + write_unit_file + elif ! [ -e "${systemd_unit_file_path}" ]; then + write_unit_file + fi +} + +main() { + write_unit_file_unless_exists + enable_tmux_unit_on_boot +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/helpers.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/helpers.sh new file mode 100644 index 0000000..5268e8e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/helpers.sh @@ -0,0 +1,49 @@ +get_tmux_option() { + local option="$1" + local default_value="$2" + local option_value=$(tmux show-option -gqv "$option") + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +set_tmux_option() { + local option="$1" + local value="$2" + tmux set-option -gq "$option" "$value" +} + +# multiple tmux server detection helpers + +current_tmux_server_pid() { + echo "$TMUX" | + cut -f2 -d"," +} + +all_tmux_processes() { + # ignores `tmux source-file .tmux.conf` command used to reload tmux.conf + local user_id=$(id -u) + ps -u $user_id -o "command pid" | + \grep "^tmux" | + \grep -v "^tmux source" +} + +number_tmux_processes_except_current_server() { + all_tmux_processes | + \grep -v " $(current_tmux_server_pid)$" | + wc -l | + sed "s/ //g" +} + +number_current_server_client_processes() { + tmux list-clients | + wc -l | + sed "s/ //g" +} + +another_tmux_server_running_on_startup() { + # there are 2 tmux processes (current tmux server + 1) on tmux startup + [ "$(number_tmux_processes_except_current_server)" -gt 1 ] +} diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/shared.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/shared.sh new file mode 100644 index 0000000..5ac8885 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/shared.sh @@ -0,0 +1,7 @@ +current_timestamp() { + echo "$(date +%s)" +} + +set_last_save_timestamp() { + set_tmux_option "$last_auto_save_option" "$(current_timestamp)" +} diff --git a/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/variables.sh b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/variables.sh new file mode 100644 index 0000000..8a5d0c6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-continuum/scripts/variables.sh @@ -0,0 +1,43 @@ +SUPPORTED_VERSION="1.9" + +# these tmux options contain paths to tmux resurrect save and restore scripts +resurrect_save_path_option="@resurrect-save-script-path" +resurrect_restore_path_option="@resurrect-restore-script-path" + +auto_save_interval_option="@continuum-save-interval" +auto_save_interval_default="15" + +# time when the tmux environment was last saved (unix timestamp) +last_auto_save_option="@continuum-save-last-timestamp" + +auto_restore_option="@continuum-restore" +auto_restore_default="off" + +auto_restore_halt_file="${HOME}/tmux_no_auto_restore" + +auto_restore_max_delay_option="@continuum-restore-max-delay" +auto_restore_max_delay_default="10" + +# tmux auto start options +auto_start_option="@continuum-boot" +auto_start_default="off" + +# comma separated list of additional options for tmux auto start +auto_start_config_option="@continuum-boot-options" +auto_start_config_default="" + +osx_auto_start_file_name="Tmux.Start.plist" +osx_auto_start_file_path="${HOME}/Library/LaunchAgents/${osx_auto_start_file_name}" + +status_interpolation_string="\#{continuum_status}" +status_script="#($CURRENT_DIR/scripts/continuum_status.sh)" +# below options set style/color for #{continuum_status} interpolation +status_on_style_wrap_option="@continuum-status-on-wrap-style" # example value: "#[fg=green]#{value}#[fg=white]" +status_off_style_wrap_option="@continuum-status-off-wrap-style" # example value: "#[fg=yellow,bold]#{value}#[fg=white,nobold]" +status_wrap_string="\#{value}" + +systemd_service_name="tmux.service" +systemd_unit_file_path="$HOME/.config/systemd/user/${systemd_service_name}" + +systemd_tmux_server_start_cmd_option="@continuum-systemd-start-cmd" +systemd_tmux_server_start_cmd_default="new-session -d" diff --git a/dotfiles/common/.tmux/plugins/tmux-project/LICENSE b/dotfiles/common/.tmux/plugins/tmux-project/LICENSE new file mode 100644 index 0000000..1124080 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019-2021 Seong Yong-ju + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-project/README.md b/dotfiles/common/.tmux/plugins/tmux-project/README.md new file mode 100644 index 0000000..6133df2 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/README.md @@ -0,0 +1,79 @@ +# tmux-project + +Search projects and open them in a new session. + +## Prequisites + +- find +- [fzf](https://github.com/junegunn/fzf) (needs `fzf-tmux` to be installed) + +## Install + +### Installation with [tpm](https://github.com/tmux-plugins/tpm) (recommended) + +Add the following line to your `.tmux.conf`. + +```tmux +set -g @plugin 'sei40kr/tmux-project' +``` + +--- + +It is also recommended to add the following line to your `.tmux.conf` to prevent +a client from being detached when the active session is destroyed. + +```tmux +set detach-on-destroy no-detached +``` + +## Customization + +| Variable | Default value | Description | +| :------------------------------ | :-------------------- | :-------------------------------------------------------------------------------- | +| `@project-key` | `"g"` | The key to invoke the project search. If you set it to `""`, the key is disabled. | +| `@project-base-dirs` | `""` | A comma-separated list of directories and their depths to search for projects. | +| `@project-rooters` | `".git"` | A comma-separated list of rooters. | +| `@project-fzf-tmux-layout-opts` | `""` | The layout options for fzf-tmux. See `fzf-tmux(1)` for details. | +| `@project-fzf-opts` | `"--preview 'ls {}'"` | The options for fzf. See `fzf(1)` for details. | + +### Setting `@project-base-dirs` + +`@project-base-dirs` is a comma-separated list of directories and their depths to search for projects. + +Each element of the list is in the following format: + +``` +/path/to/dir[:[:]] +``` + +- If you omit `` and ``, they are set to `0` and `0` respectively. +- If you omit ``, it is set to ``. (means `` is the exact depth) + +If you omit the depth or explicitly set it to `0`, the directory itself will be +added as a project. In that case, you can add the directory as a project even if +it contains no rooter. + +--- + +For example, if you want to search for ghq repositories as projects: + +```tmux +set -ag @project-base-dirs ,"${GHQ_ROOT}:3" +``` + +For example, if you want to add `~/.vim` itself as a project: + +```tmux +set -ag @project-base-dirs ,"${HOME}/.vim" +``` + +## tmuxinator Integration + +tmux-project can be integrated with [tmuxinator](https://github.com/tmuxinator/tmuxinator). +When you have tmuxinator installed and the selected project has +`.tmuxinator.yml` at the root, tmux-project will start a new session with +tmuxinator. + +## License + +MIT diff --git a/dotfiles/common/.tmux/plugins/tmux-project/flake.lock b/dotfiles/common/.tmux/plugins/tmux-project/flake.lock new file mode 100644 index 0000000..e6f9099 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1683014792, + "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/dotfiles/common/.tmux/plugins/tmux-project/flake.nix b/dotfiles/common/.tmux/plugins/tmux-project/flake.nix new file mode 100644 index 0000000..45877f1 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/flake.nix @@ -0,0 +1,30 @@ +{ + description = "A very basic flake"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + packages.default = pkgs.callPackage ./packages/default.nix { }; + + devShells.default = + let + tmux_conf = pkgs.writeText "tmux.conf" '' + run-shell ${self.packages.${system}.default.rtp}/project.tmux + ''; + in + pkgs.mkShell { + buildInputs = with pkgs; [ tmux fzf ]; + shellHook = '' + TMUX= TMUX_TMPDIR= exec tmux -f ${tmux_conf} + ''; + }; + } + ); +} diff --git a/dotfiles/common/.tmux/plugins/tmux-project/lib/tmux.bash b/dotfiles/common/.tmux/plugins/tmux-project/lib/tmux.bash new file mode 100644 index 0000000..af35b4f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/lib/tmux.bash @@ -0,0 +1,8 @@ +get_tmux_option() { + local option=$1 + local default_value=$2 + local option_value + + option_value=$(tmux show -gqv "$option") + echo "${option_value:-$default_value}" +} diff --git a/dotfiles/common/.tmux/plugins/tmux-project/libexec/switch-project.bash b/dotfiles/common/.tmux/plugins/tmux-project/libexec/switch-project.bash new file mode 100755 index 0000000..926d9fe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/libexec/switch-project.bash @@ -0,0 +1,98 @@ +#!/usr/bin/env bash + +basedir="$(cd "$(dirname "$0")/.." && pwd)" +# shellcheck source=../lib/tmux.bash +. "$basedir/lib/tmux.bash" + +find_projects() { + local -a base_dirs rooters rooter_opts + + IFS=',' read -ra base_dirs < <(get_tmux_option '@project-base-dirs') + IFS=',' read -ra rooters < <(get_tmux_option '@project-rooters' '.git') + + for rooter in "${rooters[@]}"; do + rooter_opts+=("-o" "-name" "$rooter") + done + rooter_opts=('(' "${rooter_opts[@]:1}" ')') + + for base_dir in "${base_dirs[@]}"; do + # If the base_dir is empty, skip it + if [[ -z "$base_dir" ]]; then + continue + fi + + local -a tmp + IFS=':' read -ra tmp <<<"$base_dir" + path="${tmp[0]}" + min_depth="${tmp[1]:-0}" + max_depth="${tmp[2]:-${min_depth}}" + + if [[ min_depth -eq 0 && max_depth -eq 0 ]]; then + # If min_depth and max_depth are both 0, that means we + # want to add the base_dir itself as a project. + # In that case, add the base_dir as a project even if it + # contains no rooter. + if [[ -d "$path" || -L "$path" ]]; then + echo "$path" + fi + else + find "$path" -mindepth "$((min_depth + 1))" \ + -maxdepth "$((max_depth + 1))" \ + "${rooter_opts[@]}" \ + -printf '%h\n' + fi + done +} + +# Convert a path to a session name. The session name is the last component of +# the path. Dots are replaced with underscores. If the path starts with a dot, +# the dot is removed. +# e.g. /home/username/.emacs.d -> emacs_d +to_session_name() { + local session_name="$1" + + session_name="${session_name##*/}" + + # Dots are not allowed in a tmux session name + # e.g. .emacs.d -> _emacs_d + session_name="${session_name//./_}" + # If the path starts with a slash (a dot), remove it + # e.g. .emacs.d -> _emacs_d -> emacs_d + session_name="${session_name#_}" + + echo "$session_name" +} + +main() { + local fzf_opts fzf_tmux_layout_opts selected_path session_name + + # shellcheck disable=SC2207 + fzf_opts="$(get_tmux_option "@project-fzf-opts" "--preview 'ls {}'")" + # shellcheck disable=SC2207 + fzf_tmux_layout_opts="$(get_tmux_option "@project-fzf-tmux-layout-opts")" + + selected_path="$(find_projects | eval "fzf-tmux ${fzf_tmux_layout_opts} -- ${fzf_opts}")" + if [[ -z "$selected_path" ]]; then + return 0 + fi + + # If the selected project has .tmuxinator.yml file, use tmuxinator to + # start the session. + if command -v tmuxinator &>/dev/null && [[ -f "${selected_path}/.tmuxinator.yml" ]]; then + tmuxinator start -p "${selected_path}/.tmuxinator.yml" + return 0 + fi + + session_name="$(to_session_name "$selected_path")" + + # If the session already exists, attach to it. Otherwise, create a new + # session and attach to it. + if ! tmux has-session -t "$session_name" 2>/dev/null; then + # Return 0 even if creating the session fails. + tmux new-session -d -s "$session_name" -c "$selected_path" \; \ + set -t "$session_name" destroy-unattached off || : + fi + tmux switch-client -t "$session_name" +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-project/packages/default.nix b/dotfiles/common/.tmux/plugins/tmux-project/packages/default.nix new file mode 100644 index 0000000..bac503c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/packages/default.nix @@ -0,0 +1,11 @@ +{ lib, tmuxPlugins }: + +tmuxPlugins.mkTmuxPlugin { + pluginName = "project"; + version = "unstable-2023-05-04"; + src = ../.; + meta = with lib; { + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/dotfiles/common/.tmux/plugins/tmux-project/project.tmux b/dotfiles/common/.tmux/plugins/tmux-project/project.tmux new file mode 100755 index 0000000..ec799da --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-project/project.tmux @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +basedir="$(cd "$(dirname "$0")" && pwd)" +# shellcheck source=lib/tmux.bash +. "${basedir}/lib/tmux.bash" + +key="$(get_tmux_option '@project-key' 'g')" +if [[ -n "$key" ]]; then + tmux bind-key "$key" run-shell -b "${basedir}/libexec/switch-project.bash" +fi diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitattributes b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitattributes new file mode 100644 index 0000000..3772b5e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitattributes @@ -0,0 +1,5 @@ +# Force text files to have unix eols, so Windows/Cygwin does not break them +*.* eol=lf + +# Except for images because then on checkout the files have been altered. +*.png binary diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitignore b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitignore new file mode 100644 index 0000000..72523e8 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitignore @@ -0,0 +1,3 @@ +run_tests +tests/run_tests_in_isolation +tests/helpers/helpers.sh diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitmodules b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitmodules new file mode 100644 index 0000000..5e44e3c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/tmux-test"] + path = lib/tmux-test + url = https://github.com/tmux-plugins/tmux-test.git diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/.travis.yml b/dotfiles/common/.tmux/plugins/tmux-resurrect/.travis.yml new file mode 100644 index 0000000..fea6850 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/.travis.yml @@ -0,0 +1,19 @@ +# generic packages and tmux +before_install: + - sudo apt-get update + - sudo apt-get install -y git-core expect + - sudo apt-get install -y python-software-properties software-properties-common + - sudo apt-get install -y libevent-dev libncurses-dev + - git clone https://github.com/tmux/tmux.git + - cd tmux + - git checkout 2.5 + - sh autogen.sh + - ./configure && make && sudo make install + +install: + - git fetch --unshallow --recurse-submodules || git fetch --recurse-submodules + # manual `git clone` required for testing `tmux-test` plugin itself + - git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test; true + - lib/tmux-test/setup + +script: ./tests/run_tests_in_isolation diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/CHANGELOG.md new file mode 100644 index 0000000..2957f18 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/CHANGELOG.md @@ -0,0 +1,163 @@ +# Changelog + +### master +- Remove deprecated "restoring shell history" feature. + +### v4.0.0, 2022-04-10 +- Proper handling of `automatic-rename` window option. +- save and restore tmux pane title (breaking change: you have to re-save to be + able to properly restore!) + +### v3.0.0, 2021-08-30 +- save and restore tmux pane contents (@laomaiweng) +- update tmux-test to solve issue with recursing git submodules in that project +- set options quietly in `resurrect.tmux` script +- improve pane contents restoration: `cat ` is no longer shown in pane + content history +- refactoring: drop dependency on `paste` command +- bugfix for pane contents restoration +- expand tilde char `~` if used with `@resurrect-dir` +- do not save empty trailing lines when pane content is saved +- do not save pane contents if pane is empty (only for 'save pane contents' + feature) +- "save pane contents" feature saves files to a separate directory +- archive and compress pane contents file +- make archive & compress pane contents process more portable +- `mutt` added to the list of automatically restored programs +- added guide for migrating from tmuxinator +- fixed a bug for restoring commands on tmux 2.5 (and probably tmux 2.4) +- do not create another resurrect file if there are no changes (credit @vburdo) +- allow using '$HOSTNAME' in @resurrect-dir +- add zsh history saving and restoring +- delete resurrect files older than 30 days, but keep at least 5 files +- add save and restore hooks +- always use `-ao` flags for `ps` command to detect commands +- Deprecate restoring shell history feature. +- `view` added to the list of automatically restored programs +- Enable vim session strategy to work with custom session files, + e.g. `vim -S Session1.vim`. +- Enable restoring command arguments for inline strategies with `*` character. +- Kill session "0" if it wasn't restored. +- Add `@resurrect-delete-backup-after` option to specify how many days of + backups to keep - default is 30. + +### v2.4.0, 2015-02-23 +- add "tmux-test" +- add test for "resurrect save" feature +- add test for "resurrect restore" feature +- make the tests work and pass on travis +- add travis badge to the readme + +### v2.3.0, 2015-02-12 +- Improve fetching proper window_layout for zoomed windows. In order to fetch + proper value, window has to get unzoomed. This is now done faster so that + "unzoom,fetch value,zoom" cycle is almost unnoticable to the user. + +### v2.2.0, 2015-02-12 +- bugfix: zoomed windows related regression +- export save and restore script paths so that 'tmux-resurrect-save' plugin can + use them +- enable "quiet" saving (used by 'tmux-resurrect-save' plugin) + +### v2.1.0, 2015-02-12 +- if restore is started when there's only **1 pane in the whole tmux server**, + assume the users wants the "full restore" and overrwrite that pane. + +### v2.0.0, 2015-02-10 +- add link to the wiki page for "first pane/window issue" to the README as well + as other tweaks +- save and restore grouped sessions (used with multi-monitor workflow) +- save and restore active and alternate windows in grouped sessions +- if there are no grouped sessions, do not output empty line to "last" file +- restore active and alternate windows only if they are present in the "last" file +- refactoring: prefer using variable with tab character +- remove deprecated `M-s` and `M-r` key bindings (breaking change) + +### v1.5.0, 2014-11-09 +- add support for restoring neovim sessions + +### v1.4.0, 2014-10-25 +- plugin now uses strategies when fetching pane full command. Implemented + 'default' strategy. +- save command strategy: 'pgrep'. It's here only if fallback is needed. +- save command strategy: 'gdb' +- rename default strategy name to 'ps' +- create `expect` script that can fully restore tmux environment +- fix default save command strategy `ps` command flags. Flags are different for + FreeBSD. +- add bash history saving and restoring (@rburny) +- preserving layout of zoomed windows across restores (@Azrael3000) + +### v1.3.0, 2014-09-20 +- remove dependency on `pgrep` command. Use `ps` for fetching process names. + +### v1.2.1, 2014-09-02 +- tweak 'new_pane' creation strategy to fix #36 +- when running multiple tmux server and for a large number of panes (120 +) when + doing a restore, some panes might not be created. When that is the case also + don't restore programs for those panes. + +### v1.2.0, 2014-09-01 +- new feature: inline strategies when restoring a program + +### v1.1.0, 2014-08-31 +- bugfix: sourcing `variables.sh` file in save script +- add `Ctrl` key mappings, deprecate `Alt` keys mappings. + +### v1.0.0, 2014-08-30 +- show spinner during the save process +- add screencast script +- make default program running list even more conservative + +### v0.4.0, 2014-08-29 +- change plugin name to `tmux-resurrect`. Change all the variable names. + +### v0.3.0, 2014-08-29 +- bugfix: when top is running the pane `$PWD` can't be saved. This was causing + issues during the restore and is now fixed. +- restoring sessions multiple times messes up the whole environment - new panes + are all around. This is now fixed - pane restorations are now idempotent. +- if pane exists from before session restore - do not restore the process within + it. This makes the restoration process even more idempotent. +- more panes within a window can now be restored +- restore window zoom state + +### v0.2.0, 2014-08-29 +- bugfix: with vim 'session' strategy, if the session file does not exist - make + sure vim does not contain `-S` flag +- enable restoring programs with arguments (e.g. "rails console") and also + processes that contain program name +- improve `irb` restore strategy + +### v0.1.0, 2014-08-28 +- refactor checking if saved tmux session exists +- spinner while tmux sessions are restored + +### v0.0.5, 2014-08-28 +- restore pane processes +- user option for disabling pane process restoring +- enable whitelisting processes that will be restored +- expand readme with configuration options +- enable command strategies; enable restoring vim sessions +- update readme: explain restoring vim sessions + +### v0.0.4, 2014-08-26 +- restore pane layout for each window +- bugfix: correct pane ordering in a window + +### v0.0.3, 2014-08-26 +- save and restore current and alternate session +- fix a bug with non-existing window names +- restore active pane for each window that has multiple panes +- restore active and alternate window for each session + +### v0.0.2, 2014-08-26 +- saving a new session does not remove the previous one +- make the directory where sessions are stored configurable +- support only Tmux v1.9 or greater +- display a nice error message if saved session file does not exist +- added README + +### v0.0.1, 2014-08-26 +- started a project +- basic saving and restoring works diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/CONTRIBUTING.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/CONTRIBUTING.md new file mode 100644 index 0000000..444098c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/CONTRIBUTING.md @@ -0,0 +1,12 @@ +### Contributing + +Code contributions are welcome! + +### Reporting a bug + +If you find a bug please report it in the issues. When reporting a bug please +attach: +- a file symlinked to `~/.tmux/resurrect/last`. +- your `.tmux.conf` +- if you're getting an error paste it to a [gist](https://gist.github.com/) and + link it in the issue diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/LICENSE.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/LICENSE.md new file mode 100644 index 0000000..40f6ddd --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (C) 2014 Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/README.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/README.md new file mode 100644 index 0000000..f137ad8 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/README.md @@ -0,0 +1,129 @@ +# Tmux Resurrect + +[![Build Status](https://travis-ci.org/tmux-plugins/tmux-resurrect.svg?branch=master)](https://travis-ci.org/tmux-plugins/tmux-resurrect) + +Restore `tmux` environment after system restart. + +Tmux is great, except when you have to restart the computer. You lose all the +running programs, working directories, pane layouts etc. +There are helpful management tools out there, but they require initial +configuration and continuous updates as your workflow evolves or you start new +projects. + +`tmux-resurrect` saves all the little details from your tmux environment so it +can be completely restored after a system restart (or when you feel like it). +No configuration is required. You should feel like you never quit tmux. + +It even (optionally) +[restores vim and neovim sessions](docs/restoring_vim_and_neovim_sessions.md)! + +Automatic restoring and continuous saving of tmux env is also possible with +[tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) plugin. + +### Screencast + +[![screencast screenshot](/video/screencast_img.png)](https://vimeo.com/104763018) + +### Key bindings + +- `prefix + Ctrl-s` - save +- `prefix + Ctrl-r` - restore + +### About + +This plugin goes to great lengths to save and restore all the details from your +`tmux` environment. Here's what's been taken care of: + +- all sessions, windows, panes and their order +- current working directory for each pane +- **exact pane layouts** within windows (even when zoomed) +- active and alternative session +- active and alternative window for each session +- windows with focus +- active pane for each window +- "grouped sessions" (useful feature when using tmux with multiple monitors) +- programs running within a pane! More details in the + [restoring programs doc](docs/restoring_programs.md). + +Optional: + +- [restoring vim and neovim sessions](docs/restoring_vim_and_neovim_sessions.md) +- [restoring pane contents](docs/restoring_pane_contents.md) +- [restoring a previously saved environment](docs/restoring_previously_saved_environment.md) + +Requirements / dependencies: `tmux 1.9` or higher, `bash`. + +Tested and working on Linux, OSX and Cygwin. + +`tmux-resurrect` is idempotent! It will not try to restore panes or windows that +already exist.
+The single exception to this is when tmux is started with only 1 pane in order +to restore previous tmux env. Only in this case will this single pane be +overwritten. + +### Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended) + +Add plugin to the list of TPM plugins in `.tmux.conf`: + + set -g @plugin 'tmux-plugins/tmux-resurrect' + +Hit `prefix + I` to fetch the plugin and source it. You should now be able to +use the plugin. + +### Manual Installation + +Clone the repo: + + $ git clone https://github.com/tmux-plugins/tmux-resurrect ~/clone/path + +Add this line to the bottom of `.tmux.conf`: + + run-shell ~/clone/path/resurrect.tmux + +Reload TMUX environment with: `$ tmux source-file ~/.tmux.conf`. +You should now be able to use the plugin. + +### Docs + +- [Guide for migrating from tmuxinator](docs/migrating_from_tmuxinator.md) + +**Configuration** + +- [Changing the default key bindings](docs/custom_key_bindings.md). +- [Setting up hooks on save & restore](docs/hooks.md). +- Only a conservative list of programs is restored by default:
+ `vi vim nvim emacs man less more tail top htop irssi weechat mutt`.
+ [Restoring programs doc](docs/restoring_programs.md) explains how to restore + additional programs. +- [Change a directory](docs/save_dir.md) where `tmux-resurrect` saves tmux + environment. + +**Optional features** + +- [Restoring vim and neovim sessions](docs/restoring_vim_and_neovim_sessions.md) + is nice if you're a vim/neovim user. +- [Restoring pane contents](docs/restoring_pane_contents.md) feature. + +### Other goodies + +- [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) - a plugin for + regex searches in tmux and fast match selection +- [tmux-yank](https://github.com/tmux-plugins/tmux-yank) - enables copying + highlighted text to system clipboard +- [tmux-open](https://github.com/tmux-plugins/tmux-open) - a plugin for quickly + opening highlighted file or a url +- [tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) - automatic + restoring and continuous saving of tmux env + +### Reporting bugs and contributing + +Both contributing and bug reports are welcome. Please check out +[contributing guidelines](CONTRIBUTING.md). + +### Credits + +[Mislav Marohnić](https://github.com/mislav) - the idea for the plugin came from his +[tmux-session script](https://github.com/mislav/dotfiles/blob/2036b5e03fb430bbcbc340689d63328abaa28876/bin/tmux-session). + +### License +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/custom_key_bindings.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/custom_key_bindings.md new file mode 100644 index 0000000..99bfc2c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/custom_key_bindings.md @@ -0,0 +1,11 @@ +# Custom key bindings + +The default key bindings are: + +- `prefix + Ctrl-s` - save +- `prefix + Ctrl-r` - restore + +To change these, add to `.tmux.conf`: + + set -g @resurrect-save 'S' + set -g @resurrect-restore 'R' diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/hooks.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/hooks.md new file mode 100644 index 0000000..b373e50 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/hooks.md @@ -0,0 +1,33 @@ +# Save & Restore Hooks + +Hooks allow to set custom commands that will be executed during session save +and restore. Most hooks are called with zero arguments, unless explicitly +stated otherwise. + +Currently the following hooks are supported: + +- `@resurrect-hook-post-save-layout` + + Called after all sessions, panes and windows have been saved. + + Passed single argument of the state file. + +- `@resurrect-hook-post-save-all` + + Called at end of save process right before the spinner is turned off. + +- `@resurrect-hook-pre-restore-all` + + Called before any tmux state is altered. + +- `@resurrect-hook-pre-restore-pane-processes` + + Called before running processes are restored. + +### Examples + +Here is an example how to save and restore window geometry for most terminals in X11. +Add this to `.tmux.conf`: + + set -g @resurrect-hook-post-save-all 'eval $(xdotool getwindowgeometry --shell $WINDOWID); echo 0,$X,$Y,$WIDTH,$HEIGHT > $HOME/.tmux/resurrect/geometry' + set -g @resurrect-hook-pre-restore-all 'wmctrl -i -r $WINDOWID -e $(cat $HOME/.tmux/resurrect/geometry)' diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/migrating_from_tmuxinator.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/migrating_from_tmuxinator.md new file mode 100644 index 0000000..f59f90f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/migrating_from_tmuxinator.md @@ -0,0 +1,72 @@ +# Migrating from `tmuxinator` + +### Why migrate to `tmux-resurrect`? + +Here are some reasons why you'd want to migrate from `tmuxinator` to +`tmux-resurrect`: + +- **Less dependencies**
+ `tmuxinator` depends on `ruby` which can be a hassle to set up if you're not a + rubyist.
+ `tmux-resurrect` depends just on `bash` which is virtually + omnipresent. + +- **Simplicity**
+ `tmuxinator` has an executable, CLI interface with half dozen commands and + command completion.
+ `tmux-resurrect` defines just 2 tmux key bindings. + +- **No configuration**
+ `tmuxinator` is all about config files (and their constant updating).
+ `tmux-resurrect` requires no configuration to work. + +- **Better change handling**
+ When you make a change to any aspect of tmux layout, you also have to + update related `tmuxinator` project file (and test to make sure change is + ok).
+ With `tmux-resurrect` there's nothing to do: your change will be + remembered on the next save. + +### How to migrate? + +1. Install `tmux-resurrect`. +2. Open \*all* existing `tmuxinator` projects.
+ Verify all projects are open by pressing `prefix + s` and checking they are + all on the list. +3. Perform a `tmux-resurrect` save. + +That's it! You can continue using just `tmux-resurrect` should you choose so. + +Note: it probably makes no sense to use both tools at the same time as they do +the same thing (creating tmux environment for you to work in). +Technically however, there should be no issues. + +### Usage differences + +`tmuxinator` focuses on managing individual tmux sessions (projects). +`tmux-resurrect` keeps track of the \*whole* tmux environment: all sessions are +saved and restored together. + +A couple tips if you decide to switch to `tmux-resurrect`: + +- Keep all tmux sessions (projects) running all the time.
+ If you want to work on an existing project, you should be able to just + \*switch* to an already open session using `prefix + s`.
+ This is different from `tmuxinator` where you'd usually run `mux new [project]` + in order to start working on something. + +- No need to kill sessions with `tmux kill-session` (unless you really don't + want to work on it ever).
+ It's the recurring theme by now: just keep all the sessions running all the + time. This is convenient and also cheap in terms of resources. + +- The only 2 situations when you need `tmux-resurrect`:
+ 1) Save tmux environment just before restarting/shutting down your + computer.
+ 2) Restore tmux env after you turn the computer on. + +### Other questions? + +Still have questions? Feel free to open an +[issue](ihttps://github.com/tmux-plugins/tmux-resurrect/issues). We'll try to +answer it and also update this doc. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_bash_history.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_bash_history.md new file mode 100644 index 0000000..2b6af17 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_bash_history.md @@ -0,0 +1,39 @@ +tmux-ressurect no longer restores shell history for each pane, as of [this PR](https://github.com/tmux-plugins/tmux-resurrect/pull/308). + +As a workaround, you can use the `HISTFILE` environment variable to preserve history for each pane separately, and modify +`PROMPT_COMMAND` to make sure history gets saved with each new command. + +Unfortunately, we haven't found a perfect way of getting a unique identifier for each pane, as the `TMUX_PANE` variable +seems to occasionally change when resurrecting. As a workaround, the example below sets a unique ID in each pane's `title`. +The downside of this implementation is that pane titles must all be unique across sessions/windows, and also must use the `pane_id_prefix`. + +Any improvements/suggestions for getting a unique, persistent ID for each pane are welcome! + +```bash +pane_id_prefix="resurrect_" + +# Create history directory if it doesn't exist +HISTS_DIR=$HOME/.bash_history.d +mkdir -p "${HISTS_DIR}" + +if [ -n "${TMUX_PANE}" ]; then + + # Check if we've already set this pane title + pane_id=$(tmux display -pt "${TMUX_PANE:?}" "#{pane_title}") + if [[ $pane_id != "$pane_id_prefix"* ]]; then + + # if not, set it to a random ID + random_id=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 16) + printf "\033]2;$pane_id_prefix$random_id\033\\" + pane_id=$(tmux display -pt "${TMUX_PANE:?}" "#{pane_title}") + fi + + # use the pane's random ID for the HISTFILE + export HISTFILE="${HISTS_DIR}/bash_history_tmux_${pane_id}" +else + export HISTFILE="${HISTS_DIR}/bash_history_no_tmux" +fi + +# Stash the new history each time a command runs. +export PROMPT_COMMAND="$PROMPT_COMMAND;history -a" +``` diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_pane_contents.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_pane_contents.md new file mode 100644 index 0000000..2dff59a --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_pane_contents.md @@ -0,0 +1,31 @@ +# Restoring pane contents + +This plugin enables saving and restoring tmux pane contents. + +This feature can be enabled by adding this line to `.tmux.conf`: + + set -g @resurrect-capture-pane-contents 'on' + +##### Known issue + +When using this feature, please check the value of `default-command` +tmux option. That can be done with `$ tmux show -g default-command`. + +The value should NOT contain `&&` or `||` operators. If it does, simplify the +option so those operators are removed. + +Example: + +- this will cause issues (notice the `&&` and `||` operators): + + set -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL -l" + +- this is ok: + + set -g default-command "reattach-to-user-namespace -l $SHELL" + +Related [bug](https://github.com/tmux-plugins/tmux-resurrect/issues/98). + +Alternatively, you can let +[tmux-sensible](https://github.com/tmux-plugins/tmux-sensible) +handle this option in a cross-platform way and you'll have no problems. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_previously_saved_environment.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_previously_saved_environment.md new file mode 100644 index 0000000..8e845ac --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_previously_saved_environment.md @@ -0,0 +1,14 @@ +# Restoring previously saved environment + +None of the previous saves are deleted (unless you explicitly do that). All save +files are kept in `~/.tmux/resurrect/` directory, or `~/.local/share/tmux/resurrect` +(unless `${XDG_DATA_HOME}` says otherwise).
+Here are the steps to restore to a previous point in time: + +- make sure you start this with a "fresh" tmux instance +- `$ cd ~/.tmux/resurrect/` +- locate the save file you'd like to use for restore (file names have a timestamp) +- symlink the `last` file to the desired save file: `$ ln -sf last` +- do a restore with `tmux-resurrect` key: `prefix + Ctrl-r` + +You should now be restored to the time when `` save happened. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_programs.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_programs.md new file mode 100644 index 0000000..6d316d6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_programs.md @@ -0,0 +1,205 @@ +# Restoring programs + - [General instructions](#general-instructions) + - [Clarifications](#clarifications) + - [Working with NodeJS](#nodejs) + - [Restoring Mosh](#mosh) + +### General instructions +Only a conservative list of programs is restored by default:
+`vi vim nvim emacs man less more tail top htop irssi weechat mutt`. + +This can be configured with `@resurrect-processes` option in `.tmux.conf`. It +contains space-separated list of additional programs to restore. + +- Example restoring additional programs: + + set -g @resurrect-processes 'ssh psql mysql sqlite3' + +- Programs with arguments should be double quoted: + + set -g @resurrect-processes 'some_program "git log"' + +- Start with tilde to restore a program whose process contains target name: + + set -g @resurrect-processes 'irb pry "~rails server" "~rails console"' + +- Use `->` to specify a command to be used when restoring a program (useful if + the default restore command fails ): + + set -g @resurrect-processes 'some_program "grunt->grunt development"' + +- Use `*` to expand the arguments from the saved command when restoring: + + set -g @resurrect-processes 'some_program "~rails server->rails server *"' + +- Don't restore any programs: + + set -g @resurrect-processes 'false' + +- Restore **all** programs (dangerous!): + + set -g @resurrect-processes ':all:' + + Be *very careful* with this: tmux-resurrect can not know which programs take + which context, and a `sudo mkfs.vfat /dev/sdb` that was just formatting an + external USB stick could wipe your backup hard disk if that's what's attached + after rebooting. + + This option is primarily useful for experimentation (e.g., to find out which + program is recognized in a pane). + +### Clarifications + +> I don't understand tilde `~`, what is it and why is it used when restoring + programs? + +Let's say you use `rails server` command often. You want `tmux-resurrect` to +save and restore it automatically. You might try adding `rails server` to the +list of programs that will be restored: + + set -g @resurrect-processes '"rails server"' # will NOT work + +Upon save, `rails server` command will actually be saved as this command: +`/Users/user/.rbenv/versions/2.0.0-p481/bin/ruby script/rails server` +(if you wanna see how is any command saved, check it yourself in +`~/.tmux/resurrect/last` file). + +When programs are restored, the `rails server` command will NOT be restored +because it does not **strictly** match the long +`/Users/user/.rbenv/versions/2.0.0-p481/bin/ruby script/rails server` string. + +The tilde `~` at the start of the string relaxes process name matching. + + set -g @resurrect-processes '"~rails server"' # OK + +The above option says: "restore full process if `rails server` string is found +ANYWHERE in the process name". + +If you check long process string, there is in fact a `rails server` string at +the end, so now the process will be successfully restored. + +> What is arrow `->` and why is is used? + +(Please read the above clarification about tilde `~`). + +Continuing with our `rails server` example, when the process is finally restored +correctly it might not look pretty as you'll see the whole +`/Users/user/.rbenv/versions/2.0.0-p481/bin/ruby script/rails server` string in +the command line. + +Naturally, you'd rather want to see just `rails server` (what you initially +typed), but that information is now unfortunately lost. + +To aid this, you can use arrow `->`: (**note**: there is no space before and after `->`) + + set -g @resurrect-processes '"~rails server->rails server"' # OK + +This option says: "when this process is restored use `rails server` as the +command name". + +Full (long) process name is now ignored and you'll see just `rails server` in +the command line when the program is restored. + +> What is asterisk `*` and why is it used? + +(Please read the above clarifications about tilde `~` and arrow `->`). + +Continuing with the `rails server` example, you might have added flags for e.g. +verbose logging, but with the above configuration, the flags would be lost. + +To preserve the command arguments when restoring, use the asterisk `*`: (**note**: there **must** be a space before `*`) + + set -g @resurrect-processes '"~rails server->rails server *"' + +This option says: "when this process is restored use `rails server` as the +command name, but preserve its arguments". + +> Now I understand the tilde and the arrow, but things still don't work for me + +Here's the general workflow for figuring this out: + +- Set up your whole tmux environment manually.
+ In our example case, we'd type `rails server` in a pane where we want it to + run. +- Save tmux env (it will get saved to `~/.tmux/resurrect/last`). +- Open `~/.tmux/resurrect/last` file and try to find full process string for + your program.
+ Unfortunately this is a little vague but it should be easy. A smart + thing to do for our example is to search for string `rails` in the `last` + file. +- Now that you know the full and the desired process string use tilde `~` and + arrow `->` in `.tmux.conf` to make things work. + +### Working with NodeJS +If you are working with NodeJS, you may get some troubles with configuring restoring programs. + +Particularly, some programs like `gulp`, `grunt` or `npm` are not saved with parameters so tmux-resurrect cannot restore it. This is actually **not tmux-resurrect's issue** but more likely, those programs' issues. For example if you run `gulp watch` or `npm start` and then try to look at `ps` or `pgrep`, you will only see `gulp` or `npm`. + +To deal with these issues, one solution is to use [yarn](https://yarnpkg.com/en/docs/install) which a package manager for NodeJS and an alternative for `npm`. It's nearly identical to `npm` and very easy to use. Therefore you don't have to do any migration, you can simply use it immediately. For example: +- `npm test` is equivalent to `yarn test`, +- `npm run watch:dev` is equivalent to `yarn watch:dev` +- more interestingly, `gulp watch:dev` is equivalent to `yarn gulp watch:dev` + +Before continuing, please ensure that you understand the [clarifications](#clarifications) section about `~` and `->` + +#### yarn +It's fairly straight forward if you have been using `yarn` already. + + set -g @resurrect-processes '"~yarn watch"' + set -g @resurrect-processes '"~yarn watch->yarn watch"' + + +#### npm +Instead of + + set -g @resurrect-processes '"~npm run watch"' # will NOT work + +we use + + set -g @resurrect-processes '"~yarn watch"' # OK + + +#### gulp +Instead of + + set -g @resurrect-processes '"~gulp test"' # will NOT work + +we use + + set -g @resurrect-processes '"~yarn gulp test"' # OK + + +#### nvm +If you use `nvm` in your project, here is how you could config tmux-resurrect: + + set -g @resurrect-processes '"~yarn gulp test->nvm use && gulp test"' + +#### Another problem +Let take a look at this example + + set -g @resurrect-processes '\ + "~yarn gulp test->gulp test" \ + "~yarn gulp test-it->gulp test-it" \ + ' +**This will not work properly**, only `gulp test` is run, although you can see the command `node /path/to/yarn gulp test-it` is added correctly in `.tmux/resurrect/last` file. + +The reason is when restoring program, the **command part after the dash `-` is ignored** so instead of command `gulp test-it`, the command `gulp test` which will be run. + +A work around, for this problem until it's fixed, is: +- the config should be like this: + + set -g @resurrect-processes '\ + "~yarn gulp test->gulp test" \ + "~yarn gulp \"test-it\"->gulp test-it" \ + +- and in `.tmux/resurrect/last`, we should add quote to `test-it` word + + ... node:node /path/to/yarn gulp "test-it" + + +### Restoring Mosh +Mosh spawns a `mosh-client` process, so we need to specify that as the process to be resurrected. + + set -g @resurrect-processes 'mosh-client' + +Additionally a mosh-client strategy is provided to handle extracting the original arguments and re-run Mosh. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_vim_and_neovim_sessions.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_vim_and_neovim_sessions.md new file mode 100644 index 0000000..f84442b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/restoring_vim_and_neovim_sessions.md @@ -0,0 +1,19 @@ +# Restoring vim and neovim sessions + +- save vim/neovim sessions. I recommend + [tpope/vim-obsession](https://github.com/tpope/vim-obsession) (as almost every + plugin, it works for both vim and neovim). +- in `.tmux.conf`: + + # for vim + set -g @resurrect-strategy-vim 'session' + # for neovim + set -g @resurrect-strategy-nvim 'session' + +`tmux-resurrect` will now restore vim and neovim sessions if `Session.vim` file +is present. + +> If you're using the vim binary provided by MacVim.app then you'll need to set `@resurrect-processes`, for example: +> ``` +> set -g @resurrect-processes '~Vim -> vim' +> ``` diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/save_dir.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/save_dir.md new file mode 100644 index 0000000..bf724c6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/docs/save_dir.md @@ -0,0 +1,15 @@ +# Resurrect save dir + +By default Tmux environment is saved to a file in `~/.tmux/resurrect` dir. +Change this with: + + set -g @resurrect-dir '/some/path' + +Using environment variables or shell interpolation in this option is not +allowed as the string is used literally. So the following won't do what is +expected: + + set -g @resurrect-dir '/path/$MY_VAR/$(some_executable)' + +Only the following variables and special chars are allowed: +`$HOME`, `$HOSTNAME`, and `~`. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.gitignore b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.gitignore new file mode 100644 index 0000000..27281b5 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.gitignore @@ -0,0 +1,2 @@ +.vagrant/ +lib/ diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.travis.yml b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.travis.yml new file mode 100644 index 0000000..fea6850 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/.travis.yml @@ -0,0 +1,19 @@ +# generic packages and tmux +before_install: + - sudo apt-get update + - sudo apt-get install -y git-core expect + - sudo apt-get install -y python-software-properties software-properties-common + - sudo apt-get install -y libevent-dev libncurses-dev + - git clone https://github.com/tmux/tmux.git + - cd tmux + - git checkout 2.5 + - sh autogen.sh + - ./configure && make && sudo make install + +install: + - git fetch --unshallow --recurse-submodules || git fetch --recurse-submodules + # manual `git clone` required for testing `tmux-test` plugin itself + - git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test; true + - lib/tmux-test/setup + +script: ./tests/run_tests_in_isolation diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/CHANGELOG.md new file mode 100644 index 0000000..094834f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/CHANGELOG.md @@ -0,0 +1,46 @@ +# Changelog + +### master +- move `setup` task to `.travis.yml` for travis tests +- "merge" travis.yml and travis_for_plugins.yml files (no need to keep em + separate) +- add more useful helper functions +- remove tmux-test repo as a submodule from self, this causes issues with + `$ git submodule update --recursive --init` command that some users use for + managing other plugins +- add new helper `teardown_helper` +- add `run_tests` helper +- change CLI syntax for choosing vagrant machine to run the tests on +- enable running just a single test via `run_tests` cli interface +- add `--keep-running` cli option to continue running vagrant after the tests + are done executing +- start using tmux 2.0 for tests +- use tmux 2.5 for tests + +### v0.2.0, 2015-02-22 +- `setup` script gitignores `tests/helpers.sh` +- move `tests/helpers.sh` to `tests/helpers/helpers.sh` +- `setup` undo removes added lines from gitignore file + +### v0.1.0, 2015-02-22 +- changes so that 'tmux-test' can be included with tmux plugins +- do not gitignore submodules directory +- add installation and usage instructions +- copy `.travis.yml` to the project root when running `setup` script +- add a brief mention of travis CI to the readme +- add test helpers +- `setup` script symlinks helpers file to `tests/` directory +- `setup` script can undo most of its actions +- add a tmux scripting test +- `tmux-test` uses `tmux-test` to test itself +- update `tmux-test` submodule +- a different `travis.yml` for `tmux-test` and for plugins + +### v0.0.1, 2015-02-21 +- git init +- add vagrant provisioning scripts for ubuntu and debian +- add a ".travis.yml" file +- generic "run_tests" script +- "run_tests_in_isolation" script +- add "Vagrantfile" +- enable passing VM names as arguments to "run_tests" script diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/LICENSE.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/LICENSE.md new file mode 100644 index 0000000..e6e7350 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (C) Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/README.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/README.md new file mode 100644 index 0000000..e01200c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/README.md @@ -0,0 +1,134 @@ +# tmux-test + +[![Build Status](https://travis-ci.org/tmux-plugins/tmux-test.png?branch=master)](https://travis-ci.org/tmux-plugins/tmux-test) + +A small framework for isolated testing of tmux plugins. Isolation is achieved by +running the tests in `Vagrant`. Works on [travis](travis-ci.org) too. + +Extracted from [tmux plugin manager](https://github.com/tmux-plugins/tpm) and +[tmux-copycat](https://github.com/tmux-plugins/tmux-copycat). + +Dependencies: `Vagrant` (not required when running on travis). + +### Setup + +Let's say you made tmux plugin with the following file hierarchy: + +```text +/tmux-plugin +|-- plugin.tmux +`-- scripts + `-- plugin_script.sh +``` + +From your project root directory (tmux-plugin/) execute the following shell +command to fetch `tmux-test` and add it as a submodule: + + $ git submodule add https://github.com/tmux-plugins/tmux-test.git lib/tmux-test + +Run the `setup` script: + + $ lib/tmux-test/setup + +The project directory will now look like this (additions have comments): + +```text +/tmux-plugin +|-- plugin.tmux +|-- run_tests # symlink, gitignored +|-- .gitignore # 2 lines appended to gitignore +|-- .travis.yml # added +|-- lib/tmux-test/ # git submodule +|-- scripts +| `-- plugin_script.sh +`-- tests # dir to put the tests in + `-- run_tests_in_isolation.sh # symlink, gitignored + `-- helpers + `-- helpers.sh # symlinked bash helpers, gitignored +``` + +`tmux-test` is now set up. You are ok to commit the additions to the repo. + +### Writing and running tests + +A test is any executable with a name starting with `test_` in `tests/` +directory. + +Now that you installed `tmux-test` let's create an example test. + +- create a `tests/test_example.sh` file with the following content (it's a + `bash` script but it can be any executable): + + #/usr/bin/env bash + + CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + + # bash helpers provided by 'tmux-test' + source $CURRENT_DIR/helpers/helpers.sh + + # installs plugin from current repo in Vagrant (or on Travis) + install_tmux_plugin_under_test_helper + + # start tmux in background (plugin under test is sourced) + tmux new -d + + # get first session name + session_name="$(tmux list-sessions -F "#{session_name}")" + + # fail the test if first session name is not "0" + if [ "$session_name" == "0" ]; then + # fail_helper is also provided by 'tmux-test' + fail_helper "First session name is not '0' by default" + fi + + # sets the right script exit code ('tmux-test' helper) + exit_helper + +- make the test file executable with `$ chmod +x tests/test_example.sh` +- run the test by executing `./run_tests` from the project root directory +- the first invocation might take some time because Vagrant's ubuntu virtual + machine is downloading. You should see `Success, tests pass!` message when it's + done. + +Check out more example test scripts in this project's [tests/ directory](tests/). + +### Continuous integration + +The setup script (`lib/tmux-test/setup`) added a `.travis.yml` file to the +project root. To setup continuous integration, just add/enable the project on +[travis](travis-ci.org). + +### Notes + +- The `tests/` directory for tests and `lib/tmux-test/` for cloning `tmux-test` + into cannot be changed currently +- Don't run `tests/run_tests_in_isolation` script on your local development + environment. That's an internal test runner meant to be executed in an + isolated environment like `vagrant` or `travis`.
+ Use `./run_tests` script. +- You can use `KEEP_RUNNING=true ./run_tests` for faster test running cycle. + If this case `Vagrant` will keep running even after the tests are done. +- You can use `VAGRANT_CWD=lib/tmux-test/ vagrant ssh ubuntu` for ssh login to + `Vagrant`. + +### Running `tmux-test` framework tests + +`tmux-test` uses itself to test itself. To run framework tests: + +- clone this project `$ git clone git@github.com:tmux-plugins/tmux-test.git` +- `$ cd tmux-test` +- run `$ ./run_framework_tests` + +### Other goodies + +- [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) - a plugin for + regex searches in tmux and fast match selection +- [tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) - automatic + restoring and continuous saving of tmux env + +You might want to follow [@brunosutic](https://twitter.com/brunosutic) on +twitter if you want to hear about new tmux plugins or feature updates. + +### License + +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/Vagrantfile b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/Vagrantfile new file mode 100644 index 0000000..04b3eba --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/Vagrantfile @@ -0,0 +1,17 @@ +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + + config.vm.synced_folder "../../", "/vagrant" + + config.vm.define :ubuntu do |ubuntu| + ubuntu.vm.box = "hashicorp/precise64" + ubuntu.vm.provision "shell", path: "vagrant_ubuntu_provisioning.sh" + end + + config.vm.define :centos do |centos| + centos.vm.box = "chef/centos-6.5" + centos.vm.provision "shell", path: "vagrant_centos_provisioning.sh" + end + +end diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/run_framework_tests b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/run_framework_tests new file mode 100755 index 0000000..fc0620c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/run_framework_tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# This file is used to run "tmux-test" framework tests. + +# "setup" script is needed to run the tests, but it overrides some working dir +# files. To address that, "setup" is run before the tests and its actions are +# undone after. + +main() { + git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test + lib/tmux-test/setup + ./run_tests + local exit_value=$? + lib/tmux-test/setup "undo" + exit "$exit_value" +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/setup b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/setup new file mode 100755 index 0000000..575a8a3 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/setup @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +# invoke this script from your projects root directory + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# pass "undo" as a script arg to undo most of the setup actions +UNDO_SETUP="$1" +undo() { + [ "$UNDO_SETUP" == "undo" ] +} + +restore() { + local file="$1" + rm -f "$file" + git checkout -- "$file" 2>/dev/null +} + +gitignore() { + local file="$1" + grep -q "^${file}$" .gitignore 2>/dev/null || echo "$file" >> .gitignore +} + +remove_from_gitignore() { + local file="$1" + local escaped_filename="$(echo "$file" | sed "s,/,\\\/,g")" + sed -i"" "/^${escaped_filename}$/d" .gitignore +} + +add_files_to_gitignore() { + if ! undo; then + gitignore "run_tests" + gitignore "tests/run_tests_in_isolation" + gitignore "tests/helpers/helpers.sh" + else + remove_from_gitignore "run_tests" + remove_from_gitignore "tests/run_tests_in_isolation" + remove_from_gitignore "tests/helpers/helpers.sh" + fi +} + +symlink_user_test_runner() { + local file="run_tests" + if ! undo; then + ln -sf "lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +create_directory_for_tests() { + if ! undo; then + mkdir -p tests/helpers/ + fi +} + +symlink_internal_test_runner() { + local file="tests/run_tests_in_isolation" + if ! undo; then + ln -sf "../lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +symlink_test_helpers() { + local file="tests/helpers/helpers.sh" + if ! undo; then + ln -sf "../../lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +copy_travis_yml() { + local file=".travis.yml" + if ! undo; then + cp "lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +main() { + add_files_to_gitignore + symlink_user_test_runner + create_directory_for_tests + symlink_internal_test_runner + symlink_test_helpers + copy_travis_yml +} +main + diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/helpers/helpers.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/helpers/helpers.sh new file mode 100644 index 0000000..32b1ee4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/helpers/helpers.sh @@ -0,0 +1,68 @@ +# This file is a symlink from 'tmux-test' plugin. +# You probably don't want to edit it. + + +# Global variable that keeps the value of test status (success/fail). +# Suggested usage is via `fail_helper` and `exit_helper` functions. +TEST_STATUS="success" + +# PRIVATE FUNCTIONS + +_clone_the_plugin() { + local plugin_path="${HOME}/.tmux/plugins/tmux-plugin-under-test/" + rm -rf "$plugin_path" + git clone --recursive "${CURRENT_DIR}/../" "$plugin_path" >/dev/null 2>&1 +} + +_add_plugin_to_tmux_conf() { + set_tmux_conf_helper<<-HERE + run-shell '~/.tmux/plugins/tmux-plugin-under-test/*.tmux' + HERE +} + +# PUBLIC HELPER FUNCTIONS + +teardown_helper() { + rm -f ~/.tmux.conf + rm -rf ~/.tmux/ + tmux kill-server >/dev/null 2>&1 +} + +set_tmux_conf_helper() { + > ~/.tmux.conf # empty tmux.conf file + while read line; do + echo "$line" >> ~/.tmux.conf + done +} + +fail_helper() { + local message="$1" + echo "$message" >&2 + TEST_STATUS="fail" +} + +exit_helper() { + teardown_helper + if [ "$TEST_STATUS" == "fail" ]; then + echo "FAIL!" + echo + exit 1 + else + echo "SUCCESS" + echo + exit 0 + fi +} + +install_tmux_plugin_under_test_helper() { + _clone_the_plugin + _add_plugin_to_tmux_conf +} + +run_tests() { + # get all the functions starting with 'test_' and invoke them + for test in $(compgen -A function | grep "^test_"); do + "$test" + done + exit_helper +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/run_tests_in_isolation b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/run_tests_in_isolation new file mode 100755 index 0000000..fa39ebe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/run_tests_in_isolation @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# This file is a symlink from 'tmux-test' plugin. +# You probably don't want to edit it. + +# This script should be run within an isolated enviroment (Vagrant, travis). +# Depending on what the tests do, it might NOT be safe to run this script +# directly on the development machine. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +EXIT_VALUE=0 # running a test suite is successful by default + +all_test_files() { + ls -1 "$CURRENT_DIR" | # test files are in the current dir + \grep -i "^test" | # test file names start with "test" + xargs # file names in a single line +} + +set_exit_val_to_false() { + EXIT_VALUE=1 +} + +run_tests() { + local test_file tests_files + if [ "$#" -gt 0 ]; then + test_files="${@//tests\//}" # remove 'tests/' directory prefix + else + test_files="$(all_test_files)" + fi + for test_file in $test_files; do + echo "Running test: $test_file" + "${CURRENT_DIR}/${test_file}" + + # handling exit value + local test_exit_value="$?" + if [ "$test_exit_value" -ne 0 ]; then + set_exit_val_to_false + fi + done +} + +main() { + run_tests "$@" + exit "$EXIT_VALUE" +} +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_basic_script_execution.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_basic_script_execution.sh new file mode 100755 index 0000000..0fdcf09 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_basic_script_execution.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +exit 0 diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_default_session_name.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_default_session_name.sh new file mode 100755 index 0000000..c761b93 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_default_session_name.sh @@ -0,0 +1,24 @@ +#/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# bash helpers provided by 'tmux-test' +source $CURRENT_DIR/helpers/helpers.sh + +# installs plugin from current repo in Vagrant (or on Travis) +install_tmux_plugin_under_test_helper + +# start tmux in background (plugin under test is sourced) +tmux new -d + +# get first session name +session_name="$(tmux list-sessions -F "#{session_name}")" + +# fail the test if first session name is not "0" +if ! [ "$session_name" == "0" ]; then + # fail_helper is also provided by 'tmux-test' + fail_helper "First session name is not '0' by default" +fi + +# sets the right script exit code ('tmux-test' helper) +exit_helper diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_tmux_scripting.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_tmux_scripting.sh new file mode 100755 index 0000000..3b4bece --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/tests/test_tmux_scripting.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source $CURRENT_DIR/helpers/helpers.sh + +number_of_windows() { + tmux list-windows | + wc -l | + sed "s/ //g" +} + +main() { + # start tmux in the background + tmux new -d + tmux new-window + + local number_of_windows="$(number_of_windows)" + if ! [ "$number_of_windows" -eq 2 ]; then + fail_helper "Incorrect number of windows. Expected 2, got $number_of_windows" + fi + exit_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_centos_provisioning.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_centos_provisioning.sh new file mode 100644 index 0000000..6902d9c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_centos_provisioning.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# libevent2 installation instructions from here +# https://gist.github.com/rschuman/6168833 + +sudo su - + +yum -y install gcc kernel-devel make automake autoconf ncurses-devel +yum -y install git-core expect vim ruby ruby-devel ruby-irb + +# install libevent2 from source +curl http://sourceforge.net/projects/levent/files/latest/download?source=files -L -o libevent2.tar.gz -w 'Last URL was: %{url_effective}' +cd ~/downloads +tar zxvf libevent2.tar.gz +cd ./libevent-* +./configure --prefix=/usr/local +make +make install + +# compile tmux +git clone https://github.com/tmux/tmux.git ~/tmux_source +cd ~/tmux_source +git checkout 2.5 +sh autogen.sh +LDFLAGS="-L/usr/local/lib -Wl,-rpath=/usr/local/lib" ./configure --prefix=/usr/local +make && sudo make install diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_ubuntu_provisioning.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_ubuntu_provisioning.sh new file mode 100644 index 0000000..2a0d9e5 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/lib/tmux-test/vagrant_ubuntu_provisioning.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +sudo apt-get update +sudo apt-get install -y git-core expect vim +sudo apt-get install -y python-software-properties software-properties-common +sudo apt-get install -y build-essential libtool autotools-dev autoconf +sudo apt-get install -y pkg-config libevent-dev libncurses-dev +sudo apt-get install -y man-db + +# install tmux 2.5 +git clone https://github.com/tmux/tmux.git ~/tmux_source +cd ~/tmux_source +git checkout 2.5 +sh autogen.sh +./configure && make && sudo make install diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/resurrect.tmux b/dotfiles/common/.tmux/plugins/tmux-resurrect/resurrect.tmux new file mode 100755 index 0000000..21fed7e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/resurrect.tmux @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/scripts/variables.sh" +source "$CURRENT_DIR/scripts/helpers.sh" + +set_save_bindings() { + local key_bindings=$(get_tmux_option "$save_option" "$default_save_key") + local key + for key in $key_bindings; do + tmux bind-key "$key" run-shell "$CURRENT_DIR/scripts/save.sh" + done +} + +set_restore_bindings() { + local key_bindings=$(get_tmux_option "$restore_option" "$default_restore_key") + local key + for key in $key_bindings; do + tmux bind-key "$key" run-shell "$CURRENT_DIR/scripts/restore.sh" + done +} + +set_default_strategies() { + tmux set-option -gq "${restore_process_strategy_option}irb" "default_strategy" + tmux set-option -gq "${restore_process_strategy_option}mosh-client" "default_strategy" +} + +set_script_path_options() { + tmux set-option -gq "$save_path_option" "$CURRENT_DIR/scripts/save.sh" + tmux set-option -gq "$restore_path_option" "$CURRENT_DIR/scripts/restore.sh" +} + +main() { + set_save_bindings + set_restore_bindings + set_default_strategies + set_script_path_options +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/gdb.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/gdb.sh new file mode 100755 index 0000000..2f0ab56 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/gdb.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +PANE_PID="$1" + +exit_safely_if_empty_ppid() { + if [ -z "$PANE_PID" ]; then + exit 0 + fi +} + +full_command() { + gdb -batch --eval "attach $PANE_PID" --eval "call write_history(\"/tmp/bash_history-${PANE_PID}.txt\")" --eval 'detach' --eval 'q' >/dev/null 2>&1 + \tail -1 "/tmp/bash_history-${PANE_PID}.txt" +} + +main() { + exit_safely_if_empty_ppid + full_command +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/linux_procfs.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/linux_procfs.sh new file mode 100755 index 0000000..6b64f7e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/linux_procfs.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +PANE_PID="$1" +COMMAND_PID=$(pgrep -P $PANE_PID) + +exit_safely_if_empty_ppid() { + if [ -z "$PANE_PID" ]; then + exit 0 + fi +} + +full_command() { + [[ -z "$COMMAND_PID" ]] && exit 0 + # See: https://unix.stackexchange.com/a/567021 + # Avoid complications with system printf by using bash subshell interpolation. + # This will properly escape sequences and null in cmdline. + cat /proc/${COMMAND_PID}/cmdline | xargs -0 bash -c 'printf "%q " "$0" "$@"' +} + +main() { + exit_safely_if_empty_ppid + full_command +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/pgrep.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/pgrep.sh new file mode 100755 index 0000000..15d98b3 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/pgrep.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +PANE_PID="$1" + +exit_safely_if_empty_ppid() { + if [ -z "$PANE_PID" ]; then + exit 0 + fi +} + +full_command() { + \pgrep -lf -P "$PANE_PID" | + cut -d' ' -f2- +} + +main() { + exit_safely_if_empty_ppid + full_command +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/ps.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/ps.sh new file mode 100755 index 0000000..15bb5aa --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/save_command_strategies/ps.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +PANE_PID="$1" + +exit_safely_if_empty_ppid() { + if [ -z "$PANE_PID" ]; then + exit 0 + fi +} + +full_command() { + ps -ao "ppid,args" | + sed "s/^ *//" | + grep "^${PANE_PID}" | + cut -d' ' -f2- +} + +main() { + exit_safely_if_empty_ppid + full_command +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/check_tmux_version.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/check_tmux_version.sh new file mode 100755 index 0000000..b0aedec --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/check_tmux_version.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +VERSION="$1" +UNSUPPORTED_MSG="$2" + +get_tmux_option() { + local option=$1 + local default_value=$2 + local option_value=$(tmux show-option -gqv "$option") + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +# Ensures a message is displayed for 5 seconds in tmux prompt. +# Does not override the 'display-time' tmux option. +display_message() { + local message="$1" + + # display_duration defaults to 5 seconds, if not passed as an argument + if [ "$#" -eq 2 ]; then + local display_duration="$2" + else + local display_duration="5000" + fi + + # saves user-set 'display-time' option + local saved_display_time=$(get_tmux_option "display-time" "750") + + # sets message display time to 5 seconds + tmux set-option -gq display-time "$display_duration" + + # displays message + tmux display-message "$message" + + # restores original 'display-time' value + tmux set-option -gq display-time "$saved_display_time" +} + +# this is used to get "clean" integer version number. Examples: +# `tmux 1.9` => `19` +# `1.9a` => `19` +get_digits_from_string() { + local string="$1" + local only_digits="$(echo "$string" | tr -dC '[:digit:]')" + echo "$only_digits" +} + +tmux_version_int() { + local tmux_version_string=$(tmux -V) + echo "$(get_digits_from_string "$tmux_version_string")" +} + +unsupported_version_message() { + if [ -n "$UNSUPPORTED_MSG" ]; then + echo "$UNSUPPORTED_MSG" + else + echo "Error, Tmux version unsupported! Please install Tmux version $VERSION or greater!" + fi +} + +exit_if_unsupported_version() { + local current_version="$1" + local supported_version="$2" + if [ "$current_version" -lt "$supported_version" ]; then + display_message "$(unsupported_version_message)" + exit 1 + fi +} + +main() { + local supported_version_int="$(get_digits_from_string "$VERSION")" + local current_version_int="$(tmux_version_int)" + exit_if_unsupported_version "$current_version_int" "$supported_version_int" +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/helpers.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/helpers.sh new file mode 100644 index 0000000..20d87dc --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/helpers.sh @@ -0,0 +1,159 @@ +if [ -d "$HOME/.tmux/resurrect" ]; then + default_resurrect_dir="$HOME/.tmux/resurrect" +else + default_resurrect_dir="${XDG_DATA_HOME:-$HOME/.local/share}"/tmux/resurrect +fi +resurrect_dir_option="@resurrect-dir" + +SUPPORTED_VERSION="1.9" +RESURRECT_FILE_PREFIX="tmux_resurrect" +RESURRECT_FILE_EXTENSION="txt" +_RESURRECT_DIR="" +_RESURRECT_FILE_PATH="" + +d=$'\t' + +# helper functions +get_tmux_option() { + local option="$1" + local default_value="$2" + local option_value=$(tmux show-option -gqv "$option") + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +# Ensures a message is displayed for 5 seconds in tmux prompt. +# Does not override the 'display-time' tmux option. +display_message() { + local message="$1" + + # display_duration defaults to 5 seconds, if not passed as an argument + if [ "$#" -eq 2 ]; then + local display_duration="$2" + else + local display_duration="5000" + fi + + # saves user-set 'display-time' option + local saved_display_time=$(get_tmux_option "display-time" "750") + + # sets message display time to 5 seconds + tmux set-option -gq display-time "$display_duration" + + # displays message + tmux display-message "$message" + + # restores original 'display-time' value + tmux set-option -gq display-time "$saved_display_time" +} + + +supported_tmux_version_ok() { + $CURRENT_DIR/check_tmux_version.sh "$SUPPORTED_VERSION" +} + +remove_first_char() { + echo "$1" | cut -c2- +} + +capture_pane_contents_option_on() { + local option="$(get_tmux_option "$pane_contents_option" "off")" + [ "$option" == "on" ] +} + +files_differ() { + ! cmp -s "$1" "$2" +} + +get_grouped_sessions() { + local grouped_sessions_dump="$1" + export GROUPED_SESSIONS="${d}$(echo "$grouped_sessions_dump" | cut -f2 -d"$d" | tr "\\n" "$d")" +} + +is_session_grouped() { + local session_name="$1" + [[ "$GROUPED_SESSIONS" == *"${d}${session_name}${d}"* ]] +} + +# pane content file helpers + +pane_contents_create_archive() { + tar cf - -C "$(resurrect_dir)/save/" ./pane_contents/ | + gzip > "$(pane_contents_archive_file)" +} + +pane_content_files_restore_from_archive() { + local archive_file="$(pane_contents_archive_file)" + if [ -f "$archive_file" ]; then + mkdir -p "$(pane_contents_dir "restore")" + gzip -d < "$archive_file" | + tar xf - -C "$(resurrect_dir)/restore/" + fi +} + +# path helpers + +resurrect_dir() { + if [ -z "$_RESURRECT_DIR" ]; then + local path="$(get_tmux_option "$resurrect_dir_option" "$default_resurrect_dir")" + # expands tilde, $HOME and $HOSTNAME if used in @resurrect-dir + echo "$path" | sed "s,\$HOME,$HOME,g; s,\$HOSTNAME,$(hostname),g; s,\~,$HOME,g" + else + echo "$_RESURRECT_DIR" + fi +} +_RESURRECT_DIR="$(resurrect_dir)" + +resurrect_file_path() { + if [ -z "$_RESURRECT_FILE_PATH" ]; then + local timestamp="$(date +"%Y%m%dT%H%M%S")" + echo "$(resurrect_dir)/${RESURRECT_FILE_PREFIX}_${timestamp}.${RESURRECT_FILE_EXTENSION}" + else + echo "$_RESURRECT_FILE_PATH" + fi +} +_RESURRECT_FILE_PATH="$(resurrect_file_path)" + +last_resurrect_file() { + echo "$(resurrect_dir)/last" +} + +pane_contents_dir() { + echo "$(resurrect_dir)/$1/pane_contents/" +} + +pane_contents_file() { + local save_or_restore="$1" + local pane_id="$2" + echo "$(pane_contents_dir "$save_or_restore")/pane-${pane_id}" +} + +pane_contents_file_exists() { + local pane_id="$1" + [ -f "$(pane_contents_file "restore" "$pane_id")" ] +} + +pane_contents_archive_file() { + echo "$(resurrect_dir)/pane_contents.tar.gz" +} + +execute_hook() { + local kind="$1" + shift + local args="" hook="" + + hook=$(get_tmux_option "$hook_prefix$kind" "") + + # If there are any args, pass them to the hook (in a way that preserves/copes + # with spaces and unusual characters. + if [ "$#" -gt 0 ]; then + printf -v args "%q " "$@" + fi + + if [ -n "$hook" ]; then + eval "$hook $args" + fi +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/process_restore_helpers.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/process_restore_helpers.sh new file mode 100644 index 0000000..546dfe1 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/process_restore_helpers.sh @@ -0,0 +1,198 @@ +restore_pane_processes_enabled() { + local restore_processes="$(get_tmux_option "$restore_processes_option" "$restore_processes")" + if [ "$restore_processes" == "false" ]; then + return 1 + else + return 0 + fi +} + +restore_pane_process() { + local pane_full_command="$1" + local session_name="$2" + local window_number="$3" + local pane_index="$4" + local dir="$5" + local command + if _process_should_be_restored "$pane_full_command" "$session_name" "$window_number" "$pane_index"; then + tmux switch-client -t "${session_name}:${window_number}" + tmux select-pane -t "$pane_index" + + local inline_strategy="$(_get_inline_strategy "$pane_full_command")" # might not be defined + if [ -n "$inline_strategy" ]; then + # inline strategy exists + # check for additional "expansion" of inline strategy, e.g. `vim` to `vim -S` + if _strategy_exists "$inline_strategy"; then + local strategy_file="$(_get_strategy_file "$inline_strategy")" + local inline_strategy="$($strategy_file "$pane_full_command" "$dir")" + fi + command="$inline_strategy" + elif _strategy_exists "$pane_full_command"; then + local strategy_file="$(_get_strategy_file "$pane_full_command")" + local strategy_command="$($strategy_file "$pane_full_command" "$dir")" + command="$strategy_command" + else + # just invoke the raw command + command="$pane_full_command" + fi + tmux send-keys -t "${session_name}:${window_number}.${pane_index}" "$command" "C-m" + fi +} + +# private functions below + +_process_should_be_restored() { + local pane_full_command="$1" + local session_name="$2" + local window_number="$3" + local pane_index="$4" + if is_pane_registered_as_existing "$session_name" "$window_number" "$pane_index"; then + # Scenario where pane existed before restoration, so we're not + # restoring the proces either. + return 1 + elif ! pane_exists "$session_name" "$window_number" "$pane_index"; then + # pane number limit exceeded, pane does not exist + return 1 + elif _restore_all_processes; then + return 0 + elif _process_on_the_restore_list "$pane_full_command"; then + return 0 + else + return 1 + fi +} + +_restore_all_processes() { + local restore_processes="$(get_tmux_option "$restore_processes_option" "$restore_processes")" + if [ "$restore_processes" == ":all:" ]; then + return 0 + else + return 1 + fi +} + +_process_on_the_restore_list() { + local pane_full_command="$1" + # TODO: make this work without eval + eval set $(_restore_list) + local proc + local match + for proc in "$@"; do + match="$(_get_proc_match_element "$proc")" + if _proc_matches_full_command "$pane_full_command" "$match"; then + return 0 + fi + done + return 1 +} + +_proc_matches_full_command() { + local pane_full_command="$1" + local match="$2" + if _proc_starts_with_tildae "$match"; then + match="$(remove_first_char "$match")" + # regex matching the command makes sure `$match` string is somewhere in the command string + if [[ "$pane_full_command" =~ ($match) ]]; then + return 0 + fi + else + # regex matching the command makes sure process is a "word" + if [[ "$pane_full_command" =~ (^${match} ) ]] || [[ "$pane_full_command" =~ (^${match}$) ]]; then + return 0 + fi + fi + return 1 +} + +_get_proc_match_element() { + echo "$1" | sed "s/${inline_strategy_token}.*//" +} + +_get_proc_restore_element() { + echo "$1" | sed "s/.*${inline_strategy_token}//" +} + +# given full command: 'ruby /Users/john/bin/my_program arg1 arg2' +# and inline strategy: '~bin/my_program->my_program *' +# returns: 'arg1 arg2' +_get_command_arguments() { + local pane_full_command="$1" + local match="$2" + if _proc_starts_with_tildae "$match"; then + match="$(remove_first_char "$match")" + fi + echo "$pane_full_command" | sed "s,^.*${match}[^ ]* *,," +} + +_get_proc_restore_command() { + local pane_full_command="$1" + local proc="$2" + local match="$3" + local restore_element="$(_get_proc_restore_element "$proc")" + if [[ "$restore_element" =~ " ${inline_strategy_arguments_token}" ]]; then + # replaces "%" with command arguments + local command_arguments="$(_get_command_arguments "$pane_full_command" "$match")" + echo "$restore_element" | sed "s,${inline_strategy_arguments_token},${command_arguments}," + else + echo "$restore_element" + fi +} + +_restore_list() { + local user_processes="$(get_tmux_option "$restore_processes_option" "$restore_processes")" + local default_processes="$(get_tmux_option "$default_proc_list_option" "$default_proc_list")" + if [ -z "$user_processes" ]; then + # user didn't define any processes + echo "$default_processes" + else + echo "$default_processes $user_processes" + fi +} + +_proc_starts_with_tildae() { + [[ "$1" =~ (^~) ]] +} + +_get_inline_strategy() { + local pane_full_command="$1" + # TODO: make this work without eval + eval set $(_restore_list) + local proc + local match + for proc in "$@"; do + if [[ "$proc" =~ "$inline_strategy_token" ]]; then + match="$(_get_proc_match_element "$proc")" + if _proc_matches_full_command "$pane_full_command" "$match"; then + echo "$(_get_proc_restore_command "$pane_full_command" "$proc" "$match")" + fi + fi + done +} + +_strategy_exists() { + local pane_full_command="$1" + local strategy="$(_get_command_strategy "$pane_full_command")" + if [ -n "$strategy" ]; then # strategy set? + local strategy_file="$(_get_strategy_file "$pane_full_command")" + [ -e "$strategy_file" ] # strategy file exists? + else + return 1 + fi +} + +_get_command_strategy() { + local pane_full_command="$1" + local command="$(_just_command "$pane_full_command")" + get_tmux_option "${restore_process_strategy_option}${command}" "" +} + +_just_command() { + echo "$1" | cut -d' ' -f1 +} + +_get_strategy_file() { + local pane_full_command="$1" + local strategy="$(_get_command_strategy "$pane_full_command")" + local command="$(_just_command "$pane_full_command")" + echo "$CURRENT_DIR/../strategies/${command}_${strategy}.sh" +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.exp b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.exp new file mode 100755 index 0000000..8664b1d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.exp @@ -0,0 +1,14 @@ +#!/usr/bin/env expect + +# start tmux +spawn tmux -S/tmp/foo + +# delay with sleep to compensate for tmux starting time +sleep 2 + +# run restore script directly +send "~/.tmux/plugins/tmux-resurrect/scripts/restore.sh\r" + +# long wait until tmux restore is complete +# (things get messed up if expect client isn't attached) +sleep 100 diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.sh new file mode 100755 index 0000000..1a5e3f9 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/restore.sh @@ -0,0 +1,387 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/variables.sh" +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/process_restore_helpers.sh" +source "$CURRENT_DIR/spinner_helpers.sh" + +# delimiter +d=$'\t' + +# Global variable. +# Used during the restore: if a pane already exists from before, it is +# saved in the array in this variable. Later, process running in existing pane +# is also not restored. That makes the restoration process more idempotent. +EXISTING_PANES_VAR="" + +RESTORING_FROM_SCRATCH="false" + +RESTORE_PANE_CONTENTS="false" + +is_line_type() { + local line_type="$1" + local line="$2" + echo "$line" | + \grep -q "^$line_type" +} + +check_saved_session_exists() { + local resurrect_file="$(last_resurrect_file)" + if [ ! -f $resurrect_file ]; then + display_message "Tmux resurrect file not found!" + return 1 + fi +} + +pane_exists() { + local session_name="$1" + local window_number="$2" + local pane_index="$3" + tmux list-panes -t "${session_name}:${window_number}" -F "#{pane_index}" 2>/dev/null | + \grep -q "^$pane_index$" +} + +register_existing_pane() { + local session_name="$1" + local window_number="$2" + local pane_index="$3" + local pane_custom_id="${session_name}:${window_number}:${pane_index}" + local delimiter=$'\t' + EXISTING_PANES_VAR="${EXISTING_PANES_VAR}${delimiter}${pane_custom_id}" +} + +is_pane_registered_as_existing() { + local session_name="$1" + local window_number="$2" + local pane_index="$3" + local pane_custom_id="${session_name}:${window_number}:${pane_index}" + [[ "$EXISTING_PANES_VAR" =~ "$pane_custom_id" ]] +} + +restore_from_scratch_true() { + RESTORING_FROM_SCRATCH="true" +} + +is_restoring_from_scratch() { + [ "$RESTORING_FROM_SCRATCH" == "true" ] +} + +restore_pane_contents_true() { + RESTORE_PANE_CONTENTS="true" +} + +is_restoring_pane_contents() { + [ "$RESTORE_PANE_CONTENTS" == "true" ] +} + +restored_session_0_true() { + RESTORED_SESSION_0="true" +} + +has_restored_session_0() { + [ "$RESTORED_SESSION_0" == "true" ] +} + +window_exists() { + local session_name="$1" + local window_number="$2" + tmux list-windows -t "$session_name" -F "#{window_index}" 2>/dev/null | + \grep -q "^$window_number$" +} + +session_exists() { + local session_name="$1" + tmux has-session -t "$session_name" 2>/dev/null +} + +first_window_num() { + tmux show -gv base-index +} + +tmux_socket() { + echo $TMUX | cut -d',' -f1 +} + +# Tmux option stored in a global variable so that we don't have to "ask" +# tmux server each time. +cache_tmux_default_command() { + local default_shell="$(get_tmux_option "default-shell" "")" + local opt="" + if [ "$(basename "$default_shell")" == "bash" ]; then + opt="-l " + fi + export TMUX_DEFAULT_COMMAND="$(get_tmux_option "default-command" "$opt$default_shell")" +} + +tmux_default_command() { + echo "$TMUX_DEFAULT_COMMAND" +} + +pane_creation_command() { + echo "cat '$(pane_contents_file "restore" "${1}:${2}.${3}")'; exec $(tmux_default_command)" +} + +new_window() { + local session_name="$1" + local window_number="$2" + local dir="$3" + local pane_index="$4" + local pane_id="${session_name}:${window_number}.${pane_index}" + dir="${dir/#\~/$HOME}" + if is_restoring_pane_contents && pane_contents_file_exists "$pane_id"; then + local pane_creation_command="$(pane_creation_command "$session_name" "$window_number" "$pane_index")" + tmux new-window -d -t "${session_name}:${window_number}" -c "$dir" "$pane_creation_command" + else + tmux new-window -d -t "${session_name}:${window_number}" -c "$dir" + fi +} + +new_session() { + local session_name="$1" + local window_number="$2" + local dir="$3" + local pane_index="$4" + local pane_id="${session_name}:${window_number}.${pane_index}" + if is_restoring_pane_contents && pane_contents_file_exists "$pane_id"; then + local pane_creation_command="$(pane_creation_command "$session_name" "$window_number" "$pane_index")" + TMUX="" tmux -S "$(tmux_socket)" new-session -d -s "$session_name" -c "$dir" "$pane_creation_command" + else + TMUX="" tmux -S "$(tmux_socket)" new-session -d -s "$session_name" -c "$dir" + fi + # change first window number if necessary + local created_window_num="$(first_window_num)" + if [ $created_window_num -ne $window_number ]; then + tmux move-window -s "${session_name}:${created_window_num}" -t "${session_name}:${window_number}" + fi +} + +new_pane() { + local session_name="$1" + local window_number="$2" + local dir="$3" + local pane_index="$4" + local pane_id="${session_name}:${window_number}.${pane_index}" + if is_restoring_pane_contents && pane_contents_file_exists "$pane_id"; then + local pane_creation_command="$(pane_creation_command "$session_name" "$window_number" "$pane_index")" + tmux split-window -t "${session_name}:${window_number}" -c "$dir" "$pane_creation_command" + else + tmux split-window -t "${session_name}:${window_number}" -c "$dir" + fi + # minimize window so more panes can fit + tmux resize-pane -t "${session_name}:${window_number}" -U "999" +} + +restore_pane() { + local pane="$1" + while IFS=$d read line_type session_name window_number window_active window_flags pane_index pane_title dir pane_active pane_command pane_full_command; do + dir="$(remove_first_char "$dir")" + pane_full_command="$(remove_first_char "$pane_full_command")" + if [ "$session_name" == "0" ]; then + restored_session_0_true + fi + if pane_exists "$session_name" "$window_number" "$pane_index"; then + if is_restoring_from_scratch; then + # overwrite the pane + # happens only for the first pane if it's the only registered pane for the whole tmux server + local pane_id="$(tmux display-message -p -F "#{pane_id}" -t "$session_name:$window_number")" + new_pane "$session_name" "$window_number" "$dir" "$pane_index" + tmux kill-pane -t "$pane_id" + else + # Pane exists, no need to create it! + # Pane existence is registered. Later, its process also won't be restored. + register_existing_pane "$session_name" "$window_number" "$pane_index" + fi + elif window_exists "$session_name" "$window_number"; then + new_pane "$session_name" "$window_number" "$dir" "$pane_index" + elif session_exists "$session_name"; then + new_window "$session_name" "$window_number" "$dir" "$pane_index" + else + new_session "$session_name" "$window_number" "$dir" "$pane_index" + fi + # set pane title + tmux select-pane -t "$session_name:$window_number.$pane_index" -T "$pane_title" + done < <(echo "$pane") +} + +restore_state() { + local state="$1" + echo "$state" | + while IFS=$d read line_type client_session client_last_session; do + tmux switch-client -t "$client_last_session" + tmux switch-client -t "$client_session" + done +} + +restore_grouped_session() { + local grouped_session="$1" + echo "$grouped_session" | + while IFS=$d read line_type grouped_session original_session alternate_window active_window; do + TMUX="" tmux -S "$(tmux_socket)" new-session -d -s "$grouped_session" -t "$original_session" + done +} + +restore_active_and_alternate_windows_for_grouped_sessions() { + local grouped_session="$1" + echo "$grouped_session" | + while IFS=$d read line_type grouped_session original_session alternate_window_index active_window_index; do + alternate_window_index="$(remove_first_char "$alternate_window_index")" + active_window_index="$(remove_first_char "$active_window_index")" + if [ -n "$alternate_window_index" ]; then + tmux switch-client -t "${grouped_session}:${alternate_window_index}" + fi + if [ -n "$active_window_index" ]; then + tmux switch-client -t "${grouped_session}:${active_window_index}" + fi + done +} + +never_ever_overwrite() { + local overwrite_option_value="$(get_tmux_option "$overwrite_option" "")" + [ -n "$overwrite_option_value" ] +} + +detect_if_restoring_from_scratch() { + if never_ever_overwrite; then + return + fi + local total_number_of_panes="$(tmux list-panes -a | wc -l | sed 's/ //g')" + if [ "$total_number_of_panes" -eq 1 ]; then + restore_from_scratch_true + fi +} + +detect_if_restoring_pane_contents() { + if capture_pane_contents_option_on; then + cache_tmux_default_command + restore_pane_contents_true + fi +} + +# functions called from main (ordered) + +restore_all_panes() { + detect_if_restoring_from_scratch # sets a global variable + detect_if_restoring_pane_contents # sets a global variable + if is_restoring_pane_contents; then + pane_content_files_restore_from_archive + fi + while read line; do + if is_line_type "pane" "$line"; then + restore_pane "$line" + fi + done < $(last_resurrect_file) +} + +handle_session_0() { + if is_restoring_from_scratch && ! has_restored_session_0; then + local current_session="$(tmux display -p "#{client_session}")" + if [ "$current_session" == "0" ]; then + tmux switch-client -n + fi + tmux kill-session -t "0" + fi +} + +restore_window_properties() { + local window_name + \grep '^window' $(last_resurrect_file) | + while IFS=$d read line_type session_name window_number window_name window_active window_flags window_layout automatic_rename; do + tmux select-layout -t "${session_name}:${window_number}" "$window_layout" + + # Below steps are properly handling window names and automatic-rename + # option. `rename-window` is an extra command in some scenarios, but we + # opted for always doing it to keep the code simple. + window_name="$(remove_first_char "$window_name")" + tmux rename-window -t "${session_name}:${window_number}" "$window_name" + if [ "${automatic_rename}" = ":" ]; then + tmux set-option -u -t "${session_name}:${window_number}" automatic-rename + else + tmux set-option -t "${session_name}:${window_number}" automatic-rename "$automatic_rename" + fi + done +} + +restore_all_pane_processes() { + if restore_pane_processes_enabled; then + local pane_full_command + awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $11 !~ "^:$" { print $2, $3, $6, $8, $11; }' $(last_resurrect_file) | + while IFS=$d read -r session_name window_number pane_index dir pane_full_command; do + dir="$(remove_first_char "$dir")" + pane_full_command="$(remove_first_char "$pane_full_command")" + restore_pane_process "$pane_full_command" "$session_name" "$window_number" "$pane_index" "$dir" + done + fi +} + +restore_active_pane_for_each_window() { + awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $9 == 1 { print $2, $3, $6; }' $(last_resurrect_file) | + while IFS=$d read session_name window_number active_pane; do + tmux switch-client -t "${session_name}:${window_number}" + tmux select-pane -t "$active_pane" + done +} + +restore_zoomed_windows() { + awk 'BEGIN { FS="\t"; OFS="\t" } /^pane/ && $5 ~ /Z/ && $9 == 1 { print $2, $3; }' $(last_resurrect_file) | + while IFS=$d read session_name window_number; do + tmux resize-pane -t "${session_name}:${window_number}" -Z + done +} + +restore_grouped_sessions() { + while read line; do + if is_line_type "grouped_session" "$line"; then + restore_grouped_session "$line" + restore_active_and_alternate_windows_for_grouped_sessions "$line" + fi + done < $(last_resurrect_file) +} + +restore_active_and_alternate_windows() { + awk 'BEGIN { FS="\t"; OFS="\t" } /^window/ && $6 ~ /[*-]/ { print $2, $5, $3; }' $(last_resurrect_file) | + sort -u | + while IFS=$d read session_name active_window window_number; do + tmux switch-client -t "${session_name}:${window_number}" + done +} + +restore_active_and_alternate_sessions() { + while read line; do + if is_line_type "state" "$line"; then + restore_state "$line" + fi + done < $(last_resurrect_file) +} + +# A cleanup that happens after 'restore_all_panes' seems to fix fish shell +# users' restore problems. +cleanup_restored_pane_contents() { + if is_restoring_pane_contents; then + rm "$(pane_contents_dir "restore")"/* + fi +} + +main() { + if supported_tmux_version_ok && check_saved_session_exists; then + start_spinner "Restoring..." "Tmux restore complete!" + execute_hook "pre-restore-all" + restore_all_panes + handle_session_0 + restore_window_properties >/dev/null 2>&1 + execute_hook "pre-restore-pane-processes" + restore_all_pane_processes + # below functions restore exact cursor positions + restore_active_pane_for_each_window + restore_zoomed_windows + restore_grouped_sessions # also restores active and alt windows for grouped sessions + restore_active_and_alternate_windows + restore_active_and_alternate_sessions + cleanup_restored_pane_contents + execute_hook "post-restore-all" + stop_spinner + display_message "Tmux restore complete!" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/save.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/save.sh new file mode 100755 index 0000000..01edcde --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/save.sh @@ -0,0 +1,278 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source "$CURRENT_DIR/variables.sh" +source "$CURRENT_DIR/helpers.sh" +source "$CURRENT_DIR/spinner_helpers.sh" + +# delimiters +d=$'\t' +delimiter=$'\t' + +# if "quiet" script produces no output +SCRIPT_OUTPUT="$1" + +grouped_sessions_format() { + local format + format+="#{session_grouped}" + format+="${delimiter}" + format+="#{session_group}" + format+="${delimiter}" + format+="#{session_id}" + format+="${delimiter}" + format+="#{session_name}" + echo "$format" +} + +pane_format() { + local format + format+="pane" + format+="${delimiter}" + format+="#{session_name}" + format+="${delimiter}" + format+="#{window_index}" + format+="${delimiter}" + format+="#{window_active}" + format+="${delimiter}" + format+=":#{window_flags}" + format+="${delimiter}" + format+="#{pane_index}" + format+="${delimiter}" + format+="#{pane_title}" + format+="${delimiter}" + format+=":#{pane_current_path}" + format+="${delimiter}" + format+="#{pane_active}" + format+="${delimiter}" + format+="#{pane_current_command}" + format+="${delimiter}" + format+="#{pane_pid}" + format+="${delimiter}" + format+="#{history_size}" + echo "$format" +} + +window_format() { + local format + format+="window" + format+="${delimiter}" + format+="#{session_name}" + format+="${delimiter}" + format+="#{window_index}" + format+="${delimiter}" + format+=":#{window_name}" + format+="${delimiter}" + format+="#{window_active}" + format+="${delimiter}" + format+=":#{window_flags}" + format+="${delimiter}" + format+="#{window_layout}" + echo "$format" +} + +state_format() { + local format + format+="state" + format+="${delimiter}" + format+="#{client_session}" + format+="${delimiter}" + format+="#{client_last_session}" + echo "$format" +} + +dump_panes_raw() { + tmux list-panes -a -F "$(pane_format)" +} + +dump_windows_raw(){ + tmux list-windows -a -F "$(window_format)" +} + +toggle_window_zoom() { + local target="$1" + tmux resize-pane -Z -t "$target" +} + +_save_command_strategy_file() { + local save_command_strategy="$(get_tmux_option "$save_command_strategy_option" "$default_save_command_strategy")" + local strategy_file="$CURRENT_DIR/../save_command_strategies/${save_command_strategy}.sh" + local default_strategy_file="$CURRENT_DIR/../save_command_strategies/${default_save_command_strategy}.sh" + if [ -e "$strategy_file" ]; then # strategy file exists? + echo "$strategy_file" + else + echo "$default_strategy_file" + fi +} + +pane_full_command() { + local pane_pid="$1" + local strategy_file="$(_save_command_strategy_file)" + # execute strategy script to get pane full command + $strategy_file "$pane_pid" +} + +number_nonempty_lines_on_screen() { + local pane_id="$1" + tmux capture-pane -pJ -t "$pane_id" | + sed '/^$/d' | + wc -l | + sed 's/ //g' +} + +# tests if there was any command output in the current pane +pane_has_any_content() { + local pane_id="$1" + local history_size="$(tmux display -p -t "$pane_id" -F "#{history_size}")" + local cursor_y="$(tmux display -p -t "$pane_id" -F "#{cursor_y}")" + # doing "cheap" tests first + [ "$history_size" -gt 0 ] || # history has any content? + [ "$cursor_y" -gt 0 ] || # cursor not in first line? + [ "$(number_nonempty_lines_on_screen "$pane_id")" -gt 1 ] +} + +capture_pane_contents() { + local pane_id="$1" + local start_line="-$2" + local pane_contents_area="$3" + if pane_has_any_content "$pane_id"; then + if [ "$pane_contents_area" = "visible" ]; then + start_line="0" + fi + # the printf hack below removes *trailing* empty lines + printf '%s\n' "$(tmux capture-pane -epJ -S "$start_line" -t "$pane_id")" > "$(pane_contents_file "save" "$pane_id")" + fi +} + +get_active_window_index() { + local session_name="$1" + tmux list-windows -t "$session_name" -F "#{window_flags} #{window_index}" | + awk '$1 ~ /\*/ { print $2; }' +} + +get_alternate_window_index() { + local session_name="$1" + tmux list-windows -t "$session_name" -F "#{window_flags} #{window_index}" | + awk '$1 ~ /-/ { print $2; }' +} + +dump_grouped_sessions() { + local current_session_group="" + local original_session + tmux list-sessions -F "$(grouped_sessions_format)" | + grep "^1" | + cut -c 3- | + sort | + while IFS=$d read session_group session_id session_name; do + if [ "$session_group" != "$current_session_group" ]; then + # this session is the original/first session in the group + original_session="$session_name" + current_session_group="$session_group" + else + # this session "points" to the original session + active_window_index="$(get_active_window_index "$session_name")" + alternate_window_index="$(get_alternate_window_index "$session_name")" + echo "grouped_session${d}${session_name}${d}${original_session}${d}:${alternate_window_index}${d}:${active_window_index}" + fi + done +} + +fetch_and_dump_grouped_sessions(){ + local grouped_sessions_dump="$(dump_grouped_sessions)" + get_grouped_sessions "$grouped_sessions_dump" + if [ -n "$grouped_sessions_dump" ]; then + echo "$grouped_sessions_dump" + fi +} + +# translates pane pid to process command running inside a pane +dump_panes() { + local full_command + dump_panes_raw | + while IFS=$d read line_type session_name window_number window_active window_flags pane_index pane_title dir pane_active pane_command pane_pid history_size; do + # not saving panes from grouped sessions + if is_session_grouped "$session_name"; then + continue + fi + full_command="$(pane_full_command $pane_pid)" + dir=$(echo $dir | sed 's/ /\\ /') # escape all spaces in directory path + echo "${line_type}${d}${session_name}${d}${window_number}${d}${window_active}${d}${window_flags}${d}${pane_index}${d}${pane_title}${d}${dir}${d}${pane_active}${d}${pane_command}${d}:${full_command}" + done +} + +dump_windows() { + dump_windows_raw | + while IFS=$d read line_type session_name window_index window_name window_active window_flags window_layout; do + # not saving windows from grouped sessions + if is_session_grouped "$session_name"; then + continue + fi + automatic_rename="$(tmux show-window-options -vt "${session_name}:${window_index}" automatic-rename)" + # If the option was unset, use ":" as a placeholder. + [ -z "${automatic_rename}" ] && automatic_rename=":" + echo "${line_type}${d}${session_name}${d}${window_index}${d}${window_name}${d}${window_active}${d}${window_flags}${d}${window_layout}${d}${automatic_rename}" + done +} + +dump_state() { + tmux display-message -p "$(state_format)" +} + +dump_pane_contents() { + local pane_contents_area="$(get_tmux_option "$pane_contents_area_option" "$default_pane_contents_area")" + dump_panes_raw | + while IFS=$d read line_type session_name window_number window_active window_flags pane_index pane_title dir pane_active pane_command pane_pid history_size; do + capture_pane_contents "${session_name}:${window_number}.${pane_index}" "$history_size" "$pane_contents_area" + done +} + +remove_old_backups() { + # remove resurrect files older than 30 days (default), but keep at least 5 copies of backup. + local delete_after="$(get_tmux_option "$delete_backup_after_option" "$default_delete_backup_after")" + local -a files + files=($(ls -t $(resurrect_dir)/${RESURRECT_FILE_PREFIX}_*.${RESURRECT_FILE_EXTENSION} | tail -n +6)) + [[ ${#files[@]} -eq 0 ]] || + find "${files[@]}" -type f -mtime "+${delete_after}" -exec rm -v "{}" \; > /dev/null +} + +save_all() { + local resurrect_file_path="$(resurrect_file_path)" + local last_resurrect_file="$(last_resurrect_file)" + mkdir -p "$(resurrect_dir)" + fetch_and_dump_grouped_sessions > "$resurrect_file_path" + dump_panes >> "$resurrect_file_path" + dump_windows >> "$resurrect_file_path" + dump_state >> "$resurrect_file_path" + execute_hook "post-save-layout" "$resurrect_file_path" + if files_differ "$resurrect_file_path" "$last_resurrect_file"; then + ln -fs "$(basename "$resurrect_file_path")" "$last_resurrect_file" + else + rm "$resurrect_file_path" + fi + if capture_pane_contents_option_on; then + mkdir -p "$(pane_contents_dir "save")" + dump_pane_contents + pane_contents_create_archive + rm "$(pane_contents_dir "save")"/* + fi + remove_old_backups + execute_hook "post-save-all" +} + +show_output() { + [ "$SCRIPT_OUTPUT" != "quiet" ] +} + +main() { + if supported_tmux_version_ok; then + if show_output; then + start_spinner "Saving..." "Tmux environment saved!" + fi + save_all + if show_output; then + stop_spinner + display_message "Tmux environment saved!" + fi + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/spinner_helpers.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/spinner_helpers.sh new file mode 100644 index 0000000..fe73cd7 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/spinner_helpers.sh @@ -0,0 +1,8 @@ +start_spinner() { + $CURRENT_DIR/tmux_spinner.sh "$1" "$2" & + export SPINNER_PID=$! +} + +stop_spinner() { + kill $SPINNER_PID +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/tmux_spinner.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/tmux_spinner.sh new file mode 100755 index 0000000..9b1b979 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/tmux_spinner.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# This script shows tmux spinner with a message. It is intended to be running +# as a background process which should be `kill`ed at the end. +# +# Example usage: +# +# ./tmux_spinner.sh "Working..." "End message!" & +# SPINNER_PID=$! +# .. +# .. execute commands here +# .. +# kill $SPINNER_PID # Stops spinner and displays 'End message!' + +MESSAGE="$1" +END_MESSAGE="$2" +SPIN='-\|/' + +trap "tmux display-message '$END_MESSAGE'; exit" SIGINT SIGTERM + +main() { + local i=0 + while true; do + i=$(( (i+1) %4 )) + tmux display-message " ${SPIN:$i:1} $MESSAGE" + sleep 0.1 + done +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/variables.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/variables.sh new file mode 100644 index 0000000..9d42e02 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/scripts/variables.sh @@ -0,0 +1,48 @@ +# key bindings +default_save_key="C-s" +save_option="@resurrect-save" +save_path_option="@resurrect-save-script-path" + +default_restore_key="C-r" +restore_option="@resurrect-restore" +restore_path_option="@resurrect-restore-script-path" + +# default processes that are restored +default_proc_list_option="@resurrect-default-processes" +default_proc_list='vi vim view nvim emacs man less more tail top htop irssi weechat mutt' + +# User defined processes that are restored +# 'false' - nothing is restored +# ':all:' - all processes are restored +# +# user defined list of programs that are restored: +# 'my_program foo another_program' +restore_processes_option="@resurrect-processes" +restore_processes="" + +# Defines part of the user variable. Example usage: +# set -g @resurrect-strategy-vim "session" +restore_process_strategy_option="@resurrect-strategy-" + +inline_strategy_token="->" +inline_strategy_arguments_token="*" + +save_command_strategy_option="@resurrect-save-command-strategy" +default_save_command_strategy="ps" + +# Pane contents capture options. +# @resurrect-pane-contents-area option can be: +# 'visible' - capture only the visible pane area +# 'full' - capture the full pane contents +pane_contents_option="@resurrect-capture-pane-contents" +pane_contents_area_option="@resurrect-pane-contents-area" +default_pane_contents_area="full" + +# set to 'on' to ensure panes are never ever overwritten +overwrite_option="@resurrect-never-overwrite" + +# Hooks are set via ${hook_prefix}${name}, i.e. "@resurrect-hook-post-save-all" +hook_prefix="@resurrect-hook-" + +delete_backup_after_option="@resurrect-delete-backup-after" +default_delete_backup_after="30" # days diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/irb_default_strategy.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/irb_default_strategy.sh new file mode 100755 index 0000000..897f5bb --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/irb_default_strategy.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# "irb default strategy" +# +# Example irb process with junk variables: +# irb RBENV_VERSION=1.9.3-p429 GREP_COLOR=34;47 TERM_PROGRAM=Apple_Terminal +# +# When executed, the above will fail. This strategy handles that. + +ORIGINAL_COMMAND="$1" +DIRECTORY="$2" + +original_command_wo_junk_vars() { + echo "$ORIGINAL_COMMAND" | + sed 's/RBENV_VERSION[^ ]*//' | + sed 's/GREP_COLOR[^ ]*//' | + sed 's/TERM_PROGRAM[^ ]*//' +} + +main() { + echo "$(original_command_wo_junk_vars)" +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/mosh-client_default_strategy.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/mosh-client_default_strategy.sh new file mode 100755 index 0000000..4d2f06b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/mosh-client_default_strategy.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# "mosh-client default strategy" +# +# Example mosh-client process: +# mosh-client -# charm tmux at | 198.199.104.142 60001 +# +# When executed, the above will fail. This strategy handles that. + +ORIGINAL_COMMAND="$1" +DIRECTORY="$2" + +mosh_command() { + local args="$ORIGINAL_COMMAND" + + args="${args#*-#}" + args="${args%|*}" + + echo "mosh $args" +} + +main() { + echo "$(mosh_command)" +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/nvim_session.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/nvim_session.sh new file mode 100755 index 0000000..4987c68 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/nvim_session.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# "nvim session strategy" +# +# Same as vim strategy, see file 'vim_session.sh' + +ORIGINAL_COMMAND="$1" +DIRECTORY="$2" + +nvim_session_file_exists() { + [ -e "${DIRECTORY}/Session.vim" ] +} + +original_command_contains_session_flag() { + [[ "$ORIGINAL_COMMAND" =~ "-S" ]] +} + +main() { + if nvim_session_file_exists; then + echo "nvim -S" + elif original_command_contains_session_flag; then + # Session file does not exist, yet the original nvim command contains + # session flag `-S`. This will cause an error, so we're falling back to + # starting plain nvim. + echo "nvim" + else + echo "$ORIGINAL_COMMAND" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/vim_session.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/vim_session.sh new file mode 100755 index 0000000..1b5293c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/strategies/vim_session.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# "vim session strategy" +# +# Restores a vim session from 'Session.vim' file, if it exists. +# If 'Session.vim' does not exist, it falls back to invoking the original +# command (without the `-S` flag). + +ORIGINAL_COMMAND="$1" +DIRECTORY="$2" + +vim_session_file_exists() { + [ -e "${DIRECTORY}/Session.vim" ] +} + +main() { + if vim_session_file_exists; then + echo "vim -S" + else + echo "$ORIGINAL_COMMAND" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/restore_file.txt b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/restore_file.txt new file mode 100644 index 0000000..dcf5779 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/restore_file.txt @@ -0,0 +1,21 @@ +pane 0 0 :bash 1 :* 0 :/tmp 1 bash : +pane blue 0 :vim 0 : 0 :/tmp 1 vim :vim foo.txt +pane blue 1 :man 0 :- 0 :/tmp 0 bash : +pane blue 1 :man 0 :- 1 :/usr/share/man 1 man :man echo +pane blue 2 :bash 1 :* 0 :/tmp 1 bash : +pane red 0 :bash 0 : 0 :/tmp 1 bash : +pane red 1 :bash 0 :-Z 0 :/tmp 0 bash : +pane red 1 :bash 0 :-Z 1 :/tmp 0 bash : +pane red 1 :bash 0 :-Z 2 :/tmp 1 bash : +pane red 2 :bash 1 :* 0 :/tmp 0 bash : +pane red 2 :bash 1 :* 1 :/tmp 1 bash : +pane yellow 0 :bash 1 :* 0 :/tmp/bar 1 bash : +window 0 0 1 :* ce9e,200x49,0,0,1 +window blue 0 0 : ce9f,200x49,0,0,2 +window blue 1 0 :- 178b,200x49,0,0{100x49,0,0,3,99x49,101,0,4} +window blue 2 1 :* cea2,200x49,0,0,5 +window red 0 0 : cea3,200x49,0,0,6 +window red 1 0 :-Z 135b,200x49,0,0[200x24,0,0,7,200x24,0,25{100x24,0,25,8,99x24,101,25,9}] +window red 2 1 :* db81,200x49,0,0[200x24,0,0,10,200x24,0,25,11] +window yellow 0 1 :* 6781,200x49,0,0,12 +state yellow blue diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/save_file.txt b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/save_file.txt new file mode 100644 index 0000000..0301f92 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/fixtures/save_file.txt @@ -0,0 +1,21 @@ +pane 0 0 :bash 1 :* 0 :/tmp 1 bash : +pane blue 0 :vim 0 :! 0 :/tmp 1 vim :vim foo.txt +pane blue 1 :man 0 :!- 0 :/tmp 0 bash : +pane blue 1 :man 0 :!- 1 :/usr/share/man 1 man :man echo +pane blue 2 :bash 1 :* 0 :/tmp 1 bash : +pane red 0 :bash 0 : 0 :/tmp 1 bash : +pane red 1 :bash 0 :-Z 0 :/tmp 0 bash : +pane red 1 :bash 0 :-Z 1 :/tmp 0 bash : +pane red 1 :bash 0 :-Z 2 :/tmp 1 bash : +pane red 2 :bash 1 :* 0 :/tmp 0 bash : +pane red 2 :bash 1 :* 1 :/tmp 1 bash : +pane yellow 0 :bash 1 :* 0 :/tmp/bar 1 bash : +window 0 0 1 :* ce9d,200x49,0,0,0 +window blue 0 0 :! cea4,200x49,0,0,7 +window blue 1 0 :!- 9797,200x49,0,0{100x49,0,0,8,99x49,101,0,9} +window blue 2 1 :* 677f,200x49,0,0,10 +window red 0 0 : ce9e,200x49,0,0,1 +window red 1 0 :-Z 52b7,200x49,0,0[200x24,0,0,2,200x24,0,25{100x24,0,25,3,99x24,101,25,4}] +window red 2 1 :* bd68,200x49,0,0[200x24,0,0,5,200x24,0,25,6] +window yellow 0 1 :* 6780,200x49,0,0,11 +state yellow blue diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/create_and_save_tmux_test_environment.exp b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/create_and_save_tmux_test_environment.exp new file mode 100755 index 0000000..80cca2c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/create_and_save_tmux_test_environment.exp @@ -0,0 +1,42 @@ +#!/usr/bin/env expect + +source "./tests/helpers/expect_helpers.exp" + +expect_setup + +spawn tmux +# delay with sleep to compensate for tmux starting time +sleep 1 + +run_shell_command "cd /tmp" + +# session red +new_tmux_session "red" + +new_tmux_window +horizontal_split +vertical_split +toggle_zoom_pane + +new_tmux_window +horizontal_split + +# session blue +new_tmux_session "blue" + +run_shell_command "touch foo.txt" +run_shell_command "vim foo.txt" + +new_tmux_window +vertical_split +run_shell_command "man echo" + +new_tmux_window + +# session yellow +new_tmux_session "yellow" +run_shell_command "cd /tmp/bar" + +start_resurrect_save + +run_shell_command "tmux kill-server" diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/expect_helpers.exp b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/expect_helpers.exp new file mode 100644 index 0000000..cbf4234 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/expect_helpers.exp @@ -0,0 +1,70 @@ +# a set of expect helpers + +# basic setup for each script +proc expect_setup {} { + # disables script output + log_user 0 + # standard timeout + set timeout 5 +} + +proc new_tmux_window {} { + send "c" + send "cd /tmp\r" + sleep 0.2 +} + +proc rename_current_session {name} { + send "$" + # delete existing name with ctrl-u + send "" + send "$name\r" + sleep 0.2 +} + +proc new_tmux_session {name} { + send "TMUX='' tmux new -d -s $name\r" + sleep 1 + send "tmux switch-client -t $name\r" + send "cd /tmp\r" + sleep 0.5 +} + +proc horizontal_split {} { + send "\"" + sleep 0.2 + send "cd /tmp\r" + sleep 0.1 +} + +proc vertical_split {} { + send "%" + sleep 0.2 + send "cd /tmp\r" + sleep 0.1 +} + +proc toggle_zoom_pane {} { + send "z" + sleep 0.2 +} + +proc run_shell_command {command} { + send "$command\r" + sleep 1 +} + +proc start_resurrect_save {} { + send "" + sleep 5 +} + +proc start_resurrect_restore {} { + send "" + sleep 10 +} + +proc clear_screen_for_window {target} { + send "tmux send-keys -t $target C-l\r" + sleep 0.2 +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/restore_and_save_tmux_test_environment.exp b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/restore_and_save_tmux_test_environment.exp new file mode 100755 index 0000000..82da37f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/restore_and_save_tmux_test_environment.exp @@ -0,0 +1,18 @@ +#!/usr/bin/env expect + +source "./tests/helpers/expect_helpers.exp" + +expect_setup + +spawn tmux +# delay with sleep to compensate for tmux starting time +sleep 1 + +start_resurrect_restore + +# delete all existing resurrect save files +run_shell_command "rm ~/.tmux/resurrect/*" + +start_resurrect_save + +run_shell_command "tmux kill-server" diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/resurrect_helpers.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/resurrect_helpers.sh new file mode 100644 index 0000000..268aca5 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/helpers/resurrect_helpers.sh @@ -0,0 +1,11 @@ +# we want "fixed" dimensions no matter the size of real display +set_screen_dimensions_helper() { + stty cols 200 + stty rows 50 +} + +last_save_file_differs_helper() { + local original_file="$1" + diff "$original_file" "${HOME}/.tmux/resurrect/last" + [ $? -ne 0 ] +} diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_restore.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_restore.sh new file mode 100755 index 0000000..9cf4644 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_restore.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source $CURRENT_DIR/helpers/helpers.sh +source $CURRENT_DIR/helpers/resurrect_helpers.sh + +setup_before_restore() { + # setup restore file + mkdir -p ~/.tmux/resurrect/ + cp tests/fixtures/restore_file.txt "${HOME}/.tmux/resurrect/restore_file.txt" + ln -sf restore_file.txt "${HOME}/.tmux/resurrect/last" + + # directory used in restored tmux session + mkdir -p /tmp/bar +} + +restore_tmux_environment_and_save_again() { + set_screen_dimensions_helper + $CURRENT_DIR/helpers/restore_and_save_tmux_test_environment.exp +} + +main() { + install_tmux_plugin_under_test_helper + setup_before_restore + restore_tmux_environment_and_save_again + + if last_save_file_differs_helper "tests/fixtures/restore_file.txt"; then + fail_helper "Saved file not correct after restore" + fi + exit_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_save.sh b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_save.sh new file mode 100755 index 0000000..99fb925 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/tests/test_resurrect_save.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source $CURRENT_DIR/helpers/helpers.sh +source $CURRENT_DIR/helpers/resurrect_helpers.sh + +create_tmux_test_environment_and_save() { + set_screen_dimensions_helper + $CURRENT_DIR/helpers/create_and_save_tmux_test_environment.exp +} + +main() { + install_tmux_plugin_under_test_helper + mkdir -p /tmp/bar # setup required dirs + create_tmux_test_environment_and_save + + if last_save_file_differs_helper "tests/fixtures/save_file.txt"; then + fail_helper "Saved file not correct (initial save)" + fi + exit_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/video/issue_vid.png b/dotfiles/common/.tmux/plugins/tmux-resurrect/video/issue_vid.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea5ea24cc386581331397628ec3b389474d443b GIT binary patch literal 63584 zcmZVl18^om*EbGF8)suD8{2lSI2+rxZQHiJu{XAD+qQGX`R{!{@Atk>)iX?ke3xlfW?6Y0Rcgf_${Ic0s8C#i54j1Odht>hTZ@@@_?T=Zn-Df4{cVpUDIaOT{GKe)o>sL5h&>Bq0Hb&zmSDp zSXt0qfwySn(I8;EVA2Ap(DL3zMevtb)qUT*$B>{xR^GJY4NrijFE8+@JikT;kZ?Zh z=eww9gs>NC5OuK~N=tZW>ec)@z(6UQ5ehf&j z6_^020_CCr2v$siHs>@4(z?N8kWCe`Zy$1<7T92Ww;&qjfsH>m?!W+vg*%=hRi57( z%m-$Py!Y4oA9=9veZB79+}pn4zBvVhK}-^F>nlRjkX9}%&qrJ!#8763fb;^vQw)1xJw!Ir_iYiDmf$2Jh$I2-x#2CY zlzbUd^+i!=9}~uOPdyFW{9TI=D=G10Dmx$_pOtHLXCIOOlE7vk;wT;*2L;L65|jy# zrjeU!bPd696xAji&b28d9eIEHRGtC{Dl;eG4nk=h8_7tp6-KwS#IpINl+o}e7$ zyWiB_Dr@ne)$L-mZjfQO2PlG#JnGxkZK~Kh&j*ySD?UXi#%d{8y|-dp2#axGA$O5cnx zR%?*aLRLM6`-mhMpe0|Y`ecMwY*j?6Q1@Y*_1WsWgkdTnxmfy7`F57_Zxo)a%k_S3 zpQsZ6hwmbBBf1X;0>24t6RaiQhTGQzbi6S@!iyZucOwKipv>ecFEgEX5`B_y(qP&Hf$Hb9oZDA6iMUf`}vdtM#c)+$mIV3 z7zPkQP6PDOuv2~`{DhB0X7{hG>!}kBuKf@*FcBqF0Wr7YmVxrWiM_C5>tB11i$;O; zFJT6G4E-J@-s6^6gD8EP^D{=d^*Nja+x=T)N6U7d#z%V<3jSzcs}IF1fD{f!b(+L1 z54A2pkPafH50xDNwF+7E3!k8J$yCkG&Ht>usafw2ws9{GO~;aCX-+lviKnQofudGG%1FJ*fU|< zsKFtYBTl&>JyFc4%^~P~9IyB`q0%UaG0adtX)->#0Ga#`WmGnSYI!qf8l3QJfuvdZ zM?%fO)S{EQi&L9NqBk^rQ9xk>mcK!-y`c!BBbH1w^6<}t2$)`Zrt)+=X{Hi9r7(*? zqfacB$c$lH!#j2MDn`|x({fH#aLbq-;8~GdaeSfG!@47`h6F}C`etdEJh2A zS%A~XkNtgzj8;Q!^lO~!pWbfUd&jr#ycD`9wV*pPh~Ch?6uy8j&hB43p*JIOduA{Y zV2FaL`NDN1^3Y7d()|kk9zrw*{*@}$SDyeB65ZhOgZY(yyDhGKanWHC!8mp z_nos&FHb*CQO@p9sn0S`JVjvuHBDFDSeSB~!kChn!a7kqQ8|%3 zAU)8+;YOiE;Y)E&_@+A1BC3;Xz*M1BkyrUvVOOD7;a3@1W3el+ld$VG^I4}@yRB~5 zAFPqB(X9%vI;}C(0qbV$>m17*TOCR5lN~qrv5p4qCG9osLmiGCbdT{4wf9kWnRo9` z#*ZrwaCS3Kjt`bko=>LtYEFE|y9P-njrvi?lV+TPPS6=r)k0SSIC6myH~8BY{I2{q z{CeGZ-4oseACx`tJtW_f z^^oE*PvZE>Esm{PQTIA-1O0ru-TKt1+Z( zk|r56uBM`);_3|HqIK#y2f_J2DI8<>9@eP zyqdRM*4+HlO=Y@pB%{}O)F|9EVVf{Yr`zbWXUp&m4$tR1x&BYY)!{w!Diah z$1&Hm;x;NVZC-d-3^l4dhIMZ^=IA~pc z9c{I<5xpg*uFC-GlJ*kzQg=;i{id$x%-^lfjnc*artC2N(tRdk%A#X|tCY)3_=NWa zlU|X&p8l#vx<(dY*fwlSYzuu;X_LV7))T^u)g6Ubhp&>?tR>x=YW;p%YKmsT z%D(b&Ik+0J`OX$@!_|ss!FBwZW}DNF=@IIo z^27fg_(BEc1`Puz2X_I311k-D42%pa35p4f`{9Scgvf=>Okj!W$?i-yNms?6jdhK` zjn#*Pj5CK#g_VJ{MnHy}g3Z=$v=Cc}&!S9YsltlV#nw&~ito$oHX=E69pi&qimQgx zf^>u9M;1UvL|nk5K+eSDKs?5JHYs~4yOVP@Mm*M$wDSk+PqwV6qL1Q+Tg3JF>J$AG zZM7%I=k@GX+&uaMV(ItlL31gUFd+$@k#+6b_PX@2wB_+E|CJ9#L!CyS2HzU>ns|fX z@yn6(5%n>~NzEm2YsW?4OkgaaDF_tG>wfV;7O$Tml9M&PHcihb{m6cPuO2Kb@FJu? zgewFP*^J3YsY=K15&ZT0GGPwoA~CecP#h6ohYQ2`(xTkJ!Ux+=!*%V$q2~ac;!$of z2aPks%kfP4w%n|AN>+~{jgq0JS8Y(Gv(~w~(@pF_S_a)t#dhg@Exe&#&~+eDDr`1`U&#Z!$=tqbHM6gM>Yn~QhRXWI>T2P-)E0SY!bJO zt9dE|YTqoK+MF(&Tb=K0?l9+b*uU4`9dyXi=JI-5zBl^Kn%u6%ugspZ^q3{h4CMOZ z$KvYxCOo46nNQFkD)*7U67E;#YcIr?#O=D6d>1~K&#t1FcIx8}<_>6Xn75O5Fy)|S z7Nx1>*yS>0pL|yD_qImL;wBa{^3?fLd{W=MpQ66fuCaj`ZhGZZ3w+IiDSDh@UPbXz&H@(c5G&kK_aJ!W?c5mr@>J2pP!Wqp3b2=xe! zthM0P<29WozvH^y!LzD;!xNlq*WRw_gMyPRIu_jrt+W9*7KLZ;Kji@(zqOqF>WfH^7D?y zd3aZ?;*P7kneep^js|-@ljW4l=IrauzRy}jX}phQ;MJ`4*XG_@;97sN;U#ixVvP7y z>}%>ZH4T@pTjA5;fRdanVp^Q4w8~dmfA&#XYB>|{i3+Y?_ig`C``24-nmT=@wnICP z&(-WxCaw%Z3ocLQy6v`gw`*m0aY<9*)yq}kb9U_EbUcr&+tQ80j#ek&Ex+aBdLZ_C zBQDeH+)L`M@I3}{6g-X~jUUFnf;}7;52wNx1E}qX1@K0kW@t)7t-Tj-6d%?lz*_qC z`Eq=yHNrHh{@FV5vft4U#NBC;<&=$#tBpymNsPAo4>t=z%RthA?+d^fJ`Lz zKrI4KVsN6KkXXiOruu0rD?<#ubl!I;-kCdpK^f&%F zRU(;g)m@@S%U2P(lC-c>V@Qcjj83gfu}I+|VR=Iaz<%KJ;+*nm{Wt)B56^(}gzd*n zmI;$iqm{1SuKubizDl}UvVK*+a}j@*ew2LBxkEO>Hb6JWH#)Gk;2xEmcBVRGbGH%I z$)LFI)9!uqqVvE2w~Bp=@dry9HuvWloDFOx3`5LllyqF-^=;v~IGiZM2yaXmQX2M6 zl73=YI%%^KVFpDANs0%i?~3;N#+J@m+B2HT;LTR1McWML1b0?q0}pWWs{=~xr|)zY zA8Q`K>&2^2datzbY=1@^BbJ$9fjWk=l6%|9@bYl6+^tkE4N!Yp+v!(QT=8nH_EhRb z+@v*=rsJ+V<2(1Ph@stuQ9Gsw>`+)|oDJ?MU+?@}-cGGpK5kCkI9W$@`QtpiBhiuN zcJuNX2}RNVlRx^()su83=nDI~Ycp+wfO+?J^)O;gDNHc0VATwJ28dAF3GHt27ztc@ z{C#lYQ*>>2xQ(*YO>lt)__7`G`h=MuOd5+U*C7Z5yvacMz<%RBky(!Ty0tX51 z8v2|}AEY1DFr+bl(R!Cdrsfsr%13<=&4U8LlIY_ww_(0o(X9|}M zuubTW+9RdPy&Nr@92{jG`N%GgX$r0O=L;c;Ur3M&)5;7BG7E7_wDa!~&6lkcDpPJ% z|6?zlYhI$B%_-V1qNwgDSfTayN4l}!FURLv|wuieZb;U6vJl_VRU*57Qru zTT5&nwB?14mmP!^+U!DJ^S;bGc?Gz^u@?sDsAN{DeqrFgY z^_l+C9`{`W4+bBAVmLm+gPr2wne=?I?Mn?j>;FR>WH>;gAs#W}C^-`MkS)(&?jm{7 zsM#hIqFg+RolBkC@VMm6CT&lCmJRH#tGyQbJcy!6E3R?Z<@2uohV%*&H_}*;XSq&w zj?$=<+o;)~Sl8m#b*tGzZ!>cS-1dFdNFhRXsCoVIYI(#zBk-vDIP6`R5tg072@};t z>r!-|dLjRZPMGhKu3Fkeq1Io%E4t>MAv(E1elX5B^MTAzf!y1H5IUfO(0hVhj)8Dm zfjaBq3rwAZptJ*Tz5+mK3H!5?P@zFB@?lwItaf2oP9WkDSjHdnf57*0kHYpx{w8^2 z1VoGd?Df9=$s9^t25lMsR`9N$%HdCMAi~6+PAbi23N1Bg+aGE~Q#a#K#YvN%;IfO{ z$6}1|xM(+r>HE893)b#(Sk^?BmImmCK9j{uPl7QAREKP8Hj=t%sQCEdd=0;3LA}7Uf>MQ| zh2lc##9qXHUNRQ5kCY8Bk4%thORje|FpxQ7`mO7G8iYP=xA}yu;W}Mk0s*55K<;ma zzRJQTlszL&lVytLJV{!B3YWKP&GDkgQ2U%zX{~KX->mvdXOl{^&S~t~=e@0Bt@8I~ z(g#ub$tQzcC;z?cZWnNIpJJKeq$hwN(n<5dDvC=AVM0#Twnp_MT5~~N4-o&92~M*M zj#9Ur4`uC-Sw;6J&|4k`N06Zkw~9DB9Lz8RqBl~2s|u`Bw7!hgGDdOE$Q;BT;rG$7RgtukBE_Od5-CJW^i3P*Eo|+qdgeY0rkhn|2l=>Fm_>4I(9F&p%q+{y z3T#WPEG#>=36>t~=ebYOba^=uK9rjausN}um~Ck7xsFyY-{m zqmTu}WWRCmL61aY=CB%J@rUd5X&JH8*(a&1CP@vl>S#E@wSU?|GsNt~_=(PvC8I_R z{@zFBrfWZVq^t_zHDNSum6#{qBHu{bVJTsWU~FRYVw$PPGfXk^8N}$5HLX2nJaiw+ z7$qBB8t{o930sMm3(d>%)7VYX51KXDvq!!_h%DSRbgvh^t3}Zx?UAY;XB>~TSxkFK zl~dxZSO_`Io>2lIeE$__&)*_?EI{95Par&pWMdX%Y$oAnpR+qT zSsZU1+zL9Q!9LYBB!A#fsXD!+Xrq5G{b`DyIOC@qukuIdqv_A_YBTfOftj3TcDqWA z+MMffYenUH_pwCv!)rJ9!rQQvVp^OwnXXh@_k8>osYAn!s%NF=hO(DN>6XrAR~BL+ z!MJN2F#FVrK;Mt|mep?ber^5sHO;k_TyG?{rdx(!q*E$SfCA{<>$}PJ`Py)nHkfgs zhv*&kY5U>xHPWWBv4-g+=;ZX^@Sp^z3)dAT7S$wmSX@>dVA6DycvMS+L32biQ8`_S z>1*iQ{>|GHTGdvSQxxOp>=nahR3{B|WZS4PXgMje5bN{Q_m^d2{y4zUWI&r)65&xHi`(OP( z%?!kZ|7CHu;v-gp2{m*-vxLf=`OSVq`XITFR$nc*Y1}1t&hX1SkpD6EtTDj#d z+)b?2MJ#MgY@Pnu;OAoFYJ z$`5*6+zo%3OC-E(SwERDQh13{BBFrc;6u1oq~EwN(4g}OSkX3&CTV7t_9<4W%9&53 zT^`*JyuhC4wv#Rz4Qi>7T5Yl`x-PGoEwdY+XANLi({$#SN&T9&jC1=PEJoCiIz;T$ zYftn_E>}dko3y^;4bn89560OmxtJ?LK`?Ri4fco_du(Qu5Sd=s%8h@qsvsxIuqJzm z<^rVOP|V5qp-S+ZQ0qmG8*%Q2f5!$w?GRMUK#XCvzcW2})=r@OV92>6_ynfnY2Io7 zTQT19@p7H71I$5~7?X!NM4Jfc))rG0gGrseDap5yt3uPnx+# zf9Y$_fieUUB7~G62*}p?MT@T|)?gX5VH(1)E4Xt_#OaMe>+6JG)G+Y-&kEz~vjnT` zO8wQBL{;97K-a8*pC6#pgMqk6))GhN<($d7a%uNacUkUm*86V_#P1trj!;B|y^pzv z({1#C79RMlg@A;Pkvc{%n7JCPXS}tb;svYx4;I$)mR`*FuJuCRvqnIlckOdQZ6#Gc z)$JSF>Y}8%!kRZJhExLUy~Mz*VP|E}*_7Zgl1CR8n8>pdhxETF>aQkAl`H*&en?rh z3C<^Lye>ZaWLz>pi58Kr$K7su3xQH{K4&?oH8<| zKE4R4(LbaZXoU|NaJ=DU7r2MzzOhNe}_@#A}rOi_VnaZIs9GB=nOSD;^>-i5@R+f5co*8%9h88kqlZk>X`DBHwad@ zqn?I1D?BXGJJ&#(QePAkGb7J$@WQ0Bo;@8WY_U)tx+OP@30t9xVSU+fzh@=Os$settlw zw|woL0U%{6@n(6Ca7Kl7FWs@*-?F~Uz2N+CLI#Q_!Ws=Ujq`VAj5NQwS(htyz#ZF=zdmhQIXJ!Mb?YJeh&O4!9~$ zvuxn9dOBaGB%pCN$}t?CY@?Y~=TTi|8qGF&q5W!0Q7<#*bHw$jp(OB+cB=(I_Y89F z!x6`HO-d>_aO}CVPYeA#Y(22snp|9PH-MJ`=A@Nl5ZNX9dnew^5uU}(XHeIzFj5k{ z%vYuow3h6T1lPh$Go$4cFA4l1CB+g~!HLnw|vg@OO^JJ_|)7|!SNrJ z3+42g;Vi~#fdzsFgqh%EXgDABZ3uLIl6es*+E0+#{1rwB)6bmpX?M2#f)3VA>PDTI zK-FEOrSYnr1&*9L!nNr0(k_k*EP;j`hYaXH3TPqz5sV3ksFVp6SNRA7l}rdK zi_cSId)62BtH0jK%pum-!eYbqrhk4o6onXrrj3kF#063W`>vj20IEOCCu}9avOMxG zNEkY#KYRw;l#(Z-%bXm8XXxcyP$1oxQ?YVw0%61aBR55af-Xw8Bp@w=sX5DgAkoqy%4N9E^_4u^H_s zA61?y!}%r4@#LlUsRH~r*b>mt<%^Zb3{UZqh>E|wO>+OW^59;^ zEt^LpE1{d?J*3i0Z``s9llj1U)X{oTnqqcd795ihoJZ1~VZxxsj|G{MWEE7Xq9zEO zqFILu31#%#u7sv^_%orcFmmWw1M*33!dc3n?Ze6A=>^kDpF5V~MMsCZt4Wo{wIU-RAdb^9*d^ zjNj5XR;dW>ui%`qXh#VUnW zCdez=BZK;rIvV7_MRZ={H%{qN$k&{2Y-#?)a&n#sE2)cgA4Q-DYtD)l8e7)4uH9zJ zNwaB!|H_)}GTz$sRQob++dns<_uh2);<;W zoDM%dwPsHS&Nq2|p8(%xn_f3vFSY*`X!q~;?J(YuK|SB+hSe4~2IdU-uc?{uPR;v| zOl%bO%OTKuI7{cyt9DxW^)(GbJfZE-3o(IIn4tpfU_XrE; z7stu%t@t*m_+o&%90a;o22R+^a^>mSjd1Sv_nO`G{t`o8Zx?|ll1>ux;uY5s!x-HW z6=4;0%nt)9))ZGGmnfxN97q6^k?spGs3kWBE$t+U2UCF4jNV`ZB7xw7s(3;6@HUT| z0_q*Ju{-{BJ9xqvJ?ToKJyS3TKTF`LIaUl|gc{);o=lbQdhbLY*RXl0s-rr~1c&pyJAHw=dlFItOJvhaRx@%NI)zvd-j>nj_$2zZ$L)p&@mUh+e zRyRG^BaYwX=ytmC z_BOU{mTxXhJCdkRM;FbB?2!?fktZ$0t~IQ`2*PhwyazJpA%J}U1l1hlit~P2_~o2{ zx40%xrv&7l-F_x+Yam{af-Mz=+%4AN_>|1}LZeqE3B!kWuAH$QC??;a7T-3?XM6Ak zJwyy9B5h=dkp%BzL60jz?Te<^HVov(ZdkHR%;@P4Z3rXT=z+}Kz>*=4UKc~nfQA)x zsdqpQ1J(6ajh}wf|tMi*9&W%_9C6gU0bN8o=U!z ze&CKXjGwT^?pk^ndN4W%6w>fqN$`iGQF|8|6=4r}O9zsNl&`~1vCM>C%?m$ig{6ln zhL2H^eVaC?*Yo8uIwT~N!^^C}(<=o2*_bkHQIXMkL-3m$tNQS0D z$rbJ7Vb@|g-ftF|&<#(8OPR2AkE%TyeR zsnzRBJx^rJI1gleY%xcYs9arw&l{I)k9*Q74Vg!HS0c4h;!{Lsk(C&3e2SUxFF5yI z@td%$>7)g@oDe>=-g*F+SbimWD8co>@EgvuEL#0lEOIi9=;1!iZHEu#9Ixqv;(@xG zkr92!qi2j!sDXiE!3d^_h(;iHBJvcO7ajA4Z^Ip~lVZN|1$w(7mIitBhEPduq67S~ zE%P1hk4n~q%6h`d*>>I^!Wpp`To`=`#SqO%7{iiDnmMr~Wb&=uNks04*OJuGehj4# ztZ<&##ioPSYWJc|%~^Y17*V9qOuYgS@P0%h_P>=yi<%xWNn<8ifK?b*w^7Ud+|s)n<{qCN#=NW*vs*Qks+1y!0Zd|z2o?iMN$&d*6t|-! zal57EF5btr-#Gl4?aUdC+;%5Hm6Gh%Ug4co9)#miLQt(QRFmXC?HxsCIUz)@oOQJv zTpfmZKW%Qde93)U?>yL6#xetJ~8DDRaZW-v(#PdbyrDKba97yczp zewnW-R2?+0y{kj2S!JgM_@Rc-)P~3W^DT57a>3P$af1= zv5zR|0@_uS=-kFq$U~{@f!z1yjQxs^n}MaH2UdRkUE`~U`!|&x6=Q4GAb~%ZT^n9O;(@z-| zqEHKsF=evs7BSP$(i#2`o9|nSI>$Fs$<8@1-`g%uhjT32HdvCD&eLrj(VJ$NHv?w( zH@^?ic1VibT)!ul^fq^tneXA7-O)Hdc=Y2uwBwWX9{^Z6L{JR1G^|kRlXpw7nwnqg zB);Ud^K*H$Om1Yc-3r9u09_*J1LkL7T>li3QA<%^u{Kg(k*E6%-#6Ni<39KFIxM;D zp>h_zLJR6}!?D>xk*3XuQ{AQ!VNB~$vlRuR2e)~Qv(ncIp_lOA;r!>A|k0$R!=PAT@H_Z=y>=4KF>wx0+ z8PO-5oQg)3emdXG9lrbPmvvQjz6gPej{$b~HT`OO-%i#2*Wb<(vWSSBF3!72>}>BZ zG?oX8bCN)R$mGl3ok(3prCoA)0SJk56RKB$@3Yx$%t((vDuwK>o9_+KKJ?@KwwF8P~5-P!)%i|Q?sH`y-4rz{mQ!vwLISQ+@2=f3D!O$kt zG!an3z0^o72w%aSp%Xx!OpCp+Dgy9)heF~(>P5;MM;#o<^nC^EetJ@y(`(!-s1I5l zdPKmLVUj@UpQiYnvrjh7!TI+s>OaMOA#&BRDl6fzHvA9+JAiw)UE=bj{Hi&otQ5kl z!E2D%<2)`qL3J$ftNnwbX0*Y;k7>KUtMkH(e0VRmxWQNKL06f4LhNhfy85m6yx)7!e_u z$ZfMHRLjA>h2@XvOYXZzhr@9d@9$IOOM904sKA74q~vlzY0)ynWhr&3Ql`6AMEUS1 z!>=VZrtWVfp$*{f^!s&jIaLHa5G@>u#hMN3ICFpWeJ5-o?whX1nS+)e^XtpbFR(l7 zmkq)w1xU}%&RF9d#iMo)kv?-@KB$h%Yl5@G1# zrEl}N-&E@ZUcW8K-`8QkpOQAp+jTpy7GHcrCcQI)!a_G>(EVK#^jo3B{Y&W^?k6nW z4Yb2wTKsO4B$^{SO5?Ulh!v!Iw|lO}73o$pAEikoJVnXCrmRh1 zq$(v&z`(hG7y!2z%}thI=3GNLor@tb(boML)E9QCAc2T>rj}3`FfeWv`g&=|8Rhau zAWKhQ2tX?$7!FZ0JBhd(8WeXJc9Yrv;OG(6L;S%^G9=sefdh`5{iw&8P(-fwd%d1j z>awPdmz*MW&ud56{f;FsknV8gIjje<^mp8=lUd!(tzbXO>`gvjfe*-Z-Uyh7Lz%G z5$C389%!EBSsZ7Y`o5C$#5TibtBSJZB)KyCsahSe8mkY%-%py%O+A`6xjNnPYWXG_ zF&kezEc_IIsw&3eSIa5!Fvo61jKP#tr+3Su(+k9Rh0(*kCZ4*uSPZyNYI^Q`GbM+~ z!+q)si>SlJTvEj->U?uE4DKpX+{W3e!^2Ubi45N-8k?s`52@hMi>B*t+x}LFI!f1x zO4jp$@xPQEYxlA~?*eY4;$hxv_W6|^ug^^F;{RE1WMn~^750Sp!5tXiB+2X^`Z!Ub zDNkPdhosWBdeID|6DNNlkF=5gj69=}+fyv!($kmuT%w znb}L}F@Q+U%3?J5ZOnp(^b_=&SSiI=Fw8iSWnF@KMAQextbwzXFFCkyVDY7GI14u3 zVPXpX6r4)&AYrx zI{{Gr2$OQOU+i~PSp>Oh+HYo@`JTLBAM!rig4r|EqE99M$Q)- zZ?Wd`!(w(viDr&tukKDF;Gk`VnT^8Y8U)p!b7j11ln}B z%3N$MKFGk6LE`W5NV@SPk(&H`Ux&L}tEz~sCVV1#lPTd| zf1nl^Zstj|JQuJpJR7cyZL~iYl=zqQW+j8&yV3e>sCuY#q*r>@CUCH#*|CCPBDA8s zW?^;{*U2_2K_e38F=kcGt_@pJEoyOhrKt&FROT7KRPgel4oEs8 zLOAM7>XrmM&j*uykQ7o7LQ?jWZ)9j6#*T2MUdAaFTg(i+a~IJ}K-Vzgmv>6PcK{oJM+cn(Z(` z4}^fMN65h|HffzAk&y~)kN8L+*LX zMKrzL{40q~gtN>?sR$X6m`-|>CP?Sx4#je z$8G)_1GyzH6$tX%Q6nduNIeQr2^I-LOt??$UegR5I7~718(~9w5F+j)Eo$Q#&xYBb zhHFri>#7F*nWO-A* zioOxdL&x7X_fO^@33YAN*u#_!Gv03ZZ-1v%Ni0O2cAr8N#yt$?O^Z19GqqNn+uHmR zPCx4FA?&(F+o~6cca6dOgGC$K{%VN&!#j-HpOH-sK#UviIr=3)8?qQETnk2<&KuvSfi^Xk~fO6h#}h&!Qu z^}3Te8uBN^TM9#sQo*vw%RKB%!E-i2>Kd%D^_L|FV+UqU!rNh&L2G!D!fS7Z=G>^E zQslIO2EYWHO)W$xT|BIHo&6Qye zCb^TKsqloG8Hb;L4h-OBIm0mtz~GGINc=l701&wzB3miZ6V2Q#{Rk&Sj;Xr>O69El zgH-=KCJOAW-KGpdX_T*$)r55Qq=wxMCadnpgW6p$BEY}?{Vjp&Pkg$J!F#Sm)i5eFoD&5F zI)OyWdO*x*uqqf=2~4wk!SH;3?Ev=UEVhkk;|L6a3=i(Y;CuySeYz%Tsw!fo3zG!n zcCVT55kvjeDCMvBG4b@S?r0oTD$eM8-R$x?BLrY&iP{KN0+a& zR=;|d#sKEmX=Uq0eFxKBv&1TK|5ik%&}7ZL7>wVGk{@-W+Ev)sjoScn<1N2>T+V2J zw|=~Y&kyO#Un6rAu?H!&zXrtpPKxS6uhh93BvH|7Nyw>S>rk3%+fzgh(gi5LvXyy5 zzFj(jr8{tD$vtSzDA}wMWGgIX^cZ{O z^ciFVd#VkDI1!8w-Z2u%pybNOcQ1B6*gL>_@!1|Pe_8M4@U$DTV8|XVn$JhL+Npyq zzdJfGEk%EM#z+gPKjEH=du|5oT+D2|XQ%}w+>@YhI{&apz7d-IvF(?RBwA|nPqpsF z=2E`bjjB0x!tN#dWt(x#h$$u>aVJQp<#sP+L)VNa;qmBXwk^0EU_iVuB>@Nrg$Jw& zhB@p|J6givp%S6Dy(eD{|H=ylK6W_a>`ho+L6Nt+_<(|N=$sIJUe5X;q3&R1c#H@# zmO%wxgudBNkqVJ;giNjFG)$&?w?w&%#HC!~LznFR<}-qgMv9ZLJ@kTeN-$)Htzc)s_d z-z)($&Apw7{s ztejzg$PQ?9(@iO3HAW1Pkbcq3l+0~r3*;__IMSOz@aVW|uZ=ITNY7zbUIA zWGKtXyE9X8hP;84${*}{RSJ31(16d5XA-`=;mbRX;OlF_^a6Lc9VWrmByxTrwoo^x zMFlSO-fB5Es~H?tHWsN`EmElzV-39E?X}+Y>JcW4;f!+mFz+X?wKcE3}C0gvEvX?oP zQC)h4ZlvFam%I7nl7NSP)?s{|^!&C8F_skQ^poiv^8CG}jewS&u|QeYChO#S<~)dl zHt50Mdjhq+QtHY{u8)WZm-oD0;LwOegmSyFcufg`4%^ymeGe*FTqve`?_PsDqJ8}y zm7%7KzVwn|e=Gfven=j%hODGi)9?;9`VHtg9<}+{0eSXId-p>ax*$-T*mUvq#A?$j2!(7OZ3ccWlvvuohkgLICkKa zLR2zc6h%QTTCWrQ1X^|t(3aDxC-IU!h^N)sYyCxM=I+mOl;rMIBbr25-$RXSWeFeV zqt&nubFR+9iuCX&531Q8^XnQ5gJC*rE9<5{9YG1W9TMX7pw8Q34vp-qc8ofAEa3Cs z1eQ)w?-E2f;lr>HQHe5Aakh)#AD?{=KkyshOC78tB#*c9(%aLbI74^GMB89k#le9J z30-w5f9K6$vY+bpX=_+qWIxk8esx4qBjrPkK7+!G7fMIcAjjq$(>??5BU-Z<&*pf} z)UWUMq#FZgU1wBhvT*r``bQo z^L|4*WQ_dr`A*3G0#-_gYUAbH{Je~GheIU`q5LYOxx`78KO{|gwvy-b_mDWGwvI;l z0X3lRg-l20H4oe4kD{CnX056+Fi1=X(I{3G0;ex^9RAp_@#}*fb$<6(qsfVA`s}=~ zDSCx+0Vq$PF1nmdldRJ;qzCKe**U=Ws;w z-AAG5bNEW>Ukc*9v3hR(K53+7Wajo8ggSfhbiH3qT<8aTcBE+SDjkK_m1F;f4BOfd z0m&MH%R{G?%p_H&GZ6%WZ#Jt)jH1k$LQ~KYPYdw#e6t8z(MQJEf=%zYuG!xAXgTwF zf*cvgpNRayltq=}lZlNy<}Ia5rD}zK<|pF{nZL-vlfA>>bC!yLS3)F*27<{Q>d|~* z5Jj!$(UKKaq_2ZELwq-$93R5MSX}o0DM&irhOxb>2Gc*T-my(bf%x3{jDJ$)vc=<9 z>Y3Xm|JZe9jJ!;5*~dq4^9ibZy-ZG7KRWV`%xdLlMRRj={>%bMlXr*=ZeXPZ<8|M{ zeZxf@u@=bnbJlZ)>7eOKz*6<(#NV=>(ET+HpW2SgtjN|{qHT6MK2a7A8jGuzP(c7rEss~g09c9f2Nv^U!L zq;=4sClrn87Xvkf^E`txcoOqNOH$%dF1vviq|1UZtSV`+U(>m5`#8lZAw(a=^4&R# zLF4^ICXH}-e%1SsvtIy^bZ0o~7QI&hpg#+#?2{-7XDk!B>xZE_#dlt1KkNwJ)2S_J zD1YVoeK_E?J;;*jf1TU$*SeA-SA>S_-j{Y}5ekrcE3ZNkv87{wjxUHioE>RAwf*Ld z%>|KKnE$#eRbmsMxC~)wXcf>Cydl1Dn%&ORwOgC8=$9i5!5nkPMdKbZomL#mRIDSA zf{UW&UBQPTI};BDhZ%d1ZJQa}wr$%sGq#nnZQJ%_Y@5lMJbAx!?f?6_ySuu&)~Z!&NQB%mTebIt zYDxwckpi7UIL)pODbs+p1~z4SM&J35ER#CSU1b|xRh-QJ&JIQZ%&Gm6r%Ip%8HM|v z)yzJ~z@ar*LS_A=ZC!2Uu+&|caj6uwgdoXA$RKA9QI}~dnnprPFjAnvQL1U}IC&Vb zC5cJ_)<`VgNQIscvfJh}5Srfi$R!wbgF?MADHqmseep(r8Qyoe3od5}*KId;g@hS{ zt3B{H6AWQ#*sMM1?Ca>O3@&yV<9!{fcAM7=k!`b}QV?SE`4R;Joev!_1LN7Ck*QhB zZ9htZ16eZ8=CsH^4CevIzXpo zj1WbgFtVZdd|dy=y)x2q4zTz$_3Mq6`=uB3fpv{L~DPXBauBhHOHqFMU~c z&x_cGRbyc$q2*8@^(5%8F1u!#u?FY*@CN$r3bkQjB~rr}s}?1rH04Q`43*!lf_rPTO(o%`W;qx9#PZx{4PK%0cKRk$niwVR3~C~&lI z*#S!21ZYhMAm*tCxI;6BpR)7*c6hw6(RepXIx@BJ z$XL$xKC^JqwhS0bpe&oYq|Zht=qwFlvqK^Xf_U56kbnzrcCdKRW-v}=ov>&?PmBAO zUM(&GenLuyt;r97K>s0AO=?&$=8IZJD*Xd2E|W@YjK+gPIwSjRbr?+0Kvu@oeg%@a z27^bAU74&Yy6{P~ub{f*1M4F0(S(qR%TYN*)ryJ3U{-rpKlosltfE7vESVS+GsxZdx~|sOIh>` zllEmu|HNwZCc^1B`R{ga9!Q&F2N{7Q)T1k7T2u*|g!^GAOnvPV*+s+Gcvcgh@APA$ z^$=}tE`L4a$0>TwmG^17*#f0Fw;cX{7vs*_vW8OV?mH@{7fu0dkGb!>MUF6psDR^P!p~#+Wf{{!|ex}uOD&jB3 zL&7#t?i%>UxdnA#@vLy##-v(d2^KEZy*}A=?6zl;vm;C%Y8ChkMGIu+P61~T-rQcs zFzwfqg?B(l-_>s~hc#PK?^^zdXZ5hXZ^RjmZ3A}7`Y!(Hl)9OUGd^>)IaT-epIpyW zq1TKj`p@g@X?sMGfm*O?3k2v-6=ry#BCl>x`WBB$>Soy*>Ri^#%S<1HH*@nyfl(Bf@_^LyewE}bT? z4@IjjrsuBzmwnNB{rYtp?3=j;_ETaDGgs8I@N6#h49}GKD`v> zCCiag>Z1YcT%|XKd%@%GM}NG~I`B3FZiR%t8nj=EUFDnR+)i}tTR0Qy=e7v6vDrnq zH*v7g0}AGnj+PPolkI_0bt%Y)SBw(rRV1|U5sz+VkQK~wxFh^CZ0nDK57@KZ!*N@J z5%#1qZ$PExuN_(HTDn7f5vbapzN!Lgi>F5M(x+3)zSgeYBCXo*%Qa>bm-~mRHD*7e zt#Y45k4CZPtKF&@HG3?-gu)*>lmx0M5Ebd3>LK#dE0;3A@vHzO$To*Ruhk3c*Z+uC zJYb?1=P7HQf9V}v^_N*&P{OF}(=enC{gDYEes$n;;bRPVnDT!M?Z@zN2XqHw6CUA` zKtWQtqz%7?%FD7~c%B(|3$mB1uD?bAqi&(-7i_p5m^awXF70rOL}>8%>r)8w3zMgq z9i_>S#I2TschzCkpKC~WI{^}xkUAgAj3oUzpjH$Jw8IpI*2C*PR%N@UWWUFuTv{u? z9W*>-CQja~VO#xRJZ_5Zy32}=cQxTVrqI$o2gtR=$}6pxq^GWOJH*`D9M`zGFP&?D z*#`WHnS6zpI$QXAuj}WT9})H4{E_Ns2}=s~tC*P&K~f6@Fyfn9lm5DFLlFM@l)GqhAKN_ZFqINn^Tr{3L=h?Z8THE zt5eUrNI~DX+nm@g80MO(omYBpI|eStf)<|}V3mUtDZdX^oJNE^FYZXE7!{mwcmfgi zr;;?2tpvClIr;wF3J!fy|1lI#|5tns$$f%sF$9?_5$>;M@*tJc$HECI;3FsBq0{+{ zqOvP7SZ2(~$S0&#Z6kgRS+AlWjPJ^(_76kBoIt1Ry!bo1h!7zD%2u$90f!?ejjRw| z4E4(eO82KOhJyK#sLr5qE{+M=%dm$v3EGZX9d!xuq!;?p42?@5X1QoSNvolv^*ImU ztu3?x7w_k<-x={HlcC4kou9m5g}%b(^;#Sqfe)zqaRv7ng25H(+S}@{A$LE>QT1e?bWV_vD%RkSF_`d-DhaQZAy)P-Q79xMC6G$|4H7eG%{Nv3qFm(e90H7k;VyCU!Msb3WYT`Ydq7a?YacTN~C}S56I6QA2s{Gmm)5M9ZE<1E8(Uz<(-#UIZgQB>> zGG+Dze&Vl!r&a}U6CPEGKp>mVzl`Ji#8`>TxLOKECe-|KLGEGxLl;yFU8Pb-{ddc&mdLR5T~5|W2b42W4hB@AO=N`zf62*zyuUx zyl>J0ie8JGD;7qqWGT%<5SmzT#GksqJXpBBn0`P`f2c`112YLcm;%;&(VIwG5dfuO z(#mi@cgkfzt8duzz}R20LiR`pnKm6LufU~XdRpRPVwx{?0 z?AA?593CZ<1iGdswZAa)&>({B;o#{qFT`>2h|p{R(iJ<998wPV-u ziHS?mM!>J3pr6#k9t6fFUG#$xoGHk4}m?EkECYC8Nhqt(LXH|Xy*-twC zSI~}}PAZr}#o1pj`HM}iP|9<{3csPSgdh?wn##%;0zuMsN+EHSQrrnYIjF!SYHoLk z2a1d^5$Xu1Cs&Y0o8w{fAKdild{~sStW1p8fNl>mtsAmN^5gYMKn!9N1|jrzxk6rM zrqmuc>xFJuMK^-GKft0YkWq*FrBJbB7mIy9YDi~^A9#9qaF?a|{xXS-!5A&o1{a)8 z%7=E^=R~fT4^@tj@>$5i=7pS!CTC>ugku-AE~z%2L0Y_iABioqLy@#eEABQu;!aLBrY+s{Kavg!@8hsntMZ%L-SM8kqM= z1&k80Ds?krnSFB{jNuSbTgDS4Y>8%Dv-^%=;8N?Iang#-5>{7P)yOP2r6?>9#JvA; zn%W(*J)l#&K;H0j2Mq$d;naHiOo&m)k71wpABUR(;zthcya++Wr6j8rS*D)$$h15G z+hCGyvwogPd5!Z6&Q$-U2@aq{&}bdt9u>y z+s8DU&@eHE9`Sq=3Z%??aNqJnlwTJe>jBUp``TRDZ^&TsX#7K}DCS;AR~41sr}YZ^ z3CPOx!uN3iB49b@LW*j$9?N>)Il%1Kuk{-^XUSI+C}KbrS_Eowl;^rbN`RdciZI8J z=SR)w82b*!ct6jO{zh%zw4(900aG^s^A{)&%Id;KP-3Otw*KNAu@FsJMtI>kYdSF` z-zN-wXh-$j=HuiCxC*X)7I;okb9mHIMua+F)}(D}AM%iLVd3Vuc)2cGt>%OY!_hqo z^mei3hiIvb^qe${S+?-#hRCmW@Wu?r?+VbR%1{%&@hTlxqJG!1(Xf*XNlA)i`I71T zSx7`g8}@gbW_9sd!vS4<{8eGTKgcv%Q>HA{=j;W36MK3{ripKG9;-zEv=?=~mpBJRtQX3KC_{ zJGzM+#M$#$P{-ZH0RG;%cR!x);A90-VaM8tm4DB#E?ha~C>M*Y!?O-cZ^YX$Mg
)i>T>lVzR#fH{us1rAvHoj=jQN$}2A`zw`Jm8gd-zg2z z6~j6vWr8+X0EB_{z5lm>sL`d$^Lb-kfuVW01-1d_Vb??EYFu=#&??^$MK$A5c@YI- zxT;hD;!TLMvkC!2h$3kK0}Qi-)hsX_NYNTVX8#Th55nq4t<`@w2poOK_9Bd-Q(dacqnk{4ea}{27?7UxFB1m0gnTE z1%xBK6X)-xpb3Lh$7R0$V@Cy58qXJ#CB>3gJSscLOAfLd`z{!yL( zZT!}WDN@SNVN|Cb**7*d1s!jw*8)@}BR7I8jKA4`=b>w2bpjVQ4*oH)Vzxyk3HA{@MEYB@Z3$b+-1$*wL1nkTppzajTOMS%(!q`48h8l@+`o$^dFZ4zV=9x`c>uYL{j#*CC zPuy!xD-les=)UScP5MN+`vk!I{v@Fv@4)OR^9GtmcU34#9CzB7z}UDf!3X-u_+d>r zn!=GpTB~Ad9)5Gf!4vISem|BQfvv5CGY{=4%u^8+8}JI4q|Yx^3>1Yl<=Via{ezHwlZdiDn*ih;_NOSrLNLB;UrJz&;n&NU`=WmR>=kCA zj6;@|)%DC^PCFU-Pwj=)g(_d4qJP6!riEXrM?6XkCMlv(I;#!N2Mnh&B~C-Kw0rFs z9jbD)K9X1$tUp@Y5QUpu0#BKyu}L&$ZPoOpELvf!-(t$h#rZXAp2awM8LO&g;+sV7 zjV%(HsZz9;Q|;JV%<~gZ+P+rDt{4)S8Yp!Un^10eH1o6JG%K%O@h_ab|C@3f1e{bN z1beI9A!O+;gN|WNJ0zmz#Ca{G+df6q2uE^LLTWVJ|Ln;W+!v*{jwE*4{s~~>dhsQ; zYMJ?>CTvm{!u|q~3=rI+ziHGX=Y?OG05WaQ2fsbFMWC@H9Q0KA+l*N9h^{A>V_Q_aNLuQd3Z> zdUhobz`4(QL0MEEBSxbCo*8gEI8)_RpEGCtF6%xLOXtIMy2*h%L8Q&g4t z*t_M~nb>RA=-&)rwM@YDEB~Zb^NSv(l5ie-xOPgsGSt8vjmwx15*aA+j0BZ#o5ga% zI+m(woYb8`;bgh`V2Y(;UYf=te2wy)AqnaqDC_oduRP^areDItt5CNFF7mksOnEPQ zB*a>IOG9O{G$Nuxb$hA;3HQcEKgkNy8(&>c-ToDP=f(WT(&|;XkcG`k^2(4;2UktR zfYV{B3h>CnPAW~YinZ`-62ZbQ4IP$%I*O!Db|~z<8>YS*0)y%m+XQZMkdiLS2K7u= z12a}WQhv5D8@xujj`2D+YMl^@cB#L)oUIsWfv~b?vCfOU2Nm`wmXQ5(rw@KzMVg22 zaOBk`6aXw`+q;bOci*6@$8t^Ep1xcYKWjhs_?awV=&aH@fDS1&ne};1$ zv00~OcG$b7=xjG>!5KsdP>Ta6kNA*-&-v9G)kf-Hmj;E3#UzkngyzD%r8* z>n4F2ub%YmEH95}^T&Ua))y$d`wPmvZr&UI&kG<5;gKvUG;ao87QWYq-OAy^n_aO1 zQ~NFCYl0}3FTBf5Zs%6-9h+vR*nZ^wTA%Tm1Y8uq+F?RL%Y&-V*o zbM!CaF5~yw&=Y&0z6eCg6e`OI9OzU@idwd}4&S%z@aVUQHWM*#%EBF48V&0H00!>? zY0*Zu+jTX)0V_RDsY)vLaSclWO}frQzxYSEzZ348-q6mn{*6~6M0LtXxfQ^2iviN# z1%BG4uQmp1?@#)9u7JTn8w-dpr1kntkVAfEqZ*4p?k zD-N&&C-uUd>m~?Mlr<@OjuAfnV~%JgXGNtQn5;1)NwN|JNPo=l0fpfA z0glfX2`~gL2A1yu>8F@Us^>Q;{iCGRtFI>%hYF}JTBxZxX+yJxplL;_j(1WE&Up*z z+r~}3uu@y?f{;(&;cv%GwRm0iC1oIumdMC+`D`e z&(&2C{#B~(Fp7B%Ai*E1IO`xORT5CI( z&MYcLv~KUq8V1LAM$@oHvE>+P<8(y2IjW!omA6R7EWcBqdS1^ zcU`es_l`?5+lbG6k5ZbH0Vx(1KAuAi=9%Tf{x&*mVheSsD7z~U{_zPAWvjH!8vYn( zcQ_8fHzPr}3PW+PRcNSdMd?GAqO{J%=$|Zrn}{;2JMSH!u@vzerxwFx!ZE12g|(7i zn=7>ssv$@3CKfTSN5lISFYWnXjX*0EFb##6AdUQCtr(UW5|tju5^KFcT2<7HAQMs z<2KdCFCbVtis`J8_+XOGu)0#=IR`RHD;y7BYJ1$by3;mNYI! zv+f8=X_6XY16>FGpg_5dhyW83!VJLyZ#AKZsDHs_Blh=0ne+`>O+j|{9+7_n16(+b-6-a^M1p@;RSy-0|l_I8;;27E{wlXW0z_{KlyK4y_Dpvs5Ro zlfGt)DJ-d(6zvI#g3dxJJSiZe!O>jfocjRp7^*4zNzKaCgVpGDWQC%TaH72b;880r z<*WvNcwCa=V869v0ChZBbehWdXrnjLK?H+(gXNgO#h6I=hH$_{-*lFG@9Z{WL6;84 z?ITQiby&vglVQI7NxHoet%4v8rb*i-Z{^Qp^)7}LEE6G;`5DZ}+m?<<+bGZz2ZVQhMS<+g8vWqG{- zjf7^|-P>Lh}AxPc$!o0vV)qRzzrX2DJFS7_5GxwSKbE zOjc1ai1%zvD0aGL`RoR+cMNO^!gW9T;y>X2TZcCL-+D_^tG2x|n3%9Tc_T95a|_bN z1M%i1eE6N|JOXClwf@06UG7l?EPa3Xq%O} zbokfsrTnZr3A8%R_P9aKAEs4@fRwaix+*_{NRU1>o`+oJO6SRufQFgu;n^HUZBEvx zZ4m^bE(L9O+5rB6NXcoSfJy~|vwtYnzC$Umfj2G%sLt!6oX(T0?vjqlp&glIUVFlO9>&>~ z6D(anqZq!YAQe&9nf|=2w2%dICtU=C-$rpk5orz9%m*f)GJp#d#8OZvQq;V>Bc0U! ztp2a4wx9UgDKeUb8PT4A#mAe5yrhMJj1$!}C=(&BxOLp0_h!@E@ae z7e4k}XeH?Sex#9Hy!Md5WQ1g@D78$}D+=~hzYYjsM58JxX(XZa|k8hHv&?&OCNDvbf!ouvTs>|`TM>{3UN`-85dDupm z(#R2q!AzM;(1uS1!t!2+`J=(@7nvrmWvFA@D)=EGBzTehNkl5H&{#bKP}Ik3l=^4o zfdwAu|EZV13d!Y?zon{8qtO(S;1BJqMElq5(j$6wyz!OZ3m3EAAj4sM^$8~D*x5>B zn$@YSxJgSaokC~-R4MW5B9*(`WXE1-n+of@P~15O7&bagiKyLt$a)sLx@p2rX%0$M zN6Gg(1}FK(*q%RPjF!nl{`@#BC zZffWM%prD9mH0}?CmlU$VnTBZ^FjNd2^^(WW-DO@x%Y2jtc`|)rMzqas~7l0);ln(lK)dLkPP{ zj?G@Dkvr?z|7)&)wbwzRou?rLbEsZ!r#_MJb4f%X%@DNlxHW@TcniGIM8B|%G6 zOFn(t+)NbODg1>NPd|Zj>$p~gC2H5BrNU#0_{BW))d{AP@)eb#RiJ;+s%{WC*2p-r zkU+Dy2%w-8He~2>Hh%d;{-`bA0dlDKwuf#_HirxFZOzinNQ{JTFVdtVzQ7mh<>TL7 zkdZ0q?~G$zrKO<|sU5N$1IhIQ61b+wV8yST!r+T#DyWDB8L06l^8Llod8J!TE(uRc zAP9{xacGoZ5d%g8GC1mL>5+r^AQD`P2F_6(wRSguQPAAjNW7G<_YZ;CDtr;d!6x&S zvV9EoMi^HFKG-STROwW>YuEs~ui-a(QyOaAm?FeHjZJJP~%SpNBA7 z8g75lYQg^Se3hLkTrnqJ6ZVhJL@{ITlsqC5m2T%%`~NDAJ-|sT5YjF`F>2_r`Z=+Z zfk`jW^3Q#WMa2gP#OiD$88$N1Wk^GDd&HL@0cplR`zLC;9y;?IWg&~^XK%7H57>1D zYq)flye7~U*DM1Zc2vlF3$=w-VXn5c=L9Y#3hKa;6#hraXk~+B zqY&(YDx@h?wg?>G74kh%cn85&;WqW>wCv6NJ~RW^@JvF||BQroc+U5`A+W}SaXj|` z)SCoiahmHo_FmubD*ZWRo@8}H_KzoQKt+q+jOm^Hx)YhG2 zqaZMer<$^1g`Y1Ff-L`wp?WX*1E#;vg?Jj5f@mnxE9)P2B%XAbh=Is*=1q~MAJ4aw zbs%vqPSkF)vZ$ur&smM^5OU6L*&3@^EZ55;vPQ9RB0;G+GLM#JvdvL^nNGMdcvcJ| z(n_s`=Mfu>O1yDOikGCL2@rHh5mS9+wD@7(l zPl<>neO#dpHb;2zQKmRymN+E1A(1uA2e3(oQc4vCA`=mbOB*<%GR|@qPmg9j&9q!y zhjugn<0)4D@e~tO5Z`zC4eM+NQ#C3;eT(7`G%U$kAj&NLj4$q-jfX%EqiEgYEFkz5ZQB7Vv6;fN2YY zDi}_X2h3RyUKeBNYYs;~nqAI$D-ZA8)Sk%?gg3^{!Evg)Y%&TiArsuno_L+c_yC=VJM%KP&aeBR;iL*zE=23%!&r|M5UvzklmmBP1SJNsOBS=%GWF`k4-rAhp zFYx&y1)1e!f{qw0aq0aIDc;1s?ZCad|K`4{@OWd^JgT)q6m$FMZf6dyoe6@ALSWd9 zT+#rEa0~wuYAzY6fw(!+FU=hKO9*EdxsBvnhO>>da|P+9eCw*y4rk*Ee|V0*OVWFj zh{y*?_?`G>uydSmubwN8J6+U$72%I8!W;ZEp{E6MOH=@g#+Vv9=Y4OU~etFz%$DuBB#`>v;?N z_WZOr9|0y5qyavMFX&Ah0*KNq6THA#s+32Z{j*n#E$f4tD)J{(*mx;js(;A9C`1Tq zw`p!tl?W^m07>24eRy;_~8*#SOG6~;eL)NZXMb9E(^SED{$(jVta0pl> zC!4Gv8d<*AC>(-~rP+xXV7}sW20w3vmva4$G+PU3XI1|=XExq0wL8?!$7*8Xk(h#h z&HajFRfn@RC)o33;eOgHTJK-$<PXE66x|} zLI;;7#tD?d@2>sVW{w8=!`cW40!VtIdIz$>1w87KJ%LT&q8@d;UUt`X&fu95DA-W|PF7u|l)yT1u?eD)}4+Q@wOM!UpO>(%r3 z{aBL+Lz+xD(rXlZGDzBs{d^v#{$~Bn>HlO62v=wjPV}0q3Ors!(y-1%i$#T5@J>hs zXnV#Ql@EO4H_7vYkcU_L@#HDZml4*)PfG+epj!YOV)0=;gJw_oIdz0-ZEuhT^zMkV z+iM{Xj(+0--;}~B1KLNX%1Z3LXV?4=H*8e=jOtEMNThC(i|?`K6oYZwoacERNU-1@ zyfNX2@PqyD>86UJRq@KK!j2)|wF`hwG0%q=NF90CHNf#od}7kH{=IDc#IP6Ibgg=`wN&F zwVcM@6A4UtZu+hnE*S~FvQn3*S{c^G3aN~!0-_yCRh{&VmU%G~E|9YRP{VTh{Am`D zEJVg9Hd!7hcvrP_8Qlq;r%7*Md&t3xNj_f&=bk+{?g$=H)g+rmO+Da;BD@C2yiycx z>44kz!9DT~a#z=I+6yS%Svz@ri-2H%wVDu`fRC*I{B4KO09bH2D|GH*u z1^gp2>U++v?vy2wX#GBmNM}U)d!mXaq0}V0q(af2CoUiawydJougwh^J6PbN2^nMI zAlfv^W|V2>w)JF`;i4xcahyjBmKh6}CMldesHzbML}>+4@bBC+O}9^oQ);Lg)mV=- zA*f;s_xdy#xY*LFNv8R(d*|fg``;2#!1uPyyApLq8w3p(fZdII{&vm!)Sa z@CfG~eLUiQpqe{VaOCx)L(y2xrP)v%-`Fg+|=nbVW-} zxKT&P{gMT4_Hhzuv=-9QRM7xikO6z1qKqvijY%j&mD!G#pMDTV(jP-ccO(@i&$yx$ zGJPo^RfR9?eL#idnJqn_X#yD)fzl4Gk`EO3B8>A+rQfQ+%mGscbH-q3eCP`z(C9GQ z!BX+o9%H)C;tg^t$QjKtU@hZF{Gr%Iaz&@_*HX z-rs7LRPM^~$^j|F?VuOPiK3KM9u)BGldu#2k6ZdeK+w?6%MgN>0@Cux zZvaqFnwdQr0fLr? zH)4~)uTIw1XjawQiWf;mrW(_+cGV2`|2MYe1f1j{1gCEfW+spbSO}mc)i>lVu6_z( zaIBWRZSwMM^6F*Yn429tS~F;&*h$JL()TCD-~%hLi|P96^4i2~aGK$yJCW?p5``?$ z8$FOM^gMl3Jy!FIKGCFKTp}5Z;zejn{SN}P@Pcz5fg;UQkaMhc08y%*qoO%U8eTQM z$^>u!$?bZEO`x8*`uLsvbKcBEHN_36dvjs91hy&3L)wwPcTz z9%=imt@%$=Y@Tb7)9sGy?RQz#9H-d#T+w)IyAe6K9;yS3SNQZJG7b<1mjy|h#LjF& zSr77&V=Y=B)N2y3Z@t5Jy{KINM0JMpRjM&{y)FGDN87|WoFL01Mo(l6S@MQ-QNJzg z*suo}y*-;SHo&6N7p>_g^sj+jR+#%em{z>(`X`pvpO$6!rCF)W6AF2@Vp~YvPwDBZ00pcWT&^Ft<|Kqw&>Y z{zmQ7aAT!@F_vDvsm+ivTE}O(AK>~vm@iKun41EF@H=lL$E}in@TH?E|0(Nc+tn4M zSn+=OH9oNeqSNc+WX+vMq6_JI-JW9{2Q_S?sR0y-B+#M8^=_`>lb9F$?`OPNE9v{O zBI2B=JNN@zoL%@mG=}1zK|~{7Y^K_s_vdz31wr7gnEx5b$nunGkgBmTK7oxpQ(6Rt zGB>{AP4h*8L?PHcKc@m5txb&pqKcbD;>!%j#`i!l@z0h9^Ao9(!!Hb<^=fQDwz~7o zEAibvo6A|jVCVBoys~}^3{x9uZR~m@n0I8JMaEKQpDj0y@tIuM9=3}q=U7$yQHvMfwBSf= znF+dWDjf*RHK-2W=KVu1%X~ZA$h+Z3@cZoF*560~R{4Mp*CDvxn~Tf5qBU`XFI|6v zWVpK{0u!AjAyCC%tmyxtKbd`T(l;|OEm#)IZ#@Hp8>Wop!$eaRfDrAVfOiQ-ZqUlm z@fJy?_Z!$!B3ZB5{Vlcx=}ei)m7hIdZd&q7RqmQ`M?v**PwGz;JdV4p5GX>a215T$ zN3tZY5)6u3VSApUgKXx|2B*s%K9Mn*zlENVy!Gkou0gUDv!>6Z9?`0TGRSbX`w17qR}Jcx~GP4}&q=R zt~p*Drq5*)D%^7m)T)uG(`IJm2lHtY-u*P&|E?7f_|p=EA%IQ0LO=M-hd)u> zarZ<%*YxOX`t-(rPz}XNj%B@Ab7*s3%Qd2aVP9U53b?o%^q!4HHv)8>_RTokyl+!t zdOuCKi{!p+P!YUprk$DFLpHH*S8TE1+n6U~jcM{5A=3hSAt{qND#FR~A_5W~TEvng zCRH|nlUQl2E(M)|EtaU(sT!uz%GJAG|(1qGID)-uxkyRCan z4EL3^QOF)=;4SwjwK)L-RkrNea1}mR-=0Y7)@9Fa^;7P@Ro$$W^mfA_!W>qqoq680 zDMdaGCjHV}T0Uzw{l&zLx(+Gcse&^l6!z|X27_=GbKO<`kw7lquBc#RtH$D-wSHhm z?tH&VJJl6SZ%``-k;s#l!4`2inIl$?-7q0vJvqgE$B^shsV;*?3BccXZ&2mK-37!JtslDaWWx6F+YnKv*1g*_P zkr5DiJMU~-jqs)}P9IWcU!dj0DlJ~tNd0-F)LY^&7vPl)@^0Gi2o}KS+M8Du;zfkz zcjaGj8kFH{g9&_BP-{JBJ%I;ATv2SUCXC=4q2oyxu^hOw=1)10&o$3wT&b3Pc2#gq zw5s6{bJ(5?|JZ?b!lev@^Kys6ne>Cwsa~pUq(k}R4O|7?l9Sg#RE!}AuGq5?htgs| z0(>GOcIV;8uJdyv4$M0%+?WLL@_rW+Pr@J+U^@MWq2OS~7}~kr2+cUP`5Xv`4~_JS zCPfxMq(@fsbf*OFgj$Ham~z@W&wsuO9x$a zPeEe#Z#3T@8yi-Vi0Uq#cES;bKALogOHjYy_s%)~m>r|GU8l(!MMCEjHl{#(o`zkQ z!W_GqRSFHQHw!X+h7TcKvq?#_5UAT)G0${~C}QPOhN+IkgS&;3yQU$)=^tg4};?CP_Y31al_ z`#j_uQPHX_g(vH*tyi6b1O^>&dy}Lf7=)B?A_ON-JW^mvl{TuVGGz+C?C|CPd|U5l z`*B};WH)J^S0U$f8=P{drCGl0;z$DX;ia&WqPFB`Ezbkt$?|wr1RbRdKkTknqsq1d zc?O;cW4gU6Lv_k;?>=q4f9H3LW=wM*(5MCLr0uaHy~O*JsLNGWVr$~?|3fMU`U%;*Xwfr(bxbA&V_`CGXdvjb+MB+-Q&G$WZ`}nfs)b9Tih?1 zevi+v**sU~qX4gyuLYVh*Di~Lr_x}3Xg>!K=kC1|wTVN-yg^~EBE zBk5pCnLIN!0F4`oYcFfk?HjNY98Ms3?{Hc)E#c)nqFNv-@6=UK6QUls$V1VCGon|V z@#*xF4^r0m_OK9blh-C!{63Z3Jl1-xzgfE%OhxW*SGIB<43zpf-OplGJL%4x>|?KY z`F^W+{nLMLo0)anXYD^OExMXly?GplrV${9$ew4*S$ zx`Pu;R23bBw%1&<3iM$*5EraxvD|6_AbF-a}$L8y= zX`Q13Jic{ld;Kdg#h(^O;=eydz$7wVMT?$pYyv)S?>(r^pX=mu*Jq~hTNnJEz3R^^ zFCl2V;y=xDLH_Jg)Y^dz`ic{J6WA~e0s0F?BVDtJ6r&Phu6`7jL1Iau96KtXGhgmAB~w?78&5^h9oCCUP~j9f8c2VV9Dq|blmoChy*{pY zO5DZT_%*_qzaJAr#WxsqEQ9f#&~!s*PUtI*dmz8C>;Ygrzm|br7hMPA#AFNA62uG6yI~tH!H_-DP68OB}te)j5!I6|9r>QwJOc zx=2oB8$8zf8t1zbF(zZ!Eq$;Fn~*|bUJ)ru(>1Pw0nvWUitEKszA>izKG41rV@(vx)UgpC5j3 znQ$<2%3^e#B#Fda2nxs_7-7AqOplHDeu0I;0(=(^tCA!WmuR&_yH;RXWoJ+Cqq+jb@n2}!dIL@I4zHw6FkwpjyTtS zuNFiHI8qk4dNh{tn^Vgu=|+_uolR-o+TvqNO z*0uJWeW&E2s*sL3ft1xmT1{Xi5ny}+ysEOAa$%_$zh>&ZCYz%Qk?-a(UBrZmkrYWh z)9TzZxJ+eU1erKqZxq6X*xZoe&qgpoCNOn_kR$ODO3h}@^2-jeObs0+?`8#XkOpN! z#I#Rx3w!cUJG$hh;pLQO%!-a4In*LG_It6`V-JYS{b5{g8ZaQzc&nI|1h0WdGBE2(Xe3j(Z84;8X#Dz< ztHX7@K}>zHo6v&k9+-t^2~?LI2o=p<2)jihl`f^j&qlO!*)ILWko)ZTN}%g5M3qs8 zsAKLtOzhihg=k}0!<*;kzPSDlu0QAL&SsF=h0>60CJC(QC#x8Aw^WDAJJI~NtG0@= z?ZJN9v09y28P_#6xb0jo6;51{+FHNsfQNg*sv&x;hY>{fi(cZ6$aR3 zS>HiAEzjj#*!{BO1?NThTm09DaSkKy?=~{)B<}!4{74%&NDC{W^Wj_GvHl;4Mk zz}ENU?F#=odsiRUUuA0-3=OI?EZK95W<2uOmp4qDSRBhJq8p#BYftt^xYh8i{+)|A zLG{{o+muEpF}{ba36tbyTo<10$sN^LxbS7p3GVXYtA|@%nWHP$!2jdv8`$eyyKZCK zc7q0uZ5xek8!NV*rm-5^wr$(C?UQ!D-}wXUde-eZFh{e_c=c)`Q!Wlv%pYP9@|Kwv zujfQA7S}4(YS$#2cAwn};uXR_GqdhHu#>0d$C&p4&wQ4ID%?@#_NQ@|xTV<;(fIQ- zR*NMx=JHH`aq+u^2&QP&-)cQ-$~SGRn(Y%ufUZSLWk~s>(HX z)`1~~42-l{ z(4*5}16CTM3EIyAx;(jSuCierp$j&2r(BY|)a=tCc6vVBOZMQyoRj@= zBL)^LR0@0<85VwomXLgH)?kCI6NeCj`pg;g%y6fWOiVBNy}QYsI4?ev+B3Z&FU$<| zd5(*=M+YZ0AE!S$vg*g%4v=LHBQ@98OdvZ0)JrgDF(XqR3$m9cI^>H>x)7@S@SyQ_ z%^gHGbdwhgMsUQ`)I>dL7>Y>!2Ir=i7D9Dqh2>N*okza^s4NP$b9X;0Vs(GL&!A3n zdg=Hnn{d>o-u3taglyg8Bng&g(ud)>%Ww2j_^6Y zHjrA73JzcBs38K|(ohq65Uc~X%Qa-f6TtKtviQRi3w2$*KvM{ckm=egaq5rWjk+h> zEL1P-)Yf)20~RSD*q znhSHb&4K6Hk~u9h@?#<9r1{%Y(+fl`=S_sJN=>0A7d5p_S#$vAe6zB`Wwy{$u5Y+H zFcDKtKB&7SMayR@#xN}B6~DM4kD*?K_38NLYs<@^+;LxAj3vNLV_c2Dxf*#e@Aj7Z zWVk>8f5_}+4g4PN&iwQZ9bbs+-2DYjYRw*mOy9gxUl zMlcjt(vZZ9Ia&NzxE;|cHGhyROuwq)XjukEe1tEF-BcN?Lv-%aPhS#(Dhi_s3q6BL z(i2R3tMbS--@mpk+cJyEZ5K`xhFh73<6i`X*c z4Sew_v2?eeYeeHD(r_TX)x>^N#9N{>x8I0y-kdo?eNVRG%=?JrS&^{wnaW~US1zwD z6K9=RLD9%iS1tQ3??92?Z@D=uv`gVczfd}RW@HE-At;2UojSJ~$o#3wv&+e{RJo%h z5YaD_fzRt}Ns-&_D!Ts%Svyf`$v&!I!dn!zg$yIeiA|QFAsfRat@!?*x<-xS{<(}`QFg$NI^<{%2!CBJ% z%2HRETx1K(-^K&hFNUf(;Ih+$w0Oi*xY;n~Xt`SfoIXk=F|n@w>)_$bA(i9KXChsv zi{~8M6d6xuG08h7>?}rt&dnIRzWhAG<-|E&*nKLk=&+YzbEz-)W)@ymnqvq%4-C-I z)|kdA7{C17g6F{zKdPQ4E$Rp3A%dfD0Da?ercA^JaiAzkaF75DV4upKwA$({pm&7) z5D^VK8$Cw9xO-cZd0&4eTx4J+uB6#;KB%-_MXNTyPWvj2Q$SwH`BzwpYbipyV@j+R z?23BLRP^aA|6C7X{TdZL9CWpGBM?pZ^OKA_+cQaG>&pG!l-I*%Vq*ps)k~87oj-SO zh&wX~`W_B}U1mEZ$%YaoiVAAxV!`THhNB89`?T%BqEmwX&R!bx(mkz>ZK-%HMd{?n z#Yv7%W=lR6oJmkosk-O45C{kcC70iNYV#O_D#@QmS4}s=12??lcDU}-veMPI39i;4<*rpsyyMG#m z-~TiPyPZQIkEeEIqHnCK7@I7{6!6dt?!1s-572TAs{X<7+JMb`ecdG zya?hoW`t3MsSKOMOjuR~B-GwkwKXO@O@r_n&6%nf``X1IBOGroiCdp@W3;MDijF>x z7ED+iG?^2~zr4YsEkid^^^tQh?Vux+6&M<*`NvpOuJtLyHh@h77R-{SPYG+>w`1GJ}x&`P!?^2iWHG%}Mx)h#=mTKC}HD*i+iF z*5=Q+L6*7(28TEpH-2u?sn(xAk+2DhD_-TjGN_86vUGX?QJ7DpsZ8bsGHaVZ0A~xk*DZ+rh zj&k@Ra=6Q}%$64cHH_HU5k^eAnNBgZ6&N1)yy5P4P(c@KCaf$i;*rK-Xq|*77O*6m z%*xOl^>{}a41LfZlalLIF5-p$@WdbO3#HdXXN#bxh<*OmPZ)mec!OR8ySJ9tC+wg@ zQSW(moMYdbv!jt-BR|Ev3?5ZBW5~qmJRxaC`_i2!7uEgf>c`1Wl#7!rUz?+inE{BY zhmcfb;RW96Yk`k}l6IiGuE#L|^BaJf3uw(-T~Rq_n;u&Q8r+s5siCrVs1ry-CD5!3 zDi-1t3eyttG0NP+OTCm(5{ri;&fVte}&F(U#i^%9*=@JMS+jzb2@Zgny z1?@qX@9QP13k(wEzjSFCU*Yvs$yXE`vb0?rr`1uPquTjV5KZ_@;zp$3{<`t_3phDX zPoBV#VhuY&Z_gZaYXsP?wBq(rpEi~p+CWX%rywq`KxsOxaZOAgjQ||MYJC&o4p!kxSit7 z+bDRN^n|Ew`U?ir+y~sYVk*s5Dw=FDSiI>s7o1VY>TpW_&*wT8XU?=eU%9PgZkDIV zfzBecaO@@uD$Zj)0U3r#*O42+K2= zCi(-+u8%AXDEeHCwtL6}*B-5YhkrhJi6MIvvm&h05&3nrA?9Q=GgvpAdF-0>zLny% zyX<>Iv8Mrjy<6%U1}f~rosHKXbp)uPcH^LSCab@wC?1)v5m+#&N{3B+OPE|*b@4iA zF--Dt9P9E0X|t7f+zeXbl@E;b0~)?zXvNC3+>q(YNTf!Sk0{o1X?f8n-tVo4=~uqa z9S_w~+@Je@3cEg_k-S|o2EI^K2>FZ7yG*{^KZ@%xMnj0p;YXh@g}RG=-KIs7uIVsd zn`C1EU`I)mU;_@Ifi}J32hf8->#}**c%HM63qkQ`1zc3e!(-F&Xxz9O!a4?eu9K>g zGj7aPQ{3Lvb{wI5tZm4{wV1SM=lc7`>obQ}yo2`lfXZ178!Js*Z=)Z0DbWLG*7yzH zu=YVvWBS=?c)gzn<|lK>;{lO3fEa89_jlN-*3S4Fd`OnN}+{Y3+mlfT38_bgLtG zGgq*{3bLWQjyUb5OQmg$*)DceBrArB)!-^f_dttKoVEcrLGtu^G_LYlmG-VI*Nbai z&18dU+T=!KC-v#+g(COCyt@-P0Sw5{dtJfp*~eL&B;U}nZ9Jg~(nlYU!c{jt^HO5KCm?mPa{ zqs3#L%R8(8=%`;JYk{@s**sYJ{_GOo!^TAFR{iSV%XAVJ{9zo@fM!3y|0l5s1G;p( zOtCuScrUu`iuhP*xkCS#;W&}lnV4xO|0CD#q6y#BgYCq|YRnREBeudTQ^>_z(<)HV z!en3|%c_LNs+axcs$mmi>!B65q|R^#-O z?fU~O?qr2!Q##nC=PTza|ZHcd-X4i#Ci`_x?xxgKq2aeyD9Y+Q9jSl3Q-9+3Odn&|?Ab^5?@J^8BZ=ku8f z4|7%uWX~n|5Fz6nG5NN`l#E%`I~cY=HSctxiJ6YrWfTmIzd_3#$=(6lDR0xXUzx@ot9`QHjX84fYh~ia4M2Z@ck5oHQ?8 za3^Cnz1(vOtkEnsj|LyDGv6gDSv%PP9*wW6xR)2t-l>M`JT;%gU*rRDCI}xj%$ELI zrwQDWMRwY-e!$9BT0OUSK+EVBpmxW#?q!FNRU$c~IquBFgMHBVo@iu*BR}f#!hB#O zR~YXcK<<$c9% z0q@l3gJpXD3wZd)x5E7+eFqxhX&9ga_^zI+0=U?^I=*wDrY$z2Nr-CG!eL^AI{Z+m zn6N{)0#DF=uq&D2kx2i=F1cs{6)zj~J5U59YNiMX&TN_mDlI%nWd`neKDFAsRDpnO zg&eD{%nk@fGf_%kfmua?-Z=Kt7^@KdAch!!UuXM|WS74$hS{)CnXyq-ceqs80lUy-J+#rNr%lg57^jH(!Gk z-nJqM@R)|rBhdCwcv?^vgPsv)$XP4tP){vbg(Gv*Lcz>-+1FN&Xi!zg&ZmxEYbVq6 zUso@Iz4l1{Qshj$)y6aJBev(j%6Wz6Mi|N#i^$W*sa^=b#?SXdmdLzs|64rm0)7qJ zCO#^#e33Z0n>6Nc%>gH%M^!*Yn>$hH?RTw}N8P&K;sIj8O5jpd^KtSfL^9l;(G3_= zNK46;6P3r$kbjgP)q=&x3T|$3zY-`dU*6T*UqTL?DN z*cvAE+Tye4dLzP;1g`t_+|Py2)I&_^9Eo14j7>Y$5tfj(@>D zy9qc4n*NSBT&Q0l6r8kFw80r%uagqIM#txMvxv)4ei!o37qc?cnzf@r?u4I>l0^_| z%mN8Ahe1_Noq#Y4?Y?X*ICfG7Hi??7#Ij#YU21$dYI+Oyc>W_6UVzL z(?E{a8iaj`X+ug`$Rd!&qo70|$p{e`d%7A_iFIs6gU&I1OxF`hrHX1J2HFDX6S`_$ z4~qr3N=i5m=cLn5fl5Tb#E|}je7RRh(iE}xDGZ8~%Gz`vKcT^vauwh|hynLAp{p-9fs_R5i^#*7-)O=)DM^*Pz z0fvMXiB91gWoUxLqd6_#m!m!e6#N!E^cCg(AH{tE{dMXv4EdnWK>&k)chgT3ZEpBF&l0X|1itEq11E&BUNO zFvJ^HRe^3mwU7$m5x@(+Fz)||)u6vDSR@q0umCy~K;2WLmWT?L^kbCy)>!S8nJ{#5H+M3d z{z)tNvaT?QUN^q@qTWn~MAlkksryzYZOJMTPdL( zLf))vA238}Z=2s|Hb{$=Sip#%islOUxSsH`C1k=b2wLt^c7;X8%OMvFGZa>{G65WL z>f%7h%~etvT$zZgLVP$eO==0K`R+jPu7a&q&l}Z!_-9{)H=|6Cg*7Ub$T`9yA=Ngc z)Gy|PEoZmyW_S=ROLdfV2k^Peb-*aJ470{{pL^5NY1|apbFnr5L zcecPtX16U9+^^&R-3gB{U)P;)7k7DcJfzO4K*_Vr9pxhC)DD-_MY?ej=3)_TcOlHg zEfCVa{)r+HP7&dbh#JR$Oi25dKSceyEOVWtKR_raNWw#U!-16sEy?{r#=-~4&4$an zl>3muoW6y>5WEOhF)rxVy}Y-p1_=Y$lfnFG`2PAKVu0y?i*CZmlH4K&~!Nz z*UH3x58#S%*_NZH=e;$R&*bXrb$(CmQ#*JeT9IKCD^^a6rzmCEFsN`1&LJ2A3E*!W z2?OYD3EAIB4k=b2F{DugwUm~ZY7jLBs9J`l2LWFe)lIZyR9yuMB}36_ri^Ps_VB{Z zRG7=)le@AjYF%4Mei`J54$hNP*8l&%i3Q<9B@CShtH!~6$z!nnzg_?yns9#dI<;gi zt(su7iU7H4f?Mq5Ur%bHu(#3jq79PecXAd~7EYS|9qaEO6adG;Tx=MA1;E9wMj+=h zATU(8v% zCwTRUDLvE^ZS;1MdOls%nmxDh(e=JBA$U#@3)?!GY2EaY@)Cn!_P)!qX>(Cb+H4aI zwIMV%A67M&{|zuvq?Upmc~FoAV9OM;m24}%pAh0rWAsPQ1W>iV=DO57crBZ29L(CE z4DsBE?f#hkZ-0pXCD1rt;lLA@!qR|_$G{V~B%&^?v7YskP>EtbqQn4u!wNF(jxwl- zgwD-G36d%6o;@5ROkUdV=eV{YO<40sLcJ$^sftb1;xdbtih@OtcC^4v^6 zvWj_Z$fZtd?uu33$Nbg$T|MXjtqBc{*wd*s|CkpxOi#VgaA2e9l3Y&Kzn#;rTa26C zlz+=N41BVQpna&--ls@YG=%L@Z{h`%13%uXyb&YntVDk9$4hgPasPgTV?F_}3>5jz= zLlOZ)^_+nFqCKk86kwseZzAz*iM#R@Kj)6e4@#=fXvINF{}K$$M$RyOjT|O!pLe1+A_d5YCWo3JlGvdpg0nF7grg?>!Is z#pj_WA|nzQ>xFL%s~rpD`1bjugcuklfTI7ddfESDNBjU|-8K3?6lt80xnY-gi9PNo zqO70~UVzu__=iP|wXp4r5*p;`ekBE+d#ET>S_9Yjd{ZS{SpAWqIIoCwWTIT(D+#ZZ zFxh)$2OxuR_)h13U$f3Wz~}Pp8rar-f=^kRMWSNsHR|Zk_qfUH=h&II_<0ZRvb<49 z?;ZOxsAr`h8LA09w3UI+{(>7m-`g7^5x3>Y-hiuvN9GEi>?KaffD zLaN%}&{#^|@07Bw>Wsa=^3sZn;BE1f{YS0KoYUFD?gkcPBe#&LPZEPZ{8xS8eW^Xcq2QKJ)HIXNg>-XY zh}ujpG;72EgqpqFl!-=1e@~G)8aY+P3-bWsC~x2nCOG!hcN7>xvhB`iyju?xMTb2s z5{N#Cg|TqkOtjHn7?_C1H8nEQil_yL-&tK+>nJbh@xIntlo*ra(okgo;o?(ojKi$KmR9iCw$d+rXQsZr(~D-N3$b4_{D*W8DpxCw)ELeU(_Q|vy4&V7ApY$BERhn`Az~_5m zVO(fr;kYl<`N13x~So@H4;doN@PZPr`X-yl18aa3d9pC4@^K=(z{Id`%9A zM0%70FpD8E;7F3pCovj~v+dm@-YLV~TULu6oBklaC!clqahAjdBj_7aEoPlc#Uf4P z*dfMlZA-urbnPC7mFjR&m^0J;!!brywVv=#-22p~_*dF1+D0#X;@*+{MPxz}V9mvS zMY@jb_NCuVngDj1U+0S{+&3=6 zxmbN#^^!T;4L^tT5_Q0IOD>zDr9DM>3W0djoAR1rq0;gLa0sNR(IJ7cAk-`Aiqte9 z94(;XN@xU&bPF$D0oHq!#9P1Q&I;HV@{L;@%AU~kIb%-x!aAXQ546A>;Y}Jf**>Kw z-*a^ZQHc>ExT806dFVWw1}?byI?Jb23KJ{KPb_ucjUl-R=`N0@V0TXlaHgL5cnhUA z-Q)@pLDxY7hqJXbPP>}lKJsrlop%AN(seKROT)Bh9do26NZnC*~esZ98)AmTqwf-LcBa1GA`Voc+O@!puw| z1pEmLWT$}iV)|!FTH<;sHBVorOFt!rjw4@EcC9`IJcabNlRJjjo?=VD@8PkYc4wh( zl37`8zQ@VrpjVup-}B8~b>(t;9@&@MN}ui|@bPQ*r0>rN!-IEWk~}iy~`3+FimWO(3xIH?5n~0G@=? zLNJiC8rq#DoSHY3W-Ylqa^{YfFrv+&zo6pmut>Nv@B#Qy*&ti`Eg=kgIqhN@KoSok z_H%Jpq3TpDzkv8);f*7$+~om_x*IBDoLO)h(in&*e0N&o<$#o6m2QhO+8ZoahK0L zr}*0xm<7PDsbsIsXi)93fGbn_j>vOp!?q$PAu`L42GQ8vlg0^_nD4fEILZ~PuTEc_ITuMrXIESL$qA&9?rNe0DNE3^-CnLnQ{dw5iEM&J ztWhcpHeY~%&k3zHtZ;uQ3tG!tPQCaEMgc&PAt@}M@jtm2Iq~DJfGP?fmC8D@@x5DZ zE^}IB025`KqIAPLg4HbPkkX=Y(t4qPTMvoqUT6QCF3?eD977z7)bqEN1c_P`-%W zd2$oPB?7Nhs_U@wpL48A$H$uETwGh*P?CG>g$e>@2FK&-7Ad!t`M&I?HoQbnJZK+? zzWlQ9_J#=$j?7O9Mf9Z8|3jba4SzioUzESj$=fUJHOi1KlBjQBIObRh*^g(+G5ryE zz3H8NsHc|(kzSlR4r1z#Ywgkb`1_Oo(~l=!5+F{M@qvD=*`7g4jwD`yEZ)ysZqsK*{R5!5=r)LQA_I8j= zlhGWi56q)H&AX&ky9AX09yo~poRCyu`16}v9@U;+Y}Bpt*2+RLb{x{)wsyluy6g?& z)5p5vR*2^zNcWu6Wkwuf`flTONT!VWF@@?vaL_Pq^0vdRkd5G}890%pfzr#3A`zi& zYX|SJnCopHvp_`NV726L=I)lHafET1#*3}?t5~#zPMxooiRl(1d^T8|x4jy3-$4f(4?3ix+kPDsYZe2NpGjLBeoOrM*g_lKo0-^*+r6 zz0b<{*A-n~q6d7PuRH@dXgKRodLuZvv<1Cx?U-pD{Re0lR+q5xgiRgR0wD|&BC-a= z%#s0tu>UQanimpkj?Fkm_CYcSn>onngZbwB$1sy4Xw#V-6~lXv#Z z_QoGUqve%c(OuQm$EF$v@vrq?5irzd$+|Y)HsMF*Kwa@VwG39$s49`YUBDfr9+wa+ z=YYismtpOYH^hG~g4cici8siB>fNUARxwYjFywI<2piqN(mZt|5I_+URxilDi1rVh z<5@LY??PLMzbj!GV@=6I1r* z0MkOST;@xIjx9yec#-m*dg@6h!KXhJSioJh+DY#eZYB^zLZW0_0$CO4k! zUBLZ65r5O;7iad9Y~T>QXX35bCPZw$H`d44U-mx-#=n!MmU=( z66eQ@rQNaoP!~=HtTi`ui}H~yj7Jq2epRxD>}T9g+HD?V3C66u_@$meX#S+o&0X(N zAnA1W;|b>0*< z059%ZTC>oFh+y>-7iXgE&RmeDM<6&iJuCPgXY{1F%42TAHV|q51Kq4$iwF@?G0!Wc z*i{mGE(58@Hdy0^N)m1mI+*?`k^cL#Xn|0#m-)C>3dJwKgzPA?A~f^OQ+ID+z4-ZkNHy)e5`yqh0ryr$NES2;1 ztDFx@_WiB)Msf4_<3R~W7yiTDRNINAvu@02SqIRz+S+Q$n|75b+f5zsl^v%i$#`cI zD5Sm+{#i}jY^9h8n}x5CkO0G=XZ3TJ4Ij<-UC@z(pDkVhjN~N7Seo~xc(iw^l| z!uQKh4WC_~w{MV(GwGymu`A?BI;nla;JcmmdAV`~Dke+vz&HH8d-11}<`2Q+=u?a! z-rF;6vR<)9QhQ^=e+pDaG&NX>LjtAxP~1IkQav`=J{AEaN^?Ry_$@VU*#r(|6LRZQ z&-vy&ZhK_@O(n9w(MKO$sN5ru>V;J_6n6)RIoF z3t*stS=aa4osO3)d9!g3D~~;NebjeR5sBFy0?%bB(>TM1Pm3f0g8pLuWN35-H6=(0 z+*z^Naoio^M>p_-aS;<|2}Zn@0fmI}HMVfpCbFF$lb?w#ljKF_{z&bD;{3%qVe
e|jAduNsOo9xhO{KuF{qv5fQ4oAZj-NdCwE2E1UK+SiCD2$~nJb)uuoO8+J{AM?0 z@uD&Z-8fv_lfw?sY&bNFA~tmS;`#FapAz}nLkSoh^gK{EDj>PLH__gY>$a!Es4-M- zK10yI>g$bVBE1FL198)UpdpZmoXeS#nl*3!)!$8!|E_>$eZBB`S}@=;CZ*`3n@s7_ zT+D(7vsZg__Y3Rs%C_9+j#OqlU9)@gcNPHS5e^3zXAGs{@~`w)px;gWI(-E&^AZl&WjZ0}cDdom(H>7* zyJnma1MC6)-y!d~zLd(5iM}Z6ZS6V2awxzHbLESy^-4M*j^A@2B%DF_6u^d4TrW@1 z?-3r%?99Ze`NuRhb<}6`k0tUEHe!Z{nNY_;xg1#JAh;h@dYI!yCe7qYjc(q}$JbIF z7wfN<$0l^A_;u08OGA%~vd(XqK`N6xhU0GSQv&(;wb(PyWrYw?sHn3Pa*)Aka(^d| z+2PUVwX~JYzgU;6l7dlG9gGvP8+^Nuy0h#2b7}f8k}g<^R2i-wo*oO!=LstQ-V0Tn zr(#?Ag$dBPJvx1B{N}Kf0Ws%?O^Xq2PC1?byi*X|K*0i=vAG#us$_LCvg2P-VUO=! zG=Y|E6i5-W3q4*t|_+vAY;_%&f`ifB(MPyGJE z_snB^{t_kYWh;8Hrk1OlE4&-t^?1+`>5N>hw}^FeXC0}-C9t0ou%;EpaXuQoY!k8@ zrwmK4P$orS&>oFS-^bWH=HocvAY*@GgW?}X|$htLNZ?cP!>1jgUyOp}sC#d5YqgdDWQ2r?Wi>_sgz?@YA`Q56! zExYGeP<%e9_frz%l7LapU@x$J>^Cm2g5dibE=*{;S^(AekQC$SX(Jl*&?6IuQ#cz9p;r&x8$9hx*exiS7CdYRV+d zsoZC-NTREH1elDYYW62-Y8yc*QFu4Byzmitun^L>_68x(^ru-Fb{v*<9@o6BNQSc) zk;jagkh2K48}MY}cRQWkbxOI+Rb>d=C`*DN>+izQ_x;f(0+1%O7Aiwl6yHnZQfc$+ zQOHGp!-VzJWYZ>N^#GHis_4fc)!DaE()fF0FJ4R%BdxaIytB}>MLeEk802J``>Je3 zEJ%P4r*f2E88+0~&QyvQ{ z6g>u3X@s8ttQ(i@t_i)a+B|}I6;~qZ&IJ8e2QSM+8ng83e-X zh-$kvdRf~T>Qzr?0*E1oQHd%o^t4tcQJ>w+G$>%hjsYuVL408(Ku=&=vK5VK4yu5e zw9{a6-F|czdm3wYT9g|yp0%3O?V;Kx5^D(_iA6UzJJ2s;j)Fm0_JP3`zjM^gB;5}aG zK@mz7{UiNW%vtg#?X-m=+k3H+NPM9n!)7|^Wg;`0>8S%_+pb0s>mx(rG5M}_+of-8 z?wfJYXw;M#;0ygJ%*AZBv8ot}>rTxat*DIA|A4lpM#`#6oKOb1Su~o)t>w;Vk#8~I zpx4Jv>o++H4@6U-C`KR1-NQ4Q_H~kj4bsQe!sDRvYVlimwyx+&q%{Kj{F!%9HY2As zUVXEBp4aA`=eQ1=wlf}`*DRfjp%El~hTUJahFVsB5b=r@QRy(3WU0#}~d0*yq zg4j01CVlMocHLJPY@>8Koip19ohR3_gJ|d84+9%JxE^n_0j*zZ9jnK7ww(1Jpv%=f zmFFIvvmtDRI^!FsEAMS?X(``J-pC^BnFFYcCUg$&v>KaB&X^45ScPsVBhz?9; z($;RXjs>{=OQl@;w{gWG7{0~%0@)?3jxR?n)}pV|OdrVqG5%kE{$u&S$YTRnJ6sn9>5i*4ov}pLx8kqu&~$QD$>cYFe*H{oOZ$X)jsfRx4u&cF1JB0J za#zp2CPXd=7u%1KJDvCcX+91!L0+l(w`Ku&jSH*`s_41$s1hhHJ!-=fxgP`M0CJ23 zS(A9(TntY2&25-!X#h!qxQS*;ied?Zr&z>ZM@^JSk(q9ib3;kV1<7k^vUYNj;Uf`_b|NlGl}_AusADY5oz>Yk|FoT+vODGJ)=J@yH0;csT+HXI*EDyJ zw|s7aZG|bXtEDS{nM2G4HIfn!5`;?`o}SKWfAn&SRtuIw_dD=b^E@Pkq;I+2rX3>l zLKR_U1!c`@%xK$wFYLEQY%#h7qVq9OrC#<}^SS&_2XYo=L#XT5ve4eKP4}35r+Xt;fVEm#)H$HalOA{$8126BR=+ z(~8+ytmGhFDC-$Eb}t}pQYvf*Tq(#KOuTyo!adT4gFo8h{m#UR6qUPH>IK z6tCiqFiOY{Yx_)Y85wOv+H(#90?ISf0DwL|5O!0HHH*jTxCX4vX1H@kL(&?gr`K7M!VoByx zhNZUD*%-2_%DV*BV&|zX+P4rG6hkQPP?|nJRi(G?o>Js**e&a11jyRMn^)IoNj+oE z&w6RSFDqDMN>mBmF9DlX2MK+{I$!v?9sF8C9v#_Y*~_&qnb-B+WdPWZauW)x*kiX6)@qNYJ*W=FS=M}aw zBKbV<$8Q+?m-f$NT!aC#1@vs9pZ&nte?DfYe$IqVkton-9OrC6_=6p+W?{H7;;I&8 zo_43ZziQf=9Ygd-5`0Xe<=^OlnhHZN-8+TTZ>zvvsUjI3{xAnz%VfC!e!=u5h+ZcH zjukJJ?XlzPYB>R8XOQ_#5_De|rTX5e>!VQUy?beX{?Jyj(NZwj@iO{k^+&MQ?06<( zQ+4vFN+Vc12tz?lZSF3?lJjN@JHu@o)9G~tp5;(QsgT>2R3-|+LA^qHeQI_)PqzQ3 z#?p!k5={}2hQhMsU@%ug_q49Mrt0;F4GUyT9kU32+&xNav@)$#2)56|hu$0dUtD=h zF-zv3Z|t6J=%IvZ8qDcx8k7u$yiOTh`nn}#%p$u^;5P(({X-w=uKV3+%unE$^j~Yx z=Xuf@Q_21`I^LU$Y)Dd38aQLNz`mPBvufeZ-`f@n zCyfuEv$|B%m^CAlneU7|2)E>f8goNOoo_xj{&p3Ghl4ZM%0&Irs9Hg($h!6&G>Lgm z2bTBYAG`ClkyrmUn~|;(kQE7iL4nun-+bC_Wagd?VB)L@8vTU>qqlD%Ne*ZXZ=V0WOaA0YxjA63k=f2Q(jq`cCZn_H>8-AXVnC^b zca+nx|!5yn4W@|v&4dA@(Zg8WxUy$aAu6i zq&*Qpz_8;t{~PuTrkhItm?nUs3ae>r zYELO;NV{1iCFj1T8Ku@5s$BHOgCS4WGmS&%s2R&?RjoRxokIM*aTOGG@m^2 z3dWDINXQQg*bLHQ4lEcD-4|S_Qwo3=n{QF;2bQA$vCvz%vB1PY%61v)EgQ|dKq6eNM`7lHR(TUEV%B?hcD zJ))B_QI>z?H#d17Q(szIm_rE-nA4Pfa5|x-dF5;d`=*j%%QI5frZA(^$*_^ni`24I zUWt~^Beq->XfjlU_?e|JB>EwfJJEkR)Jr1y!h^-kvzn_+k+EYMT_8-PO(+TJsUe7G z>@L7X_y67=e>7yi3JM{O_^%5H&(~`Wm1uxWJBVxd*I9?HZn6s5sBF7m?P`y?xz&_{ z!kXp{p@xR`z@fsDV3%+kzBhGod4f!keZ1!CpJB_7gRkDgF&4-19C?-_1HGxhMfSxt z1-m@GFv#Cqg&tX8R9U9T9Eu}LL(LX{*jiDFJ-Fw~=it$P)7oWFkGeeW3D$TbEZb*e z!{6oOrYE~0xL=8xXx>#I>9G(2HQV!^!aDm?cD_|xwI}kp5eCk6^bJ7+@iLNYT>ld1 za`xhO5U=I5?X&woZCR$mKN=XT;MPz0%5P~RBk@9p6b%U_aAv{z)W`?LI_KRNgN|i> zKFvYH*Vq{{Z0uz9n9MxpXA^&ajOpv$&3LIzs1=wWf4nM|zWiWkP2+O?z*6f`tpp); zZz}(6)$dw-VKwY6LxN2)(8H$sK}7sn3vZ!COo*_n`va^tyA<-UI+W@T??J(YYxI6&MZUSWFQP9p<2wtdgeyqIgEqv zuC4*}OYN_ZMBb2)tv0wH+D2;+YzxpgHokAaU{*q&DV(9^Stwm1#m%@975#j-fRS2- zrbSSIDExm__wh1OpIbn%hCrtxc}cPS*qzc7JLCMpI8s;adH3?@Wtu7$Kf}H6>fl5{Z6L62W&yYKt^?%`^uTwtkuVr;jC!;V}89oo) z&etU;>h2f7YqwtA#mdrJDrgagZkrx2Kz}e@$*$dv(FZ(4OKt-PV;&My{pL?Iy>#!>Ruwc3h4ckZ5l_~?TKS)q z<7*eN=%-*9B)rjR45REZdQsi4C(S-sNWfwy`Ps$zR%xnksv$0~+so*rJ8P|J_tv{$ zwU;}oMlY>?+Kuh&l~+`-ztcwQeXan z}|B&|E+Y8Kh6`V)t`ibR{mtkw34XSoKf-jR)GrRySaHpkVZ)D*ab@GRFhe$$+6FsR9ax3RflN(6zc72;D!NXtY$@ zs%fALK6tX)_MYnP6nV3#%c}LcqS^dd{p>@6hH`+vNEg-v$%U-RVO2pogT#~p=hCto^-R8Yg;b{alR9AaL`mPkr@8yA$2 zyeCQt;xG&F6f;>_c#!%;rC--N7Xc zi0|8Nb*;G{?9JWa-MY9T8+{=8Px9`;`r|Ee0(GebCNsA+w2t!(+YC$NF~{4$s}}l> zujgyt58TA6OCoB*4>(m;N58|p2RV-U#7b9s9PI5KRE`@<>;jtPzC7@-vo6ZW53KxB z73}WT)Jb1kRpm;YPOjRLfEf6@oJyjqvPRDpDVGl}WT&fSv@h?JFfMlGu4ntwt=XH7 z4t}m;#>h?xWl*G@`$UF}2TOb!-km#QQ5@(ES9(EhlupUaMMd2*4A`jBQRt`mPS`;&Kb`PPW#EL?ffLO$q zEQ-ELT`V1noeo#c=#LGfwJ;YO>(`C@`ZzR^mI3lq7GeAb)ufv8_X$CMr z!x?PDhWpT^$H6oTfam@{e$gog%$<7Ra(Wh8Nb6CtAx~v64IPZUd+%DR!^uk%bEzd~ zaW?dZ&QAmNYC=_qeBH+wCdqGE^Dx%5;*e#h%2FBf8LgLDQTV(rViA+#0XxPHiqOQOm2C#cLtbsTvg z9gPxlC@_2R&z74HElmcw{xIHbP0Em8br=-K0$%R>bC`tqQ*>*h4=OpH0&8%$J|fSx&RTLy#6^NBxDDEd3Tj z!jW{1S;fcYp`5j$?|r%yppGvbBWbk%|6zFlSAp(6LKy9Z9O5UO|8ARu2PVKG9HK0?Ti?vX)D-qi%r>%1S3iE~ z@-_EI5Jq^xk=#9Iz)2$bT+-AuwQ=R)uYOb6lpK9)dV^-;eZcft6mSd6tyXSt?P`h` z&=*-Y|9pf@qeigw65 zd!l=C%$uG6_84OD+<_E1Xi`><(PVK@x*mkQDq_%(kV`PPhll?rKRA>G&r8piKt8QAf83KmR7F+k954j#G0Hf;2-tpiyciFrXahg{ zdc(8^oe%PLL!{v$TkbIyN<Ua%2K(-(optIJy zn9P0dcs{?IJn@_qsH6cd+w0cH5K4$jv%ygC=w;$_%=!2__>><7Hj$w^Nt zTBF*~T~AV_eK~_L%<@FwA7UYSK5w^cl>@U4WJ^g^Wh+X}oUw)y%G|yN-Ob;cS4KM& z)b&rFa&K3-kvz>+_e?YT#n{0tmDD<1x2KXZ)4P1IErl)nfo^V^y+43ZWB@Vvb`M~) zIY45V;k!&(5WK84pZ}jdlIn?Pj_}xPkMp0r&j&dIh(Y0|)C8`1iY6gU5e$SQh+l`W z$^dqZ1698Gn5~5dcL+t4yC8I&bj(9iH+)jnLr2J7oKG_~;_X04XHk%Z96339Weca; zyfhgXQ(QBAsK>L|61fC@Ws1O|q=?91bWztYm$-_&YY2|#6^d$Fw(#J^wfR;u4^TZ03Ih~23Y_`=l*W-2sr%|dY^!SQA7H5Cr`njW6r$(l-Om@9D5(h>wBmow$ zrVThe9PL+^GGmJ3h0#y2`U6OeG(-eG=tJ1KNezzN?i5s;^rt*LO~eWqneER5CkI{h zl^$vLcbkStD&%A=MxLf#ME;G`@=Da4ReqZc`n{Y)sY*~>zr^RuiRqfYYGl}aOg1On zR1D8k3y?~nS+`_~J&lk(7v`cw%;m~-P3(FLzsn&xdF*g_N`;}F;an<7P3Tk@+CcBu zwyf`EU#c9J$_hGV{iea%;9LP|f#Q=2^?nMi;?7`G)Frv<&(d=x>Lia@-Eu9a!izdL zm;VkAgsS2NIN-tMCnGxB(lDDHUjMl1cy!<6;_fnQxY44e+EEVgFP~jli#b9RM9>o> z?23OX;|a{I$TOl}{4v*;2JQ`|#dqw0X9J1vGCPL21lROl{ErcY0KJ$~!Y(Od*SQ$!>vCJ36_hxT1W*(ApYRKC zyL?h`u86cPy4CM`m|0wVU^C<`YIVuH1ugvmFCBOMAE z{C*1_0pW(p9$fYODoKs(n%tAF8)7`-=x#WQqT9;8Jkq3_yV(tOo0r?_Y=8Hv%M{Rg zb;iEGI=0tX2~ZeXD-a8lK!_YlU+@rB;uS?tCa+D?fOQB;IzmLfNV+2K%ahARLG%We zKLHTkwuG&MuMPKPtoyiWqVt|HM^vwJ&a3^1Nv(xF1M7pY+Owrz^D9bM%4)$zm<=;O zHGjjk66v(Yn*)LMZdgl?PUMnFFO#E4TZEOmDNgPnz5c*ftOfVa=hCK63?zbs&a4CyE1rK@bp5Yh2QV)&!JUZ27his&jM$FHFg9Y@bp(T~Zi(mze6a2+v^zezHHK_RTIsrntVw>yo9dyMpR zMLwwo2t)_P&XutaXG*in^In5n&y_icW1`{sqqqoxWvoJrt<6n8oLkO^?om2lmSH9|^hcN`nH#n%?vVBT|@^NK$b%5H}F1aj94 zq&J29EsN=WPyf9be;YCOd?>NUJaU8KMacDKdpC2z@X+7b>L(rD1zPv})xrsao`riya6qRlE*G9Z;+UgN9zU zdjtBD^2Gt_f5@^me|fHBYfkFYccA=Uu5D>?WwBk76f2h-fYV22whCiOcQyw}=eiG= zcJ%LzuAHt%Fl02lN=KX1POC`#78scCUfP_r-SkR_h#?w8@H2(xVr91~&JMeDQ10Ky z!igu_l#s>H=xQ!GT%p`t1{y!4A`t&+nL2SdM0%j*G4y#{A|P+a{_xJ-O7KukpF@hC zL08i`y)D8oj++)Md5pxXco`Y#O;v9z+-ETt{=xRW9362i-?UBuKuS$M>Q+ScO$oPT z{PRYGYahmJ-9`*UUYm^jb64^NGrRC*ZQfnuc+SXm;t|Ze30p4*ZkJORO)_G6Qd20@ zgraH&w!q2I4c|hM@CPh;_j{dE?;d7-0n0W|AtNMt%hTbj3oT}Dx$z3?U5(qdO?}74 zx!f|}Fng^0*&MP@j*f%BES1FUAJ7J5CEzMpnto>SL!y!~ z&ZR0XUv@K(nNwe;laOCwt;6l8e=KRL#3R39K%}meg)`K!pzSTsKl?|_hJR^>mVEUc*DzOZ)qal zbZg=KZxtHPz_LES-~Fc&LMnwX8~qlOBeXBztBZ~QuoIHzeZkZ`SvF-^J@@fky9A5s zPO@l=DJD6w)Mm?XUusij`jWJqA1X2}=SlxqoqD~SS|tx+m@6_s580U^p<6Thm7`@! z=kw<`!dM|Yu9%xH{@mFOOJ>ut-hc)3g!ufilm6~!e=$c<9((wpk6?ueMSuY`Fry(h z9@e~3w56ak1IpJtvpnb@H8v?~O>ymSm!OZ0(gewMfF{jsA^nEF-HJ1g@@($I-w1g= z)w`=Vt*k6iNc6+RyT=D2)-3*{sekQ^5961;qP*gU{|ba)+e!_U?6sWu3b06#-SDZ+XPN&M85+jyGJy+V2zeqc2CRLb2p7HdHT( z>sQm1AzuCYIW{YjaSxrIr?pG31%4@gBd*5yHDn>p#5C#7rRVU&%YGD%_dEPVuF93E zSkP>7bm+4c@DNo`_D8gDXxBGVhMtOpct?teqyyC z;i<;-%gsrK1FPsCs7J|8ig(auOJ?>r> zBCr-nYv#xI@uFBjLPcCKy=T%Y(WhN!=KjuixYUE;ts=vp(B&5B-Q&D|WTktLKEXAK zu;w?idd`ziV5aCxJPz!zq|<8q@6!gMjd5|gz`cgQtZ6mKm&?NA@}U82HhAPa-?~{K z1jwJzx1E!lwMWcYRKkkwshYaoD`p~x?6AQWURELQN`21jJ7U?4ReEL$?mWp*_knZf zO0fC5fr(=ri)_uLJY~NFlMy+hwVOCiTF857_d+aGzzNhrB>Toc76(CB@VnxmI2!{1 zr3Fnkk1b7r(>Otx+)AguI*Ef6opE|7|ySVxOSV7 zx8_>~v1kTo{s^p%1Rgrp?i~Rx9 z`JVTSaodytk0n?`SQ+h0pj%V|^e@iwgE3m07w3C=I3R7^h0lZB$l1beplh^qbz9B_ zXAR;FzM=Q8BTjNZ5eK|dOBllRhZ_vlKX34lJFN=5b#T~D>;dgUv#lGGuWfO_&ebQ` zSpaaf@u(lNVkrCs_qa+xOi=Ifzd)G})Y=m<)1X`NpieZ0ixNmTx34EbKF&~v17+gc zbJL6R>nBpp^aq^{Phc#@yi2+J_hQFp8Ak1K-p(3lFi4+ex83Qq#5D=<&rkFTt&bcd z9`c|o#yOfAA0&KAuqHU4YN6Y!VcaU<67cHUsC)MxW67%LILwilVl&E+_6X{4_)yHs zC(>r8oB4tWg(rDsz=&SNJwlS7Ggdd}M2t6P{(ROVp5v%X09r|9=c*+MeGDYxf5gpi znrJk=Ho!cn2)1n*k3&M{6{=a%K%8rA<}@!5=ePH`i(|r^tj*Yp7%ny$W0*@LT~cPg za3(KjZU)gkP_?$Q-tf3OLd9wiGps`^Pt^tsdt5sc;H_K!`CF}@9RMkYUDw&^oDV}H z0pPOPGrjKtVa+fJnDk}bkzcn$gRM}(g`Z;+c#$E!r%&t}O{`I&zkNNY8}$3Udu<50 zIHgl4aygJ7VMM!x;6=y4fP*i^u)Pzp9f7OwWvpRT&1tc$p7eXD%YQbjcv?YSb4+Lv z2NwMpV<;VIAvU5XaYmv7X$BA3UOYt~^R*L`@uuidsoC|Hs600GG_S+vMq_ktH)1xa>kKbWRIvyvlQU;U^1u~Aw*u!JaE1PeQ*+m_(PuJ1rJ85c;-km;t z{mT>;Uam16Fis98&zs+ko{J#ixfC7Tv~V5Y64{EkU@98*si78^&dO&4NP>q-AIntM2C;mP681?h;Ae#b-Mo?M;x3Qei(L zdpEq}1A>Uo#!a=-Q8{hsU`gDuRcP4%^{MwXV@wKFw>q!-^N4rGt!OL+aHC_5#**R3-Q z9zcNHAS~^a2F6{vf5X`3fDYYL<#p`OWHpbm2nN43Y!;}|hf*EllfwC1-(_hu#BMd9X#nRv^BT+4m zUpRoA9)GoRKe4KX7yLHR;f3otmu|_SKyg4Ruj%_Oju&i7P*-HW9SZZ40=IiM(U&;s z?S`hGd5o4Az(>K0*PD#^7bO$wN;*idEPjvYMRch6=_IUMd=6(~LrLECl4o7=&p>7( zjV-+VM*zTwYA5MY+Pp|=Cg_lOx`G?{WYxtXx)B3BUoGi5()6!FaT^F)Ep2X^vR^mR zr=0i5{~BOkFqL|r4}+DD(>aXS95fH9(#TbGhC~FQv}(R;3YYd|x1O_{TFHifKI?ir z+^QQQ4j31@9eF?GJ6&yBg89s7w2C*iFCye`bvqZsStCLoh5-}G$?sDrL#jeaA09JX z8SLTDWpm+u;loPNVdW}G3@@Yewmgvhl?NiJfiiLQ@X*dSfuy&1AXHrg}iG=dE}hQg8w&g`0~D8ucb?Iw_9^rDI9W)^Io$)C^&+ZsuFgWjg` zrtC)fqA93gkc75ZS>WFsjU4J7}Bq`M*Q3NfE5p#<*9l%I#^dF5(f?5L~mJ-c{fSM)4>8_&lA~T728`>Zd~V4~sIu1FTk+`!q>lW~MEpk@?b? zq8mfJYSzR3K=XpWQkX+pA#Di3!SMlrn^YzHz(hzbCoCd=&j|oDnIZ7Jy`CX_KbZKQ ztVzcY7OF;msi?4`kL!+4Q7}Q0Aj#V3aZPF%_sP4;;_g=XKp5L~=ZbE<DB+3xKoipB-%9+Y;eeL8T=g~sB1vSc6BXZS5~ykB&cPPTBlTUlXIHdW02`0rASDzqgzr!0Qj*C(dP7-oihws}@Vfxl?X(lVpE<->>tZ*MFj z@UVWH(k%S$z{6_=iZ;@bb!#|s(H$`cPiPeoFes^d$YxT?=1@i z^xKqMUY)hh}}BQq_Idtp7(&LmR5B{61znW02rZ#Hjeltx~Lf1!3*VPIgyKFJAzU7r40`~2nK zs;Lrw4C!!sDx{LdEb`ZBIKWa(+HH6GI!V3tL@mE{Z{dR|pP%*IxK=j=Uwn1(RzM(4 z@_yadW$pO&Rq&3W>)po!M}=OAJiYh6Cq3M_I!&zF@t(*FdUK`Yh%NUB%B1byJ>GQM z%KjG$s#aA1=9#T%PO7@Y^u=h|u0O z`!cwbc=2E5CJ67=UVnDaK@PROI}{X92z@{`=W}2(dWHT>B)p_{;c?OaYg-4iMj7QX zW+tcRpe#f;zbh(7^JmlQL-67-hyf^E>;2AkuTPLx|6Aa@L|+>thu<(4j^YY>&lxtt zLQ)`ubC3>RRqY80Mlv+f`AtskD)>I#{Cnl&DGpQDvt=bO4=P!2+EJ)uy5GHP%0|P` zF9SY{`;NznyB))Kcb}aw;d&)fm8a>hr%yhI{KSn)0e2jC3soNZ9sn(h0k`q{Ck2P50;x!>~u+jz@Ip=#0_09=S@VQkq)dJWHR9}NM5I@_-caa zyza;{R0%GfM8{mzvst0j5(Kc`p>E}d#FBO071eF4H#qk|%G5ycB4+5uk59VOg)6{+ ze_6CV=7OREtk;HvzTlY!BwrE;N*_G_-YAdZV0-en%VV(gt4t!XNIE6d_0HCV!pBNipDch33VV3H1v9rvz%v{F&5LUYhSCl~ z%(tdd^{?L2x*m{$0`>3AKF|GJ&zn&!`54pyUb`$x|4+2#&G;MNn^8g3`d?xMhKd-J z<4bE88{EKa3arHk;LB-3B9}_=YhFW{7wpaInZunN>t@U#^6G}wX0HC>3-_Az8Q1X^ zuZ9=lf1sfhP)jqa1apq9$FO{O66npesZbOM|1ju zH+JjT(}#cC?=y-^HR6)!C}ARx3;N>|itA1YjL1KAqf>AG7BwYcF)_lev$yTK`0(hH z316`+?2sz-WX^!9sCE6o(HK&Nr>K?kcKmK~sm}0H_d{z*-?8a&NXYS(|8AAyhyR$+ z6I_7NT9eXhhZBX8;A_3#UdC3nlK+llh38!L1oJqCChN}PpBkZi(XZ}+kgNa*PG?LU z7JU~!Al)3=+cuoT_SMJ+;4Nd|s{?~Q76@lTFx)`Wm}|T?MW_j3RBBtOIb7#HA-VN{ zb)px^9`>;5tlw1ZV6kJ>)UU8jJv)L@!-(pIMMHx{lu!U`iOGzE;(-yU2BHxcqy&{% zWeVT`2_7lK8|;AW9a@>y{4o~ihq~@78I&(-Gh;I$<6kI_x*1x5jZkslB_4e zy<2av;mOfCLolKep#arP@?8tRol-YnXmO?rx~R0Mnxds@mblx3;O_TC`H)pNf7{Rd z%kc(kszmypGbERhC7=n>c10%Wyg=4ZQDYiMMD-R>VXZIG>dxM=-DeVAuZN4i4}F|! ztI%H8r7^OsFC39R*BZP$nh zG7ww1dchJJFu#orUssn-e+XS6Jo_YV(5rUOi{2ptLk*btL@zzs!HIu9uaO7E?cPE~ zW~gK=Kf;p#RsZ37`E5L|{(r)2qRoEtwZtxI7>6#n-kq^E+2YA@^9Ebi7u0jF@DFzh}COiHFX!4lu zoXV|nY?Wf1XFR&lfqms$ZIZq;Y@Ph{zU6sVC`91yD&F{9X>4@LzT!J1vMKwPZ?62+ zGu4$~T7d1+kSStTP&7`hv*7Fko*BaHov+wYTZ(Qf*7iajU4x{pFWm{hBj=gt96?t1 z3GE%j&|>!%#nJh8Kj68mveUeZYKo|4aLX4NCzQ!!cK~ObZ__O2{bVXvr)2qDzwK=5 z{qNMNQuoRGThoWt-uzMG59lgg!E-8iU=5sMASFH4=zIBWe)tgLcO`FFdm;G7<4>CN z*WKs-+w_T-!XX*ZJzOd^qe4&HLPe-J#PlRLceGiPg{bLzzdftvve_QbJM8u^)#dCY zxi>kU3cJ|DkFR2mZflJ-#3@l)h-I{qKa-D_8h+hhW0S2qHEMuNFJVlG!v^n}lTtH&u6;7;Ui#V{YbW*?J|GJeYC0Hi6e<)QaQ_%p2KpBp{I5k(dP|ny>&hMS-deI`2p1dy$})dZmBPKpx5C}%!yX0k8w+n5q3O%S?*525B8K{{$~VoT({F>MAQDVV zz;+EIX%YT8s4WYTnV(nr4h2K=O|QA-9WyuXN7iLWQuu=qYQ5^tWg2DjsdQo6=m(OZiv_)7#&=lw)XlS!(nZpN#8sIfFdWXmQo_L# z-pj#sZaZ$RBbDlHXG6oy8iYai1k3Ih;g#OM1?ofx$0@ocyMZY9pDP^&f>FOsOQlA6 z>`EWnkM%c;Z;pjxK~+<4G|TN&uxad|s+sZ9>&<5|g*?^lNA06-ZrF zRi_O^#Xc3g5#pN~8waHY$y26L_>-z8^47YeqF0*ccA*JK%8*x7)t=s|r))#@qx{{@ zR+g$U2rHp$kN4e65!uuR?>jY2^KmY*w?>f13x1cC)9e*y2@Nf;h?MUx6kdutU(p?2 zWZTFJTSf>=u*FA&{zS%6E`h-OR56Wx}h-3v$K#!daWe zx}-enxZ!dPF`xE$^?-3+HF1Cp+pmBQhpShq|i{}rNGGjb8%8M=&orhkoz7cWZ^e@$<}68NcUCHC`}+ujkg^&fl)?w*cFFFB&T z*1+6{tuXJ0-A}B9wjdPjFT1d<5JzMDfQhQNlomVXb%o^cyZUYbzIHRwt_nH1gKE5& zcHFK)gO|vs*$H&hI5Rm5Y1D(fb0=zv5~ft3669}0NI1zJM20tGdcjH;#ote|ZxUp_r`vd1u0Vn)=^ywdu~BGa^M zLR@@0HW;L^4h;_nT4K^P1mezbi)0cvhfGOzZaWpu@|9P1$^+>uO{sPzZ;ojkWcn4z ze~~YJ`o-0RwfHlPH*8`F8->KBiGsb5{K zhR&+$Pf(o0h&+l=`9?6)XP=`|MFjT_0nYa-iSZGMX4wL6gb`=Tk#@P!{4Wwt z2MCe$ooSmyLM4u4PV&qOm{kJs!T(_RdmbDSk}=;m9DoY7|IxjF~71?kW_3t!1r#pf1j)hcG!g%ZYv z-1CW_gd5-Lk=_A%vZ>EU2glVGBJ3WMCMpPejPVxKgB;l__t^3cFPMS*zOtdrZT5RP ze7LP>+wGdmr={2F4r{9)zae889Ds+tRbK=R!nPMwe>IjlcMs9W2w;rjFgwq$25T?_ zZ(RfD!m`tIBnwC0Az2|6R-$uBd(^*sn9d!UbC=&h!1JMgfRG<805pI=Hs~N1fV)8C zt=GGD_SQsD@i8r!Whjp71|eFGY6nejAs{QSN63qhkP0aBJGx9dUUmJpdsQ0vU`4Jf z)pT{d>MQEGMWscsvGKHitdD`R#FjxY1QPWWwN)|v7+?`b8}xYKXx_S&3;2y)xH3O< z@44}qJGfwr#ph2|l;{L_<)S9-S4II8@zUVj6_$fymf-hYUoK5mClM%hLNBu zLF*ES4*@=ep#(v&IHi(mgy9kPt{;J0j`8cO8h%i$c1PN7>$dq}HlD$X3D|0doANb( z5rU#rtkgmJ83_S{j#>t0?pg0?Ct~_0Po%!Yqc+AMuZ&aiiO10Ka0m@twd8|d>;JY# z++hKbP}8wX$Ht}2gRW0yu4N@%OgE1!B zVVznRIk}0S7VeP;vHerP5)axYl`+i`xn~TIZ|@g6?+sTQqu(JuK3Pdc39y*axBmz4 C3e6e- literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/video/screencast_img.png b/dotfiles/common/.tmux/plugins/tmux-resurrect/video/screencast_img.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f3d83299e0eb02834030ba8fced6b0e3d9ab43 GIT binary patch literal 124253 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%0AgJ2AX37i}H6SX(5Q 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�Sp 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
f&-kX*~9t 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∓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 IM6N<$f@szA7XSbN literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux-resurrect/video/script.md b/dotfiles/common/.tmux/plugins/tmux-resurrect/video/script.md new file mode 100644 index 0000000..ef38824 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-resurrect/video/script.md @@ -0,0 +1,110 @@ +# Screencast script + +1. Intro +======== +Let's demo tmux resurrect plugin. + +Tmux resurrect enables persisting tmux sessions, so it can survive the dreaded +system restarts. + +The benefit is uninterrupted workflow with no configuration required. + +2. Working session +================== +Script +------ +Let me show you what I have in this tmux demo session. + +First of all, I have vim open and it has a couple files loaded. + +Then there's a tmux window with a couple splits in various directories across +the system. + +Next window contains tmux man page, + and then there's `htop` program. + +And this is just one of many projects I'm currently running. + +Actions +------- +- blank tmux window +- vim + - `ls` to show open files +- multiple pane windows (3) +- man tmux +- htop +- psql +- show a list of session + +3. Saving the environment +========================= +Script +------ +With vanilla tmux, when I restart the computer this whole environment will be +lost and I'll have to invest time to restore it. + +tmux resurrect gives you the ability to persist everything with +prefix plus alt-s. + +Now tmux environment is saved and I can safely shut down tmux with a +kill server command. + +Actions +------- +- prefix + M-s +- :kill-server + +4. Restoring the environment +============================ +Script +------ +At this point restoring everything back is easy. + +I'll fire up tmux again. Notice it's completely empty. + +Now, I'll press prefix plus alt-r and everything will restore. + +Let's see how things look now. +First of all, I'm back to the exact same window I was in when the environment +was saved. Second - you can see the `htop` program was restored. + +Going back there's tmux man page + a window with multiple panes with the exact same layout as before + and vim. + + +tmux resurrect takes special care of vim. By leveraging vim's sessions, it +preserves vim's split windows, open files, even the list of files edited before. + +Check out the project readme for more details about special treatment for vim. + +That was just one of the restored tmux sessions. If I open tmux session list you +can see all the other projects are restored as well. + + +When you see all these programs running you might be concerned that this plugin +started a lot of potentially destructive processes. + +For example, when you restore tmux you don't want to accidentally start backups, +resource intensive or sensitive programs. + +There's no need to be worried though. By default, this plugin starts only a +conservative list of programs like vim, less, tail, htop and similar. +This list of programs restored by default is in the project readme. Also, you +can easily add more programs to it. + +If you feel paranoid, there's an option that prevents restoring any program. + +Actions +------- +- tmux +- prefix + M-r + +- open previous windows +- in vim hit :ls + +- prefix + s for a list of panes + +5. Outro +======== +That's it for this demo. I hope you'll find tmux resurrect useful. diff --git a/dotfiles/common/.tmux/plugins/tmux-sensible/.gitattributes b/dotfiles/common/.tmux/plugins/tmux-sensible/.gitattributes new file mode 100644 index 0000000..4cde323 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-sensible/.gitattributes @@ -0,0 +1,2 @@ +# Force text files to have unix eols, so Windows/Cygwin does not break them +*.* eol=lf diff --git a/dotfiles/common/.tmux/plugins/tmux-sensible/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tmux-sensible/CHANGELOG.md new file mode 100644 index 0000000..579c0db --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-sensible/CHANGELOG.md @@ -0,0 +1,43 @@ +# Changelog + +### master +- remove `detach-on-destroy` +- do not set `aggressive-resize` on iTerm terminal +- disable `detach-on-destroy` + +### v3.0.0, 2015-06-24 +- remove 'almost sensible' feature + +### v2.3.0, 2015-06-24 +- update to support \*THE\* latest tmux version +- bugfix for `prefix + R` key binding +- fix for tmux 2.0 `default-terminal` option (thanks @kwbr) + +### v2.2.0, 2015-02-10 +- bugfix in `key_binding_not_set`: the regex is now properly detecting key + bindings with `-r` flag. +- enable `aggressive-resize` + +### v2.1.0, 2014-12-12 +- check before binding `prefix + prefix` (@m1foley) +- enable `focus-events` +- deprecate 'almost sensible' feature. The reason for this is to focus the + plugin on doing just one thing. + +### v2.0.0, 2014-10-03 +- bugfix: prevent exiting tmux if 'reattach-to-user-namespace' is not installed +- remove all mouse-related options +- introduce 'almost sensible' setting and options + +### v1.1.0, 2014-08-30 +- bugfix: determine the default shell from the $SHELL env var on OS X +- set `mode-mouse on` by default +- do not make any decision about the prefix, just enhance it +- update `README.md`. List options set in the plugin. +- do *not* set `mode-mouse on` by default because some users don't like it +- if a user changes default prefix but binds `C-b` to something else, do not + unbind `C-b` + +### v1.0.0, 2014-07-30 +- initial work on the plugin +- add readme diff --git a/dotfiles/common/.tmux/plugins/tmux-sensible/LICENSE.md b/dotfiles/common/.tmux/plugins/tmux-sensible/LICENSE.md new file mode 100644 index 0000000..40f6ddd --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-sensible/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (C) 2014 Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux-sensible/README.md b/dotfiles/common/.tmux/plugins/tmux-sensible/README.md new file mode 100644 index 0000000..fff34fa --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-sensible/README.md @@ -0,0 +1,122 @@ +# Tmux sensible + +A set of tmux options that should be acceptable to everyone. + +Inspired by [vim-sensible](https://github.com/tpope/vim-sensible). + +Tested and working on Linux, OSX and Cygwin. + +### Principles + +- `tmux-sensible` options should be acceptable to **every** tmux user!
+ If any of the options bothers you, please open an issue and it will probably + be updated (or removed). +- if you think a new option should be added, feel free to open a pull request. +- **no overriding** of user defined settings.
+ Your existing `.tmux.conf` settings are respected and they won't be changed. + That way you can use `tmux-sensible` if you have a few specific options. + +### Goals + +- group standard tmux community options in one place +- remove clutter from your `.tmux.conf` +- educate new tmux users about basic options + +### Options + +```tmux +# Address vim mode switching delay (http://superuser.com/a/252717/65504) +set -s escape-time 0 + +# Increase scrollback buffer size from 2000 to 50000 lines +set -g history-limit 50000 + +# Increase tmux messages display duration from 750ms to 4s +set -g display-time 4000 + +# Refresh 'status-left' and 'status-right' more often, from every 15s to 5s +set -g status-interval 5 + +# (OS X) Fix pbcopy/pbpaste for old tmux versions (pre 2.6) +set -g default-command "reattach-to-user-namespace -l $SHELL" + +# Upgrade $TERM +set -g default-terminal "screen-256color" + +# Emacs key bindings in tmux command prompt (prefix + :) are better than +# vi keys, even for vim users +set -g status-keys emacs + +# Focus events enabled for terminals that support them +set -g focus-events on + +# Super useful when using "grouped sessions" and multi-monitor setup +setw -g aggressive-resize on +``` + +### Key bindings + +```tmux +# Easier and faster switching between next/prev window +bind C-p previous-window +bind C-n next-window +``` + +Above bindings enhance the default `prefix + p` and `prefix + n` bindings by +allowing you to hold `Ctrl` and repeat `a + p`/`a + n` (if your prefix is +`C-a`), which is a lot quicker. + +```tmux +# Source .tmux.conf as suggested in `man tmux` +bind R source-file '~/.tmux.conf' +``` + +"Adaptable" key bindings that build upon your `prefix` value: + +```tmux +# If prefix is 'C-a' +bind C-a send-prefix +bind a last-window +``` + +If prefix is `C-b`, above keys will be `C-b` and `b`.
+If prefix is `C-z`, above keys will be `C-z` and `z`... you get the idea. + +### Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended) + +Add plugin to the list of TPM plugins in `.tmux.conf`: + +```tmux +set -g @plugin 'tmux-plugins/tmux-sensible' +``` + +Hit `prefix + I` to fetch the plugin and source it. That's it! + +### Manual Installation + +Clone the repo: + + $ git clone https://github.com/tmux-plugins/tmux-sensible ~/clone/path + +Add this line to the bottom of `.tmux.conf`: + +```tmux +run-shell ~/clone/path/sensible.tmux +``` + +Reload TMUX environment with `$ tmux source-file ~/.tmux.conf`, and that's it. + +### Other goodies + +You might also find these useful: + +- [copycat](https://github.com/tmux-plugins/tmux-copycat) + improve tmux search and reduce mouse usage +- [pain control](https://github.com/tmux-plugins/tmux-pain-control) + useful standard bindings for controlling panes +- [resurrect](https://github.com/tmux-plugins/tmux-resurrect) + persists tmux environment across system restarts + +### License + +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tmux-sensible/sensible.tmux b/dotfiles/common/.tmux/plugins/tmux-sensible/sensible.tmux new file mode 100755 index 0000000..66db3c1 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux-sensible/sensible.tmux @@ -0,0 +1,168 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# used to match output from `tmux list-keys` +KEY_BINDING_REGEX="bind-key[[:space:]]\+\(-r[[:space:]]\+\)\?\(-T prefix[[:space:]]\+\)\?" + +is_osx() { + local platform=$(uname) + [ "$platform" == "Darwin" ] +} + +iterm_terminal() { + [[ "${TERM_PROGRAM}" =~ ^iTerm || "${LC_TERMINAL}" =~ ^iTerm ]] +} + +command_exists() { + local command="$1" + type "$command" >/dev/null 2>&1 +} + +# returns prefix key, e.g. 'C-a' +prefix() { + tmux show-option -gv prefix +} + +# if prefix is 'C-a', this function returns 'a' +prefix_without_ctrl() { + local prefix="$(prefix)" + echo "$prefix" | cut -d '-' -f2 +} + +option_value_not_changed() { + local option="$1" + local default_value="$2" + local option_value=$(tmux show-option -gv "$option") + [ "$option_value" == "$default_value" ] +} + +server_option_value_not_changed() { + local option="$1" + local default_value="$2" + local option_value=$(tmux show-option -sv "$option") + [ "$option_value" == "$default_value" ] +} + +key_binding_not_set() { + local key="${1//\\/\\\\}" + if $(tmux list-keys | grep -q "${KEY_BINDING_REGEX}${key}[[:space:]]"); then + return 1 + else + return 0 + fi +} + +key_binding_not_changed() { + local key="$1" + local default_value="$2" + if $(tmux list-keys | grep -q "${KEY_BINDING_REGEX}${key}[[:space:]]\+${default_value}"); then + # key still has the default binding + return 0 + else + return 1 + fi +} + +get_tmux_config() { + local tmux_config_xdg="${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf" + local tmux_config="$HOME/.tmux.conf" + + if [ -f "${tmux_config_xdg}" ]; then + echo "${tmux_config_xdg}" + else + echo ${tmux_config} + fi +} + +main() { + # OPTIONS + + # address vim mode switching delay (http://superuser.com/a/252717/65504) + if server_option_value_not_changed "escape-time" "500"; then + tmux set-option -s escape-time 0 + fi + + # increase scrollback buffer size + if option_value_not_changed "history-limit" "2000"; then + tmux set-option -g history-limit 50000 + fi + + # tmux messages are displayed for 4 seconds + if option_value_not_changed "display-time" "750"; then + tmux set-option -g display-time 4000 + fi + + # refresh 'status-left' and 'status-right' more often + if option_value_not_changed "status-interval" "15"; then + tmux set-option -g status-interval 5 + fi + + # required (only) on OS X + if is_osx && command_exists "reattach-to-user-namespace" && option_value_not_changed "default-command" ""; then + tmux set-option -g default-command "reattach-to-user-namespace -l $SHELL" + fi + + # upgrade $TERM, tmux 1.9 + if option_value_not_changed "default-terminal" "screen"; then + tmux set-option -g default-terminal "screen-256color" + fi + # upgrade $TERM, tmux 2.0+ + if server_option_value_not_changed "default-terminal" "screen"; then + tmux set-option -s default-terminal "screen-256color" + fi + + # emacs key bindings in tmux command prompt (prefix + :) are better than + # vi keys, even for vim users + tmux set-option -g status-keys emacs + + # focus events enabled for terminals that support them + tmux set-option -g focus-events on + + # super useful when using "grouped sessions" and multi-monitor setup + if ! iterm_terminal; then + tmux set-window-option -g aggressive-resize on + fi + + # DEFAULT KEY BINDINGS + + local prefix="$(prefix)" + local prefix_without_ctrl="$(prefix_without_ctrl)" + + # if C-b is not prefix + if [ $prefix != "C-b" ]; then + # unbind obsolete default binding + if key_binding_not_changed "C-b" "send-prefix"; then + tmux unbind-key C-b + fi + + # pressing `prefix + prefix` sends to the shell + if key_binding_not_set "$prefix"; then + tmux bind-key "$prefix" send-prefix + fi + fi + + # If Ctrl-a is prefix then `Ctrl-a + a` switches between alternate windows. + # Works for any prefix character. + if key_binding_not_set "$prefix_without_ctrl"; then + tmux bind-key "$prefix_without_ctrl" last-window + fi + + # easier switching between next/prev window + if key_binding_not_set "C-p"; then + tmux bind-key C-p previous-window + fi + if key_binding_not_set "C-n"; then + tmux bind-key C-n next-window + fi + + # source `.tmux.conf` file - as suggested in `man tmux` + if key_binding_not_set "R"; then + local tmux_config=$(get_tmux_config) + + tmux bind-key R run-shell " \ + tmux source-file ${tmux_config} > /dev/null; \ + tmux display-message 'Sourced ${tmux_config}!'" + fi +} +main diff --git a/dotfiles/common/.tmux/plugins/tmux/.editorconfig b/dotfiles/common/.tmux/plugins/tmux/.editorconfig new file mode 100644 index 0000000..d86ac02 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.editorconfig @@ -0,0 +1,34 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# EditorConfig is awesome: https://EditorConfig.org + +root = true + +[*] +charset = utf-8 +indent_size = 2 +indent_style = space +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +# go +[*.go] +indent_style = tab +indent_size = 4 + +# python +[*.{ini,py,py.tpl,rst}] +indent_size = 4 + +# rust +[*.rs] +indent_size = 4 + +# documentation, utils +[*.{md,mdx,diff}] +trim_trailing_whitespace = false + +# windows shell scripts +[*.{cmd,bat,ps1}] +end_of_line = crlf diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/bug.yml b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..6f312e7 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,46 @@ +name: Bug Report +description: Report your bugs with the theme here! +labels: [bug] +body: + - type: checkboxes + attributes: + label: Is there an existing issue outlining your problem? + description: Please search to see if an issue already exists for your problem. + options: + - label: I have searched the existing issues and they do not solve my problem. + required: true + - type: textarea + attributes: + label: Describe your problem. + description: Also tell us, what do you expect to see? + placeholder: The battery charging icon is missing... + validations: + required: true + - type: textarea + attributes: + label: Paste your configuration. + description: Provide us with the contents of your `.tmux.conf` file. + placeholder: | + ```sh + set -g @plugin 'catppuccin/tmux' + set -g @plugin 'tmux-plugins/tpm' + # ... + run ~/.config/tmux/tpm/tpm + ``` + validations: + required: true + - type: textarea + attributes: + label: Attach screenshots. + description: If applicable, attach screenshots which clearly highlight the issue. + - type: input + attributes: + label: What tmux version are you seeing the issue on? + description: "You can find your version by running `tmux -V`" + placeholder: tmux 3.3a + validations: + required: true + - type: textarea + attributes: + label: Any additional comments? + description: Add any information that hasn't been covered in the previous sections! diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/config.yml b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..0e1b590 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Ask A Question + url: https://github.com/catppuccin/tmux/discussions/new?category=q-a + about: Need help tweaking your Catppuccin tmux configuration? Ask questions in GitHub Discussions! + - name: Show & Tell + url: https://github.com/catppuccin/tmux/discussions/new?category=show-tell + about: Want to showcase your customised Catppuccin tmux configuration? Show it off in GitHub Discussions! + - name: Community Discord + url: https://discord.com/servers/catppuccin-907385605422448742 + about: Chat to other community members! diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/enhancement.yml b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/enhancement.yml new file mode 100644 index 0000000..1e2b053 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/enhancement.yml @@ -0,0 +1,18 @@ +name: Enhancement Issue +description: Request improvements to the theme here! +labels: [enhancement] +body: + - type: checkboxes + attributes: + label: Is there an existing issue outlining your improvement? + description: Please search to see if your improvement has already been raised as an issue. + options: + - label: I have searched the existing issues and my improvement has not been raised yet. + required: true + - type: textarea + attributes: + label: What would you like to see added and/or changed? + description: Make sure to mention why you think this is an improvement! + placeholder: I'd like to have an extra configuration option for... + validations: + required: true diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/meta.yml b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/meta.yml new file mode 100644 index 0000000..f471d4a --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/ISSUE_TEMPLATE/meta.yml @@ -0,0 +1,18 @@ +name: Meta Issue +description: Raise any issue regarding the repository here! +labels: [meta] +body: + - type: checkboxes + attributes: + label: Is there an existing issue outlining your problem? + description: Please search to see if an issue already exists for your problem. + options: + - label: I have searched the existing issues and they do not solve my problem. + required: true + - type: textarea + attributes: + label: Describe your issue. + description: Bugs should be raised under a [Bug Report](https://github.com/catppuccin/tmux/issues/new?assignees=&labels=bug&template=bug.yml). + placeholder: The README is missing crucial information such as... + validations: + required: true diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/release-please-config.json b/dotfiles/common/.tmux/plugins/tmux/.github/release-please-config.json new file mode 100644 index 0000000..47fe129 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/release-please-config.json @@ -0,0 +1,13 @@ +{ + "last-release-sha": "408c02ccf44d0a59a7a63ce2b65c5c29982c5c0e", + "packages": { + ".": { + "release-type": "simple", + "changelog-path": "CHANGELOG.md", + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": false, + "draft": false + } + }, + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/release-please-manifest.json b/dotfiles/common/.tmux/plugins/tmux/.github/release-please-manifest.json new file mode 100644 index 0000000..466df71 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.1.0" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/scripts/test.bash b/dotfiles/common/.tmux/plugins/tmux/.github/scripts/test.bash new file mode 100755 index 0000000..bfe9c32 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/scripts/test.bash @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +# +# Usage: +# ./test.bash catpuccin-tmux/catpuccin-tmux.tmux +# ./test.bash catpuccin-tmux/catpuccin-tmux.tmux ./config-example1 +# + +SOCKET_NAME="${SOCKET_NAME:-test}" + +tmux() { + command tmux -L "$SOCKET_NAME" "$@" +} + +start_tmux_server() { + echo "Starting tmux server" >&2 + tmux new -s dummy -d +} + +kill_tmux_server() { + echo "Stopping tmux server" >&2 + tmux kill-server +} + +check() { + local out exit_code + exit_code="$1" + out="$2" + + if [ "$exit_code" -ne 0 ] || [ -n "$out" ]; then + echo "Failed with exit code $exit_code and output:" + echo "$out" + exit 1 + fi + +} + +main() { + local config_file plugin output exit_code + + plugin="$1" + config_file="$2" + + echo "Using socket '$SOCKET_NAME'" >&2 + + # Make sure its a new/clean server + kill_tmux_server 2>/dev/null + start_tmux_server + + if [ -z "$config_file" ]; then + echo "No config file provided" >&2 + else + echo "sourcing config file '$config_file'" >&2 + tmux source-file "$config_file" + fi + + if [ -z "$plugin" ]; then + echo "ERROR: No path to the plugin provided" >&2 + exit 1 + else + echo "Running plugin: $plugin" >&2 + output="$(tmux run-shell "$plugin" 2>&1)" + exit_code="$?" + + check "$exit_code" "$output" + fi + + kill_tmux_server +} + +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/workflows/release.yml b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/release.yml new file mode 100644 index 0000000..f19b845 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/release.yml @@ -0,0 +1,45 @@ +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +name: release-please + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + id: release + with: + token: ${{ secrets.GITHUB_TOKEN }} + config-file: .github/release-please-config.json + manifest-file: .github/release-please-manifest.json + - uses: actions/checkout@v4 + - name: tag major and minor versions + if: ${{ steps.release.outputs.release_created }} + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + + git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/googleapis/release-please-action.git" + + git tag -d latest || true + git tag -d v${{ steps.release.outputs.major }} || true + git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true + + git push origin :latest || true + git push origin :v${{ steps.release.outputs.major }} || true + git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true + + git tag -a latest -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" + git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" + git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" + + git push origin latest + git push origin v${{ steps.release.outputs.major }} + git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/workflows/shellcheck.yml b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/shellcheck.yml new file mode 100644 index 0000000..159df99 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/shellcheck.yml @@ -0,0 +1,32 @@ +--- +name: Shellcheck +permissions: + contents: read +on: + pull_request: + paths-ignore: + - "*.md" + - "assets/**" + push: + paths-ignore: + - "*.md" + - "assets/**" + branches: + - main + workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + shellcheck: + name: Shellcheck + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run ShellCheck + uses: ludeeus/action-shellcheck@master + with: + additional_files: "catppuccin.tmux" + env: + SHELLCHECK_OPTS: "-a" diff --git a/dotfiles/common/.tmux/plugins/tmux/.github/workflows/test.yml b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/test.yml new file mode 100644 index 0000000..2365de7 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.github/workflows/test.yml @@ -0,0 +1,51 @@ +--- +name: Tests +permissions: + contents: read +on: + pull_request: + paths-ignore: + - "*.md" + - "assets/**" + push: + paths-ignore: + - "*.md" + - "assets/**" + branches: + - main + workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + ubuntu: + name: Test + runs-on: ubuntu-latest + + steps: + - name: Install tmux + run: sudo apt-get update && sudo apt-get install -y tmux=3.2a-4ubuntu0.2 + - uses: actions/checkout@v4 + - name: Config and Plugin + shell: bash + run: | + bash --version + tmux -V + ./.github/scripts/test.bash ./catppuccin.tmux + + old-bash: + name: "Old Bash" + runs-on: ubuntu-latest + container: + image: bash:3.2.57-alpine3.19 # Bash version used by macos + steps: + - uses: actions/checkout@v4 + - name: Check Syntax is Valid + shell: bash + run: | + apk update + apk add tmux + bash --version + tmux -V + ./.github/scripts/test.bash ./catppuccin.tmux diff --git a/dotfiles/common/.tmux/plugins/tmux/.gitignore b/dotfiles/common/.tmux/plugins/tmux/.gitignore new file mode 100644 index 0000000..beab4f1 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.gitignore @@ -0,0 +1,3 @@ +custom +!custom/README.md +!custom/example.sh diff --git a/dotfiles/common/.tmux/plugins/tmux/.shellcheckrc b/dotfiles/common/.tmux/plugins/tmux/.shellcheckrc new file mode 100644 index 0000000..3f7e5f5 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/.shellcheckrc @@ -0,0 +1,6 @@ +shell=bash + +# TODO: Find a way to declare color variables +disable=SC2154 + +external-sources=true diff --git a/dotfiles/common/.tmux/plugins/tmux/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tmux/CHANGELOG.md new file mode 100644 index 0000000..34bd71e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +## [0.1.0](https://github.com/catppuccin/tmux/compare/v0.0.1...v0.1.0) (2024-08-04) + + +### Features + +* releases ([#260](https://github.com/catppuccin/tmux/issues/260)) ([5fbacdf](https://github.com/catppuccin/tmux/commit/5fbacdf3559cf4496eef02aead087b3bb715e570)) diff --git a/dotfiles/common/.tmux/plugins/tmux/CONTRIBUTING.md b/dotfiles/common/.tmux/plugins/tmux/CONTRIBUTING.md new file mode 100644 index 0000000..86dd981 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/CONTRIBUTING.md @@ -0,0 +1,43 @@ +# Contributing + +## Adding a module + +Follow the instructions from [custom](/custom), place the module in the appropriate +directory and document the module in `README.md`. + +## Commit messages + +This repository uses [Conventional Commits](https://conventionalcommits.org). +Commit headers should be lowercase. Most commits should include a body that briefly +describes the motivation and content of the commit. + +### Commit types + +- `fix`: A bug fix that doesn't modify the public API +- `feat`: A code change that modifies the public API +- `refactor`: A code change that doesn't change behavior +- `style`: A style fix or change +- `docs`: Any change to documentation +- `ci`: Any change to CI files +- `revert`: A revert commit. The message should describe the reasoning and the + commit should include the `Refs:` footer with the short hashes of the commits + being reverted. +- `chore`: catch-all type + +### Commit scopes + +Available commit scopes are module names, `status`, `pane`, and +`window`. If none of these apply, omit the scope. + +### Breaking changes + +All breaking changes should be documented in the commit footer in the format +described by Conventional Commits. Use the `!` syntax in order to distinguish +breaking commits in the log, but include the footer to provide a better description +for the changelog generator. + +``` +feat(bar)!: foo the bars + +BREAKING CHANGE: bars are now foo'ed +``` diff --git a/dotfiles/common/.tmux/plugins/tmux/LICENSE b/dotfiles/common/.tmux/plugins/tmux/LICENSE new file mode 100644 index 0000000..006383b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Catppuccin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tmux/README.md b/dotfiles/common/.tmux/plugins/tmux/README.md new file mode 100644 index 0000000..d279a3f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/README.md @@ -0,0 +1,625 @@ +

+ Logo
+ + Catppuccin for Tmux + +

+ +

+ + + +

+ +

+ +

+ +## Content + +1. [Themes](#themes) +1. [Installation](#installation) +1. [Overview](#overview) +1. [Configuration options](#configuration-options) + 1. [Window](#window) + 1. [Window default](#window-default) + 1. [Window current](#window-current) + 1. [Status](#status) + 1. [Pane](#pane) + 1. [Customizing modules](#customizing-modules) + 1. [Battery module](#battery-module) + 1. [CPU module](#CPU-module) + 1. [Weather modules](#weather-modules) + 1. [Load module](#load-module) +1. [Create a custom module](#create-a-custom-module) +1. [Configuration Examples](#configuration-examples) + 1. [Config 1](#config-1) + 1. [Config 2](#config-2) + 1. [Config 3](#config-3) + +## Themes + +- 🌻 [Latte](./themes/catppuccin_latte.tmuxtheme) +- 🪴 [Frappé](./themes/catppuccin_frappe.tmuxtheme) +- 🌺 [Macchiato](./themes/catppuccin_macchiato.tmuxtheme) +- 🌿 [Mocha](./themes/catppuccin_mocha.tmuxtheme) + +## Installation + +In order to have the icons displayed correctly please use/update your favorite [patched font](https://www.nerdfonts.com/font-downloads). +If you do not have a patched font installed, you can override or remove any icon. Check the documentation below on the options available. + +### TPM + +1. Install [TPM](https://github.com/tmux-plugins/tpm) +2. Add the Catppuccin plugin: + +```bash +set -g @plugin 'catppuccin/tmux#latest' # See https://github.com/catppuccin/tmux/tags for additional tags +# set -g @plugin 'catppuccin/tmux' # main branch +# ...alongside +set -g @plugin 'tmux-plugins/tpm' +``` + +3. (Optional) Set your preferred flavor, it defaults to `"mocha"`: + +```bash +set -g @catppuccin_flavour 'mocha' # latte,frappe, macchiato or mocha +``` + +### Manual + +1. Clone this repository to your desired location (e.g. + `~/.config/tmux/plugins/catppuccin`) +2. Add the following line to your `tmux.conf` file: + `run ~/.config/tmux/plugins/catppuccin/catppuccin.tmux` +3. (Optional) Set your preferred flavor and/or add configuration options as + listed in [Configuration Options](#configuration-options). +4. Reload Tmux by either restarting the session or reloading it with `tmux source-file ~/.tmux.conf` + +## Overview + +![Default](./assets/overview.png) +This is a diagram of how the theme is split between its components. + +## Configuration options + +All flavors support certain levels of customization that match our [Catppuccin +Style Guide][style-guide]. To add these customizations, add any of the following +options to your Tmux configuration. + +### Window + +### Set the window separator +```sh +set -g @catppuccin_window_separator "" +``` + +#### Set the window left separator: +```sh +set -g @catppuccin_window_left_separator "█" +``` + +#### Set the window middle separator: +```sh +set -g @catppuccin_window_middle_separator "█" +``` + +#### Set the window right separator: +```sh +set -g @catppuccin_window_right_separator "█" +``` + +#### Position the number: +```sh +set -g @catppuccin_window_number_position "left" +``` +Values: +- left - the number will be on the left part of the window +- right - the number will be on the right part of the window + +#### Enable window status: +```sh +set -g @catppuccin_window_status_enable "no" +``` +Values: +- yes - this will enable the window status part +- no - this will disable the window status part + +#### Enable window status icons instead of text: +```sh +set -g @catppuccin_window_status_icon_enable "yes" +``` +Values: +- yes - this will replace the windows status text with icons +- no - this will keep the windows status in text format + +#### Override windows status icons +```sh +set -g @catppuccin_icon_window_last "󰖰" +set -g @catppuccin_icon_window_current "󰖯" +set -g @catppuccin_icon_window_zoom "󰁌" +set -g @catppuccin_icon_window_mark "󰃀" +set -g @catppuccin_icon_window_silent "󰂛" +set -g @catppuccin_icon_window_activity "󱅫" +set -g @catppuccin_icon_window_bell "󰂞" +``` + +### Window default + +#### Set the window default color fill: +```sh +set -g @catppuccin_window_default_fill "number" +``` +Values: +- number - only the number of the window part will have color +- all - the entire window part will have the same color +- none - the entire window part will have no color + +#### Override the window default colors: +```sh +set -g @catppuccin_window_default_color "#{thm_blue}" # text color +set -g @catppuccin_window_default_background "#{thm_gray}" +``` + +Values: +- color - a theme color (`#{thm_}`) or hexadecimal color value + +#### Override the window default text: +```sh +set -g @catppuccin_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory +``` + +### Window current + +#### Set the window current color fill: +```sh +set -g @catppuccin_window_current_fill "number" +``` +Values: +- number - only the number of the window part will have color +- all - the entire window part will have the same color +- none - the entire window part will have no color + +#### Override the window current colors: +```sh +set -g @catppuccin_window_current_color "#{thm_orange}" # text color +set -g @catppuccin_window_current_background "#{thm_bg}" +``` +Note that color and background fields are swapped when `@catppuccin_window_current_fill` is set to "all". + +Values: +- color - a theme color (`#{thm_}`) or a hexadecimal color value + +#### Override the window current text: +```sh +set -g @catppuccin_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory +``` + +### Pane + +#### Set the pane border style: + +```sh +set -g @catppuccin_pane_border_style "fg=#{thm_gray}" # Use a value compatible with the standard tmux 'pane-border-style' +``` + +#### Set the pane active border style: + +```sh +set -g @catppuccin_pane_active_border_style "fg=#{thm_orange}" # Use a value compatible with the standard tmux 'pane-border-active-style' +``` + +### Menu + +#### Set the menu style: + +```sh +set -g @catppuccin_menu_style "default" # Use a value compatible with the standard tmux `menu-style` +``` + +#### Set the menu selected style: + +```sh +set -g @catppuccin_menu_selected_style "fg=#{thm_gray},bg=#{thm_yellow}" # Use a value compatible with the standard tmux `menu-selected-style` +``` + +### Set the menu border style: + +```sh +set -g @catppuccin_menu_border_style "default" # Use a value compatible with the standard tmux `menu-border-style` +``` + +### Status +#### Set the default status bar visibility +```sh +set -g @catppuccin_status_default "on" + +``` + +#### Override the default status background color +```sh +set -g @catppuccin_status_background "theme" +``` +This will overwrite the status bar background: +- "theme" will use the color from the selected theme +- "default" will make the status bar transparent +- use hex color codes for other colors or a theme color (`#{thm_}`) + +Note: you need to restart tmux for this to take effect: +```sh +tmux kill-server & tmux +``` + +#### Set the status module left separator: +```sh +set -g @catppuccin_status_left_separator "" +``` + +#### Set the status module right separator: +```sh +set -g @catppuccin_status_right_separator "█" +``` + +#### Set the status connect separator: +```sh +set -g @catppuccin_status_connect_separator "yes" +``` +Values: +- yes - the background color of the separator will not blend in with the background color of tmux +- no - the background color of the separator will blend in with the background color of tmux + + +#### Set the status module color fill: +```sh +set -g @catppuccin_status_fill "icon" +``` +Values: +- icon - only the icon of the module will have color +- all - the entire module will have the same color + +#### Set the status module justify value: +```sh +set -g @catppuccin_status_justify "left" +``` +Values: +- left +- centre - puts the window list in the relative centre of the available free space +- right +- absolute-centre - uses the centre of the entire horizontal space + +### Pane + +```sh +set -g @catppuccin_pane_status_enabled "no" +set -g @catppuccin_pane_border_status "off" # See `pane-border-status` +set -g @catppuccin_pane_left_separator "█" +set -g @catppuccin_pane_right_separator "█" +set -g @catppuccin_pane_middle_separator "█" +set -g @catppuccin_pane_number_position "left" +set -g @catppuccin_pane_default_fill "number" +set -g @catppuccin_pane_default_text "#{b:pane_current_path}" +set -g @catppuccin_pane_border_style "fg=#{thm_orange}" +set -g @catppuccin_pane_active_border_style "fg=#{thm_orange}" +set -g @catppuccin_pane_color "#{thm_orange}" +set -g @catppuccin_pane_background_color "#{thm_orange}" +``` + +#### Set the module list +```sh +set -g @catppuccin_status_modules_right "application session" +set -g @catppuccin_status_modules_left "null" +``` +Provide a list of modules and the order in which you want them to appear in the status. + +Available modules: +- application - display the current window running application +- directory - display the basename of the current window path +- session - display the number of tmux sessions running +- user - display the username +- host - display the hostname +- date_time - display the date and time +- uptime - display the uptime +- [battery](#battery-module) - display the battery + +### Customizing modules + +Every module (except the module "session") supports the following overrides: + +#### Override the specific module icon +```sh +set -g @catppuccin_[module_name]_icon "icon" +``` + +#### Override the specific module color +```sh +set -g @catppuccin_[module_name]_color "color" +``` + +#### Override the specific module text +```sh +set -g @catppuccin_[module_name]_text "text" +``` + +#### Removing a specific module option +```sh +set -g @catppuccin_[module_name]_[option] "null" +``` +This is for the situation where you want to remove the icon from a module. +Ex: +```sh +set -g @catppuccin_date_time_icon "null" +``` + +### Battery module + +#### Requirements +This module depends on [tmux-battery](https://github.com/tmux-plugins/tmux-battery/tree/master). + +#### Install +The preferred way to install tmux-battery is using [TPM](https://github.com/tmux-plugins/tpm). + +#### Configure +Load tmux-battery after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'tmux-plugins/tmux-battery' +``` + +Add the battery module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... battery ..." +``` + +### CPU module + +#### Requirements +This module depends on [tmux-cpu](https://github.com/tmux-plugins/tmux-cpu/tree/master). + +#### Install +The preferred way to install tmux-cpu is using [TPM](https://github.com/tmux-plugins/tpm). + +#### Configure +Load tmux-cpu after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'tmux-plugins/tmux-cpu' +``` + +Add the cpu module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... cpu ..." +``` + +### Weather modules + +#### tmux-weather + +##### Requirements +This module depends on [tmux-weather](https://github.com/xamut/tmux-weather). + +##### Install +The preferred way to install tmux-weather is using [TPM](https://github.com/tmux-plugins/tpm). + +##### Configure +Load tmux-weather after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'xamut/tmux-weather' +``` + +Add the weather module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... weather ..." +``` + +#### tmux-clima + +##### Requirements +This module depends on [tmux-clima](https://github.com/vascomfnunes/tmux-clima). + +##### Install +The preferred way to install tmux-clima is using [TPM](https://github.com/tmux-plugins/tpm). + +##### Configure +Load tmux-clima after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'vascomfnunes/tmux-clima' +``` + +Add the weather module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... clima ..." +``` + +### Load module + +#### Requirements +This module depends on [tmux-loadavg](https://github.com/jamesoff/tmux-loadavg). + +#### Install +The preferred way to install tmux-loadavg is using [TPM](https://github.com/tmux-plugins/tpm). + +#### Configure +Load tmux-loadavg after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'jamesoff/tmux-loadavg' +``` + +Add the load module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... load ..." +``` + +### Gitmux module + +#### Requirements +This module depends on [gitmux](https://github.com/arl/gitmux). + +#### Install +To install gitmux, follow the instructions in the [gitmux documentation](https://github.com/arl/gitmux/blob/main/README.md#installing). + +#### Configure +Add the gitmux module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... gitmux ..." +``` + +To customize the gitmux module, you can follow the instrucctions in the [gitmux documentation](https://github.com/arl/gitmux/blob/main/README.md#customizing) and add this line in your tmux configuration: +```sh +set -g @catppuccin_gitmux_text "#(gitmux -cfg $HOME/.gitmux.conf \"#{pane_current_path}\")" +``` + +### Pomodoro module + +#### Requirements +This module depends on [tmux-pomodoro-plus](https://github.com/olimorris/tmux-pomodoro-plus/tree/main). + +#### Install +The preferred way to install tmux-pomodoro-plus is using [TPM](https://github.com/tmux-plugins/tpm). + +#### Configure +Load tmux-pomodoro-plus after you load catppuccin. +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'olimorris/tmux-pomodoro-plus' +``` + +Add the pomodoro module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... pomodoro_plus ..." +``` + + +### Kube module + +#### Requirements +This module depends on [kube-tmux](https://github.com/jonmosco/kube-tmux). + +#### Install +The preferred way to install kube-tmux is using [TPM](https://github.com/tmux-plugins/tpm). + +#### Configure +```sh +set -g @plugin 'catppuccin/tmux' +... +set -g @plugin 'jonmosco/kube-tmux' +``` + +Add the tmux module to the status modules list. +```sh +set -g @catppuccin_status_modules_right "... kube ..." +``` + +Optionally override the kube-tmux colors +```sh +set -g @catppuccin_kube_context_color "#{thm_red}" +set -g @catppuccin_kube_namespace_color "#{thm_cyan}" +``` + + +## Create a custom module + +It is possible to add a new custom module or overwrite any of the existing modules. + +For further details, see the documentation in [custom/README.md](custom/README.md) + +Any file added to the custom folder will be preserved when updating catppuccin. + +## Configuration Examples +Below are provided a few configurations as examples or starting points. + +Note: +When switching between configurations run: +```sh +tmux kill-server +``` +To kill the tmux server and clear all global variables. + + +### Config 1 +![Default](./assets/config1.png) + +```sh +set -g @catppuccin_window_right_separator "█ " +set -g @catppuccin_window_number_position "right" +set -g @catppuccin_window_middle_separator " | " + +set -g @catppuccin_window_default_fill "none" + +set -g @catppuccin_window_current_fill "all" + +set -g @catppuccin_status_modules_right "application session user host date_time" +set -g @catppuccin_status_left_separator "█" +set -g @catppuccin_status_right_separator "█" + +set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S" +``` + +### Config 2 +![Default](./assets/config2.png) + +```sh +set -g @catppuccin_window_left_separator "█" +set -g @catppuccin_window_right_separator "█ " +set -g @catppuccin_window_number_position "right" +set -g @catppuccin_window_middle_separator " █" + +set -g @catppuccin_window_default_fill "number" + +set -g @catppuccin_window_current_fill "number" +set -g @catppuccin_window_current_text "#{pane_current_path}" + +set -g @catppuccin_status_modules_right "application session date_time" +set -g @catppuccin_status_left_separator "" +set -g @catppuccin_status_right_separator " " +set -g @catppuccin_status_fill "all" +set -g @catppuccin_status_connect_separator "yes" +``` + +### Config 3 +![Default](./assets/config3.png) + +```sh +set -g @catppuccin_window_left_separator "" +set -g @catppuccin_window_right_separator " " +set -g @catppuccin_window_middle_separator " █" +set -g @catppuccin_window_number_position "right" + +set -g @catppuccin_window_default_fill "number" +set -g @catppuccin_window_default_text "#W" + +set -g @catppuccin_window_current_fill "number" +set -g @catppuccin_window_current_text "#W" + +set -g @catppuccin_status_modules_right "directory user host session" +set -g @catppuccin_status_left_separator " " +set -g @catppuccin_status_right_separator "" +set -g @catppuccin_status_fill "icon" +set -g @catppuccin_status_connect_separator "no" + +set -g @catppuccin_directory_text "#{pane_current_path}" +``` + +[style-guide]: https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md + +## 💝 Thanks to + +- [Pocco81](https://github.com/catppuccin) +- [vinnyA3](https://github.com/vinnyA3) +- [rogeruiz](https://github.com/rogeruiz) + +  + +

+

Copyright © 2021-present Catppuccin Org +

+ diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/config1.png b/dotfiles/common/.tmux/plugins/tmux/assets/config1.png new file mode 100644 index 0000000000000000000000000000000000000000..6eede6d810ce3ea8c5c8aec2c6e044bcbdf88a96 GIT binary patch literal 30407 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 literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/config2.png b/dotfiles/common/.tmux/plugins/tmux/assets/config2.png new file mode 100644 index 0000000000000000000000000000000000000000..56958902b99096fef1c745031c34b1421f8af105 GIT binary patch literal 31017 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 literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/config3.png b/dotfiles/common/.tmux/plugins/tmux/assets/config3.png new file mode 100644 index 0000000000000000000000000000000000000000..431a4ed2ce74eb902df32200782be386a74770dd GIT binary patch literal 28905 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 {D`qyWK>krPQuUZUzyPqkdeV5z>bf56u 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 literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/frappe.webp b/dotfiles/common/.tmux/plugins/tmux/assets/frappe.webp new file mode 100644 index 0000000000000000000000000000000000000000..64c14f866342ac01924461d158ca1d8e8f74133c GIT binary patch literal 99148 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 KzVrFTa@x& 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 O1Rw|!VIUz6 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 z zW~6mwgYrB&A}oUE(V&Wt#FO{uf|0OJA(gw4B&5^G)f9&K_rLPh+U@R^G9(OHjH|D~ zGpCBYQRZ*Nz%=7CO46>Xa$&+6DWC*O#1wQpIvNNRY-@N*vmmwR(`uzwH)bjGvBEgr zdmNw(8sx{-_J>9g#K8Uv~!gjKl6Z$sk0L;G@s5@#&jY52^)wfaOVEVNm zAe;ky%J9wzIKg!;zd^<%*)bwd^H!nIuPgs{I)Oni(%^aCov0xKmZYb+?h`L~-sBA} zp`lm}b6Jg0UA(SptCqVRMSp*@Zua5qowCvT3m~6_Tw<;Kd-pxAy>TB6Ln}J7wZi3m}>{}(i17REQ_|0x-++X{Jj1gMe5q*IhL=Z-{O>KJm@mGXRYfCu$u?3hvON-JU$K`bC!dqZz#1m zZvmvfS>@X9>fU;Eld{Zv+m8ou=2J3Z@@b*k_y|D(AT<=+M)qCp z?m-|qRtXLXLt;CCDQ)Bpfl@N)c+0n#Bbijic2|a#h`NL1SWBbYQL*PSWK`lK0{i1g zAKtQ7jLtB6%~s1470}UBpH3w5UiI)Sex^2$8s8B(TjkU({^#VqvN|YTWbKPU*wvzU zEz7;Dc7It4zD>1GnrrDyNCzTVBK9KK)4S{4J<$R8-hGb^6^sH>UUlF$aGk!Jr z^OH743mY{~>-~S;Srg*%kNL{mF<7bn^Ux2TclJ54>vcaB+FeRAH8+pSeB=1tj)eG> z*6iRO3h{!pMz_5ZKvkm&m|5g}Ukl_a4&^F^YskL|^naEzuyZf|CUTD* znCIcy#NU&)I8|H$~WBv(#G)4QpNsoy0azw_g z9~C)Ci!COCkLCTK2s2Ar-LC8J`)2UR;Z%3ay?buK7;4ZJQ6ro;$xB_s^(?r*=}>Wn zy@K^lcf~gNSa>7t%n3>ISas1QnyiO|Xc^UI(}Nx z-MgYYWWK%97J8h6m2R@O3@iq}xan?n%K*2zr(*awNJ)nO(D`lI*$kqfv&18-2~?X9 zW{D}h{gwNy^fi}f4c5K$39t^K2a{*~AoZh(-{G95LLz7yuOoRqmlf5s*cx~khWFAH z&34M zY0m0=c2<<6oN_Fy7teb;)}~_udaX9Jztbp=8dh9y;%F)6N0B+SKSE9Bzj0mY!4(q^ zy2-II60z5nYfeK$)!rV4U(5Fo*!|AN($NDE=xI+0Zx`*9(O8?J%M@BoHSEiX4%tA<1w{e0(tN zgh#LKn8WV3TgVQb|8x%irjsz)qmL!0%1ECVI2@T~t-|^ARn1)Gu_SV_?Ve4?^>Inf zZ^}*AF@o+Y+8|=rK4;ji97!5GJzYc>M74i|KoQcyi>l}?u}CS_&o3$N-ohA=VZ`dY zDzuGniKsfD*)VrfhRLRNlAD-Qt%(s{HSc!jV_e1b1`!d~C4!&e(H;4}@aVcg4q@z; z*aJ5QlYi^|5qhIyo?S7ct3dMXZa&}?6sxjGP9qc^o-XeeLODIQ`J7}>MM`rM5A$bw zAGWBn`0LLuW_G5~J&?u}RckyN896Py>XEP?_9OFoLDx1%?32x%qe|Qd_MoojpP@VG zg019G!5$|;r4+_orE)xVgc31dSrYxQY*_I-C4jAq-^TU$MGU&BgA z0^Ul>(G5+@lz4FEzsB!zQb#xngQYO50+qlIDF1=8-PUebfe&4$+ZsRBXGUMNq+Jnu z^2}BgZBh-AD`JaPy@f&!eQ-9yk-mH?MOoV23b=wNpAMQoPZUs^S{gIvdAo>nX(1og z60|hdm`VAJPTI|QzGb}hwyJn;qT}mP;u-ixxX}qgh5;)ObC}3eOhDMsjsL|A^v_h> zj#j{*0DGB-jBhp~ThAY?vg%rD4I?H9K802fGOV{CyksXx%SR|=OuLJTX7aoAECTp? zv{`%Ke5xjyV~-{8vX-FaYrY_$rTJvhq|q6)gFiZfz-FV|wwc#gFWh5z)P{oZ?q|Gn z*n7h!>x$Zt7nFmCOmp7Kp*>tRf;Bvx&4F0S(XrLurostW)MfLE@!cGa3TvVl;swZj z)Tehp+@a4ltmDlVKH<6RQHZ%0L$ac`SerUOSY?Qf`6&ycMwZIngMD)gYA;&Uk2(bj z^OW-$A58z-WA($y4i0ps$!PsFQ`0kPC`_Mzd^LPICaX)2Na{nd!8Y~R0NTruW1iBfehC3Nm_PZ}K z12j3XwYC#e6GkPDti}rsP0B1tX&I?W*89utP*XX&)-bFDOhyx7JLWGG6_zSM^3d+y z7W|b9^Czv^5%Zs|80OM*O6^TN$uUEtdWjprGX1-soi(xok#CNbh796-5Rm|nd04ia za-Tq-zBd2K(L{@X82jIDQ9y#1d90#^tUkwAAxx{U+4IdE4@Vi+c%)CVLwXjkB=K(4 zvwEc3X44_4{tM*zwbA_@)&aKR+3dhMDCQs|kZGujw!C*J@ui{ql(*C-u9H$Ovf+u# zHzpke?7+dIvVnI)dSPi(df`v5AC`!9W|z60PGbT-Tp$P(`nK+?dHm2jB^#~YV1_Jj zllc94H)`#*Oq{;khs!`4`N;3Zpi5a0Mmh^2lW5(orA9;=0iX3_VV|S7Hi{K}POsMN z>rjD}9PW*`Iu{LIh`5DB7cTeRZx@qn_by3IM2Pg%_!*!xIQESrhY9=Yc**CR#rK~H z@|}4XY`Q8P<4IewP-(C=)BZ~yzK3HyO0wR}3LhS24p+>O*@eQn1XD%T3~m3C3*Zq& zkNE|PmH71jjb)KJ?S35xs5}!hV@r1vz%WrKRL3Khb#co4S0Bh+Qt2$z^X*e#`ef+1 z$szQfZRSS?oYpK?X=pVYB>%EXU8Zu$hI{`pznxzMbHRqAurza>E$>y|^-2V;cvB;E zLXA>#+^%|wr$qEWv->5>Am=r5IvYS-F82s=9uvz5(pvVwDBRdMdfRvhT7J^%aR5EB zhdaFUae%MQe4W}qiX?aaraz6EA8dj6mTP&QOxWo(#%u%(yVBodCt{=SW8sLj{B{#> zJLsgy*A2yF(0lagZbRo^1YDSQtrdFgyqmb&dZV@D*3bTF03t^hY7RroLVxx$i z0ZD6fTvvyr+{3KP%5KS&`!Drl3ux_@AK##-tLbrziZg?Q!c%{k{%CUA_UmczY34Hj zl;VA2?S2w~<%QQMOg>V=$mjl7W-D`>CrdDnOYC2jeDdGLS<4PFu2G4YeH>yb251+~ zRHQxqwQowWDqKsw^p3%2?^t*Gd;BMN1I)nk^UFVehk zQ1=plb9sL*+=pLmUMxNZ=B4QbNQyd0_Dawn3)z;U&2@@;_wzsndXHtF9dOyU{@uGS z@oyMgeKJqx>G%;mg&aq(eS%5nX{B{r+kisgqNH?R5_VU8+R+A?)&5e}{1Xi)QiPF$ zKgCXMlN4una>@sXxkSN*EUf1q_nQN~FFty3IXu98_7Q`~(}ro?dCB7i2=@{q{m>j+ zbUESoah_1sz=yM6)zUcASFSH19d2>H8Yr8SJfE+{FRptqO8}=46(1cW3Bh&Qw`l1H z9eZi+ll)@4G`$!`x!!q-ldUiL0|4bNBFMUM?Pop@=i1|ekMj_$m}SX8mpiZFivI%E zb~hrsM`bXqhI8bH{Ix~$nKSIhU#kcFuvk#`c#>BCX_Luq$61{Z`!usd=tjGi;Fb~* z>Wuw_jm+KQ;ybX4!vMb9A=RD4pBYawyt9_}7FU}PtB&6cVR|p`$(;@q7AR=(tyF5T zRQ&dY^D`a$=b;7m5V2h&_tbmle*uc}PlhDhFlV>FzO$UFh!wY`czZ8ErY$syz2)2Q z!K(*v5Q@e9>WI;D#vP5HO{SNQuiB}h3*s`43Ff*%@WK6vE`H$MfUao;ilIs|zq-J} zDKCq3srtz1#$+m?B0k*}?E2{iYMykyzXcL7JdHzDn`E#+-}#qy2g(<8t#U5T7-Yu> z9(|q-@IIXkZ1x}8DJSTQ$&Qnh=}H=Xiy=l|vBQU!5GMg$-zo;|~N)5jvJ z3Zf@R*8mk2g6rf&} zre{z2*l*IN8}&@}QHnG+rpvYf}9q2p^A&#K~ODE{36=v_Wgk(%J(qXZxTx zWix|1hcXU zaD|%3LpTuHxhuWI_c-7f1sJbml;SDX9?lw7PrTIBiWo!2vcdHE!d#bhbrn_oup1@z z&qYs0kBFi9M2=oAFt1urA}l=a`IB#S=Go1tmysWnAi?!B6mLd?t>Q+mW!k>iQ70E0%D@vK>LC`j1S&Qwy1BOh){{L-HpieARSS5!-spq$ z@H%I|_=BPXWuLjdY4O<$UR%CC0{#2R-UlJ;IBD9jy0=!erkuO*SLWx}204qL#|E25 zoNcgR503fLZ2YKW1EWaR&&J=V9KW@JpEa1I+|=J7#K<)VWNmyrYe@Ze)t0S24^VV+ zxA!94hX)yXft}*}er)YDy?L?jkf6jwrO!Ze=)c-D-ALHZ9nIkAg@9t@q+_DillB_|xemCEAP%aK~-Q3|mQ^ zx#Wr8!wIss^gM=Vl?u4hOr-MjS-c!It+33aW5ueuUJhMM#N3W>~Gv z4%n_7dqjMXbhdg*+FushFUNue_+KRG|K{f#vBHyoLLRmUr?pJ9`+W|N%f&JbD^w+e zXj-zktuy54-lmLEGhfbf+Gy05DZOyv$;9~|rpyo6`Rz07H3rzfVqvxGTc0SnAC|cm z5*|&DzrWrJboIT%qem6;amc%5NC)dE-%5@Z9w+t$Z^q0!OtckZEOpiA|Az6(_?R@e z1TsCaiklxgg;Y*axX}7i-dV}P$!ToTvSnEZ!w*SefnuC9qx;E^tbJlIq_!yrDP2*KsJ^K2=SNE%?>9QZWknTqp{sXW3s{jz#Ln)~ za$GkG{#iIlYHyx$m$3;#9?+DcX@9{TwI;e^+Cg8<3M$smkCOfR7jSweQ7e)E1q_gvqdREQ`f9SD z8Rw}h8|6Vhp*WS~()di)1Kir>m_0Al@T10~+!A4h_T9o}1E1KRqXYHqdcE-s6Eqnv6KT^2@rwD3*h}^Soa&^6`5DCVim8f9Fbzr?&H& zH+>tX-nd7lP}V*rc8hnhYtz%g92j68+gqb^ZV~Ksc#h)xX50Brj->!~Il3DPjN)&3r(+@dRfo^BVxdNuRs<{-Bd#4!(nNyp^cyK>%;nk}v90|yT;VM;3K=}U+6M9N2 z13qg%Iw)kb7|=ijQK_D8uIrgFDv2Af?HsOu3j%4l3{EQivkSif?luFuO>J&f7*!uS z-&h6uM@X4#X^rBP>jG}0#G2iP^ip?tqxAI~AGub0bpEM2yu@W`zx%V~YWFVq6yMH8 zkC(UlZOi;ozJ4Q8Y104mmmU2vO0_htsG>2mkp;0bekSw{fjev|J&I1?Agq!qP2_~i@wBEUtaA3k;ePA`pCvDh}>1`tSn2zb%7G|y57b4 zsxzP@n1~&J4FYb!lO%tG+Ba`m#Cz2bJX39__2jzg@sWC?mr1YN7{J<3=-qsk>vq+r zrCSLjjsnh5|DMsqqo$M|EMH2C!Ip{ph|V9p`Ia^7;KB916%$S5!gH)X42_k3i9e6- zojemwqnVso7RBtZxISC}9g7RubWRA=!Qcx2lC}zzZ7FpoR9lG~IWp|inM`1^`6?zA zjwNSrUQt*hb}9(8tK}<1Lk}|XCzJSDZKix+A!Wt`UVretPZG_Le4pyqstGeU=k4X& ziTZgUyN}d0e0g7F6&o)AYijUzoi7Qg8B zI(#s9dYBfut$|;-gB9!J{In5{veCh7o&i#>Otv zc%BCq?oo1dJcpK#V0;o^LuLRP2;-D7#vAX0JWi3l5rDE6Yc0N->SA`WqdODG8|Kdt z0ptDVXCz@S%Dgj14aXfkl%v^IEZB+JS-$`gD*#Yrw=zu-j?>R@O`Q4)l1m&virMPw z`QaO<*BC~NfxC@ZguO_NUVD2G8$#uBmh|~$=i39>(`i#0*SxoTTmVX|vcA&C^JgK% z&JnlJ6>;k~-Co9*yAVZ9Ek;qg2&x)CPcF;XYooS$A(wR!)? z=|1&wWFJPbZ59#vw;wOY?S2jib>d$JGTPop1noe{_2)ApW#E()w_vJrypP#7dyl2z z|Hrh4n|fZ=mEa}{<%nX6*Dl6D^~mQLHZq*9u)88QDWotDldX@=`dK3k%gQ+wewCx(6b#^tKQx<^fjJbi*vx{(u4_9bxfJ1ub{waa9 zUnS`AWW{BLmfzX>uuY)Ors`kc;?k`B`kd*B*U*E%3zF#oKI)#zE8l zT(Y5mPK}KIFMw&C?FV4~c)?ig-5!V$9r;Ncf6UC<>@-{l3Ln1i6I<9=@<(?>i?g&^ z6gRF6-b=O_nN!Pr>vI?gb!~j*paOnW3x;Dpt5Mm`&u=U!Yn}{iXT7ZEG#_p~GHbc2 zeHi+O@g375?ED;^b5)eMe|&K9eBU}->Sm;V-CHeu+eFZ$vRpbQ*?Abvhnni4{$9#B z?8wM;Q_<_}Gl6+7+y70gCC_6F^;q>wU9P@DzH&+PZ^B!>c|e;e;4c8uqVjoi|2 zRI;~d*g>fK=&>A>4tF>z6e*cDy=4$YU_1`x3*&%Cf9#p`@^sw;VXp)KhDfI-*Eu_p zS+Q3GmW^celro=`^hiI~nETJ;rxrAFt6w+zuyBW80cMC|!4~LmqR1rVI1e87z##&h zc-y)Q{I}~cn=mYQm`^%brNIi`CS5s0pmaCzXJ=BSsfQi049Q))BFm#%CU7;f#1_+T z%C`yG)QuL2QY?0Galv0o@jlmO!uKr<#2{oXn z0|bnIUnO_kPC3@vIo#F8Hg(DSPFjf3J_S558(CC-L5-NMw<>okR*p0a2m9~TZg z;WgWo2Xo_+hpIP+wbF&d*457+=QJZ5(~f@QD}A{Ey(&j7Q7=soOVUyP;!r-En|6k{ zez2~70=7|ni?+{Q9C`kPkfzi~tRsB>)99_8IyvrmMy45deyUG$9x>LsNwnEoR!pG;1{Yo#0v?ORWN=>C|G-B+KoKe6?ZSi)6b zU6e|XFjr`o=U-QCQKd8AgTiozp@I+TS;50ueU-o(_sZvh^B1~s`R~IQk7zvnjvwLt z@m?#h(ZrckSG_eyY*vw*kp-svD<7|Ud1AOXQgXLfNI`J2JTa76XrjA6XQwmA-!)K| zORIwljK`walr}xMN*klhbYFQDrKaj;Q)dw(qx=r&O2LVdkHA5x&8iD0*|9-NEl`7< zPqxQox!8SAb53?(@@b_pPX7BSZJ1gtNFSw7M-Mh_lnPr0o_1smU0kItciLXhQwP|| zg|UxWhf9eRym)OW^=0yEQPB0l;?NyOWi`$rL@My;y6j}DzpC8DU-X3-&+o-UR2|Cv z{$0Ek9lIM#9KmCNXfM+q8###fQx7k*p^I9Vz5l|@&h(}}GVRI61(}xM+h;vB0xRSmABdt8Jh)~I=tPT6divpo24X@pfDxjT!LFX#w#}jWxHZogNj29` zckHsxqr#F9H}Czf_Z7;>N^y(>(-loM2Om|agqrh?fEN2VL(XP8x;$>Zrq5vC57uZm zMALqNqMxd$?mcWf0J>w?M~{)5&V;XmnPjI*QqbvtAjRYb>vHt_Pv;YP@t9pV*o3~^ z4B^|E?)8Uvn?!fw-NJ#poboVtpH)ADKTEI34N#GC^UpXN$XqzP3C^B#i>j5AMEUp6 zvFiiK%4N4KTU=))EpU}9bk~3XW@rzipZlM4R0O;TO7}D=-|TXT zHg>KIGIkbQr^Jt~ST*BMOq>gACEgv-cp0PvH24){kM>a~NHF#g#7`qkdi)uQ5EQKgorQ>E{g37L&idUlun+fjCj;6w=K z@8B7G$U%F1<}t;h|7a4~wy!^(_U26x&v&!~?!;Tw=D-o=V@Wo0-6lo7Zw8o8iU zBNtR%yf}dckjk8zjaknxDC!7|LUqjaId|*He#%v);0cxk=!D93#qah7u>rN^xEw%8 z@6SZp8n*9|}PcpEaoYi*}Tt>81AuplUEy!Cwq|mPO!IS4$z)g&mLS4+n%V#&m z!3GC8|8u4zl)uiP#Or|s%Yjpkiw=8p4V`UAArP1!NDFyJPJuewWKKXrd~r_fB6rjl zSiXugPQK!OC1q|VDSBsQ8g!iW{(i=)54mC}Pe}%sn!t!eoz7Iv7nj}2VtHIJ2@qLm zr|k6dfxN|!7jn)_`+dZ=Z@nbQ?RtpPL8LPpLrJ+|O3ql#)c^^7l#gw0?zW8kSwB#- z(5%hl_eDu46$0ZLTkOW}ey%=vw~KsZd~mhQkm$dLaC=Pv@CE+jKBW#{%F^fJwJ@^8 z;WvDjeF6t4koU9Ai94cDMyK+i@O3IppawUp6H(f`;REqKWom(7W!q%*v!L<&D&qU- z7N_i7G(XNQY6w{bh%Ul1@BSEAW|^0=$bNREi(^qvv_@cR=N7?t-kYhZTz>vus5Ka9 zK(@IjaQmg2sOVc33xCmj7T!ZXqRRQtzqIY5`F^$p9;e&F{olQU3sGvxooz7nak*{8 zx(_vf!vy!W1^md;rtWQm#S@3;G^IC4C8)e;oOoj+>``VMH>O@G#Hdr?)aU%( z%}QioIRjuGckTF;d1SxvGp zKcm*ZfDjLU@*x|b=Z^|KcvlyTq6|FH+ae@hiJ54^;eN?UNMnfNfh$$N$kzMj*Ex+j zoWt8t=F>Af1rR;{!hPNU(TZu{pZuTEW{CwGav7kaMf=QX1o9)Q*|XMYioMmMLCyz) zjJ}p&mltq*s~dKSAgO3O8+0|JBOSkeq_ffs}gIH z26;5*4i8GY%oXs=;ZZ!GAt3boBe}H3B6%FYqgZ5L$N^UvHeBB$_KUS3SeoC=Gr^RY zO$~<}Sod_Rf7mk*z1TSYdWL;P0FWb{RC`}w)q6w;P@Tavn#vN0HRY$@cKIA)JmLCR z$XkJ!q{UyTOz0YvPH4PzvFIRo?!9y&*!hcIb&;TXRHlH>Ku!Y)g>4Z8U~Y! z3$&Cw=|tohbd5!mou0Kz+KV4Ab{L=nXO{&c*pMp!9)Y>O1^YfcV()0Cd<5o2BlYRZ zu&SdAL`X)&I85iR2aB8o*d2QODf7{0zBp!RltGp%vijYKb4ytcw$id9kDb+d2-}hhjqS#OUX;v-&h*g?Bf7!v%vk#viB> zbW-M2V`oO^yUF4e>_?4UT^1|@)|)67I{cCcIGEOeWM9_@v0M1VFIV~XS(H2b;dhhj z$d~ymZ%k{a2cFh+Tz1{K0eV63q>Ye}Gg^H9i$FT4g0vwa5P|Rp?JyQBoR+nn0Bg>| z91L5r5i&5=UW_tVz|@T$CqL?k(4B|J$P(j~VXbdN6ziSDD)E)!#OHK5OG)EgQvn2< zhEBD}QMLI00>wDTJUP*lj%gjA@&GnVE$lB!Dao}1``&tRxyrmO-!v^ZVad23Pyc?q zu3kF>k%sbd{I?{NU;!g8<&AqeyPZjMML-t_r5u}N4Y)s3>}tz}o9p^{>lO{CLmi3p z8?610YDMcEVq-Sy*$OJi(jEZU*~3QtV`V-C>;`!GH2q(jZ-6x4#TEQS*bH*Macl!8 ze%Qf#Tiod1@L*{_P4xk_ge#YPmEo06S@^b?|JmcGrdZ^g{EFT2TN~{_bxoAn-CH2i zKnl>G7QpylrimebV@jeTHG9R?zQzBgy5!mOa18B}JRDfko;o;OP|_kYXwa5VosXCL zTUG+GEqBnLvOpdT<08+-J-C)@35A`K=1hjg+ZlVKMDXrUt&Z|VZ}05t^7Vw@`b07YJ7YRifs5h%YD#vk$6mw-R~gZ%G6)si)%VYCy9Hk&spsXF@| ziPZp{VnA#V@O)pi-d%X%e;1u)9&&)Lw+brzP@4^1{qh^r6LmE$f_gNmv z6ntwIWwKsh@W>LaZu?#L#PBi>22gkj%aA6?M_PNosSEWprkYg6vsjWlDn+ucsc@I}XZAl;!WYc=QaV(H;LDRt#(k;@7Cwqp2} z+Pn8{cfSL*SBW1BOrz<=+4r~Th{ah%zpy^r5y<)hj@SM8bD#NLdnv+7t;RcBVzf)DkM~^+lz|Tf}dJlIWGAK14Oi(UA(6iL$pm z4M-ojZ+{dO)f69+`uva>rd5oti0n`nh9MCJxdnC%yH2>&;)~v#whU|P&3sXdkeFiY z2OrGguq5&zf;0{-%Z;V}uicd{X=GPmF7f4IEkhyv#(#Qv8$b)X-L#{TX|2*3t@SU| z@^OAl>>uuZ{~xPVfYi@7^L}u`tRL_YW!i|GM)SdCU;5nj{BttjJf_jPl4%3mns^}i zD0C0qwYTT(zMYX2J?DAmU7zJye~+3a$EO|03g1RnXdm2@f&&9VIItH1uV%`?)&jZT z0+z=ERrU`5E^lMOCx^PRClQTt*p@|=d3B|;L5*+LzA&yjB&Q?RPmnOSB{FK&oGJ8* zLAg=R?ZgzO?JApD%1;gw#U#)xTaXMy9^4yS(35B_8r&y^`6o^xG54{D0i0k@wqgnF zfVU!^CnGI9@cEs+#*QYb%iB2R z7oK$H1#*e^?+=k@faX@N^KOwc#s~2>cn81)9#?}C&lwPpYg$=2R*#O%7LJUHv z#C#5Yx0j$@^7#;2W>{P}ob6qc#4gTlnCBUiuJ!xGp6qQ42ZOuEczTw$7qi$_Sr+A~ zK9;`9x5TSUzfuQu^f|pqsr?H|fBK%w3|ztH@F4Km>yMcym+g{hP2x~Sn*Pw1n2sO1 zv#8kJ7UTQ_5LA%W7aH&u2X^SD{SH)|{g8ACIq&=rkK~QmB!+arGXK>dL(gw%IRtwu zJ;8{iWsM}gYJb0DxK6Xa5yh8mO=D-~$)6cF2sq$9jj}M?x})kK%HXpCbp+8@H=fpq zh@_X~jOgS*C8Z?LduYR!IET1dx2T`UlCM4$vI(t*`lujJeyIu`^34A@jwpX6XM8zf zU6MT;6C71i$i&1>1$3=E+&(m7Q$YF}4Aw~klcMERVflr{4&9SXb>ZRkT%JPAs zenj#2*b1Xe46W?>4eDT?q!ht%x$^7o(0(DIfN|`e z^YSE;pFj30$fA7u`=VK_)thjZ#5j1{QQ)=ngrXZUD>e$xY$VV9U9Zoa`9LII86WS0CG+zRyw7r%t|P zioJSb>7#72c%SQ5f zNI40)hv2X6r)l>Xa-jsNOi9&+tp45Jl|+>RkT8GY)4@LXT@!$h|zw0Wzd$^z*l# z-+@Yx)mddTrAKMHg9}`$2+T1Z>b8OITh>i3*N3OM-J_?TKVri1XUYZo8A_A^tVMqr z)S#S1@a*2`>r^gr{@w{tScd{6=E3&u8wO$llB$6%d$^VEZ-vA+g5L>zOx^cyfi`h7oBz zL82sD1*l)PtLfCSsFHJ?k-&$C3fycjvtK9i(>)4&VEMFWDQz^1k{c{dJ*fEsThy0c zbVUffFu;yG&(l06wIn=KBK!q^Uqm_oLsL^a=S%2oeNtlDG*Tqq9=M#9MvOaTj$WrK z`K7FXXbE38o$UHHWqe~Y%S$v2AQ`x^zC&I|nXP7f>k62MjGkymJv$x5^Mb?#s3w%1 zgC<`b@Vtdl!6qgtzhxQA+}`II33nzhD=sqaR#0 zKh{{>y(mZX{>qCeL@EmM9m6shJ-i#&B(?RB^e2Xx7KtqBcXxGsKK-m1LJe-FnL-$F z6{$taYxX!U@BM=*`Gk0ItqxX*H)#7x)?Co7h9sDHDMjsSdvZmApYIw5Zm`)q?_A!1 z-s3O9H8w+9Y?~n87r6q{$Mq?Vxh=!Iif;X9S0X)nlOn1~o$zA)9s#$ekSnAd*s6V; z&qH#WKi<5nEhnn*2EVXC`+~4dyDqBoT#T8kE=I|OMaG-aS^cz^3Z{<)8F-kr1*!!URRD%PssOIf{gsN;fth`#SBsfUAUtRJQ}*PfgZk zy1OHH($M$rE-WNeaxkieKczV1I_mLn%cGNTd?W*{m&q!4Sugjdnlm)yJfU@LN;vxR zmeQ!NV)^sYp86@4nmkW6L}Ef0dqd-IWQbLX5vRLH;EqRjUZUzplYSrujEpX7dKRZA z-jE>@14S~*n3-2TmgLNMS!3Dq(FI0$Az5T?3V^`BWknI>oOlV)K3T3FP;gLRJFH5 z?E;5n_LF@H4x8DE4x^~Z2}23P(Wm-j=9~3h)`3rU9_KCuO^W3O8z$xUkHX&lf(6pw_o;WFCRS2cm&Ni%3p8Y`U|Tp zpJEmo3aE<@UXH3z{-EOjZe_63Z|pM*{L`AU;XxLjI6GID^5ha(KK^gc^;EhQOc&&_ z3tEH5T>nDg#jp?IBMA!APglj=|JBa!(td z>^s^1aF^D-CTd_T9Jq`97j_8;xUN9l%x3R7^B?3dK>4NzMK$N|#mtZ;cL(qi zy@JaZy;*VaBTWFD(ab^QU#|S*nO(<>cj@t~02lluKrnnHNcYC}^}X_XCw$_#o<$VN5^C`AIE<7sLBJa%|{M@EA| z?!Wt}DS=;7^@SP(MNd(05Jb=tvkqL7luOJ4lHBDOp4FrxdjjlO71(3;J4{J1E%>Y` z3{#!(;A#oM74N!|}bFpS-nRdu{<35LHVR7r+`Q-$1kW$8$Cq5;BGBeX+ka-}(@z5jO%H zpVq&j;^!wM+Mn@(nPAd>(cc7-H)=9z{D=Ls5*U3s7xL25-I+GI6V9H?-hR&orQ2Wi%~}O^0Zamxwx(Da zNU-n)gWLYe9Mti&5Etp$fbTELz5vSed#!=uki2lY+sIT<#ir>Jb~~z67%qX;KIo-Y5EK?E8RA)P zZ%Ba0TNiWOIa()Xg1;k)^lgVPqn3QjhirYobO*pt&Lm9yigulrpZ{D_=-8W&YwtAz zV4V5Qg!`OcFdaML0Mbfq*YNak?)joT77n={JCQ!zW(ysWy-=~HaGPT<@||oxg+G@#pI^?c zl%;YH1Aiq3x&4cQCV3M_lO0gL12g8sifZ4nWsXqMD*#`K6l&-1d(Yt*Q_jNki0Y8$ z#sW%s#al~!z#;LXHEv+kc}@|UUw@PDxtP6Z1B^=7!aAO-@T5v#=#)3G=OBT}ldG$w zF>dBTYwKIO5hSVf`LFF^AHPtO#?Y#8ON3k^_!pBZCX?((7|QcEDtd^RP{GFtdkkwF zz`iN4$HUZ`4JqO={tfAn_cLN-al(3$K^}r;G@7LJ=Wv8w`{BR_4^?vx%UQveTox8q zh$N{=!)&_^RqlelLxHnyi*xNU^#5y6oqD9<9l2q*Ugr(E?Ei$+BUMr3o1iiUNCaIfpyn``SD_g?$j_uAL?d+YQ0d>_C6 zdgy&$~H(`2<6y) zD*YZvw)SQX=p#w#4&6eTd_^qWE#F~Nb*+ZQ;>~CP;$9iQGB^^pt~$dV-8XyR`*7LC z0_K+Z0oy*zvq@5#c9WS`U`s{Ae)HA1huO0ZKfZaTZflY~ADUiebqO~qbWH^w#-p+e z;b*2it$^DpaRm*QeP6U6!_mW`d~fbKgqM=!ubN5U zDfJoN(ZqiXaR{3=qb!;3iY8##YR~FGi66QPNg|90#A^HJlP+Zx*S01ZYd_QBxo|pZDPJmI>l4DpeCiawbV@MS~k9Cj=j!QaHk|f1RoXR z0M4*|e_wT%w+g&ZG8#oN!l>+h@G0c=WBmhDV$tPS^xmyYO}$*|$cJ7f+kj#gmxNTd zX2($>AI8p8+ru{ZFnGl!x5A{^tx!1o8cB+}CAI0OR7G%vX$2_#>^E2_uF_nSFdt07voQ zJ3}1a!gU2Ijo?#VKA>;ljpL1JigJW)koMtvV>8!67j`#VU^bXKiHpsZ)>8fm^%nu{h2g}z*%Ou`2PEMad-wJtmJ(<^ue*x=y7kzdB zAy4Zz?iza}V&n3w33be@iM83A)0v8|B+55_yrUOlQIFc3G(RxoD+hCS$!LU#h$9(h z9hbSH=h?BKzgy&qcUnc#&U_!62ucvx1MPF;!_c#Qyh0aB0=Y{

z{p`7pGLZHNd(QPj!o$Rc70d{m$*UM1fdve3D2T_nN%`2l7Q- zq9WvbOjNx?*0U!Fbs%Y1^)ZqEaD_~G6;Sx;`cibf;@Dig?3>LIWk09BDwteB1&bY( zA!jzCGA&=6QUZwB7jW{;R4l9(bvk&3$L*JV%~}T^W50->Q^6vRzM7_k`Si#J!e829 z8l^YK$1^CJOakJp;b0VFvI$EdWY|xp683!LX{hG?VMU*;(N6g~so0>=!5KS@bWg~= zD@#6B{}wJ-x%la(_v@QfUW+2GmWbQ|3(C^dhfb#SGd8X}NYd*-5bLIy{19Q<(51n9 zJ(n%E5A(ff#wcZ)b`yutj4&y>gXd(}%49C+@$D+UTL;*@V6!%YNP@l4(-$$*>94FJ zH8vu~cIcidgDy{uR~n&>1J6L!56@J>R;VTP&Un80yQFh#bYIg#DEQGAWSwwy2ls+p!vVAi~l~-2M_4K)4iPcC}k*Es1kTW7Ob@ z)*ml*M?-43p@g7@ffmAZH^O~AMVfxog`Gp7S-H6<0*o~Kau#?dcT^i`Lk8^ur{4IO zHRCu^k-Ic_waP8L%I5sv1&&`i9IB-VBpsdG;+Kc#B%z}pXymUXk+9np)V&)NT*9dK zj$5guCd$9CxRt7t31XG1@(6%uMKbf{>K2-c-ZfJa9TJJ^(Da(WvNkqEF32HQWN1i) zo2|kv-#PIoWS&p8??+zmO+_%K*^L1?zaIvz@+To9Uy4xwMXdi|uY@pkS2;*ZX$aVl4BcIAdBD*c)ZGYw{mx z+ReT#{4b415Mi^YW3f&oj~h4L)>kGO@|2&rQ2a#?ccFlf#&aQ-2_+CP_s9>g zE0kIpqGMRldLBSrMhU2p>QzcKVsFXn3&sKTei;~vJ zC%R-@RWwU0iCs9Mdp@s_L0+#N z=kGVgK!)11JMNb&zoH7tLXwFVS}b|NZKW}D`L55s|1%ZIR~n^wsk|qPxU%(9612r4 z5W?xxB~aoCKmrINVF@HTbj{A@cJ}8>8#nQYu+S~aOq_d*uv4eZL+?SqdIp-5XSHfY z>&8inK|SeF04Sy`*A$2T)My9c4~nJqmZd!LmUx%0djg#gZUtVLTIy$V&lOpKVtRCK z`jQu+PW%`9>K!-7N3475WEi8beSfiYeV%**)xmN|^l0QU_96f)D{8{Y!~yQ*v?q^{ z*ZOm6Vo)33sZTNO2dja-cg}dnPvfqO%`w#aDlebW%&pyk0I5eNEd5Nu_R|)b{M`Nj z(V+%Jms(B4idKjSAZ6=jvNX3`Nrr2*lc-~StaQszOQ01zbjVkeGECP_{qhwY9B(x!zNt@5jZ%|K*dV%~3 zpCOZ)ezy-2i(Ejg0J)se+zU^k!zVV%>!$PW_N3m3E`F#pDRfiFCA;dqQJsk9rG^lk za;T8)%?sa1(_ZUZ1`i*9@rJhK{jt1tJ@5F25Nsmt5l1n)oMKjswV*Zcl9Z}Be^mfP zn=Hmsoy)xH_?d8n6lF|ajsaMK?N!xvX-BDr-8Z8@g7OaXJlC(jkc|@1HBc+}A+vEh z+~XVOQ1MuA{j1rBQ*(y$36?cJBAlf1niO$mL_Lj(W?KxQZ{?FAdV~RfCmWjgRIb@F!KL^v#?p5NS}XPsh?T#ujRoF5&;&LIxOMpAeN^m%rS@?U)R+EqIQ0 zZU@vkN9%PFbfLqUT#hT6y@2ZpxsH!EC=jdM^3*T=ZFi--GcF4~bnfj}2Q3?z4W$aVzxSj{9o#jwh`5h>))MKBO+FVW+Q8R#BE?y?Sa_%jf7VF`t+j9zpA zdSMQo0X*`T2x=ugV)UAseBiwuh}cK(safQgHTO8CAzgDP{VLeYhpUzoI#<0VeoBd2 z#K2Ba&M57hh|S{Y8)c5lU5IUl2krg-`M-Ys4ZLqvi=$AKZ+PeG1PL!s?`)G=vplHKIuiu{n z9}QZ(4!j>?I#>pXUVj*?zfj!`ty5O(Pt35$6TJTG>shvv44a}3pWI@n-E2T;E_+~p zk-*(Cb0Rpi_is^!c#&9<(3QT=GkJiMzh3YedhlU{=P~r?D+$rE(Om|^fA#`!84Ey# zTMW&VBP{j_0PkzGMx+%6AZ!&yfKsW~wI2 zIJZb^J=pV|JgT{O({gk==IHq%E{Hoj0A1egaU*Hrq1v`amyQu|^Db!~X|B2W5^yqC4@HnpGe?-CcV_+|z4Bxy9 z!_|(NGMZDGr@Xr=2A0iURTt+yJiI3iRn%K*+*!-Z1z4Ln9OSIkFTz1mlj5v%F|WL%l?^_f8b;nk*TJJKx`oT{kRF< z%`X=|k~l|xFL?>DW|ZicRKXR3ctpo)e}EYe;O_wyN;H5lxluCo)_0{ooaN8&6re?* zI1K+&oF6zAVnzBoGWN%qvZM0CB zPjoYmQ~N#W(g9auGQ!{ID6+;(gyY$nX_mHD1Ex;CxqBoY##j;E;@AeE!U~j`?Ty1P zQ@es|&}I#D&#Gz7TCBsVD@A-ugaB;v>q!ybYyR-_k)_$5^6>b!$S@grVyCYPsmzV? zNo8p-`DlxH0sD>Cd=hx9n>SNV^Oslv(#oEh`s`%P(gYjh3JGlA=htdUBX0+M*K&6?8oWR9cKZGL=sC=l$i?Q_ry@o=j||iDO4PP1e_;q z#_x)Chyx{>ciAVST$+CZQR5S^BOtMUiCVFd3(ak|*DOu7H#Hv1OIX!!d?HpoXs9M8 zIWSo?MLbCR8s#LTtRD7eZ-zeHf4^D208;b)+2PYm(8i63wn6?OQokk?A~utNya(aE zQ>}e(nJA4tZ~ZNyxbO-4(T(p~1YAR5u*GE3Z&2db^E}#gv`@Utc4@O4&9}X%0&D0r zABlP-ps@c93NueA!068a2gSsxcNZ^6=L+Y8bDW)XBRG-O5kw_f`aKkx7#Rd{=em=Q ziePw=vL{uEt43O1zqR}i?O%!HIw5H$C2K6c0r>{5I3m^N2f=Z2`(6DtiLc{dPFYsj z?03@VJbRN~<0v>L6Erm)n!Gh1nU&b>>y)ABp_5?lR(8`IeQT=9ejv@&bmW%ACS^vq z55tMAq~AClWv1)OSVS3gEPpPAN*@h`k2-fPDH;$8^_ERWeu_KZOPz!ddkJLZ<=~5R zGQ*-d^}RRiHWPv3~q3Fv~M7Gs$1+ab*W+!3u~QyPr(Yit6Rdy zTsoL6&eA+VG4E#Xj?jbt`i50ZC3YAz3BNc#2y=$j6uxttiI3z5JdyKiNsSB15A-&W z(Hil^0BH9&kw`9u`4tM%(wp85$|u9JgG^QYxSj?a8*Zz%EU$fBV9Z>E##!Wz3nUK! zk)ur})SA72gk3>N^_!DqQ%Icz1N7qoW3O0Nzty`g+kt%@wx>R=mFV3XG;TS|g-qf; zy82y$UtynfP9m%K53dA&64gLgV)%4-?*7JuNC{q*(=aSWD-gJw#aj=}H36@Y-UoLn zj7y|bi6?XTCcT!2Y<4o}GemMMocOt0HWO`3j$LL}i2J(paNm*&P>|~3i`3Jv){rB& z@BOWB+5ir%iE+-p@cd?%PXhYj>N-;`ro!c)z=M>;VE~ri?}(`8hpYC;Bl>t1(mf8Bc5jkQC9nNbzkuA%*>Tc6;NNn)f=E=8M@^iC zH)csj@wGVSWYa?!sl8L(u!wWN1Z=v}VFs&{@E>HT z*-w;CSb4mB>d$?(u&uy1tL;p_^Z7RSzjI8R2DS}0J#G4+Tdw6AFw1`t-v8Z3PJ@ZP zLSqg2WeBZGCe6q-lr5{15?SU5+(cW?q$1+Mopa+&mJ4vb!bLtO-%ZZ!dmz@r|Gg=k z4rM8@DK;G#)aIa$13?EfAn6Fo-TKIMd6tE~LjD5wXP?xinE@d0r1DmOP`=-LPz?AB zBGenw0UvxmHY#_OlY|N0#TK)}*Hr^m`fyVuR9*$v;p&t2^s3 zpY?(KElx7VeLc1*Hf}~XT3|kJ^@)4`l@=KOcqBniQpfQ~Oz?HoGQ;2}vL}euDmC73 zTs?g9lpPq^S#pa!2;?B(GX#)fnJt^WIYOjpV;Lqq{x_l}zeh(+xndCe{ukAeHAs3$8z6{}KFM0`z=@!7k_H#jDl?d~Z*J_pL-`rI+z1gzY zEK-TV#CQ&RF;u?$HCtWEKSu)Vl!AhA=_q;KvlQAUn*@1<{r z=mL6`B$sf!+<)}6AXI?(h^0afjh<9`x9;*fh#`*mmzWkZc|v7U%=yt@$_sxJoyT3IobeiaSs%uf<}Z{ zttpWn3;=o?|3L@qX2DR zr;Azt2#Eq2+)thZ2w71HqpKI@T6oP8Z2;6@Rna9XeR1NHtT#k#={n{FjgoVTN)Tv^ zS6cG4W@HrBf*1@Rj3w)2*9S~FaLj0LO{rTI{XykM@QkZZ@m(Gqb{xCV-!arQDTLkG zE(hOE4i570a-gd*z-EVsxX1jwCetdNM9r69@ zr`8MpQI)WP!|i0-%V6t?liC-X2?F!v-oG!_61v4YO6T8mEO4GA$l`wG|V%;Qh_owFYtOEO2Ab#Zd3kJUdeeY=c`r7TRP*h`x*+SpBDtAD+PT z;PuxtJCf%YlI9Oe=#~uXh`!tDq)Z*K^k9P4?=I4iBNiq~iUq1~{IZZkdAF5>KLM%) z%(eVNwET{LJuGs7SBti|?MW{+uh##1b%=<7;_j%CZj<41mCa~h=OMuRvOJehf{lpWQ*=Y z`cONOoZTK_KIIJbw;^qJs=Qq#t`23f;kfGFnXk|0k$P{RTDVVxqu+f2Gs~0i$(cz5 z>0#Ni#v%Pr&>u)LYgyB78n_v-@7vSM84ZEZv59hr3q1Cgf~F}~et}pM(X!z<`$7HZ zs;8y!d(IlSYwp_MIFq>{8clV=`o#_C9}P>pPLmte zCwblc(fKB^2S*66=q;o<7DN3ql7CA8kt%~BtNaGBhM@U#72_8@m-nu^Wi%{!ro9e4 zWQh4E`aU$iigM|ZpIZ{A@|U6y@CZhlt9MLtUL4{FV841=auH$sK!W}N3Iin9^$6=L zD5JdeE22*Brdw)y<&;R?pTLOaY(Nyx&D$HPeVs@$sEght>uuktbSe9=5WxbFAUA5C0{0(fr%zy^S1E}(r6{&c}N3m1` zwLzl0=mdo~uU(Ke{0kc-2mDD$V76=iIrwsWfN_vr5jRKG-X|HE3dz38THn8zy-yFK z9KQXjh7Xw}Kc(=#00##iQ>A_YLEb3O5m*@alArnT>Q5_aC=3gWx{HHY5f>&O2x$s* zL-=32UImoW0rvo|gXk;=s<*A?P`E2lzcA^3b@5qixooP#M9%?vm$jmwVQ2t0EJVpyVE-Uo+w>zj}(!Fz;jlpVRlR-z93;^S3=0qk5OtyRXc1!GSV|T2&3Z?Ki zcM1w}S8^W!y>pa(ioB?7Pn{YUqxbFaZ$2-;p0!_!#^Di~z%gowN`nEigEEc*mjC|cZ`o+yx_UJTGgoHUYPEjPZ>|5K&NGGcP z{x2VXHkOQZ2$Qmuh)ThxZH}}Pwq*MrTz28DchI-|B0;Ct^8|Mw3T!(obL^$Rg>LK+ z>?F7ycb={EL{vmttFt$$9}7XhjDL!F&(Cj$fDo{)wwVrBXVj|JqRW+)-HS@9w6`H* z65tmns&YTb8)>w0!!5@)$&!H2(*q%Xy`Yi{L`0$?{7L}G`Pl)Xgy6eA*NWA!2K*X4 zMnjNG`P`1owVVK+<;3ij$145)cNup31A5U|$j9W3;^lBAMxMTAnQikIN z^#rAGO7JaEa6Wk)Fm!VeWev$1jf*ACq#=7OY^4zh%A8B)Au7$?dIDmlH2nVE>IdLe zVm#KpCMzfAnkzFZ4`4}+ze=b{A&aJ#o<*a%!w1#l?9SO(*Yty255*e0iWjago{#IO zRfAbRVvDgfc7e{uw3rAWg-sNHeNg&AMaLgjU=2$z_)y?sDDC3%3%4{_^ z1A!t<46Jc?dXZcQ+;;0_+$lOm*5hq{?`hE|ciHka=VtSFA+NScGUuXK!C<>nrEBO_ zGkJ<}(bo7z>#%5+Hi0Kb@sx8LRcs1K64BB&Hr7-{fmp54cZ4^=&n1>KS)Mnb7OgfS zXySF~J(d$RwJ$Q4xdD9AR4>kw`Is@+t+vE%lA zhj1|SZPL9{BqhJmMbWUn`+@(aPx2{P3xukk zf=`*1)vMgHt;GTla)}EeLCa!S{g7i@3LQeM=X(K`7j2Ti79kOgSzbh?fueH2F$Mr& zv{E~TxucT?(9t>?viH>^R<|DzRTU6PL=zG+w|d6bbPVBD1!B3JJWV=z=i(bs%&Yq; zwTLhw*G=^v44z@wVfthjJ1Ktyv$x_oJ=-p0At^U+BUS<`H+SOKzdv6I`*q0evA!+) zMybztstEPHSoV~jI&@TU1?fU7)^Ey8bcdWZlV8i~97twq3f-5;8$g6jlK|kTB)ihB zbP%fyT7_~4CWV5_aylco%~nZ5DWpd9A#36t06+9&Xjq@2=i&H~hYTs}JZwEz%)Ym#;zVFt%0heJa4z z)Z{!>TbT1v>^bBa>g8JdI@zVH2EOuEVn(cm zO077&V=LYw+6<~_f0v}oU!2T}#x~!32hwqusewDAx=p<=+&?(_p_#d~Tj_h3%Etc= z%AE~N!p+5u{Fyds6$=9KWdVolrSEGRF!Made-=Nb|*fGZmAK>>1F^!0{6!; zQJ>jf4MVE{AlPfyTwZ%&&SC7xTb+c)7 z5?#mPGq7a2dXRtFyw&b4KH8Yb>|P*p>jxV=`R*n;+%@B-0BJ+@<4nQ;HChzHlLw0N zy9Qlfv3l~h{u1EUV)rxzs|p*GXs=CSDy1z1vsz77I^GPE1m9VpPTpT>Q-W$CPp%Ih zHN^b%bFy+7wZg(SE)^j(S^QFn-(Lcktx%B`d(6121Z@XIvC1~j9N*6<95B1rJd9}G ztoN92AM#~kfpRQDW4zMls^{GgShR_@NBfy)TB^LCeRsvjQ{H%<-8kHrv7NsC!~IR3 zl3!LsLx#{U@g(UcLHS`lfw={yggH3jdn91}N@4b=GLd9}!mNjfKGtm6C5p;rUUQYP$WsvqAjS{LHh+4qoVMQ*_(FS`Bje&5qV3 zA}9kw@J71Wbs<~%kUg`ap7F{a)1V2Aco};r-@AF z&MNFI>-PH2`SQ|S(Kq7m+A~CBf0cO^Ap@_0A2Q0+S*N0*)p$s$WKxILA{_14W0YxB|FOB&OVlihv99!l*1^xCo2~1J*~5cGsLT~C;qgO4 zhklIWMngxb(m02t_P9CW-MsTRcj2#APF?G;<)Q_LeZul3Q3)%*qN4((jzBYdiIgXh z>x%dqvm_xur*2C|OL6nN20U)}Nk-q4fUn##dxuEB^U#08^vSy&-OXd82wPMq+&pWY zY`(_gv96VS78K*k84ZFh@@4MfxETvcgZ4Gs7oNG3xRBCDf{dY5`Dn(2(#b==jz8|x zZ$mETI7^=}uWUv>cWt;K&TYCU4p~l_Pnkdua&7p>XMq%rZP{%DZ75YBr`Mrsku1)BB=kSr1>j_Phz>oI0bOE920`IpX;! z(>qdQn-Kt)P#BUvAv|uL2ODE3s2J%g%=r62;h)@Es-*-u)Lg z%QX^RucfbzHGRsReZ2}~7X0=1xnkY1)?R3X03mWSz_!XiPY-_^M0>I_D^a$JtL#g^ zU;C3x@EB1Sm~dEzMvlK3u@$G(aLK7k_h2}04A9#Gm2TM>@6pzRN=Y(St{hjS}7S7W9t_G;FySOf4zNhpF1oM(QSsK*Ft?%B7~oZXu_dw2!`C7&@bclu{~lO-43#~j@jBMMU!=}X$Q@y$%cI&?x8dw#6w zCV<;&B>8GS{iy>T(`$0vg@9GaHXSpG)YK8=%E$A^>h#(Dw(2Z*S?t(B^npWBt(o|& zw(lOvn}T*K*Ke+lXOdBDfWV`#Cgcrcvqmqq;BI#9OT9$^Y56mCa0~=iBY&}7|bPZ0kP}NcP{H$mY7b7OktH^ z2nH2WaGz#Xd6>#hiyqkSG!b9az7=fp^-{)no2ud;ik{KvH(Q*#XHcnVl~VTCt%4}d zm{*@9m8Oaa2TvHK@g2JsMR#ddSkq+7sGqi|R1<|yZtK4ZA0YgYAW_8d?oiZ!cJkb( zg1^v@Ig^QsyWR)rhHQGIxAE_|0ZkT8hzg{B|`UQPsI$|4G62t#3={r%08#)F|W{u=-h_Q-TQ10-co###ufiGWC zDZ?g1S%UXQ58Kp{&b5?kdS5*M^&jQ5eWbK^kLoFkuVv$gr(TBGf(0Y92Cpseinym- z9@g*IY<-s)c^ut?oj@=5la$i_P0&vL_j{=-*rQ`+B+>w?Orn2GNxD0EK}O5}!?Lf3 z6vZ4;Sy;FT&U-!lc&YX1M(c8^cAE8Em$T?uD*dPB#ikol99?eL|@HmKrk1M zXO-$^RskzdUzM z??XXbNbA2LyGff3cT8NY-8}T?NGpVLN2g;R4@mA|sj6dTjP0WuLYMDzkWS_LgB}mk zRN#2l8Fa53=B!e3@bTvWx)FzQdg>#-2_5@TW6!!zgg)BE4C&376qJMi`h%3MHbQ4V z{g0O;7;3B=o_`xd4c~_rtD*6%Ow%^AHf?BGvx-Q6sPfXl|0o_otybGI^``re^jC2* zO_OoBIJYLZQ51l8+COs2`Bk&WvSA8$c9k>siL*q-~(rY*OQ-uxbSGd>`0)WSDw|GOW221_b1;K3G}oVt=6q&1j3(R4G#a<-L#r_F;1o?k|UTFy%1Cptu>0v z-XjXOo5%-lZ2J=3DMSVy1UCjp^y@rwr7snBM`8Sannq61yocGsV^ zETjXIL>rCbrZQOIVP{}~-@>CHVKKF3cqMo`M?}z;X+7L-$@MXOnC?+KCE~iSAY!pk z#dnp#t`x+wHdR#M7P66tN-GIzOFiCI&N8|8K>T9AiH!Tpcux_!z{d&5pR&*Jw^qkC z&;1<@wI^Gk%gELC-yz1EwWFa#0E`uj9Uk`@L}C3Yx`hc36Hjtg7D!}X@FIHA#C2RD zMbE~xvivA&Q#A#hs?)|Dum6`F!x)Eg^a^^# z4Y4v);s{?)S)sA?o=lE@pH;zZTn1tlg_nLMb!cpMk7^WPX?&NCNP+|K;aax|w~1NV zi4OL6K#Z|Qv9Z%sHtz#T)?pMnCb>%Gdx!=``0|fVmi1$bkC;qk^ZZG&-xjdcfD#Z- zJJ#VPJ=U>t1pc3|m!ZA-${Xbu?JtZiC`F0vUV5YrVrZUSlRul7l5Dq zAHgF25dTT-UvVBO)Ni!av7C1tD})8GXGLJoP=F+bB&F8Z{cQm1S}rK+7mYk2)$FFB z5j8rpA#pgNexATjS2TU`ygs?$Sp`LT@)VuPBq34&#!owwc;&fQJA`s-{Gg!f**&1{ z@xy?t9W;_tZQ<>@^)6;#?vO{FgFmoWR^5>jyWv_4=1&NWVXF4$0$m3k$4fGe!Dv|2 zC`q=+wwBFrV{%oXAHhhzo%pIX%$tOr{$<;A=Uf3i259t%exwM#yLuNI(VcO|jjC1& zq1ejoWV#v8mK0LV&8ZJ^7QMootkg#%FRHuRd=GU!D=n^2GSj49QT5noKyGa|Xsx=LI?S4G}Og>J99mc2RwG?Wv3Rn8Qc zD2M4%<6=;Y@m=!%{gfr47K!gY=0teo*^{V8b3!xQpCJ%7-SNA$GwJ8uZoS0*5olRo zV2rFKUPgJYV%>bGJ~_1KpXi5wSMWh6I40I!TG=4zZ*LCXIK!C;(F6LtIsa!q&EydA z;g-b5`BAYFz@+Y_bU%(F%YEQ&z2u#$>{9`fMl^o&qgl2Ile#N=0V^r-F}OdY88j43eHqDkEa=M)}IX8}nVVW_WM z?wF2+ik$P&Fp_*EsCzUCnC5h5mpV*cC(v0hL*$3s;)UPhizZ2KikWNV)t_ccy7)>J z@$e%qfeKMn;R<$I4qW&4FIF?1E+8Ke27S@THa9>V)3WkWR|wJF2BMGU`V?=?Ma##C z*OQ_L*m$p-Tzlv`I}jyO9@60rF`Xf=hM6f5LZhs3y6j9|>voB5C+JngPP5X}*PfrK zKfA-aMMz9!yc8g!a!SA3`*9tNADSM#+BQcBzG3_J(Rs>`+C+f=VUOjKW9p34v78r| zFXJ+}(Z2+)n-nvfcutR)0^Rt8hRuBjB3W&{CG@Z$R+E$B*6B_FWk~2y?DPttDZdZg zK6)bGPCg|3;BJd9bTcL&>xZBdZpLX=M;a`IQd>u!5M;1 z0Mpgvm<@gzS0$?BMG{<0c<49n8vpZ*{Bx@00iOt0E^4JVyjS5^M>>GVk#!XR!P4P2 z%Ie(!01BkD`HS0%v;1)YwQkz#7HUUF*1@FXMuk~c(VFLn#Mq#h#upY388z4ao;+~U z+cFC-hay}DWyBY@=*l7ilDE78Qv5^&wKqmMwzjTw{RZ+5&~zs*JPfQvl;p_Wh#O4mwoL^# zi~wB}I&hY;H-#BoQRTOF3ca29&(jaAFAIeQrd_=GD#h2=Nt_1jTsdF3JfH+w zI0NPt4PiOsjd*{-kej_Ew z_)rZvMZ`WBX~fMuJ$g_cI_}+!olbezV){y6@ZUBbpSXPKjIDLXmj;4jNyNLh@D9fe zZBZ(r>kM^q>E&;Rj}%AWB6Z<+4tG33x=weYQ|dM1rKypX%4$@XC7r zuf-rs73bMKh2%5Xoat;=M345x$KBL%mrK0-w7Pu)MhsT;JI>>~H5Jl9A{thKjkZ*l z%)v%omG$k7BBC&;ahLZ{cabNknwH@3(&;>w^NIJCf*uy<0~eFBf^anyR$t%^xFH=y z9elCy^KwVygruAT=XV>EH-GLT%{P_l=-Nbs0qNxT0_I=MkT1^SsA_zMC_O3^G)>!x=$~D$#I(s zmM`~#SUuVjZ=B3y+E-4Ea=8ybkgP0HMvK-W|1375$D5O=vi;PrMv6=?*5e! z8Fk?l`=L&=hw>^qv)5!dzLye|3J4va<0|8PT-Ej*k1lzyw_=icZB@1V6dubJ{DFWq zkfVwA6@z8?XdZW$XN$ZX&{q>A0n*KQ7X?2?%9GGY@0TO1W;Yy`O(rujDY2ukrn}{C zi`?o|=A~mEE>kkJ!cWcpv3Uo3$ly}J7Dg{!g;z}rq+RC9{i-g;YDyE29ODBYjO1s$ zI=HZFT$LMABdbT&JM%mOC(fPV^Aw&E~^M3f#EsGmb1+#w*ApC0>&X}%Ps09CE z*amrZ^fj;6qLleXw^6d|L-T9yQ5&D%T7~f#;@Ucj+lPl5{+hs(@|X*}{I}hFdlmvu zz3;ph^}{3PJ&Fs*zH^Yh#6;vsP*HR9-vRt&#m6-JbH$ zPx@dN{A1&hTN=AwMn}iTmyIX!7dMroE<`iceyZj@@><_^li&}zuBeR6SuoTTq@1I1wUKU=uCvYW(Q~lS>Cqs7N_kYSn#mlY`))ZKizq{Z3oN19tB#&qGJJ zH2h-TE0Q9Qx1a9DAk88?w@h>Yz5G6ZFkz>>ynyw`gI`;}nBS`*262$avX|VBALrG1lPL*Vit|oz4-*R`>gx=qrJh2amfL`6a ziGL_}dIDQ&e9sh{fQD6(`QjH}?%4|h&hFDbGkGWQSPV{m%Xl*6Ub*YjHa z<<_BrsCz-1ihd8Rf6e7sB)4@FEw)YSRRvBfR{a<M191ls`Bs%oCEgbJ{=cvNu1R*AMHVPm zq~~eGT1j1{zv^mzt10fCzi05v;AW4|2=Sfb7ZD*`U=umKu@*^2ktgMY^DEr)b_aqH z@`7@A{%PcW@736&V3HE5V}Z`2T|VF(#+UZF+89^42O(tFg9=`O(F#f%U%$AjcjsZ! z3`tX%=l)|0k08}cv8Sr)vG)Okde6(>tMkQ88SB9A7{GQ}&Mv^H!q0>+-sQyA8yH0( zjhCJpo9qAR|9V3;Fx2ks?!ZSubMdn>J96&VTUB1g{@{ynegBN=YAr_&lD^;{WX9`LagKwfCC4qGvrypQmwnF(q0L_R037l%kepYmCX2+W4#SCu^e2kRbK*V3-4H7#$RI;UNA|Zr}N?l7eA`)N86d3 zH2mVFf^nu$B1L1;{QX5$)TyUr~KHHIYkZU8{waS15JdsK9%?!PIQK0 zs@EmDs%q9h2vC&PCq5aQ%x~%bG0~oLVLLq(w^=Kr;#-}ykmCzUUai=DS2^D%UBmU% z>~{F>L}beOc;;S1J+2HL>sy|o&5-jPE9k^|q2_Lxr-EiLSe7B03*JNQ;Hs=kxgr91 zHPgf0{NW>v|CT>>FWa&7$c>tQMA}n*CXjc5h@ijWgM$taEQeMqOZ@TIo3%`Ni8Jo@ zDTGbEuFaKjWp54qxp)t4=E~u3-%y`4`^TU1#_;m6C8)W4n1T@ZofSIPzSdRik5e~J zrF8C@DKpgOUP~`HZDP^>{hZ5$iRJ*!`(pi!_Ejx$Dh2C<6f6uZn?3h8O=NqT)jwlU zVjXTQf4D~eu$M}&Uex~pUn_QW2%I_r`dxH}&n~^{KDBLScUh`l%KM3cbf}Bly{``} zZC&j86)c=`%mtEed(F2!_mq?SF5w>Fv9R+PIEuF33!H3wkRV<6NGIXU(Ivn{EobCM zUGr9-;Pv2bW)DxY{}~_^;2aOV@Uz0HWn21#;r-AqKffMq>#dWIpR3&x?HC!=oH~70 z@msk?#Jlf6_-ym=sHkgJjA7!YLdEp+aD0O1Rg)0!XL_vZ4@V6i_A$6_UVcvZ*RTBt zr)>58){gBYSM0*rLYLW_3OkQH9_LNZ{HJwb2eGHi24EBEyJb(UUBF$FKZ%|n-5?%) zE`|B|rT1y4XeJqeClT5yMitY0J7*S27oZAw;UyM|3~9UP&PYv?^rKw$=;#!{Iwn`} zzk_N7P14sWXr>+$xy#kbH;6Oj-s`gSFXA;8J>2m5Vqb4V61f5RHyL6` z5_EqwDGfZoR0{4*_@nsPnWq^e_dkvi)8+$QDMP}+4Gp!%To62mSPV;~4T5hZ8 zoZ$0%py3)O{w(}3W`XY886H)&$ADkl)@ayr88nin9R7h|7#mo9m#ob9L^(?0(3{RenF@^L}{;0L?Vu`RDeNo#`n6W{6w z4nPEpJ;9&-dL!%*&=J9Xl!>tbHaaWyB-} z$Rp#`PB)j>t*PnTi}`->Ti{j>f^Qc(H7GwtG@}7_n#cbLa(-yC25~K=nDnPCwT-c0 zXG`@qQAJaIzmG^{3q}smC;F$Gsg1U^50nGDufP9$bc?s=58_#KuT-*)?*=8P4hC-ylff>N_(o`AyG z#9+f?-rwF$=CTnK3qHOcWgj8pF)RJetXJwdylGl-cGseoSIh@%-flabuhOZEi6Ptz znrTZcf+%=aB`6NP}NxbBy>8eX2h@4xtkvwlXpdd|aQS&PTg-oWbH+g&T7 z6m9okI2rD&E>*hSvS-Ue?xo|pJQr|wHsesb0@#@Fc(mx=s4o(3f=pmoVM?c5OOf#l zJgGID_N;LC5??)G#>eo`@+HkbOs<_jb}*4WzwSdr-fiW6@O_2vkL$|Y(ABHCweTL^ zeR=WT^Q%CAnUy2Zq|&3~e7(=ir95@B(FVloI-k2=fGA3m@(oFvM`=zvO{IrFNvkIf z)+fFYnI4$%kaF;Iy$1*WjcXOj33ePpw|=5vD+q*#je}LYKX3lNRju+JZ*37%;^aYI zS%SO&W<59rIKlqPL))5 zy+3(}b#c@7X0lLGjhfV0%2!J!zRj37hu$+28&G zmXhwmXKa53NJu0(BAKq{X}5Gd0u*eA>T(!BKU(Wwq=QeuzVC;(W1?0@##a2(GFE$P zi0P;TTK@ZpU}rSHZ^cC4BqG zquCF?CAzq;bgDi^{%d-Me?l2b$8}ZbM8$o}3#d9j?mQUCkl(o-W$_3eudAbb^+VE~ zi+)9qTL2pcTO}y*=jaCS0NKOTrBfmv34--6JrX41k?~MZeJ;<3@0HJPL~Z$0qd3A_ zz|n!bam&AdZXPsGwilN)Klg{E@c5W-f7~=u_x-k0{rzIW3Y6ZOYwjF&z4HEsO2A?V z?wOUIZF>1d9`>-$evo&r)cD@{nKi$Cx^=7A7FnJ!ds3OVrv}3wb=#)9qRJIM?5@&T zt)zDd!W7ivHKct+2=y~1b=C>5POSHxpQ<1Z2&xWSogL$y>(__XZ0zHlx`r9e1HxxV zj!!%C87zk~=cE_vQ>yUYsO_dI{MCHN2? z(7*kft<+wWc)^ZJow<@wttYL!qrF<_!_|*GZGU5<{9?4#o}+8teLsh#Qw`_?sN|NooV_m<$~JqQ!xHHJ&%W9V~J?O=*)x@rmfY zEHi%kEEJ;UlQw{02E=_yPMH$wug`f-Da!D)&o^Gbb=}_0lRpB_dmXmsb%6}r&$k*_ zrYKOFyuNeVP1Ymyu|%7qq$HcT(VmV)p6y<-YtEI zr^B^7`S`2;uReOi+-(r7BeL4ZWjk5jR7y!{K=SOTd2!5Zz}9xgbhUGhlUhwy5*k_R zx9fsW<5(Q;T8ZW&$qOoEi5hQJ&yXfR)eWK&+l9hIjXB2IeM0fZDBIs4Kz^% zOKWjN3@_JJPGT(y3q~2DMwDOq2$><6T;z63WWOYzp0oz2O9BuiTZ9#DSm1}ZW6Kl}vubAkvH-~^ zZY|Z<4w42VwdXR=g-w1B-!sPER)C8|FSo21cp%V14Dty9K06!l9zEK);*(jK5Mj04 z`AXCv;WBYxpvnFj#cm*B_<(o$&1zs`;F*kj+zP`?1l}3RT2gUf3Sqa}i1w?;tsJTv z+E1ykH2fL%^MC7zy|cUvCF5v6zrs57Jj%D6W551Bf6rCrB0T(Ms@S>M9{<5G8MpXb z`WBzP?qwfbIGbAgT>q=}Rez!NoAT%&4xRwlu~4T^(>0OLWCpe%7%>^o*5Hkv)T~c4 zIk0un>aycw1Lfo4^ZI}=SyK=;=((@#1_R{BV9gIw!OH2&m=CX8t0G5L8`8K3Iu&#n zh=Y0bgVssBE@|j7SfBKTXvD)ARVAOUrVD`u=va!eBm~H-2wmIs1GB#uVDe4rRo#5HHcT=Rrqf1lk{1EGjI5_ark7$~3Jti6*yB zS{_jB7+-U;`RYu=kv=hj_O|0}QUx64NNdlwz7Tz@I*Z_VAx`FMyd!dYbXk~8SuKql zNffR3&cS`YjfHw$^Ad8NP|X2Fv!}9_kJ9!Qwr#HhV~-v8ba)QbAFIx7%4fTFV||kv zS7&Q-Zh0xO8+@Wm%?N{>OJ^-KYrfxz^Xy#p{zAb;!~r{5xbE_<%o z^Buii{?;z|xX(+z25f8v&QyDfzNKqA1INF9ZVPJjOp>D+SgT|((!3eBv9Q8mi5D75 zd!SYjAmzWKK42Lel}ZEdh-{nAuPtNHNP?CO)CV|-%JvuGJ|Rx!&ms%rkQAKKzp9+2otjm{?Q&C7E7-Synha$O}eFT zEVb_Kx7bKQ)7IHyDyzG5H^eAdrQVVrcf@|CF^?Hqh9}N>K1}(X?bK#|sdi!Veroc5 z+Ad(n9Ps*`$r!urxZATWWgBKgNu_m6CNUpwx8w*tc`d}-I_>4sTnhgZ+I2R0F{URt z3})Oa_FCOipWqdI>#pQ=XDmjsYTbr=eD4hu{(6(qkMw|h%jkZpA+aE#^-vsQQXJVP z2xzbDJ^-?bImv?s_|=%>YG~iV@|U5;=HD~4RDTX zS5`5N_Nnv-vH}})#;l~8MhsBUb~PI{IsE(}>y z4c=i#sIY$z%|u5Q(AK_sjvEqSzMfopd$z(nwF=DDA13VqCjuF!Lw3IyL0ja-iNG3= zVLYK0VEo_u!#bTgvQE1|YpSL+32x4_k=DMPz!DMn`MzW%0_XHQx0-3OD(RE_%i->4 zH>Ek|SJSqh_wbK!U<@&Aci>d0Y7RVAd%Q2fn_kX1xLtlzhuzA0sBLbDK*!=#;2Tm% z*dTOhE~tO!DuIVC$cm{%*Q(sEVQjdS_(0dZt!G4yU*gtl>vy2jk=NH*ZjX0(e>9AO zF}X<@&4SeL`o5O|SuCARP+U=T>}{aOr_1;Cty4neB&~~bZ;l^|X)(aK+MkiY# z4g}cKD?4bxn9C)?bW*#rY0R){T8D1LdrQXBl$Wt*t@U=5Do=~us2S~-8>wXeMntSs zcKFFD1QFYHIE8@5yF{aC^liHj0=$E?W{@|2Qth9Mag)#kW3js4h+7BUmHM9df!w1t z@SZoOT9CvynmZ9!R|Y86R87qo^nVnNm+NV|KECgt<;ZWQ1q7Uct?;fmFJTVOJ)i-U z@hqqA%i>CJzp+;0QT;j&zq4@P!?1jJ&+^?m4!3G<<0#?j`ktcN3%qirhM2aU85RC4 zk*)g-J=-J7537g(f+@VU&wWW;g+y&1UEZaYebaEzD{q<72O0y(9}Qf>C$Xf)rdI4-^2Taw_$uORA)wTUSa52s>JCp@bc9lI*o0xAi;+dvhCt%wP5C$ccfFcHuS}S**@nN0%QI2F zHDD81_}qW|19F&$-eGFW(RAG`hY>09uzYoY?R#C+`h9lrS4DTe>*JV>C=s>tq3h4? zP-f(|{Gf52X|KlDQce$8u7dhUbAd66&Z?}~$ zKwNzsSg;OV@EEI(%-Jcu_0r-Hz$rA`y7)zDvqLSZ9B~$WQi9nQ^IkA*B|3E{f z8|ozwvA-gtte@i1fs&fNTKu>ZMEtp0)VxB~*)DH!sftb4t9#l0CoZ_fuUT%ztM|pn z^;E4m5OX~~N&wZ`@U1Q_mWm7@^AFA7*EY$ucD030@V7w*4NiCN5Xzn5+LD8U59>?} z5tz*J6PBV?QJs4qC#AI%A!Id*EsKla5<(n6E7yO9E|8S>e&jQCGP~EIBOzE-^Wz$< zQX$O)rg%!0zhybXZn@2~L}oL7ioL3?p)>zW`$37Z(0^dCVlxiwuv+Ei zj&A^ms(k|C@fjh8n>6kI@Iy>TN*4w9J{9#I8fgdm#Bvvy(G=2@% z{Rgx+YrpN4xxbJe=n2cCEun-e*Y#q8^X&d$x8*YT)7FKfVV-p#Rm~#;!m?{%WsZqW zs*@|X!B)wt5+;;2y9;v_h{qz|*FJXj~iHaEBE3#m@y(@FzGU0!|f!wxwYiIz*2 z{xkkcZ8CxfMh%6g&)H>@4~hNLo#pa{S?*fTCB2a`W0jj49UB(QbiYzt50XsMGpv>S z{C+;oSL*%F{BBPVny`;%oI!Mt>im)Qfy-}toVcZw10z0=1v{7b6jyxnxkf{u_PnKF zH971FBp2d+n$*kkZJ1Z%IGEDK^)~}c!FM_2$(-|{=cJEh0NO!^lIud=+#wrYSKuHz zkz|ADPLX?i(k9K^ImjgGcG3ANVbaFd|pSXsJCam`tzlX zhHEJ%kMa>N{v2i_6Fft5URjeq#qy-UlQ#YOjmvK>hCPM*NJA6z?V=k+$AL*xx7KBBOS37padnZ#^MA zevX@?Nt=ndAPT%yjDL2+SoJP$uf6ICHiEvGyhDZ=!^6 zSRx*GrS@Ta->!;MWz`_{&HFA;I{Ij2l(ekig?@gh*KS;1AtzjTymmVqRm_+U>&Ei% z^RcJB&YW42#vHb7-8V-gZqvp^?8-yd5prwnc_%5{di1(jrxOVjwyQeNLq8`24`b-Q z?_7V;;Q=6?3l%jWHVX+v@G0gCVN(-FzZ5{jAkS^nm&s#90+Xq~-%C)John7?X(L*C|&8>o+1Sc18O!x}-6 z0vk6jicA*l7DCvs*im+Y7+fGb-`5wrA{IaXAv{nsZ^{NHSc0!CpMC_TEgKM%D)VDT z7&0TQembd&WKo|I|K$y1h7+I2^z5mL8O1a*swH|g`a@Onfq%~(`h zS?O+8U^aefKcQT4(MtI~nDYL(KEr(8rj(5J=*got2$o%kw56wIGJ_}9=1%c@sC1C( zgC;5cWybaJ$Qwa*D;8}DkGG3sX!XksUMJZPGZRjTo@6rs3w*%KOvhfbt$}@!mFEmO zb%mGC*7OIg`O5JH<{r5N*U<%RLCldi?#KJ=FSk$f-MR)tN)`3|-+azdDaIo1Epnve zU<7o(_;GRmS;P{zKhF`8$1XoT$i+MvDRw4jnpvr(lFE`Uoa*H52(6B84Xk*qbNRV% zrexKQ6zy&Q*d#u6Zn)!RPvsH}G25gFEq{lI$=QC`Sb>kl zDE}ZvI8ZyT)EnBF`VsSb$MMsvm0(#+&O#B%2kb9SZm@OSvJs(iJYrX*HN4GKcGpMAc8}AyFEgGz}t_Z{H{PeRJ|~u>XL0kB8Al=5g9qqY15V zITj9JK~Ny5aa1}=xW>Gyp5w3wVz*kS&1Gu3CHrP53n7$ZDg$x77|{O>Rr~x|`G;bb z@Jtf+tL=ZHQ_s6GLI!u56qsOzguh~0sQDylS#kW0B5PTJv_N{iLb5smQbP-B7&Izx zJWjc68+_P^PRxNiL7H0GmiqD4I4}7@ii#RgJ-U0Ll zORHeg8(6lWu#(?&1bdS>=YGb9oVO5#XwS+Mw8(w6FfqkF+u-51<4GU45vK>~gpx~z z1IHD6E~|9M^3h*c4W@I}++R`$w?=ASvKF^4qZ-OTMC&?CO%9yH-2;fRVC?g4?|z+B zsYZipiKokn=N<>l7yFs51*L9Nx&HW~Z9qPRRc%xDp~)q}_f;5)|75~<1E3n09IgYr z!iHKk!&OOa`m7Ow!8?D)vpm*8919y$k9C-)ghc9ssNE#-$LWAewa67}_3($l3-^3F zcr0(bReaFBuySsnS^zfBj6kpJR$nl-#xQ!m%uTpxei0K-06$Deb́ay2=lMdy; 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

3B& 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%0D{u!B95c>oe)MjX>4z~VNi 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

2*^(^~u#quL48r8{7-V*oL-kV{8V10FwA(Sq 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 literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/macchiato.webp b/dotfiles/common/.tmux/plugins/tmux/assets/macchiato.webp new file mode 100644 index 0000000000000000000000000000000000000000..df3aa04af87b925890f849bdcdfd3bf33334b8b0 GIT binary patch literal 99682 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


+ +> Nothing works. `tpm` key bindings `prefix + I`, `prefix + U` not even + defined. + +Related [issue #22](https://github.com/tmux-plugins/tpm/issues/22) + +- Do you have required `tmux` version to run `tpm`?
+ Check `tmux` version with `$ tmux -V` command and make sure it's higher or + equal to the required version for `tpm` as stated in the readme. + +- ZSH tmux plugin might be causing issues.
+ If you have it installed, try disabling it and see if `tpm` works then. + +
+ +> Help, I'm using custom config file with `tmux -f /path/to/my_tmux.conf` +to start Tmux and for some reason plugins aren't loaded!? + +Related [issue #57](https://github.com/tmux-plugins/tpm/issues/57) + +`tpm` has a known issue when using custom config file with `-f` option. +The solution is to use alternative plugin definition syntax. Here are the steps +to make it work: + +1. remove all `set -g @plugin` lines from tmux config file +2. in the config file define the plugins in the following way: + + # List of plugins + set -g @tpm_plugins ' \ + tmux-plugins/tpm \ + tmux-plugins/tmux-sensible \ + tmux-plugins/tmux-resurrect \ + ' + + # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) + run '~/.tmux/plugins/tpm/tpm' + +3. Reload TMUX environment so TPM is sourced: `$ tmux source /path/to/my_tmux.conf` + +The plugins should now be working. + +
+ +> Weird sequence of characters show up when installing or updating plugins + +Related: [issue #25](https://github.com/tmux-plugins/tpm/issues/25) + +- This could be caused by [tmuxline.vim](https://github.com/edkolev/tmuxline.vim) + plugin. Uninstall it and see if things work. + +
+ +> "failed to connect to server" error when sourcing .tmux.conf + +Related: [issue #48](https://github.com/tmux-plugins/tpm/issues/48) + +- Make sure `tmux source ~/.tmux.conf` command is ran from inside `tmux`. + +
+ +> tpm not working: '~/.tmux/plugins/tpm/tpm' returned 2 (Windows / Cygwin) + +Related: [issue #81](https://github.com/tmux-plugins/tpm/issues/81) + +This issue is most likely caused by Windows line endings. For example, if you +have git's `core.autocrlf` option set to `true`, git will automatically convert +all the files to Windows line endings which might cause a problem. + +The solution is to convert all line ending to Unix newline characters. This +command handles that for all files under `.tmux/` dir (skips `.git` +subdirectories): + +```bash +find ~/.tmux -type d -name '.git*' -prune -o -type f -print0 | xargs -0 dos2unix +``` + +
+ +> '~/.tmux/plugins/tpm/tpm' returned 127 (on macOS, w/ tmux installed using brew) + +Related: [issue #67](https://github.com/tmux-plugins/tpm/issues/67) + +This problem is because tmux's `run-shell` command runs a shell which doesn't read from user configs, thus tmux installed in a brew prefix (e.g. `/usr/local/bin`) will not be found. + +The solution is to find your brew prefix + +```sh +> echo "$(brew --prefix)/bin" +/opt/homebrew/bin +``` + +And prepend it to the `PATH` environment variable +``` +set-environment -g PATH "/opt/homebrew/bin:/bin:/usr/bin" +``` + +before any `run-shell`/`run` commands in `~/.tmux.conf`. diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.gitignore b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.gitignore new file mode 100644 index 0000000..27281b5 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.gitignore @@ -0,0 +1,2 @@ +.vagrant/ +lib/ diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.travis.yml b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.travis.yml new file mode 100644 index 0000000..ac45d8b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/.travis.yml @@ -0,0 +1,19 @@ +# generic packages and tmux +before_install: + - sudo apt-get update + - sudo apt-get install -y git-core expect + - sudo apt-get install -y python-software-properties software-properties-common + - sudo apt-get install -y libevent-dev libncurses-dev + - git clone https://github.com/tmux/tmux.git + - cd tmux + - git checkout 2.0 + - sh autogen.sh + - ./configure && make && sudo make install + +install: + - git fetch --unshallow --recurse-submodules || git fetch --recurse-submodules + # manual `git clone` required for testing `tmux-test` plugin itself + - git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test; true + - lib/tmux-test/setup + +script: ./tests/run_tests_in_isolation diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/CHANGELOG.md new file mode 100644 index 0000000..e6b9c79 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog + +### master +- move `setup` task to `.travis.yml` for travis tests +- "merge" travis.yml and travis_for_plugins.yml files (no need to keep em + separate) +- add more useful helper functions +- remove tmux-test repo as a submodule from self, this causes issues with + `$ git submodule update --recursive --init` command that some users use for + managing other plugins +- add new helper `teardown_helper` +- add `run_tests` helper +- change CLI syntax for choosing vagrant machine to run the tests on +- enable running just a single test via `run_tests` cli interface +- add `--keep-running` cli option to continue running vagrant after the tests + are done executing +- start using tmux 2.0 for tests + +### v0.2.0, 2015-02-22 +- `setup` script gitignores `tests/helpers.sh` +- move `tests/helpers.sh` to `tests/helpers/helpers.sh` +- `setup` undo removes added lines from gitignore file + +### v0.1.0, 2015-02-22 +- changes so that 'tmux-test' can be included with tmux plugins +- do not gitignore submodules directory +- add installation and usage instructions +- copy `.travis.yml` to the project root when running `setup` script +- add a brief mention of travis CI to the readme +- add test helpers +- `setup` script symlinks helpers file to `tests/` directory +- `setup` script can undo most of its actions +- add a tmux scripting test +- `tmux-test` uses `tmux-test` to test itself +- update `tmux-test` submodule +- a different `travis.yml` for `tmux-test` and for plugins + +### v0.0.1, 2015-02-21 +- git init +- add vagrant provisioning scripts for ubuntu and debian +- add a ".travis.yml" file +- generic "run_tests" script +- "run_tests_in_isolation" script +- add "Vagrantfile" +- enable passing VM names as arguments to "run_tests" script diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/LICENSE.md b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/LICENSE.md new file mode 100644 index 0000000..e6e7350 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (C) Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/README.md b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/README.md new file mode 100644 index 0000000..27dccc9 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/README.md @@ -0,0 +1,134 @@ +# tmux-test + +[![Build Status](https://travis-ci.org/tmux-plugins/tmux-test.png?branch=master)](https://travis-ci.org/tmux-plugins/tmux-test) + +A small framework for isolated testing of tmux plugins. Isolation is achieved by +running the tests in `Vagrant`. Works on [travis](travis-ci.org) too. + +Extracted from [tmux plugin manager](https://github.com/tmux-plugins/tpm) and +[tmux-copycat](https://github.com/tmux-plugins/tmux-copycat). + +Dependencies: `Vagrant` (no required when running on travis). + +### Setup + +Let's say you made tmux plugin with the following file hierarchy: + +```text +/tmux-plugin +|-- plugin.tmux +`-- scripts + `-- plugin_script.sh +``` + +From your project root directory (tmux-plugin/) execute the following shell +command to fetch `tmux-test` and add it as a submodule: + + $ git submodule add https://github.com/tmux-plugins/tmux-test.git lib/tmux-test + +Run the `setup` script: + + $ lib/tmux-test/setup + +The project directory will now look like this (additions have comments): + +```text +/tmux-plugin +|-- plugin.tmux +|-- run_tests # symlink, gitignored +|-- .gitignore # 2 lines appended to gitignore +|-- .travis.yml # added +|-- lib/tmux-test/ # git submodule +|-- scripts +| `-- plugin_script.sh +`-- tests # dir to put the tests in + `-- run_tests_in_isolation.sh # symlink, gitignored + `-- helpers + `-- helpers.sh # symlinked bash helpers, gitignored +``` + +`tmux-test` is now set up. You are ok to commit the additions to the repo. + +### Writing and running tests + +A test is any executable with a name starting with `test_` in `tests/` +directory. + +Now that you installed `tmux-test` let's create an example test. + +- create a `tests/test_example.sh` file with the following content (it's a + `bash` script but it can be any executable): + + #/usr/bin/env bash + + CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + + # bash helpers provided by 'tmux-test' + source $CURRENT_DIR/helpers/helpers.sh + + # installs plugin from current repo in Vagrant (or on Travis) + install_tmux_plugin_under_test_helper + + # start tmux in background (plugin under test is sourced) + tmux new -d + + # get first session name + session_name="$(tmux list-sessions -F "#{session_name}")" + + # fail the test if first session name is not "0" + if [ "$session_name" == "0" ]; then + # fail_helper is also provided by 'tmux-test' + fail_helper "First session name is not '0' by default" + fi + + # sets the right script exit code ('tmux-test' helper) + exit_helper + +- make the test file executable with `$ chmod +x tests/test_example.sh` +- run the test by executing `./run_tests` from the project root directory +- the first invocation might take some time because Vagrant's ubuntu virtual + machine is downloading. You should see `Success, tests pass!` message when it's + done. + +Check out more example test scripts in this project's [tests/ directory](tests/). + +### Continuous integration + +The setup script (`lib/tmux-test/setup`) added a `.travis.yml` file to the +project root. To setup continuous integration, just add/enable the project on +[travis](travis-ci.org). + +### Notes + +- The `tests/` directory for tests and `lib/tmux-test/` for cloning `tmux-test` + into cannot be changed currently +- Don't run `tests/run_tests_in_isolation` script on your local development + environment. That's an internal test runner meant to be executed in an + isolated environment like `vagrant` or `travis`.
+ Use `./run_tests` script. +- You can use `KEEP_RUNNING=true ./run_tests` for faster test running cycle. + If this case `Vagrant` will keep running even after the tests are done. +- You can use `VAGRANT_CWD=lib/tmux-text/ vagrant ssh ubuntu` for ssh login to + `Vagrant`. + +### Running `tmux-test` framework tests + +`tmux-test` uses itself to test itself. To run framework tests: + +- clone this project `$ git clone git@github.com:tmux-plugins/tmux-test.git` +- `$ cd tmux-test` +- run `$ ./run_framework_tests` + +### Other goodies + +- [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) - a plugin for + regex searches in tmux and fast match selection +- [tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) - automatic + restoring and continuous saving of tmux env + +You might want to follow [@brunosutic](https://twitter.com/brunosutic) on +twitter if you want to hear about new tmux plugins or feature updates. + +### License + +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/Vagrantfile b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/Vagrantfile new file mode 100644 index 0000000..04b3eba --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/Vagrantfile @@ -0,0 +1,17 @@ +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + + config.vm.synced_folder "../../", "/vagrant" + + config.vm.define :ubuntu do |ubuntu| + ubuntu.vm.box = "hashicorp/precise64" + ubuntu.vm.provision "shell", path: "vagrant_ubuntu_provisioning.sh" + end + + config.vm.define :centos do |centos| + centos.vm.box = "chef/centos-6.5" + centos.vm.provision "shell", path: "vagrant_centos_provisioning.sh" + end + +end diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/run_framework_tests b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/run_framework_tests new file mode 100755 index 0000000..ed7f634 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/run_framework_tests @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# This file is used to run "tmux-test" framework tests. + +# "setup" script is needed to run the tests, but it overrides some working dir +# files. To address that, "setup" is run before the tests and it's actions are +# undone after. + +main() { + git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test + lib/tmux-test/setup + ./run_tests + local exit_value=$? + lib/tmux-test/setup "undo" + exit "$exit_value" +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/setup b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/setup new file mode 100755 index 0000000..575a8a3 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/setup @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +# invoke this script from your projects root directory + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# pass "undo" as a script arg to undo most of the setup actions +UNDO_SETUP="$1" +undo() { + [ "$UNDO_SETUP" == "undo" ] +} + +restore() { + local file="$1" + rm -f "$file" + git checkout -- "$file" 2>/dev/null +} + +gitignore() { + local file="$1" + grep -q "^${file}$" .gitignore 2>/dev/null || echo "$file" >> .gitignore +} + +remove_from_gitignore() { + local file="$1" + local escaped_filename="$(echo "$file" | sed "s,/,\\\/,g")" + sed -i"" "/^${escaped_filename}$/d" .gitignore +} + +add_files_to_gitignore() { + if ! undo; then + gitignore "run_tests" + gitignore "tests/run_tests_in_isolation" + gitignore "tests/helpers/helpers.sh" + else + remove_from_gitignore "run_tests" + remove_from_gitignore "tests/run_tests_in_isolation" + remove_from_gitignore "tests/helpers/helpers.sh" + fi +} + +symlink_user_test_runner() { + local file="run_tests" + if ! undo; then + ln -sf "lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +create_directory_for_tests() { + if ! undo; then + mkdir -p tests/helpers/ + fi +} + +symlink_internal_test_runner() { + local file="tests/run_tests_in_isolation" + if ! undo; then + ln -sf "../lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +symlink_test_helpers() { + local file="tests/helpers/helpers.sh" + if ! undo; then + ln -sf "../../lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +copy_travis_yml() { + local file=".travis.yml" + if ! undo; then + cp "lib/tmux-test/${file}" "$file" + else + restore "$file" + fi +} + +main() { + add_files_to_gitignore + symlink_user_test_runner + create_directory_for_tests + symlink_internal_test_runner + symlink_test_helpers + copy_travis_yml +} +main + diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/helpers/helpers.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/helpers/helpers.sh new file mode 100644 index 0000000..32b1ee4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/helpers/helpers.sh @@ -0,0 +1,68 @@ +# This file is a symlink from 'tmux-test' plugin. +# You probably don't want to edit it. + + +# Global variable that keeps the value of test status (success/fail). +# Suggested usage is via `fail_helper` and `exit_helper` functions. +TEST_STATUS="success" + +# PRIVATE FUNCTIONS + +_clone_the_plugin() { + local plugin_path="${HOME}/.tmux/plugins/tmux-plugin-under-test/" + rm -rf "$plugin_path" + git clone --recursive "${CURRENT_DIR}/../" "$plugin_path" >/dev/null 2>&1 +} + +_add_plugin_to_tmux_conf() { + set_tmux_conf_helper<<-HERE + run-shell '~/.tmux/plugins/tmux-plugin-under-test/*.tmux' + HERE +} + +# PUBLIC HELPER FUNCTIONS + +teardown_helper() { + rm -f ~/.tmux.conf + rm -rf ~/.tmux/ + tmux kill-server >/dev/null 2>&1 +} + +set_tmux_conf_helper() { + > ~/.tmux.conf # empty tmux.conf file + while read line; do + echo "$line" >> ~/.tmux.conf + done +} + +fail_helper() { + local message="$1" + echo "$message" >&2 + TEST_STATUS="fail" +} + +exit_helper() { + teardown_helper + if [ "$TEST_STATUS" == "fail" ]; then + echo "FAIL!" + echo + exit 1 + else + echo "SUCCESS" + echo + exit 0 + fi +} + +install_tmux_plugin_under_test_helper() { + _clone_the_plugin + _add_plugin_to_tmux_conf +} + +run_tests() { + # get all the functions starting with 'test_' and invoke them + for test in $(compgen -A function | grep "^test_"); do + "$test" + done + exit_helper +} diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/run_tests_in_isolation b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/run_tests_in_isolation new file mode 100755 index 0000000..fa39ebe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/run_tests_in_isolation @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# This file is a symlink from 'tmux-test' plugin. +# You probably don't want to edit it. + +# This script should be run within an isolated enviroment (Vagrant, travis). +# Depending on what the tests do, it might NOT be safe to run this script +# directly on the development machine. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +EXIT_VALUE=0 # running a test suite is successful by default + +all_test_files() { + ls -1 "$CURRENT_DIR" | # test files are in the current dir + \grep -i "^test" | # test file names start with "test" + xargs # file names in a single line +} + +set_exit_val_to_false() { + EXIT_VALUE=1 +} + +run_tests() { + local test_file tests_files + if [ "$#" -gt 0 ]; then + test_files="${@//tests\//}" # remove 'tests/' directory prefix + else + test_files="$(all_test_files)" + fi + for test_file in $test_files; do + echo "Running test: $test_file" + "${CURRENT_DIR}/${test_file}" + + # handling exit value + local test_exit_value="$?" + if [ "$test_exit_value" -ne 0 ]; then + set_exit_val_to_false + fi + done +} + +main() { + run_tests "$@" + exit "$EXIT_VALUE" +} +main "$@" diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_basic_script_execution.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_basic_script_execution.sh new file mode 100755 index 0000000..0fdcf09 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_basic_script_execution.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +exit 0 diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_default_session_name.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_default_session_name.sh new file mode 100755 index 0000000..c761b93 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_default_session_name.sh @@ -0,0 +1,24 @@ +#/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# bash helpers provided by 'tmux-test' +source $CURRENT_DIR/helpers/helpers.sh + +# installs plugin from current repo in Vagrant (or on Travis) +install_tmux_plugin_under_test_helper + +# start tmux in background (plugin under test is sourced) +tmux new -d + +# get first session name +session_name="$(tmux list-sessions -F "#{session_name}")" + +# fail the test if first session name is not "0" +if ! [ "$session_name" == "0" ]; then + # fail_helper is also provided by 'tmux-test' + fail_helper "First session name is not '0' by default" +fi + +# sets the right script exit code ('tmux-test' helper) +exit_helper diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_tmux_scripting.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_tmux_scripting.sh new file mode 100755 index 0000000..3b4bece --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/tests/test_tmux_scripting.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +source $CURRENT_DIR/helpers/helpers.sh + +number_of_windows() { + tmux list-windows | + wc -l | + sed "s/ //g" +} + +main() { + # start tmux in the background + tmux new -d + tmux new-window + + local number_of_windows="$(number_of_windows)" + if ! [ "$number_of_windows" -eq 2 ]; then + fail_helper "Incorrect number of windows. Expected 2, got $number_of_windows" + fi + exit_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_centos_provisioning.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_centos_provisioning.sh new file mode 100644 index 0000000..20a282b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_centos_provisioning.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# libevent2 installation instructions from here +# https://gist.github.com/rschuman/6168833 + +sudo su - + +yum -y install gcc kernel-devel make automake autoconf ncurses-devel +yum -y install git-core expect vim ruby ruby-devel ruby-irb + +# install libevent2 from source +curl http://sourceforge.net/projects/levent/files/latest/download?source=files -L -o libevent2.tar.gz -w 'Last URL was: %{url_effective}' +cd ~/downloads +tar zxvf libevent2.tar.gz +cd ./libevent-* +./configure --prefix=/usr/local +make +make install + +# compile tmux +git clone https://github.com/tmux/tmux.git ~/tmux_source +cd ~/tmux_source +git checkout 2.0 +sh autogen.sh +LDFLAGS="-L/usr/local/lib -Wl,-rpath=/usr/local/lib" ./configure --prefix=/usr/local +make && sudo make install diff --git a/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_ubuntu_provisioning.sh b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_ubuntu_provisioning.sh new file mode 100644 index 0000000..63a60ea --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/lib/tmux-test/vagrant_ubuntu_provisioning.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +sudo apt-get update +sudo apt-get install -y git-core expect vim +sudo apt-get install -y python-software-properties software-properties-common +sudo apt-get install -y build-essential libtool autotools-dev autoconf +sudo apt-get install -y pkg-config libevent-dev libncurses-dev + +# install tmux 2.0 +git clone https://github.com/tmux/tmux.git ~/tmux_source +cd ~/tmux_source +git checkout 2.0 +sh autogen.sh +./configure && make && sudo make install diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/check_tmux_version.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/check_tmux_version.sh new file mode 100755 index 0000000..b0aedec --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/check_tmux_version.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +VERSION="$1" +UNSUPPORTED_MSG="$2" + +get_tmux_option() { + local option=$1 + local default_value=$2 + local option_value=$(tmux show-option -gqv "$option") + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +# Ensures a message is displayed for 5 seconds in tmux prompt. +# Does not override the 'display-time' tmux option. +display_message() { + local message="$1" + + # display_duration defaults to 5 seconds, if not passed as an argument + if [ "$#" -eq 2 ]; then + local display_duration="$2" + else + local display_duration="5000" + fi + + # saves user-set 'display-time' option + local saved_display_time=$(get_tmux_option "display-time" "750") + + # sets message display time to 5 seconds + tmux set-option -gq display-time "$display_duration" + + # displays message + tmux display-message "$message" + + # restores original 'display-time' value + tmux set-option -gq display-time "$saved_display_time" +} + +# this is used to get "clean" integer version number. Examples: +# `tmux 1.9` => `19` +# `1.9a` => `19` +get_digits_from_string() { + local string="$1" + local only_digits="$(echo "$string" | tr -dC '[:digit:]')" + echo "$only_digits" +} + +tmux_version_int() { + local tmux_version_string=$(tmux -V) + echo "$(get_digits_from_string "$tmux_version_string")" +} + +unsupported_version_message() { + if [ -n "$UNSUPPORTED_MSG" ]; then + echo "$UNSUPPORTED_MSG" + else + echo "Error, Tmux version unsupported! Please install Tmux version $VERSION or greater!" + fi +} + +exit_if_unsupported_version() { + local current_version="$1" + local supported_version="$2" + if [ "$current_version" -lt "$supported_version" ]; then + display_message "$(unsupported_version_message)" + exit 1 + fi +} + +main() { + local supported_version_int="$(get_digits_from_string "$VERSION")" + local current_version_int="$(tmux_version_int)" + exit_if_unsupported_version "$current_version_int" "$supported_version_int" +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/clean_plugins.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/clean_plugins.sh new file mode 100755 index 0000000..a025524 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/clean_plugins.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" +source "$HELPERS_DIR/utility.sh" + +if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions + source "$HELPERS_DIR/tmux_echo_functions.sh" +else # shell output functions + source "$HELPERS_DIR/shell_echo_functions.sh" +fi + +clean_plugins() { + local plugins plugin plugin_directory + plugins="$(tpm_plugins_list_helper)" + + for plugin_directory in "$(tpm_path)"/*; do + [ -d "${plugin_directory}" ] || continue + plugin="$(plugin_name_helper "${plugin_directory}")" + case "${plugins}" in + *"${plugin}"*) : ;; + *) + [ "${plugin}" = "tpm" ] && continue + echo_ok "Removing \"$plugin\"" + rm -rf "${plugin_directory}" >/dev/null 2>&1 + [ -d "${plugin_directory}" ] && + echo_err " \"$plugin\" clean fail" || + echo_ok " \"$plugin\" clean success" + ;; + esac + done +} + +main() { + ensure_tpm_path_exists + clean_plugins + exit_value_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/plugin_functions.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/plugin_functions.sh new file mode 100644 index 0000000..f33d215 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/plugin_functions.sh @@ -0,0 +1,104 @@ +# using @tpm_plugins is now deprecated in favor of using @plugin syntax +tpm_plugins_variable_name="@tpm_plugins" + +# manually expanding tilde char or `$HOME` variable. +_manual_expansion() { + local path="$1" + local expanded_tilde="${path/#\~/$HOME}" + echo "${expanded_tilde/#\$HOME/$HOME}" +} + +_tpm_path() { + local string_path="$(tmux start-server\; show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)/" + _manual_expansion "$string_path" +} + +_CACHED_TPM_PATH="$(_tpm_path)" + +# Get the absolute path to the users configuration file of TMux. +# This includes a prioritized search on different locations. +# +_get_user_tmux_conf() { + # Define the different possible locations. + xdg_location="${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf" + default_location="$HOME/.tmux.conf" + + # Search for the correct configuration file by priority. + if [ -f "$xdg_location" ]; then + echo "$xdg_location" + + else + echo "$default_location" + fi +} + +_tmux_conf_contents() { + user_config=$(_get_user_tmux_conf) + cat /etc/tmux.conf "$user_config" 2>/dev/null + if [ "$1" == "full" ]; then # also output content from sourced files + local file + for file in $(_sourced_files); do + cat $(_manual_expansion "$file") 2>/dev/null + done + fi +} + +# return files sourced from tmux config files +_sourced_files() { + _tmux_conf_contents | + sed -E -n -e "s/^[[:space:]]*source(-file)?[[:space:]]+(-q+[[:space:]]+)?['\"]?([^'\"]+)['\"]?/\3/p" +} + +# Want to be able to abort in certain cases +trap "exit 1" TERM +export TOP_PID=$$ + +_fatal_error_abort() { + echo >&2 "Aborting." + kill -s TERM $TOP_PID +} + +# PUBLIC FUNCTIONS BELOW + +tpm_path() { + if [ "$_CACHED_TPM_PATH" == "/" ]; then + echo >&2 "FATAL: Tmux Plugin Manager not configured in tmux.conf" + _fatal_error_abort + fi + echo "$_CACHED_TPM_PATH" +} + +tpm_plugins_list_helper() { + # lists plugins from @tpm_plugins option + echo "$(tmux start-server\; show-option -gqv "$tpm_plugins_variable_name")" + + # read set -g @plugin "tmux-plugins/tmux-example-plugin" entries + _tmux_conf_contents "full" | + awk '/^[ \t]*set(-option)? +-g +@plugin/ { gsub(/'\''/,""); gsub(/'\"'/,""); print $4 }' +} + +# Allowed plugin name formats: +# 1. "git://github.com/user/plugin_name.git" +# 2. "user/plugin_name" +plugin_name_helper() { + local plugin="$1" + # get only the part after the last slash, e.g. "plugin_name.git" + local plugin_basename="$(basename "$plugin")" + # remove ".git" extension (if it exists) to get only "plugin_name" + local plugin_name="${plugin_basename%.git}" + echo "$plugin_name" +} + +plugin_path_helper() { + local plugin="$1" + local plugin_name="$(plugin_name_helper "$plugin")" + echo "$(tpm_path)${plugin_name}/" +} + +plugin_already_installed() { + local plugin="$1" + local plugin_path="$(plugin_path_helper "$plugin")" + [ -d "$plugin_path" ] && + cd "$plugin_path" && + git remote >/dev/null 2>&1 +} diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh new file mode 100644 index 0000000..ecaa37e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/shell_echo_functions.sh @@ -0,0 +1,7 @@ +echo_ok() { + echo "$*" +} + +echo_err() { + fail_helper "$*" +} diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh new file mode 100644 index 0000000..7a6ef0a --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_echo_functions.sh @@ -0,0 +1,28 @@ +_has_emacs_mode_keys() { + $(tmux show -gw mode-keys | grep -q emacs) +} + +tmux_echo() { + local message="$1" + tmux run-shell "echo '$message'" +} + +echo_ok() { + tmux_echo "$*" +} + +echo_err() { + tmux_echo "$*" +} + +end_message() { + if _has_emacs_mode_keys; then + local continue_key="ESCAPE" + else + local continue_key="ENTER" + fi + tmux_echo "" + tmux_echo "TMUX environment reloaded." + tmux_echo "" + tmux_echo "Done, press $continue_key to continue." +} diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_utils.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_utils.sh new file mode 100644 index 0000000..238952d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/tmux_utils.sh @@ -0,0 +1,6 @@ +HELPERS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source "$HELPERS_DIR/plugin_functions.sh" + +reload_tmux_environment() { + tmux source-file $(_get_user_tmux_conf) >/dev/null 2>&1 +} diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/utility.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/utility.sh new file mode 100644 index 0000000..de6eb35 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/helpers/utility.sh @@ -0,0 +1,17 @@ +ensure_tpm_path_exists() { + mkdir -p "$(tpm_path)" +} + +fail_helper() { + local message="$1" + echo "$message" >&2 + FAIL="true" +} + +exit_value_helper() { + if [ "$FAIL" == "true" ]; then + exit 1 + else + exit 0 + fi +} diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/install_plugins.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/install_plugins.sh new file mode 100755 index 0000000..e2450ac --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/install_plugins.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" +source "$HELPERS_DIR/utility.sh" + +if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions + source "$HELPERS_DIR/tmux_echo_functions.sh" +else # shell output functions + source "$HELPERS_DIR/shell_echo_functions.sh" +fi + +clone() { + local plugin="$1" + local branch="$2" + if [ -n "$branch" ]; then + cd "$(tpm_path)" && + GIT_TERMINAL_PROMPT=0 git clone -b "$branch" --single-branch --recursive "$plugin" >/dev/null 2>&1 + else + cd "$(tpm_path)" && + GIT_TERMINAL_PROMPT=0 git clone --single-branch --recursive "$plugin" >/dev/null 2>&1 + fi +} + +# tries cloning: +# 1. plugin name directly - works if it's a valid git url +# 2. expands the plugin name to point to a GitHub repo and tries cloning again +clone_plugin() { + local plugin="$1" + local branch="$2" + clone "$plugin" "$branch" || + clone "https://git::@github.com/$plugin" "$branch" +} + +# clone plugin and produce output +install_plugin() { + local plugin="$1" + local branch="$2" + local plugin_name="$(plugin_name_helper "$plugin")" + + if plugin_already_installed "$plugin"; then + echo_ok "Already installed \"$plugin_name\"" + else + echo_ok "Installing \"$plugin_name\"" + clone_plugin "$plugin" "$branch" && + echo_ok " \"$plugin_name\" download success" || + echo_err " \"$plugin_name\" download fail" + fi +} + +install_plugins() { + local plugins="$(tpm_plugins_list_helper)" + for plugin in $plugins; do + IFS='#' read -ra plugin <<< "$plugin" + install_plugin "${plugin[0]}" "${plugin[1]}" + done +} + +verify_tpm_path_permissions() { + local path="$(tpm_path)" + # check the write permission flag for all users to ensure + # that we have proper access + [ -w "$path" ] || + echo_err "$path is not writable!" +} + +main() { + ensure_tpm_path_exists + verify_tpm_path_permissions + install_plugins + exit_value_helper +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/source_plugins.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/source_plugins.sh new file mode 100755 index 0000000..6381d54 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/source_plugins.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" + +plugin_dir_exists() { + [ -d "$1" ] +} + +# Runs all *.tmux files from the plugin directory. +# Files are ran as executables. +# No errors if the plugin dir does not exist. +silently_source_all_tmux_files() { + local plugin_path="$1" + local plugin_tmux_files="$plugin_path*.tmux" + if plugin_dir_exists "$plugin_path"; then + for tmux_file in $plugin_tmux_files; do + # if the glob didn't find any files this will be the + # unexpanded glob which obviously doesn't exist + [ -f "$tmux_file" ] || continue + # runs *.tmux file as an executable + $tmux_file >/dev/null 2>&1 + done + fi +} + +source_plugins() { + local plugin plugin_path + local plugins="$(tpm_plugins_list_helper)" + for plugin in $plugins; do + IFS='#' read -ra plugin <<< "$plugin" + plugin_path="$(plugin_path_helper "${plugin[0]}")" + silently_source_all_tmux_files "$plugin_path" + done +} + +main() { + source_plugins +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin.sh new file mode 100755 index 0000000..e533664 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +# this script handles core logic of updating plugins + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" +source "$HELPERS_DIR/utility.sh" + +if [ "$1" == "--tmux-echo" ]; then # tmux-specific echo functions + source "$HELPERS_DIR/tmux_echo_functions.sh" +else # shell output functions + source "$HELPERS_DIR/shell_echo_functions.sh" +fi + +# from now on ignore first script argument +shift + +pull_changes() { + local plugin="$1" + local plugin_path="$(plugin_path_helper "$plugin")" + cd "$plugin_path" && + GIT_TERMINAL_PROMPT=0 git pull && + GIT_TERMINAL_PROMPT=0 git submodule update --init --recursive +} + +update() { + local plugin="$1" output + output=$(pull_changes "$plugin" 2>&1) + if (( $? == 0 )); then + echo_ok " \"$plugin\" update success" + echo_ok "$(echo "$output" | sed -e 's/^/ | /')" + else + echo_err " \"$plugin\" update fail" + echo_err "$(echo "$output" | sed -e 's/^/ | /')" + fi +} + +update_all() { + echo_ok "Updating all plugins!" + echo_ok "" + local plugins="$(tpm_plugins_list_helper)" + for plugin in $plugins; do + IFS='#' read -ra plugin <<< "$plugin" + local plugin_name="$(plugin_name_helper "${plugin[0]}")" + # updating only installed plugins + if plugin_already_installed "$plugin_name"; then + update "$plugin_name" & + fi + done + wait +} + +update_plugins() { + local plugins="$*" + for plugin in $plugins; do + IFS='#' read -ra plugin <<< "$plugin" + local plugin_name="$(plugin_name_helper "${plugin[0]}")" + if plugin_already_installed "$plugin_name"; then + update "$plugin_name" & + else + echo_err "$plugin_name not installed!" & + fi + done + wait +} + +main() { + ensure_tpm_path_exists + if [ "$1" == "all" ]; then + update_all + else + update_plugins "$*" + fi + exit_value_helper +} +main "$*" diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin_prompt_handler.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin_prompt_handler.sh new file mode 100755 index 0000000..5e1f7d9 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/update_plugin_prompt_handler.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +HELPERS_DIR="$CURRENT_DIR/helpers" + +if [ $# -eq 0 ]; then + exit 0 +fi + +source "$HELPERS_DIR/tmux_echo_functions.sh" +source "$HELPERS_DIR/tmux_utils.sh" + +main() { + "$CURRENT_DIR/update_plugin.sh" --tmux-echo "$*" + reload_tmux_environment + end_message +} +main "$*" diff --git a/dotfiles/common/.tmux/plugins/tpm/scripts/variables.sh b/dotfiles/common/.tmux/plugins/tpm/scripts/variables.sh new file mode 100644 index 0000000..5601a86 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/scripts/variables.sh @@ -0,0 +1,13 @@ +install_key_option="@tpm-install" +default_install_key="I" + +update_key_option="@tpm-update" +default_update_key="U" + +clean_key_option="@tpm-clean" +default_clean_key="M-u" + +SUPPORTED_TMUX_VERSION="1.9" + +DEFAULT_TPM_ENV_VAR_NAME="TMUX_PLUGIN_MANAGER_PATH" +DEFAULT_TPM_PATH="$HOME/.tmux/plugins/" diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_failed_plugin_download b/dotfiles/common/.tmux/plugins/tpm/tests/expect_failed_plugin_download new file mode 100755 index 0000000..b970477 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_failed_plugin_download @@ -0,0 +1,36 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + I +send "I" + +# cloning might take a while +set timeout 20 + +expect_after { + timeout { exit 1 } +} + +expect { + "Installing \"non-existing-plugin\"" +} + +expect { + "\"non-existing-plugin\" download fail" +} + +expect { + "Done, press ENTER to continue" { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_clean_plugins b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_clean_plugins new file mode 100755 index 0000000..987c49d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_clean_plugins @@ -0,0 +1,35 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + alt + u +send "u" + +set timeout 5 + +expect_after { + timeout { exit 1 } +} + +expect { + "Removing \"tmux-example-plugin\"" +} + +expect { + "\"tmux-example-plugin\" clean success" +} + +expect { + "Done, press ENTER to continue." { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_multiple_plugins_download b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_multiple_plugins_download new file mode 100755 index 0000000..cc87a26 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_multiple_plugins_download @@ -0,0 +1,44 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + I +send "I" + +# cloning might take a while +set timeout 15 + +expect_after { + timeout { exit 1 } +} + +expect { + "Installing \"tmux-example-plugin\"" +} + +expect { + "\"tmux-example-plugin\" download success" +} + +expect { + "Installing \"tmux-copycat\"" +} + +expect { + "\"tmux-copycat\" download success" +} + +expect { + "Done, press ENTER to continue." { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_plugin_download b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_plugin_download new file mode 100755 index 0000000..388f05d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_plugin_download @@ -0,0 +1,50 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + I +send "I" + +# cloning might take a while +set timeout 15 + +expect_after { + timeout { exit 1 } +} + +expect { + "Installing \"tmux-example-plugin\"" +} + +expect { + "\"tmux-example-plugin\" download success" +} + +expect { + "Done, press ENTER to continue" { + send " " + } +} + +sleep 1 +# this is tmux prefix + I +send "I" + +expect { + "Already installed \"tmux-example-plugin\"" +} + +expect { + "Done, press ENTER to continue" { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_a_single_plugin b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_a_single_plugin new file mode 100755 index 0000000..bcd64fe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_a_single_plugin @@ -0,0 +1,55 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + U +send "U" + +set timeout 15 + +expect_after { + timeout { exit 1 } +} + +expect { + "Installed plugins" +} + +expect { + "tmux-example-plugin" +} + +expect { + "\"all\" - updates all plugins" +} + +expect { + "ENTER - cancels" +} + +# wait for tmux to display prompt before sending characters +sleep 1 +send "tmux-example-plugin\r" + +expect { + "Updating \"tmux-example-plugin\"" +} + +expect { + "\"tmux-example-plugin\" update success" +} + +expect { + "Done, press ENTER to continue." { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_all_plugins b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_all_plugins new file mode 100755 index 0000000..4f3a4a3 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/expect_successful_update_of_all_plugins @@ -0,0 +1,59 @@ +#!/usr/bin/env expect + +# disables script output +log_user 0 + +spawn tmux + +# Waiting for tmux to attach. If this is not done, next command, `send` will +# not work properly. +sleep 1 + +# this is tmux prefix + U +send "U" + +set timeout 5 + +expect_after { + timeout { exit 1 } +} + +expect { + "Installed plugins" +} + +expect { + "tmux-example-plugin" +} + +expect { + "\"all\" - updates all plugins" +} + +expect { + "ENTER - cancels" +} + +# wait for tmux to display prompt before sending characters +sleep 1 +send "all\r" + +expect { + "Updating all plugins!" +} + +expect { + "Updating \"tmux-example-plugin\"" +} + +expect { + "\"tmux-example-plugin\" update success" +} + +expect { + "Done, press ENTER to continue." { + exit 0 + } +} + +exit 1 diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/helpers/tpm.sh b/dotfiles/common/.tmux/plugins/tpm/tests/helpers/tpm.sh new file mode 100644 index 0000000..1594afb --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/helpers/tpm.sh @@ -0,0 +1,13 @@ +check_dir_exists_helper() { + [ -d "$1" ] +} + +# runs the scripts and asserts it has the correct output and exit code +script_run_helper() { + local script="$1" + local expected_output="$2" + local expected_exit_code="${3:-0}" + $script 2>&1 | + grep "$expected_output" >/dev/null 2>&1 && # grep -q flag quits the script early + [ "${PIPESTATUS[0]}" -eq "$expected_exit_code" ] +} diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_clean.sh b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_clean.sh new file mode 100755 index 0000000..d36c468 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_clean.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +TPM_DIR="$PWD" +PLUGINS_DIR="$HOME/.tmux/plugins" + +source "$CURRENT_DIR/helpers/helpers.sh" +source "$CURRENT_DIR/helpers/tpm.sh" + +manually_install_the_plugin() { + rm -rf "$PLUGINS_DIR" + mkdir -p "$PLUGINS_DIR" + cd "$PLUGINS_DIR" + git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin +} + +# TMUX KEY-BINDING TESTS + +test_plugin_uninstallation_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + run-shell "$TPM_DIR/tpm" + HERE + + manually_install_the_plugin + + "$CURRENT_DIR/expect_successful_clean_plugins" || + fail_helper "[key-binding] clean fails" + + teardown_helper +} + +# SCRIPT TESTS + +test_plugin_uninstallation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + run-shell "$TPM_DIR/tpm" + HERE + + manually_install_the_plugin + + script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean success' || + fail_helper "[script] plugin cleaning fails" + + teardown_helper +} + +test_unsuccessful_plugin_uninstallation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + run-shell "$TPM_DIR/tpm" + HERE + + manually_install_the_plugin + chmod 000 "$PLUGINS_DIR/tmux-example-plugin" # disable directory deletion + + local expected_exit_code=1 + script_run_helper "$TPM_DIR/bin/clean_plugins" '"tmux-example-plugin" clean fail' "$expected_exit_code" || + fail_helper "[script] unsuccessful plugin cleaning doesn't fail" + + chmod 755 "$PLUGINS_DIR/tmux-example-plugin" # enable directory deletion + + teardown_helper +} + +run_tests diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation.sh b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation.sh new file mode 100755 index 0000000..94fb674 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation.sh @@ -0,0 +1,284 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +PLUGINS_DIR="$HOME/.tmux/plugins" +TPM_DIR="$PWD" + +CUSTOM_PLUGINS_DIR="$HOME/foo/plugins" +ADDITIONAL_CONFIG_FILE_1="$HOME/.tmux/additional_config_file_1" +ADDITIONAL_CONFIG_FILE_2="$HOME/.tmux/additional_config_file_2" + +source "$CURRENT_DIR/helpers/helpers.sh" +source "$CURRENT_DIR/helpers/tpm.sh" + +# TMUX KEY-BINDING TESTS + +test_plugin_installation_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + "$CURRENT_DIR/expect_successful_plugin_download" || + fail_helper "[key-binding] plugin installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding] plugin download fails" + + teardown_helper +} + +test_plugin_installation_via_tmux_key_binding_set_option() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set-option -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + "$CURRENT_DIR/expect_successful_plugin_download" || + fail_helper "[key-binding][set-option] plugin installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding][set-option] plugin download fails" + + teardown_helper +} + +test_plugin_installation_custom_dir_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR' + + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + "$CURRENT_DIR/expect_successful_plugin_download" || + fail_helper "[key-binding][custom dir] plugin installation fails" + + check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding][custom dir] plugin download fails" + + teardown_helper + rm -rf "$CUSTOM_PLUGINS_DIR" +} + +test_non_existing_plugin_installation_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/non-existing-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + "$CURRENT_DIR/expect_failed_plugin_download" || + fail_helper "[key-binding] non existing plugin installation doesn't fail" + + teardown_helper +} + +test_multiple_plugins_installation_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + \ \ set -g @plugin 'tmux-plugins/tmux-copycat' + run-shell "$TPM_DIR/tpm" + HERE + + "$CURRENT_DIR/expect_successful_multiple_plugins_download" || + fail_helper "[key-binding] multiple plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[key-binding] plugin download fails (tmux-copycat)" + + teardown_helper +} + +test_plugins_installation_from_sourced_file_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + source '$ADDITIONAL_CONFIG_FILE_1' + set -g @plugin 'tmux-plugins/tmux-example-plugin' + run-shell "$TPM_DIR/tpm" + HERE + + mkdir ~/.tmux + echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1" + + "$CURRENT_DIR/expect_successful_multiple_plugins_download" || + fail_helper "[key-binding][sourced file] plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding][sourced file] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[key-binding][sourced file] plugin download fails (tmux-copycat)" + + teardown_helper +} + +test_plugins_installation_from_multiple_sourced_files_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + \ \ source '$ADDITIONAL_CONFIG_FILE_1' + source-file '$ADDITIONAL_CONFIG_FILE_2' + run-shell "$TPM_DIR/tpm" + HERE + + mkdir ~/.tmux + echo "set -g @plugin 'tmux-plugins/tmux-example-plugin'" > "$ADDITIONAL_CONFIG_FILE_1" + echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_2" + + "$CURRENT_DIR/expect_successful_multiple_plugins_download" || + fail_helper "[key-binding][multiple sourced files] plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[key-binding][multiple sourced files] plugin download fails (tmux-copycat)" + + teardown_helper +} + +# SCRIPT TESTS + +test_plugin_installation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' || + fail_helper "[script] plugin installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script] plugin download fails" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' || + fail_helper "[script] plugin already installed message fail" + + teardown_helper +} + +test_plugin_installation_custom_dir_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR' + + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' || + fail_helper "[script][custom dir] plugin installation fails" + + check_dir_exists_helper "$CUSTOM_PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script][custom dir] plugin download fails" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' || + fail_helper "[script][custom dir] plugin already installed message fail" + + teardown_helper + rm -rf "$CUSTOM_PLUGINS_DIR" +} + +test_non_existing_plugin_installation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/non-existing-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + local expected_exit_code=1 + script_run_helper "$TPM_DIR/bin/install_plugins" '"non-existing-plugin" download fail' "$expected_exit_code" || + fail_helper "[script] non existing plugin installation doesn't fail" + + teardown_helper +} + +test_multiple_plugins_installation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + \ \ set -g @plugin 'tmux-plugins/tmux-copycat' + run-shell "$TPM_DIR/tpm" + HERE + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' || + fail_helper "[script] multiple plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[script] plugin download fails (tmux-copycat)" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' || + fail_helper "[script] multiple plugins already installed message fail" + + teardown_helper +} + +test_plugins_installation_from_sourced_file_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + source '$ADDITIONAL_CONFIG_FILE_1' + set -g @plugin 'tmux-plugins/tmux-example-plugin' + run-shell "$TPM_DIR/tpm" + HERE + + mkdir ~/.tmux + echo "set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1" + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-copycat" download success' || + fail_helper "[script][sourced file] plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script][sourced file] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[script][sourced file] plugin download fails (tmux-copycat)" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' || + fail_helper "[script][sourced file] plugins already installed message fail" + + teardown_helper +} + +test_plugins_installation_from_multiple_sourced_files_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + \ \ source '$ADDITIONAL_CONFIG_FILE_1' + source-file '$ADDITIONAL_CONFIG_FILE_2' + set -g @plugin 'tmux-plugins/tmux-example-plugin' + run-shell "$TPM_DIR/tpm" + HERE + + mkdir ~/.tmux + echo " set -g @plugin 'tmux-plugins/tmux-copycat'" > "$ADDITIONAL_CONFIG_FILE_1" + echo "set -g @plugin 'tmux-plugins/tmux-sensible'" > "$ADDITIONAL_CONFIG_FILE_2" + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-sensible" download success' || + fail_helper "[script][multiple sourced files] plugins installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script][multiple sourced files] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[script][multiple sourced files] plugin download fails (tmux-copycat)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-sensible/" || + fail_helper "[script][multiple sourced files] plugin download fails (tmux-sensible)" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-sensible"' || + fail_helper "[script][multiple sourced files] plugins already installed message fail" + + teardown_helper +} + +run_tests diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation_legacy.sh b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation_legacy.sh new file mode 100755 index 0000000..b1d0cf6 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_installation_legacy.sh @@ -0,0 +1,100 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +PLUGINS_DIR="$HOME/.tmux/plugins" +TPM_DIR="$PWD" + +source "$CURRENT_DIR/helpers/helpers.sh" +source "$CURRENT_DIR/helpers/tpm.sh" + +# TMUX KEY-BINDING TESTS + +test_plugin_installation_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @tpm_plugins "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + # opens tmux and test it with `expect` + $CURRENT_DIR/expect_successful_plugin_download || + fail_helper "[key-binding] plugin installation fails" + + # check plugin dir exists after download + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding] plugin download fails" + + teardown_helper +} + +test_legacy_and_new_syntax_for_plugin_installation_work_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @tpm_plugins " \ + tmux-plugins/tmux-example-plugin \ + " + set -g @plugin 'tmux-plugins/tmux-copycat' + run-shell "$TPM_DIR/tpm" + HERE + + # opens tmux and test it with `expect` + "$CURRENT_DIR"/expect_successful_multiple_plugins_download || + fail_helper "[key-binding] multiple plugins installation fails" + + # check plugin dir exists after download + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[key-binding] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[key-binding] plugin download fails (tmux-copycat)" + + teardown_helper +} + +# SCRIPT TESTS + +test_plugin_installation_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @tpm_plugins "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' || + fail_helper "[script] plugin installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script] plugin download fails" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-example-plugin"' || + fail_helper "[script] plugin already installed message fail" + + teardown_helper +} + +test_legacy_and_new_syntax_for_plugin_installation_work_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @tpm_plugins " \ + tmux-plugins/tmux-example-plugin \ + " + set -g @plugin 'tmux-plugins/tmux-copycat' + run-shell "$TPM_DIR/tpm" + HERE + + script_run_helper "$TPM_DIR/bin/install_plugins" '"tmux-example-plugin" download success' || + fail_helper "[script] multiple plugin installation fails" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-example-plugin/" || + fail_helper "[script] plugin download fails (tmux-example-plugin)" + + check_dir_exists_helper "$PLUGINS_DIR/tmux-copycat/" || + fail_helper "[script] plugin download fails (tmux-copycat)" + + script_run_helper "$TPM_DIR/bin/install_plugins" 'Already installed "tmux-copycat"' || + fail_helper "[script] multiple plugins already installed message fail" + + teardown_helper +} + +run_tests diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_sourcing.sh b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_sourcing.sh new file mode 100755 index 0000000..c06f1fe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_sourcing.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +TPM_DIR="$PWD" +PLUGINS_DIR="$HOME/.tmux/plugins" + +CUSTOM_PLUGINS_DIR="$HOME/foo/plugins" + +source "$CURRENT_DIR/helpers/helpers.sh" +source "$CURRENT_DIR/helpers/tpm.sh" + +check_binding_defined() { + local binding="$1" + tmux list-keys | grep -q "$binding" +} + +create_test_plugin_helper() { + local plugin_path="$PLUGINS_DIR/tmux_test_plugin/" + rm -rf "$plugin_path" + mkdir -p "$plugin_path" + + while read line; do + echo "$line" >> "$plugin_path/test_plugin.tmux" + done + chmod +x "$plugin_path/test_plugin.tmux" +} + +check_tpm_path() { + local correct_tpm_path="$1" + local tpm_path="$(tmux start-server\; show-environment -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)" + [ "$correct_tpm_path" == "$tpm_path" ] +} + +test_plugin_sourcing() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "doesnt_matter/tmux_test_plugin" + run-shell "$TPM_DIR/tpm" + HERE + + # manually creates a local tmux plugin + create_test_plugin_helper <<- HERE + tmux bind-key R run-shell foo_command + HERE + + tmux new-session -d # tmux starts detached + check_binding_defined "R run-shell foo_command" || + fail_helper "Plugin sourcing fails" + + teardown_helper +} + +test_default_tpm_path() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + run-shell "$TPM_DIR/tpm" + HERE + + check_tpm_path "${PLUGINS_DIR}/" || + fail_helper "Default TPM path not correct" + + teardown_helper +} + +test_custom_tpm_path() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set-environment -g TMUX_PLUGIN_MANAGER_PATH '$CUSTOM_PLUGINS_DIR' + run-shell "$TPM_DIR/tpm" + HERE + + check_tpm_path "$CUSTOM_PLUGINS_DIR" || + fail_helper "Custom TPM path not correct" + + teardown_helper +} + +run_tests diff --git a/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_update.sh b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_update.sh new file mode 100755 index 0000000..4924d16 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tests/test_plugin_update.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +TPM_DIR="$PWD" +PLUGINS_DIR="$HOME/.tmux/plugins" + +source "$CURRENT_DIR/helpers/helpers.sh" +source "$CURRENT_DIR/helpers/tpm.sh" + +manually_install_the_plugin() { + mkdir -p "$PLUGINS_DIR" + cd "$PLUGINS_DIR" + git clone --quiet https://github.com/tmux-plugins/tmux-example-plugin +} + +# TMUX KEY-BINDING TESTS + +test_plugin_update_via_tmux_key_binding() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + manually_install_the_plugin + + "$CURRENT_DIR/expect_successful_update_of_all_plugins" || + fail_helper "[key-binding] 'update all plugins' fails" + + "$CURRENT_DIR/expect_successful_update_of_a_single_plugin" || + fail_helper "[key-binding] 'update single plugin' fails" + + teardown_helper +} + +# SCRIPT TESTS + +test_plugin_update_via_script() { + set_tmux_conf_helper <<- HERE + set -g mode-keys vi + set -g @plugin "tmux-plugins/tmux-example-plugin" + run-shell "$TPM_DIR/tpm" + HERE + + manually_install_the_plugin + + local expected_exit_code=1 + script_run_helper "$TPM_DIR/bin/update_plugins" 'usage' "$expected_exit_code" || + fail_helper "[script] running update plugins without args should fail" + + script_run_helper "$TPM_DIR/bin/update_plugins tmux-example-plugin" '"tmux-example-plugin" update success' || + fail_helper "[script] plugin update fails" + + script_run_helper "$TPM_DIR/bin/update_plugins all" '"tmux-example-plugin" update success' || + fail_helper "[script] update all plugins fails" + + teardown_helper +} + +run_tests diff --git a/dotfiles/common/.tmux/plugins/tpm/tpm b/dotfiles/common/.tmux/plugins/tpm/tpm new file mode 100755 index 0000000..7ad4b99 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/tpm @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +BINDINGS_DIR="$CURRENT_DIR/bindings" +SCRIPTS_DIR="$CURRENT_DIR/scripts" + +source "$SCRIPTS_DIR/variables.sh" + +get_tmux_option() { + local option="$1" + local default_value="$2" + local option_value="$(tmux show-option -gqv "$option")" + if [ -z "$option_value" ]; then + echo "$default_value" + else + echo "$option_value" + fi +} + +tpm_path_set() { + tmux show-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" >/dev/null 2>&1 +} + +# Check if configuration file exists at an XDG-compatible location, if so use +# that directory for TMUX_PLUGIN_MANAGER_PATH. Otherwise use $DEFAULT_TPM_PATH. +set_default_tpm_path() { + local xdg_tmux_path="${XDG_CONFIG_HOME:-$HOME/.config}/tmux" + local tpm_path="$DEFAULT_TPM_PATH" + + if [ -f "$xdg_tmux_path/tmux.conf" ]; then + tpm_path="$xdg_tmux_path/plugins/" + fi + + tmux set-environment -g "$DEFAULT_TPM_ENV_VAR_NAME" "$tpm_path" +} + +# Ensures TMUX_PLUGIN_MANAGER_PATH global env variable is set. +# +# Put this in `.tmux.conf` to override the default: +# `set-environment -g TMUX_PLUGIN_MANAGER_PATH "/some/other/path/"` +set_tpm_path() { + if ! tpm_path_set; then + set_default_tpm_path + fi +} + +# 1. Fetches plugin names from `@plugin` variables +# 2. Creates full plugin path +# 3. Sources all *.tmux files from each of the plugin directories +# - no errors raised if directory does not exist +# Files are sourced as tmux config files, not as shell scripts! +source_plugins() { + "$SCRIPTS_DIR/source_plugins.sh" >/dev/null 2>&1 +} + +# prefix + I - downloads TPM plugins and reloads TMUX environment +# prefix + U - updates a plugin (or all of them) and reloads TMUX environment +# prefix + alt + u - remove unused TPM plugins and reloads TMUX environment +set_tpm_key_bindings() { + local install_key="$(get_tmux_option "$install_key_option" "$default_install_key")" + tmux bind-key "$install_key" run-shell "$BINDINGS_DIR/install_plugins" + + local update_key="$(get_tmux_option "$update_key_option" "$default_update_key")" + tmux bind-key "$update_key" run-shell "$BINDINGS_DIR/update_plugins" + + local clean_key="$(get_tmux_option "$clean_key_option" "$default_clean_key")" + tmux bind-key "$clean_key" run-shell "$BINDINGS_DIR/clean_plugins" +} + +supported_tmux_version_ok() { + "$SCRIPTS_DIR/check_tmux_version.sh" "$SUPPORTED_TMUX_VERSION" +} + +main() { + if supported_tmux_version_ok; then + set_tpm_path + set_tpm_key_bindings + source_plugins + fi +} +main

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 S$~%V@hmt#oxj;$IWB&)Y(PyIo literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/mocha.webp b/dotfiles/common/.tmux/plugins/tmux/assets/mocha.webp new file mode 100644 index 0000000000000000000000000000000000000000..d9ee469d2ddcbaca2906e050c9c0580fccc55832 GIT binary patch literal 98518 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 literal 0 HcmV?d00001 diff --git a/dotfiles/common/.tmux/plugins/tmux/assets/overview.png b/dotfiles/common/.tmux/plugins/tmux/assets/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..f26e89944edf2b7bdf95326090d9e9fe8c0ff7ea GIT binary patch literal 227645 zcmeFZc{r4B`#&x%iY!r7c0wUTWH+NIib%3=A^S4+8SA9%LXs^Z36(wjI)yQ^O~}rO zvF~FY2J^kA<^8;$@Ar8=@8kE!?>N4{-Pe7c=XIX1^L3ur6@FJkg_im} zH3bC)?JZU1dlVE@-4qmuxsD$LK0z>C(x9L?39(aBx_e7WiR-Q#)Y{I`ih@ElJYJ7V zU;7Jln$bP(QVPm@*P)M9X}S1JE@DvQDq zv_y+*Hw;*4yr%9@&sG=uLF=K*d)w*aBpLVR5jhyeSNYFpBG>O;rdYcX{G3q4)ja!6 z;@I3Ju0u+S$Fdb;+TtP%ii@=<5(2kYrbcNWwG8KKxaA|ZNd0d*SX8|!xQZEUREWB6U#AFj!@Awe(2q7hTFrQtt7&~oS}i z);L5yGc57wRS6$%uT%J79tw$b48)lkmQ`+z&;h!kFz$o}aq)n!Uv^Whn_u%Mrd$n+ zch@@YR&-ae6Q{8Q>A@q_0@55mh0^BD4?bUo@4Pa{I!`kzw-(DbDZF_)dp69I>ws%g zXp#Ho`@xT^7qS%W+v7f(cRm6)iTF9YTxe=$2#r{KlX>6oX13^y!(ztVvk%R=1x{HU z4x6EQ%Y8yHCF=QOcs!^StleP!p5SgA-cUHw?{DDDsFp>NHTtAAXL%kq7=DRCo4Z_) zkzYkA?@)1xgcSEZEAfxgDeMXlcwLl8##$gmX#GjqYGnjr+_c=ZMbGOjMtur&!s6{f~x5Q6gujGo~g=bfaN@|@GFn!e+6{get1awI25$)qc zhg%+WP#oo=IzH@k-sgMjM}gBWfkz%5I^=Rs>@e@W(+WKBI~1tznqfy2Wu-+_yM!oi zJR`}r2o`E^X?GdDJsV4trud4U=Nd&B!r(pYPWyIq!$IR)U?6ymEofh6Yn9VmO{z1Pi^uyY&JMWdopL}$x8lFg`{e1H9L7$Z0p^c=9I{6%Z{W?JB~m6b zDq{A+Klt&NHK@b`marVvAcMi+lguNhj+~4Rn~{GyK0h&k?2#WrE1(|RbZLuL8M!GZ zHA7Fa7rni`&3VvygN^DzA&cKWz5mQ&lFP!~!{0}^)70<1opjj=ra&^jT)iV6 z^km)jXxb;1Baayv4p}Jjs2;_cZw$Jms(rd3O51)c>ouG3A)(KPMTZ=Z4SyCXqL+BY z`~8CSVUfpe-(@Qg>uIvU5BYqSTRnG;f$_T1Y#6sih(2$0m{5cAUM#}}>Ts2Nu^ty_ zPH|s(c>W62C6xqjhuAx+v>#byf?g?i@-DSpo;=hYReKYharQ&>{2Tsvw6bhgZ-gZn z?R5W}Gx>Gu6>H>C5yO~VWjjBmey65G$GLETPo)Qfn))Y(@jkUjkr9wjzIf=7 z^PiKxtFCgp9M3#q5Ogc(-u0vALgQTH5`Kx*$5+CX-+;RkW{-}c?px5g3c7N;vb##* zj})g8!Uj}$Vo%*0T-5s$z1HvZb%!&(G?oH~R6N-|sXWVf^*xh!c{ZKq1-?PwBQv^eB})|z z&*wiY57SkWyHTS_e0{CorSH4#>Q!s|`}W@)jJx3PZ*`USJ+zDN7w*gZI#TF;t3)O8 zja4S9Z^FLg>xXZ$Z+kO(bMEwWWUyzZ7S`SM4c+oyvXQ;O&YH@=Uf*e)+98|c!OZ2R*2 zs9oX)bQW>m;!4m}WzmP9pH*|~h15!&wPρ^xs;N&v;J&wCkv`Mtz<-PfnaRuIy zmd_VEZJ&4fWcJ)tQ1T4jrJJI?%vuedb+Y_6@L3uQ|A4o~>Eggl+Hs;x#b3_HY4a;& z?`8*P%VZ0w$0U2Dbam`?1X&BUN2e&*%!=thm2bAcNt4+>G9W)|uc^E@vMRD1!;$)ki2kY&9 zpAsyM9E}`&`=hN{9!PZ+3@yJ@=t{FocR+R?d^|k=ef-(d-8q*pr#v@2PRka!J96GU zJFTEDk>{fy8duHK_P*tP-&|lxz55IIaQ7$cZR5I)Js}|W055_R3w@$|;$;!o&Dp16 zXSJ@pv1@YBqtZ)r$Xd86_0s6wuzJPK3ccm%WybfqM=ocAbi#Z$jY zn{o8!@MQlSW>s^0Y2~7z5%!Zlm@RWn zoAl$&j~gGiJs!U9asB!AzK{|6vf~}p`Ls*4>&H{hd-1$t;5b(=QTxQQVcgYTy6%+e zsUBWKo?c!ip8lKQr*2`-m9Iu!SGn=j5IpZ(>REcRn)_Iji$wx@B(f|j^{lUS^jQ{G zy>r_a0+jbk2_+{sf=--}W5n_u;}g-SjeD4QLCs#HPn{#hIBpNjCv9bLduDb#Gbg4# z$^M0)x|2F@7GI9jods5=E7ns<1;reeYG~|P8#(8-%5_{+^Gp;(_L@5-tl_}py3g(1 z=nc@wS?8-2peJ!!@m+0}>$-T;)x$eNgi%V!=PRFk)RFC0$(WCO9}{dmZKxjVJ={J% z*ihD>Co?X?>V}2PSxzx#6T`|pPGs=q*kZlXDN+jM`cZPhJ%^(G#2BP zZ z`;MOWoQ|}u2eJ;k+2>lGK0VhVe%Yoob?~Z?W8c=`x526s1jzN0f$o}@M(eBWDt>pH z4*w0c0Z>`i`K;&N(cbmzlI`djnwg5rE=EPxpDV5e3fbQoGwQ99 zwfDrG&%LVF=Vy>ox8-AXcWPM>_u;6{N=wyHO{#bz|89iy1M4ecDy*y|(-LqtDxb+x}1`FC`mGdrM+Q zm{P}``a4wga-3MNrajdut-8#}7_FENg+4?r0X}vDAD$LxAi#N5)3)B-e&fBvW!KA2 zIlP+ba!fwc-wgT&aWi|J>@q9v2Vaj)2Zuzau`C!V7}6gsRN>?Ph8*NrS4bD(_54YbcolagT;T_EwO-zsR z#%^BUn{d~hOCLh$)|L8te=q!mH1t*3_NsecJCCSajT%pJf{uc_* z5YBSM!vJ~WrKz4COkDl5`n&^sQrVo*WJS&X&i=kdK~OH?%%=x8#KjN6>u4zq1t~n> z;LK>PG}7s#T4@Gnj_(QN$@2bnndzUi& zfL%KGQfK_y^`MzYQLbjgl1t!$ZE&Uw=QxX$80Y*PWc*e?1oPfFSZWATbe9&|iH6 zP36g-%HFkuTR9pi+c^Pq2HXQIEh;MiMSL45b`KzHki2Ue(n~I;+&AtXvU|)!)$OaIC`(FxRWn)FhOMjet*J=a z387!HDjB>LFxKAI*#Syc-*C31=BGSzoPkU65yheZcJZ1aNtMUs&j0uua`TlFs&A1t z=F$JXr=K@D67CWIKiux;S1*oS=vF&xed2!}+M`Fx)w2K7*nf0(o04&k?_|k8J*Og% z3Hv`jB;TR%4aN|I|29{@pNlKDfbJiLP7(P0k+RQ;M&bWD@xMBIrm9Ev46y@3$=gRy0rUHb;mAEA4PSTYBl|PIRXy;4N!97>wpq|t(%(h3f0-*5JBG$! znYa{RkNs>$Tsl5%_E$UZ6K^G-hTeY{|6ABU6!5_Su);&5?p-6l6Fn06?cjR&2KQ^j z;NP9UCLOuQ+Pu$_p}_yQaVjEcRNroI<4d-IcC%7Hn+3=oaJD-IFehYCW-LQ@MyV3bN1{jZh|Gh;8 zpxy4BAI<8UKB5Q=VEWN)rGnQH@z0ACZ?u#edH*LO?JZ+MgIBmqWwPL{ZGLfP>+ z-N80!u~Cxk#4W?Zj^93YSBt!OV#J1Q{%!G;0E-90sX){K76f3fmOyzd(hqt{w_8kFc{j z&RbX`VZ4`>YS;!-!0n0-^R$(kZa1_KL+d%BO>MUN3jDU{HG^;Qr@Yx5I{C{NzUDki zHd|*i{r}BuLC9uny{ly92;&i~zm)t|OiF`7zv)oR=;&Ef@2xMZV~J@r+8R=pN!AH6 zjq+-R#*_GIQ=hD$>-o32OaQY}R35&8Cb_yx+Z1}CH=jBJM>acx?SEIsWgOf zUXElx5;Nv;lMgt+6QklKo1M&1Fz2>fy%Z_y;CB8YweEW*@p= zf$*-VAtBwaZaMf|_=c%8^;Y0d8+O(iu!VRRsG0Y_fdx@(z=nzu;faduN7C55RS2VE zp{33N?Aq#)h4lslvqf>t<}EW?se{E(ln+f|wdugLF9bB5UcKGv(wXKE zTruXys}An)Fpo(eWzJ4>?JG{`?>KXzyXL)<(a%9DR*)UW=n!c5FPr|uGHL-9+@3Pf zhvuo{NMOL1e(*W0H!;8Ku+zv9*7L9r^l8><2z=301%|dnxTxuSMZ_jz?LB=(0@Q!< zsCkIY476@}R^8G}V4z&?yuN90&K66bWGn|gF|2Trak*;x`I}>TrTYQq`Tj_S=AqTT zg~DK*q$yYJX0t>7=EUeMzF?#H4t{wX&f@o~4@;6WM>%cV`A_!Fq|?!3-JJ9%l{go^ z^N2K_uG^)F2reGy)%Fh8Ved^ z@g+TSLJ~XW#)%H~Qo9?=GgvlYDvA#+c+8`MM!a$?T8l@%9W)pUbVEtK$>UNg?E2rH z$Rz5EEV>O{wajDM9wUUhbj_5XFX{yD&q!CfaWLUMa~ONEE)1gran9T^();GOn}-ZC zU@`nqdJ~Gd{dRi`Ukv*xu1}R@T!3~G0^j&IxP}wtiUk+AfmL2_A8qAT)RYDB|WS|7RbLl|)o?WJOr6y`)^VX;9?OfUiMKWhU@{s4)&x$7>~zPLcI5vqk>hUxNSfnqkfMk@Ub`{LJ3i@@=)AOi zj0E%3_rjSN77llexDF1ExAJa7>*{8X!h+6C8@}H3xz1lAFj;OyVcl#*UfF%&8}Gb_ z(24XI$nFZIB)CEzjI15qh|?@EJjs1(j5ND!cA`J^pu?h<-f`>wYB46t=fJzy2IqqS z6W>kbTS<;wa`c!D*U9ArMPi;3Fg-EBdTIVw)a4e8&36Z9PH^)R(B``kpXliTLz6t#F1@@#yz@&ONe{?C>O^^_r25|k6sUgm zLbtfWYC}Pt;?A*e;R4ALi@sl47}m8dQ!MJ|ff=wHjjtc<$DC9vxH^Bck1#lX+Zw$j zPyF68;o2_Vth~?Q25l@`Dn9qNo;0L}31#8%gG=AK}o1qlu34zT*)t4c3vT5ii8sWe@}F4M@EJ z5s|&Q0M;OtWr92YAlq!;Ro{Np$#9|B4YRlLE<-Ro$-24-y;D(vjTF};5er-n0#lgV ztdkrLirU`mNtN$-5qdPEkGtCL>Y2f_%MKoDYp_q7T2B=%2aeGI2141vyCzx6)L&-A z>q|^y2LvKhJEGbml|#0%!j;{!=20Ox{JfOyc@)xw0TUcQ-ggQjvfLa~*w$mLR=|)j zY*7)?Sf0t(i`b7EJ)gc~S-cx!CeJNgJ#=#_hAs)Y7gonQymO~`QK`ny`IGw$Ro(#H zwJ}*G1i3%)!opR)Q)p=wdq(X^|K`h|wz@?LaD}fzBQE}h5CMq!RSqzEb?(B8Cj!S$ zS8ngNHG=5(;aZcEQ6u_nVzSX}3NJ2Amt(yb0Hykp{Zdx_%HZj76(eD+Ppw<6YpKi~ znbD_*TSxa;Z9;bvNvi8hhmg2C75yYa*y?19T*G?INWUO7!Y-TMUHBkS)P}cWbKC?B z8EWanRWBj-U6lz-VxgyrMXQ1fAyG)b`A7TjeO%YP+JdA=M06~i_bovn_eNY$uysv7uea4GxoP`sX00Xj|;q zT*V^HxP-4-77NEZM+iiD(#c;Dt{5y>(meqJ)KJeqnw1QvjQp}nbgukZTI%Dqg~D={%TDZx?z63z>sIc(VQSPta~jr~ znlC6sMp7C=6RamtN6=0m@51+|SR%7@Fbx;;IXZ`J_E%?95to^l{JK{fN7M@M2Mqr* zN6#{V7(`l$hZ_jO{#vUK9#gBn)w~`|nIA$qm zS(6EJ9#O5{`lJJ(l94MD8!jEU%uYb-x5ffjXnn2@^QeV7)o(|Njyk%RVbAqDjcul^ zN7~e*A2XXcH5T>4I)QwG^EA~0rgs3X6~5sg;0+Tq+H_{aC5#~!wbI{tg^qbecK2Oj)PTUfpp)x&i34=YPPYduQ z6pSzD1{erq$3qj(=;bwy52ZBL6#9PMZlpF^5+hiSXBd&bRc89(EOyu;FSCMoa0|!s z;-0If2XyW<5T!m&Vu&jPn^2hxXDVBvLQlY5YcCl$uSyNzLAHby%S9Fknq zf{!_Z>fxI^IgQCRh2ZZZ8}L(~C^?NY37Nh-$>_$zQf4L>261N;jS$<9SJy$cFc$wB zWuIEx?;~~nCp1TWZ5&d>J8D$5mOY|u8qrKROBnVn2a=f3N9<{r_jOJ5uchYKz<@n8 z3HZ*;=Og%_(uH$UrG1w%O>g1q(Na0Hu8Mxm`}cb!Sjqy>OlGx7+@={4Qyb#J`-shz z<}<1*v?gPQUBBSLvv{(!h1fp-oeFtP1;o?7-?;{kQnE8j*TvHK6vQ$`XtS|<4`&7# z$os&JCAU*nIKQ6l*coLY5s6kar4jmmQ5}shdOE-Q)J=F1f4J#Q+0MPqTFxK`4Vl_9 zVeE!%|2+RHHk6jN{Yjy1ILUwPR9%+mE zNSIGymP*hVZs}6+>c0bssDK6|zlzZnaRq?S35OL@YTvH)b+U){=TXp&Sl`;$hi|MP zF3qF2AOxLQ!ezY#X$kMzE7M4j0?Pyg9ns7O;Tqhm%}e6w9C7-_z!2#Nf5J0vd|>Tp)eA&0 z%fR}D^$+(Q_t5@6baQPN6m`MNJwnPfpeT00#6C6O=+^wSuhKrdyV01Ldv@P^O}ejp z>|5yNvl2|u`wHH}S&^)FaYid+1Saz*7)~ie(}k+go6O$Xq`eifFKy7BK zD1aeyV0U>9&Vxyo1{E)2_oEM|R$hZ`V#*?{)bh%14D2n~MEM}agd4(*KxZb{NAMc6 za21bQ@oIS!m#^8G%cr5jdAGZB_`7Y42>#AZp9N=>T$>0*oe z9o!so`J~Nawc)xI8B;YJBW;_m)oeDCtPAAbNG@nA8+v`?c-0t8w6uQ?Ju~KMj1by< zs-HAcd>E`3;MxY#q(wru*7I+;wnRvK+<4Wh)L)?%onA6CG>%6cyvo;Zu^NW`oSBod_vb$W2pUyGlZv+!;_#s%ODX%H8E@Bh<<_Cwdr9-Kz!T2dJx! zTWI4e4@j*b5#m0I;ht5P6j>ZTuHP?^Iwq+flm@+~yF|8xgjWXP-Kzw_w! zJ&p$dOeM{eZI06O^n3*#Q`>aMVaBq8#aOnrx}9-?@rLwUINO>$9SbMZl55N6+KZQ} zW0Sc#q1*X2PE}!t)?Lr8bNc1s9YaV8#0O)iwu9`f(=y96Y9DYNh@md=PeEMgd(FGQ zP%UdaOf{>^$D-bPdRK0JP~J7`RNy!Eoqt!ege$>7T-S7>^aVgHSBLy+eGir)rpCfC zVyJH0S2yud^#6j={9 z*l7=&jtKbW^9;!0L`lP`e^H$PRQFK?VkRoO$0l4~uLUMSh@|ur$^y=1}I|A;b*sbtmksyH}JBSqn zDHuRzNfF=!grd0Ih9XB{%J=)h1{b=={AZS$-Md)?m+jL4EZrEWCojP@zTdMic`|0i zRY~j{p`HcZw6S=3+N~Sbn@WEocLiV8=R0M7`WU?#*7(xZ*n{Ns(eu_XZN{h3LWuOr zDaP?BoAis=NQ_+)Y>>XJFH)%s%{_0IUZgE zy&Q4Yz6zhbjvriied#xEr^ME*fbB91aNd8VCd}d`v-Hv;bvlON7fN^)D!t@6o;sc} zTtJh^Sq#JPibLwGKHZX_Yr{9v&IpMdKiebTA4yNV_7hY*h~bK z+ek?_IRtggJ}$eNBo*3k>Jw0E5}{NFU9XG0sdhStzeGg{{`E1OcX8iX5f-itbwF#|mr2bnvq zUB1<;?n{=4Bja4f{`}L`;Y>Qg$qADoe8IeQ)LxI(_(Y?Z@U-6WW+VXl=r2#VK}4kC zC9B`Z&cp6Vg}4o@Jojzkn`U)MPTj;-JUoK&E}@>}~&5vL~1F*!g}1Gw6`o zS3=twzCl2{FQTWN^AF}q4j8RXY~S}Sc!}e8W^(-fcKU{&FwLP{)}oI1yGMLkN}A*t z-sm)fN`_>l*Hj+oE+B?$7uct69JqCMjSuzQ4KFw|7Os3jE4Tn=7q&{~iTNJu|XykCr@qsc4sSx^xF#WrEd(Q$2=GC^e?N%5Vru#Pb(&M4oWGa=_)Y`VA=ZEyChXS zVfKTcmG}Ou8Eqm>$*s4@)q%sP`18eX!bKA=&54#Gm*#KzNjB!Qq?@)UGS#6TllCij z8aRW=?iF4(r-vA+thP*tEIL7*4f`-P^{YiG7x z`j#`FV{;ebcl9j`3t8H5B}3%+yNj|l96wz$MrLA33XuV87W*`GLlW}vwz4RjZ}i5d zwR2QIXY*MZ8RR+$fBv_ShVnQN(olG$T=<$vDOT){iX{eul8m`Ihko@-SH@pt0_Ap0vd4R=`fE{?cwhLy8WHlYOzi#AQolbcJv-8oDq zD}hN=$+o^H#cx7iyO%NHJ=$TVjgc@KfHt*E6s!ln<(A+6+Tya?Da0I^IQRfv)MYMk zMz7#i3EB|#F^lz#E3Q$4W3PC^Q|1JFCiy58wi%KyT1#=*YobjlY%Uz*sgl` zjI{j4v<>I_;3t^qgSE?j5exaB!#6&|s_Dx{l3qis>#8DV644DX@Z7dJ5bd5XOKnb_ z5pXQlcST{0SB%8`CMLCDTcph#bcln-!O$a{4`_OM>{%=?Hk>nO39*`6^ogqf;<5*6 z{N{Rag(>2)@Y*DM>hRffd4{v-!u`w9SYe*jPs^*cxJkIdv~sr{U~2I0@lv` zgEyI1QJ-&~^!5X4ubW?-j9HOlTJEU9K;=o5E}P+I;n3ha^=^jnF`wZx>rW6K;;|eR z{_WN7K|q+7KM>V{boJ7==;)wY>9#FgsXJI}4xg;cy>|@oFH`|V2gXr0g-Am`uSjSb z6SJ9RNmuK++Sh)EuKPhTG$an|B=>_p`$T_-7?*x1=s1(+6+7wIuI7!C+IM=SZ#gk? zRBu)n0ijOF<$6zNhf%njy!rZ#MueH4q(pi!M`)2WG+j%nq0o0#%RKlpq{ndVcYXjM zYt*0q%VGe^UM&P|Ysj2Rs2A%dx`DiJwZ1T$?s_+adFb6|Ds?z43Ue#!JJX zVIQHZvDm%uM$lT0PQtfPL)a#$1}|d%gd|tLqg%_YKoZ3av5o+Vb=3(vhmae zXgO5xIehdif$CH!)K+Q~f#Ynrkv{wZE(gZQ@w=KKc2J_kH*G-&9`~1gO5Z zr4g4X_mR#~-_d6AFHk|rx)JM|kWC0|@fi$fLxkQxslx#wr|m*7*YB7*+pV(C)ug%l zCppDh3AX(R?`h~bu2!#YxVN)zRnHc*ZoZ@;ZAEG~a0U>9r`vd-(!D23N=<4v6nCALIm5VfVWqt@0nvspWz9rxrZhgS zAi7jA&5;u|w%{6t<(}KaD=d9O+rvvT*f&Jm{7QiGtsqsdKvFr zyxc0s#?Uu1Q&%%Ub^0s(6w|C&EcVq9Efr$Rrti4s-a4&xp%(>RT%k54EYQ^J_VH`;^_ zdd`~9^5ao@W+JA}{*%GnbSb7+6}&M^<9VZcAnZ$c_m_ridf=fJS`Do-d-xIrbQ+@q zjc#YtJMX9BV=Vd23GHbKUK)s+rXkaS6H{L3r^jguDs{ym1eMyk&8H@MG#Ic8Y$4x` zXMah`jDBXh&Qxf56GD7K_HVZNa`0?<#?8Gpgv8=%qZ(D=^Q8p^Yo5@ zB^7?eU7NZQzmAmm2-Rw=O2m#HB&jt}3KbX_UU4ZO4&SKUJY{yETnR+vWnK?)pj5_$ zg8{ny{*Gkbk2PX%Z-`&x7|Xr=7CnWZkB6U8bGO%9wuFriNRK-X`RMw(W;D1ao@x9p z1sUFB4}B4X`09H95&TM&08+~=@-3#0?7i(L*gnl@;?k!2|^TnL8ii_`=;ANVaq^+#;y095vb z$Xb$|pyt#}8i<_52DltOna6ImVp{;Y-*+2~mc#YSP0n`p`Oke(0Sw8Qk0PU-bD>}? z_?wf|c7-3zpKaV{ffsb%Nn#ofP_wKt8TG^uW|9!yJrTffJ|5fuUJ{j}r3u1D!demY z=>Fh2>+~GB$pL-?xk3#g?MZTj#T7Kj*&2P%94%N*Vt<<_xC|*uW=mNW_$}Lda#%6L zX=V74rQ$ok!Un8bB^rVyjI4O+6*aB#EAuEguRm=T??{1lp!bt}=iB2P7RB=fu9S7h=OP@wOW7R{=|9n^o3W8f89U=6^7E zGg&GGLE7BTZ`wN@HS=}FZTG5qwl}kLz{5`~-&y?p0$zaVKb8IoEGX8ao@1*$RMYBG4S@_juM=v#=Ce@bW-8BeXiIy!;C zA7Ig_1SffMf4pcfBavU_-H{VT9FI>t=DUKB~s&SRtei^kl%8NSQ=X!iM$-~TZ zMybIJvD;{If3h+_heyF`xcDhBk~b~LI%4NA-YRT3CgysYRUqGa%rgY9d{5y$y~uAa+yuV&LkeLPanV zU=g&ugn6B95_<~lCckD!fbP(eV?bcRxx#~RQU({BX0p(i==h5JgJI0;mc&zqw`Bk( z(kK@NDPM}NuiUJ*x4wP>z~l1dusJx&rW(126w>&xby;Fr+00=D8gix_%ga{RxtOm* zrd_E?{`kR(=z9!~f-y6#kWN==f$*bo(?iAAsnI9gWsYb`m8Pxcf>Wokd z<#CilfI5zT>)*9jcgVr>y8CaY=vM#-0|@gPoTJbY{uhes*=RHcI-@647Ig%F%uKo- z@3*0ak>cE|f+rH^zxFX7n6%fY7BJ#-Ov&8_C;p|MTyjvrr)O)Nytey{ zX%4@RpU)*)&I{i=3DTcNK6WG$B*xF?obf+3D0`VgMf^f7-v6(Pka`YV?3N zDh?ZNborcVz*e|L>ecOon_-yuQol0eM~=||yc-n)>+ttV9ERCEpcKc(KVIWC%Mpt; z8L-<xqIdo$>M)o5<31=4iBkgKmGxH4n za0`fDnbWFQ3J$?qFrqVisIN0>`E@#Y_(U3kpJI%W(=Q5xsYqUT;0IkqBiL8;_M36G$a;uy z-REfYWLhu>OY*T3ZvilztjhUNmzXG~b#NUQvyMV@I2tR6Ym2>5^5a0csEZkJu6&CL zUwUtyBm?k0e&*H9t9ZOKjOmw6e{h`|m=l4?`XR|*pZwqm+)h7J#o*sX%IF13*Y0G( zumfjX_X}>W5$7gEHsRYl-^4pOtesAx!J3xvEplQ#c_v@Vl)g}Y`(fCvxzDg?^diCq z#BVLbjVXmlX6rO)ar1gB>rNg%>0UYed8r66akXW2O*jY`T8v)=+LGp=;{ zGE|TjpOB~v!Q1zfJTtNc)04rS!TlRgfOv~>?rQ$=hTp}6lOkk_Z&YpXH-sijb+#N3 zW(CSA1^{o~G{F4aemi4g_80TW;8O?x7^gnvi5%Vefzq^{}Tm>Op?Q)4u;1$6MN;^*kFn>RLo zJ$B#_S%MBU+@gQi>Wz26Jj8IEtpO@l0$)=9n27#Tp5u|fK<%>{vV(wu@W01P9_H&| zV0fd<6$(I4lb3&tE)C{?id;|nPgf1FP(H_Ropt;tfn7!HV09KY;u<;{F36 z{y>Odao!J=_yZySK#2dFSqO{l7dL*N1@MQFp!`D|{UMJ2@Oyt~*grJvpHTNtsQV|W z@hA60#smLv=AIOiRmWDBjO=~jLFCLAma)>}`I(!;+%w<1RE2>A75d1BP7|G)Bp^2@ z*m&hSX0r{`2)Sw*AmIV^U+Xv1*e` z^8qpkKMs-knC1-(;UWLsP1Kuf@dkVhB7xx3?_^;*!Lk2wfIv=f#xed?p<+z{(|-L< zU$`+3RByWt4{Y?m{Wfv49Z2SJi3ffFG1Go%7YuYcv5}$JTa_#L6sRfCIhXJ|4gQm3 znE`4FmuEw+e@i}b-@n-Qu9fbIAhp-@N6B+% z4rCj1TZ{fJ2Y5tQ07wGL81c;reJvPMMnda7c@kTOd-vV;ek4Y%6xIR3x2V6KkG%0j zu;ezEF{S^-yPnG*sCmoGjden-{vP9UeU$-9A3FyHWy}J-_W5`H*YlaGl(B#aaGKi!4sV#hKUYQt$B>c6BRkB@2A#$XaK4J_2SKc71aFN zNadjcY|?Qrzul?#+5{OMFy^s+<|EnBmFERdmegziT3Wz`u`jH1Zdui~A@J7MhJVsq(S5(^A z4s6U{>gidrH)ZK5PUQwk51;=y6YOjR8IaAp|36>SyQGcfN?f!{uZ~`@KpOlFfwVJ| zPA}drs+8o}XV7@1O_-_A&>_F*>vfv={0;yJzFs*BU{p7|yZf7k2wG4*Vd8AexJS<& zJwN(($zewntU(#r9n!p6gP+#cR5(KiCVXEVu#BM{7|}IyIcF1wt?&)V{+#CcEBDS5 z+avCpgT-zEgI0;Op=@rd`VRt+3XW9(hssj!lOgeQwI}v53R}l{RifF}xFcEgP)Am8 zvO1k+HieIKBb=r6{HBv_8V*shF>oOE@VdofRgeyeo*-Ju0j|ZGmHPatI$7RWY_3W+ zax0gN!LI$I3c1Z~cWk#rk}+5txwbM@6|#_5(vWPEX0YYZfo@V}3-DT%n0p%+vcEM9 za;)E(eloUJtwf2JUMwGW&hL(qo(L12dF5Vin!>I4VC0toviQ5(T3yd>Hqyxnt3&oT zrcmtZ$khg###;iZ_ZNoSD z!H~UidKCY}Q4@U4yRqyH{_fOm;!=wj4DsUu$%T^tXE637)F**H$&m~QsOE1|-u3J^ zVX5EkEi50IV5l40>4ZhRRdpDDolFoOg$rz`f$HwpGOg%Cre0__SVUfyw7mlgH3Ck= zth^Dg@?8OlrV@dJ8kuV7su!eIE%5##KX zvQPVoTEax+ja65PPir?wI6+2EF;?hz2aVijj9P=Ze(IWTggDNG792x4V-mySO`&CkkuVZWkx7V<1R}6MN%N9WIij-LRY*c%K9v zAli$N_>a+EpsB{&L}K)tPbUOkF(jD!%;6gd-*UibIQ&*W>z*r)dEf8c7pDqkPpeP0 z>xVv9Lqf+mq~*X^N+6J~`u?k=Uw>7+Q#wdODg5{@H8q%H02OIKAI%Q46-z3R<@6P2kx?>c8 z;%ch|i}cXv@aK2W4aaVR|FsSd&|e3ZRXK%?19ZLpKvS-qICp3EF=d~<(637L3a2Mh zft^S)Gw{?Ns+5zPWy-sEv+|_)$w6xG?tixZ8`{8LVCJo&MmkoTr*g}cyln9Afrr7M zSdNCfyAj7;dyDCkqv5IzV)U67>asIrxgG-Ie(OZlG5_t+NSo1{r3Cd2kl#3s6|%S! zeW6K1Zt4DoAY5zuPPfonuoGCI26|D`hn@_<=5NA zS=RArB%lK>E!?4}3oRRPlX03NY5lB)el^oC9j>c4H_c^o?%NWYrRufXW7=#Y=nqy@ z)D6+x4i?WZf?2`!&Khx=U~he!RL=&$#V}2{5OlPAw{RvY_=#YG`Yxe%d|ConX3To4 zOGwgzdEilITM_4dtj|JzB&e(MwM>x4t90k;xnuHiQ>%^i^lg_bjQ!e_A1S^80%|o8 z+7I|!Z_)0S@~}~0Ne9FIGb65vIK1C_nx8!x~k+{+Ct`RVMsZi5!40SlhFs3IIu&Jv{P()1zOns+kas|FZjdpApol;2wEr6naX$qrnuhziE+<6Q4v& zplVtyDeZu%W^*e0JWQI?M4XQXya!J>c&L?R#K6i`Tzf}q)Z>%jLP3qQ(75>bsB0jy zp$I*rXYBg*9_R!E8Pxn1kIHb0bG6+kls?{%1=IT^2QO36ti0RI3YD*HY3)znU$jxG zwXBmtHETQOp(2YWz)$TWSX59p1&PQfFBj;^f?%BMB;N5vqWQ@L(XRS`cG~+dRAZ=p zm#b{Tq|jL!7zoL4z`170Pzrq&0*V!h#pcm8?$nqdzXZ*0M@czLLSMY{=)ToB^b~F_nNS6X5kFIL zvMtxHcM?7(O-N3pVgVg6BM`?(9Lx2@(g87&hVms$xA~!uF%*y^M;X2ulk_M?Z>h<%pmHLjZ>?9)tWG+hL!0H^;Y=o6fv2x)*cygH9*~;1N6s^SC!6}* zc7j3=Thzn+vOdB3!!Mx$i;COpVJiBLI+ zei@%(G77EdM3BuNaGnxEU96ZPM@QFy&u_bC?DBNz0@_7@we{BAG`Lf4rFLA+Z1-O5 zi-O&c9Eq5wj~JPmR}7&EPz`)%GXND|t3HxSM9J~uOtz#(T$GA0@*{DH2=z&+oDWOr zIE&gIF*;u3H0P?RgjE1X*Tn}3jv1Jl0_QZe>0Lt2jG!m$!zlvsWO$U!02rv43w1$m zyds3z0fOKn{9t`J)N{? zOKOSyvH`D00KO-3vwXlJvMa6k>d2Ur$Th zx9e7d<8=+~S}qo+<8YiLIDGAkfC{nwF4Lo82;bJ2JOJ!aU)S&R-S`gARAW<+jxN`awlenL-FF8VN`8RYt)iE#E~vozDESDx z)mXX!8uYXeA@dEH>1E|*;SJem_vAS^p<@l8FKjyCne%|nj>*1L@p{arxHZ3xD;~Xj zfM|{hWU-idbTNdArMott%at?}W=+J99T4i-HlAKiqh_hxXux|WHFD=OWI}Xaym$x`lK3?0WhU!Fc_{B|00#M7RJm6jcKp60^6~r5ktmTvQV!Wg|IyxWaw@ zek1eU>({1kj#Tn@YsyT$a5>nSVKMq&?0siclv}o~AW0Dr5s+9Q2r3dJQzQi>Nf41B zNRn9OoT~sOh(M8ZlAJ*#=Omy+$vKt+MJ}MApa}2doOAnjpT6C%-?(GEUuTT^A;E7H zd+ojETyw6yO3$Whti1-{rQ?h@R_m%>ue|`SnvpY<cQ)x5N!!S!%xk4@DsC~L! zS^(Ne6>>=fc7Y%@p1R)I-VqEwz-iPE&AJRlVgA1e#l6Vpon~wx=xj|6|LdZ}r*h<1 zavb9Y^^|26BLmp+uba_+4z%jHJcl6{$AdmxjC0hW$9D|k^Muz8y-D}L8^wIt*`AGR z+gdFr8kkOQ82Q^44X32HA0K=qzWUbSb)%n+^|jWbvgUe$y`3J8GO_Gz3wqL);}0|L z(hC5~pPltaxldqfTUKs62|J`uD-SV~Qp1)4r~@yPh41smS|(5Hihe=n6*k9IK>t_z z09$YbS&K2E2>KJKKT|jA>kz0Oz)3;c&R3Iw#NJfnHjH!>i!gna$3< z>9MoD=G@;7;l(m_i*|}3i*_UKqjMaxRsPxUfo%%NGU%3-QNO?hJ%S713vY+Br-(3% zgpzmQ;Pw2+wutg>Mq<&eO7(J;)3>yb-^y6IF98q)B$zke4pkgHq`LInmKK7z%kl2V z&-r0o&8zSO*LQIgcO)-a`L&@>v@Q3$wnlyra4+@MPM^lhG+&ZRGvH)Z@dKzck~heH zxi!9Z15z)yW|-Dy*UlG=Fnom{I9Jk;QIQ=X^qDRDCC=yw{m;}C1~889sIK!Ycj}|B z6sm7Rz3FzYgL-aDQb!{JM6T%0Sn7_G4_DZ6?~ql>4!8LzwAkr_$kLoqMwM;}>ns7> zf7mwmCg^Vj*>usmhf>=wQv8mD97>e(Axi?I*1ppnug7?obqCl-v1l(MX z21{%JCuqCgY7(I5ACH$#9?u#u{mOP0Lv{P34@OiayXF|;2V?YH0ote;<*h{bvE!m^ z$zb_**_D%TauP55;%h+EUuD~X^Qhi9u`SmKenhH3k%xJ-h@nUCv1Ys+=TS9uzbtLp zWZql4XVL0Feh&b5)4}k~^bLkQ_f@x3ISnV;%OLcrunrqfp$Zog7UAlrr4J0q!NA(z zLgH6|5DzXF{vq$bS@^I^p27@Qxs#Wm`#~hIT=}tI69O(uB^1&L+r!*x17PynYN z!QEOfYtWKq1dD-|wo$;_wLNNmcji+d{}BP-ciT8iG)sDr;=T7h<6#{rI=mcI>`m?Y zhHBHM5SLsRxgb zD3s@c1T~IDBz?A_{E^4^xAa*3T?EiIsOz#ujWB}%`Ybzi^gAX26Ep4&C%gP3Zb?rF zmc9D;eFkI7pEB}0Vz~>vcET(^-rBGA&P_=O)^h4x((V#Glk~E~wR^2Lhou%D`tgHb zU5JF_t}ySjT=rll(j6SqPllNoeg`560a;@S%akW9d(3S(q3SY-edClfmbLXCw&ap#hXqb@h! zExBtxC~BXj^Pj5cGDX>22$yYljlNe)_qaWR8xE(fG;WlYN^XAc(9u|vw_7rNhX)v5 z+wHv6La!>O3&>-0gd9d(vh#%OY9W$@+wMVbcp0aRw29qf!uiLSABsGIRSwMP*Z~&S zpSnSKU@oyw1O4cAC)MX9&&N?)Qpz3q+@Mf(Z7 zRl8LB=t8YJU<;O_&7O&UCj)io#OoKnb&p~+{yd@Y^}6ceVUA05o%WIPgrPddU9@8< z2$W_<5(Y3lg6h*mS^ zh=$L7og`ysNb9`F12)@w_`y-*s`xg*WwrV-c=+e2cRVwzni>z2o8iv0cuPTwm{{KP zo84t`KtZLiF7kPm0(n(F;W62@p96X#eAxLrtIj;(c=Epg_%igyWBVQn-wDc7LAIRD zw7AHDpw8r^>_FZI7*%uQ&XYtq($+Hp6gHfP_pI^$Teu+6B<5)dv9K5_SalRMy9p>UkSY%lcmLVwZu3TfhR86gXD%Fekkw<=a&{O( zXnozD4W;0mz2Ml(x&3<3b6lx@D{U_(uNI&RV}S{BlHyPpy zMv`lh;9-aDj-s-gyCEj0JVZv-gC&Kp1flducg~6Ag;O&(^q7_|I`YstJKR55%1P<+ z^d*iSbqVLa_h5a3`==Lzg$Dw67RxuZs~5*CzMq>iPuKI`53}=@mJGR$Bi45~J<+Ub z8YD72QUh9^Sv~Z3FDHNC-m5#myci?xyT382t~w?x2s-{IN3Z`p{7TTB0}>~y_TwP- z)scywK|;9`Ah}YXiMZc86P-tqZmC0@MwEp*RVOoBw0EY>l5G^1b>F}sb0%El&=CP` z%-Uztki1$Hjh`xXU43eh{3ih(dQnNPbz~D$y!#3`D@}vKh#M~1tIoL|!t+d`n>QG&DBZVcH_5k9!UW0STv!R~H-SiZ_D;*9dU5m^-r)ypFi#Eq|;%SO<1}b8x zueL*t%JC~OOZx?Mdm%mY;-u_ieV5}g9(}g3$1)mGLCH2038%P5zeJ^fkV#!<+8g)! zOKo?VuD#TgRyRMCqA?zLnDVL+E6?LU!jnX7h*X|+2Es7b4~QAJTR7o)L#S8acI$NA zut6YKhla&sa6%M-c!$VHe0#kbT3$HT*>#{)=1 z#%mE*{_)j{AyP_WVPG8=xF=jtJ|9I~&_PdXEq44dV#UosAr(eIshZoe8^GOHVEaoC zP+C#JR^EK{s`Ja}O(N}`OMY64QbR8p$q0*a_7M^?rSa6L_NO`aJQz~26O5{cI||j=FIXUmcD^Kk3eb zla@Je94=0;zkkuA)$Ewh!Z7gmbnV`m+P5SDt6AnC`phz}Ze3ASM}k#p9b0t^kap|I zyce&&UX_@CP5P;d8!}Lly=nUnubKpk=#i#vm$H!h)eZ+dusG+-(`(2AE%P~|K15&^*|5araRPtUtGeSRnh);A4_Uafc8h@pWc1{heN zN!(5GQdo(e$8&`(L@6^M<>(#!n^#N|Y?ZzOZ(0y$hgaqbI2U?vW0Ar+dFq5MfgK9? zOQ7>5(Ckw}hTAr4bcrfh??Yd6S^4*f8=NjvBg){Ybw*%ZoAPI# z!m~7pe~cFUMu*DF%?2-lRHdO7um-gXa5=e1%9P zwjIJNEIXmoRQ?ixMbn*UIf5<_YC%hJg?s5ZB4R5bx!<71q3r8}9 zk2lRFL-Gme^8iHV(^+^dhm+>mef6b14~wB~Dqw2SstO^^86v_(0uYjCal+&LORE(^ z3JEIT27?epu8VR+?wpMQT21R3CtWwND3Uz~(sl<|!1O4bT<#2E=rSy8I{ad}?`n{Q zEog&I5EnUSU%lPT=exuFn?1BG4LW&Ym1)%$K|+586VO-Yb7mE*=<_&Q->{y#J4Lav z8Mh^~oJR}p?5&Eop!hTai5~!Wrc>TlFytlr$@R#|L0W*iayYpb0LIg|f4dN z%(Y`X|Ay(v08B^mz4Z2W!_K(S{M#*jve(&5b33q_j-y`k^A)@EE^(xS>c`G|giHtR zC>tEr0EEqFb$sECPYWrohXRo@cju}y>s+t6*2Qcx#)aoW zP_Jw_Gk!m^NZMlYN73LM6csWnT%ul>KViZ?1rcoDm<#HrOF`uzh(7WJl}lXj7Hmg# zgLZa1KE7-%|7bjpoAM1q+JKK4{5)=j(@m+5(!YLbP0T%`)*F48wt*n(T7-CFSWzql zcn1&ksK@(0w*kn^Mua)NMCN?VN(d7#w;OOEX=i`~36?v#EYagCuC`SB8owR22Wr=P zKvHM_m{+E+(9+>R&n zfIA9*TD0g^PsL>GPYmfhUYY*`zcu~O#>!wWYe#)qpJdYZQ&xqGmzYk^7A~5+4zfU7 zwt&evzL6j|79@mR-U?XpPq892j1O`BvPz(Oaw$)2zqWGhe7?cvRKA^D+6LtLvR5@i zBJ_ZFf+|TDSzZA6VdmgF*gO%jYYz+TQwU+C8fyw5jW>EckW2Xf_vM`+e@>q~f z#nSuD)^V^;{G0Sz06(C!t!)$E@fcL+!5oUvyHK6~GC1#S+E3jXWz{zdt7*;6_<3bh z;;F4lccm>CX}1u4=wZwQM$DvL%h{-^ADWUlYrW$r|56&)trGFMCveIMk=#}20Jy_5 ztRi{wQ_eTFFG2uP+l-_4{C-JtUuV5tJwft7+e?^R=rE#lzWPccza(^#(v;id`}5hV z3H^|KiNy1E>gE@S4#D_0jtbt(vu zHiz~VYU<2O$^}Mlq3`FvH>h+rD2ZZhbaxR;X}**oz_O(9HMgb>JyJq5+LfM2Qo3O+ z6B?khFq36+GfE7hD@;Vc^{g66t}+5LFbjcX_6eXIZSDfoayT!|vy-@6 z4G(I(X9maX#ty=kacbBRS(cl z8bv(E)zTE}1v*3u=}P3ExYU(vq2aCB;NhouWgnaOdN?Qt>Q>V>7!N-OL1xEOK3Btc z$aer$E6Fa|IW=eF%2$r*^6K}#>?R=WWVcS$GGls1=X*w~#okGqnmK-t&GK%5ag0N} z3$-kCp^X9L=QzY2^uF$kBoYxuIOmj;M$NIMAd{G?%mdvW_gZq;wLo6K-*I*tb;U{@ zfQ9pN_DocXgO`-}))?T5>8GBRkHyT7As=Nat< zh$51);CL7pMSBOF1=F|-J}!{*ge43(#FTPoiF=d53VrueL>A0XAZrEFNnv}#v#Ksf zdfdgsk)(!z=M&JJG?B(AH~*26<6z=;?dL7PA30%g7FGougLGugRi^j8cKyqS-&2bn zB1M27jvkY~Zmh>&aGM1DhXX0U_vES_h=Rjt6|h43ZT=vb+p=o+1MyVwXNma)> z8S>6XU%95F{KwWP;7o-EAFz?GdY=w|rn4{YI(|&O_z4C$!`oEc`Y9aajZ@$novX-x z6;D3%U)9}YO}p1wh-;~qNFD&KC?6VtZi%^YpHt%?t@}$LGj}xgxnF?KDAP}RWQB(f z-7k>b=l8477l!xAFPZljs9mTNH~|2fKNU(m61dTu@~V<7Rtrj9SB($xz~gUsBc2J} zaJsVWC+X$Hl;-YpzMsBOA`zh?$s9t6kCJH=R|sJ@M~%z)tD&JlsN67pX#u5Id0cL~ zrY38$&vmT&?(piaojjF&&CxysT`GE-fM=eDb}9Wk;Xw|3`WAzSJFe=K{^W|NcMbgl zx7->`D#MxnDL4HB)$S|z^^Py6+l-P2zFE_-T_e>Nw}sn&6OBMgKR>sA72=&Ies=DD zBrG)z^Zz13kJRJ3N)R650Qd+E)Ge4!7WsixdB}Di6&lzSXrwktwNH06AKdnO*dcr^;z`;c!ji{ES90?FS2X0>LR(wE zWOFQ^VnUcxQ59byfP2OlKY}E(Nga!lXFxz_1F0$k(V&HqBgTbQR(c=r;h?7KtHbuf zS@;L`&s%TuurNo6y4~x1JPo9GO%wlr6f6M!!m#3If{7e>TzFS`A5hJe7o0VzMb+W7Kue zNiENcyX&7+-R-~5Glet)@jSEL13dXVEtF(aZ{!)y?(h5-QNc5zl7qC1&pr2n>kzp>SAbhpzb2 zlWLwq39(9l0j=VZyUyWR{af-oj^*bEQwRkg?{iOyAmCWrY&Ym@SFtcG?poavCX_g; z8|=Kwif@UE<u@mIY~G$V85Y-n?w5x%!rrI`XJ>TaS)RG?{?TEw=uR#oCQT)E z)Ye-LpB+~$(xS!tc`r&a0Z`%+Pn4r(znlLS&ma;^+f|iHOlLAQo#EIy`#tW}Yf3=f z@|#dNQUNoo0ti`DF3^mmB01;>B3tUeYcDoqRj=scc+4kWlQf{lfMg5bpc`1lEG3*J z-7*!9M{u&blaQA}vV@1#>@LfqQv{I>^KRpgh`p#hz{zN197}h?98?JR|Exp#;&sUx zMlm2iMS+`_L|aEH++)F~*W9lf4qO8$nG{H(Eog8!X`cj)YFd5Ssv|)UqpB}^-vW5) zvzIO+hh~ev_+t=X^f$o9g}FGhzrITPWHM0Tq1VjLXS7H0)g{Q@!N@y+AR-D*4jM)= z(IZE8OgKGRa9+yLn^R zDjDbs)MHR^{{`J1>rNiZp1f@EMU0j3)pN1Ld)*Zz^(r|{Xtxg`{&k zY*75j8DrGy-0?y{+RvV^&)}i#<%Hfq(PJm6uEmK=i|Un_SNca!pLpj|k>$N^ow??8()S?zMEj!r z2Q-T67y>$+b2ETGLj&5XrG_(^x!`8q*$3Wbqap(^LZ!&WIU6{MmE=Ag|zu)=1 zJ0k3)%Me@2SG%~?DiH8H0Fydp8!PRSY;%+~z6@HObs7vKd;D5F6x}Ux_?YnG745JH zri~2t`B%qtkm1&OE$dih*HUkXZY1Yo5RdzvYfC_{<(P}cS5y~aOZRl0R=5mUKRORu0^!o_)U$C{dcgmEl-#Tkp6zsh37TCJJCJ>cDuN5d2j*HB*mx-Ul#pp zPo&#wHGkQ{1{KC7gDmbB11)W@o!t@NUkWof49JdlbEKjU9?;KFT>`b+T1HTz#Oa;I zj~t~hQtfrpV480%t^aElzzK32Uu9S%_=bo@A}KcX2tSQ=v*Rxu zR@c1dZRjp4NB!LRtxoT^@<$3^Q5J#8*smAl6^<`b4uhD!mk7eEGGlirR_Kh0(Xuy3tmA~jj5UM^i9XdT%g!+q4^MZcuGiMhd# z3v+e?Ecs*$*L3g+GfygFjRkc4;XDBc9WJ&fe+1}>ltY{kV^(0(-vK4uIXmy*4m;oj z`Stvvzi807y2b-Q9rzn#?`an55@G0L`IA!wWFwFtXImsG*jV{V|4>BgNl+*#))S$psxdbf)+H0l_(JTk>ebr~aA; zFS+5>2*)N4dgsC>JikZXgQy9heorGRzvR0=Wy68V?~;Jhx=}Q$Rr&_G`w^W&;XUc# ze1@KAxKvD0VI)6-LBTQapyRDQ4S$bF;~qAuecgSmd*??j1`KlwMw}@HdN{Rz9`pc! zhr^N`Pi6+>1Mw~efCYWx1*TZ^zL|ZY5tur659d|_^JPt(_vPQj z;l^o-EnSZ1q9fqiHvmX8w?wz)4)$S#KB(e@9RE&>7yw63=-#EFOG=91Z}m8xU6l~( z|A+!gL84SZCpyU@FWNnsXlX`YCGTxHSua9|-P#y08F}O_M4x_jjZxQ~L{z`qHY0m5 zWiLP6xI^kF*!gE3bP_O&(W1zNZip`*-Qi{1G32l^O+E-$c$2$+?d}*p9g4xN@mbc4 zfwvB>T}my`KlY01%`QvEG2^8**YLkvIbZkzsyt`K^V;v+!0omiSoZpYLif=y=OXr} z`+Hn{uQcKUij()C(@$P&(xB;E9lF%|fQ&3E?9aI}lXwxj5|GUM6+Zx3+Q{ql>d6w;)E({Pm7-9H5=-`q;I+13;;nKlv&> z5DB|fQTw{W=rn!-{bFThu?s-yMn5m_r^@>VXkH<$P6OI3P6$3=cUlZg^Y&%H59fg% z)M>KQh%Q`M%6`6_cu$6;`w9KlJ7Vi6+U0Kp!26(sPlT^yJsK{3t;PS{X~qE$cX!7n zZQOgIBa|58vH%c7Eq#w12^!n1z`Sf#(JlVxq?>t;*;(z=RaOjXtQSDu{mmR z;<1uQswo_ zJpc52GR^`IKh^<=|NbnA(CnwHK@%SkF3UMQK>6!}`tRIT3&h6t$=v!_(cDPdA^(}a zNSb{5!`5qI?7x8a{B{h~smQ4nhp;vt$Y0y!;qLw&?6=_}D|a|(F|wYIBEH2pAKW_% zR`r&Wtch4b@Zk@73^*MmZ-!8FyQ+E)N1FjBP0$deFYN=Qvf4}20#ZS{0LT}!eCfwZ zM=^O~ot&?~n0)eXHUl!XrQHHr3Ouat846V65l>A2u(=9vh&DXOW#y5^t#i^+G5y!t z$`uAA!uWYV`WB#cjW%x+vkU7F!2rWcq;bIeS5NGT&f)e^n_QxZy$k}qhS6>IuIsQG zT*9Q;wjPc8oNX91=-M@nEotmnjTbu+Kg>*tBgqa}BbqL?BNS z4@`dsb~9-wVIk`O95l<8j6&<{pBq?tA}^ukjoit<_O;jKK_Fer()cHkIsc7j^gytV zr#|ph;PaZPha=O5jZ-cQ%ZHc#&u(Dh7lqdCs8+mNm#V?s+P@Z#Ke0f)tqbb(fg+Hi z6gw`;Zi(~&DsJF|q4eeDJQc$oF1sP}LxC!)ovyHl4F_0Uip$EU$0h4uC+5FTFSXmc zJ1O}&tC#t{<)5+^v0eVdWITXMDluJV`-!lB4XuBF7?_>R&naFQEDh{r{p=e-c6dqEvtJ)W698 zUlr9~71dv5>R+}0UxLcNynXSPO7%C%_%D^}|AX{Lu_eDy2~nRuy2JfT4oCL)K8%=F zEhI5nu^5u7 zvCmlG)~Wo)soyvWi1m}4di7N^t}`~XfV;D*S**S7It`HndOS*P(d)5E=A`KD=J3}V zfQ+9fV#s`!yfC{7Otwj{vno3az;<$%I=Ri3SCh&0MEz59_?X3sOmON=Ypu$wrmlSeM(l)bf9WlC*3v&VKAKsW zf4ThC`yX%r{gcJ}-`4~Et}$O>znsu4oWFS!0={NOynb%{xbrtR8f+ z>UGNwBFm(&S;7wa!FSSp&_(gJz@>s25w^dJ-@ke1zx`-Zis+H{=UA_H3b=DOBi21= zqNT&n)+dL{b_%!)1T7U`_zBnDVL-Y=u>sVu{xfU~mVNZOVS?&EZHYg%BL3~m&%bVB zIwZwLQ|;T!ZO01rbm0fH(Ma897V*ZOGi{G5(KH$0!;wSQWELD(z+O`S>2p~qfZ12l za|-O@Q(IqpRfZDv<5~35W#ie0g?jjq$%6G4=+>jzJV~e@*5_hJltnt5=^t+?{nu9c zAGT0y+_NhS&o5h4wy7Rz-%LfW8Lhuq;7ymW(W(!*3LWVRv&}l?Y{rOhtEbl+_R<<1 z2L8w4{6vl8&3E=QI=ys3Sv3`@Tg@U49{L4wcFDH0cbnaHa_bK|AD?qa*m>e)^ZY-& zV>!eAq_OP)ZtvhcnNkoz=7@ z+mmxQU~ZAiWfQ`G_Nsn@O9=Az^+JVQjJ5@*frneZto?Z4n-`;iUp>vr+&@W= znrM$?OqcDh83NfKoo@>s_464Zx9iU0`i*dB{yUHS-&QPv2^W~s)ZTQC_CabEPd;Tp z9+n)GJreu+Jqs!A#S0u!`%f*0Gj2U2Ysse^b10o7G+C`~>2U^jV5*F6T7>F9PoAUC z7t1bAo^3CY`Fzl=w1{k8W*9i&1TJo|51rKv0e4--YFaj7yTM1}qRX2i|M@<8feTo@ z3ftdUF63q+xyoF-YledYu6f+m)8A?)SIx%SW!Y)B44nNW202M$d(4B-VWxj>aQ<6X z`KNzSQV4I?b~jL{2+IQfQ!4cmkt)R0ZqirCEP|N|>yntp6`&=K>A?7`qlXpgAvnFDZq;lZqFfRB3$)3&;$+CRQ z<}BZwU0J=g#j3Xaf11r$UvT?fCG*b4N?xpraLS!%Z3Q1Nm${`M!4Jadgz6`tUL_s+ z>GIUpDlX2KngD*QuFI>&z4+jt5n%Ip2t;(PUfS zXuw(TuHrZpm9xFreO^9e8M-{Ba6Ovh9>=cm?PuZR><#+vgU z(h1o(AI*7{y_qQPe$PO|W5r~gkAL-g#p*D8z;)PK+LmaJZH7|GavFPBR~epEYNRly zqQ;&`q{26?F=;fc;u?_C4=hbW{Lu?NQHnRxA8!>b4YienG&XM5F+byzkjxU*JKJiD zV@oPp|772M-bjyiUIRn7S=GNsBHn`uoc4NTqc?8!_LcSXm_b^t;6;08^(S)D*N@&l1w`MnD$90rmOPVh=e91SX z`rO=7o0eKVkev`;_H%R2m)M9N2JFoDQv2p|*VLz}S5te6g6poHycqt+|2Z=6HWprL zA>R-DaSxPltc1?n=6VJxh$ccfqQ^>EY;KsCJS2JS8RG#1HkpL6M8oc_g^l8)O4S>u$!wWF4yU@9_?PQ-Lt?klf2aSfE)Vw+0bxX2URdZtBgDdC|f&-2L(-v%u{ zPl}E-warmfCt-sK=9@IawF~B${MR!je|~sU$#;-Z-m7bjT$nxdI%;==P0cxDcamjy z3w#avUB~rVehi?Ff0ay4$+PNYJgf}ZbLEXx&&Zz3CaR;8)?3?Eyya)BM@c)IEkICM zNfJ`rL^Ue&ZN~iBaq?v47=LM1p!KO(Rb1Am#GBWxRWOdxD*p9Cy!#%TB;i{*>TBPv z;o=8VsGo@evNuxM&O#4=X&Nfs6Dn6V&9-PX2GR0Uyi=H_wlm?m9xRhDdZ@|z@_CKk zwhHW*WWCsf3gzhYd6Htyn9*WL?2d(X5BCFz;Sz#`D zv1z@DzR}n6&f*xw=EQ z6W6<2iI1zA?ua+64)={d?YJ(-`9qmcE|UKc76_^DRFb(R+J7Kx-lsN~WxYHpw-AYay>8T zbENd71AadF+$VFts$#^OBluy72l$g%a$7m|qwn-#O0nitQ!$C0xepmC**d`ac)Uaf z5uNu$X>+BvvZtrXci&3aaEexWW=gvVjs+Q{%WxGGR%JIcsH*k)rp_s<@zT-clNRW^ zDtgT!9=MTFx*S%JtyCu5Wx=OFTR#2rRFvrEleNlZR_4cPUim64W>J+wc3q4X!x76- zr@*=e$5{B99Ls) z!}Z*p8nzlkbj#-)Yu*cwEomFnAqH&wd*+fMbi0)&RA{VxeHee1QeSZ7H~t=f`RNa4 z&u|JtgmL|Evd%GhJ@DM|069^6Z!EX%;el6T$ZlC>GM7zNZOSlM(cV=rP0Ww5mb#kH zg)Y}85YN4C^Yu2b?gX~(bJ1~k`^&jRLN5cGziT*jOAHV}km z?EV-1559K7uhK0ynOA0nNaR%o4l@OS-AEJ~?LEolHEUwwyTT7w`u2_Vt$c9ffSSRr z9_fs1B}|&vw(C*Pf>KAJMnk<&JMI6M}dD%9IjO4&x+h?~dBZDmOg_eV?r-=DQnX%<^86ZJA3x-W$GW*Z>+}sPF z3+ZsTDCCKoD9;bF+8Bgge-?bJfBwFsCHwVkXhC!AcNTUfdG(@wH$TY-U#lw>tZx?c zNucQ*KD9idN4C^)inwdMo*Bqxyx~jI+-wP5b*v@n05^)<7if`Af?M)dT9U*E!&q*;=v`(83+W)Dt! z5%;|vyYl>p4yHo*@Ro_W>)qf(q3@F&DtMFiYNp;ge9ts0DQFC*jW^Xyokf{RuKv8p z*0sz_6T7#N@bQKjG=_L@Xgor8;viS1WOw~6MS=E7#jQu?#X#z{oO(baq%?Nh^u?DE zYnx3Opdt0*2k|MhjaPbT@e5oo7I@PKEJ8k<{SF7GG|qu8pEBO^V}2^8K;P@l!^1W; zZtNFm!db4OqoG^<@pm_hbjkPEDhO+svc-v?#eETfr9l6kH9z$V+XWdMdh;;# z$VDS{(4tG?{wrNk5>}hzH6BrBzdCYf*1|sjj8$&~@p6iF83U`$dv-FS87d7S^0%HN zp5?O8A2~ewArILcszf~zqYHdYVl1#e83LoM5+o6`esw1+tjR5Vft&%EZz|WKO>rDS;*tf8kc#j= zwNv>16q`kV6iD42(Gv8oTuPq!W)SRJ++jg&72CejNX`@ac6oy_Yk?~1@Vp;HCSwB; z<34zYwLXVb{ymlip=}09t2xD!n=-Upbn2s0O&LcoUflC>;yv`_iWPYnxbE`20a-$t zi)HAEWC*;D@(?)u{PNC9w*-rik1{giQituG z#0nntFzu1NMv_(wx@Km7y?xy5?u#UvPZ+l#bWLob7V@m zLxdkkxcKx}lh%RhZuy#yMq00g-0GDr83#VqA@&U|KggQI`qL5vzP8hjrr;Ltp>w+Q zACIEIa?+k=6KWOY*iSbJAYw5YP1!cL1tz@Y2hif9pHio!5{?&$+w^|veykxR{o{{Dsl1Sq>?^|w~rWjdOsxK$-5>sa-qm66{WYuoWH9MKn;?@1;G@G%3*|Q2k22VUu^32x~Su|d^ zE%B!Uz~6cZ7DUx)umwG8PkV@6GlMg_o66EAueoH}z1ev2Ht(={#MBhrIT_^lzH@$l z7##C%oqy3PpoINeFui){(7OQLx@Wvc@jLZ>;+WR4?Tnye2eNq|w;BuNT_2eLwYwh( zU!v@U)=->^Z`cd2V;Un4Ng?DP_y!Usw-(Qp%p$A# znZP7>;#p&K=2@ebCU3y4n(cFDXRx`AowLb-g{9c3W*b+&d~rvt>Bn_ZP`4jZ6(bv4 zBxt4bLG0*twvY5C{v%OcoP>p&Z%ZA&v}qrM@8(bp)Z`@^;gU`wDGQ+|cwVDRWam#s z)t=%`cSs0EP9qN#4*b}MnL)UP83ZY2sP7)BlWTsbPkqeyjFyX{m07)ynCNai3AhuV zALyE9SCJea8bJNIr(U(9vE+_;FQwkz#i!IL67p+$q7B9i)v^!sCFYK0)}pJ3Qp-J* zG0GMyHZzrDvXF_@wQKUjBBC0U^-P)bDnApRRUe%YR%cAkjK$fYhlnc+v5)AUhqip} zC#vMWAmbJAs1UH>3)5BKYDCT;(P$d4(C}(5I!S{ea3E)*6#(LEd`ZT&dbArS@F#j4 z7;Bz&zQZ&~*6?&Cv?$omzic8d%vGvhjef(HMKxQJLo9OJN|7YYkmadsel9!TW+eH_ z7dAQ^<*viZdX2-ecTc)PmsSO5S-+P=RA$Gm-B}m8ll!EA@sU}cS$^e8{*}Exsxp>o znvc$Gn9NVFuCqeN+$2^@YcW|7Q9lYoOh&_N?K+NRqu$0d96clymF7uIh`Sq3N&bB- zcbLF?rkQ8-mdLN0AAbNEoorEf!NYGErAoF29TWVy%{Jeo+ws-dEM&)iq_t!`gXK0^ zgxto;W|oAdHrr0Aj8X;$lSD#(K#UjqRM+@JyhniVXOE>RCi5!Dk0zYF;n+AR@1#Ii zW{y82v15+`CdpWDGRGar-D4f>($D)M7%TXR=I-@p%oeX6kvt<&Paj%0F1!x@dC^5s z@Zc9%HAB4!TOOoDOFP4~vk`FpB?(nRBkgKYphd^1`6LA(UfWu%XL!D(ygpnke5j`6 z|LX!rRE_-E%er!!k4Dcd^XvwSWd+JqjUOU8cahpc0zK5oar2NE{-lPWcbpEbQsPbH zmVQ&~TL+yGu~)u+krm+?a$Akr;WWDaD$e5xC*|)MkE1UL6YkPc-gD25K+{Bq#95-h zN_~F?m5}_fR%)ulv6Lg_^pZhIt^sbDYFJc5QQxOI<8`+6ie*I^65k~uDC=?0Xk!CY zF6X5?Ek3##dUiASzM|B7kAreK7dodI;8!4plnmg*XJyQV?-IkIDOQ}l^_xFl z3faXV<~g>UW)X(taVGCQM?|-iJwG!Y4qZKxy{DT#=eEfl?rP1bom{O-`%MPWS-`Zz zhf3ktZ}%owIaN2~?{oEjQ;;sw4}>I{8i$|ghg)lKXD1m-lhAzKqQ4TX=@q3(b6fib zG#I9odGqbu=zWfura`I#KPL$t9AhGZlNT-+m)o~G-rH5og;=l`npq2o8bv=&{oazS zyQL64pY)Y2*tWV{EYF!$RcLpAdYs^5LQ_L1w@XP2?(h&V0_bp9p)d@naxxo}Xol(M}` zXVipa34i!ea@Ku6v$;ZjyZ2__W!0nXCeIwgX)D|>Lc1EtKR|Y?rzf$8)hXpiVnahi zUGscHC7&$dUW3oj-`MUd5rSV;siC_^ERF^XwPIGf=4;G!q*;($2|$Q8U!}e+U<7H3 z({58@z^>kl!tu2HZP<4lQmJbm;3zvpNiF~K0~{UE~De=YWK#1 zdYCzi&7ZXQYWodBY}EX3YE+qa;vRF~W~**KYV>iXKHca9m*x-22S*eVeKZBu@4-S0 z>#2uA&q?VsJYm?TMk=kr7xjDDVWR|eSc@3?(KIjrA0sLs*u`bi+a7(g=xIE+;D}NX zu=6hq*|f+jn1~K%edQ8dFe+ne^U&rA-zUmx?}+@V;LyN=_%PQ@9u0hke7Y`|W3Jv= zMzX2SEw3Mpwl#!1nPpA}^>eps(8Ha!ZMX#q5ZZ^vM8C$H64HYWF-?fM7+0l{F4tzL5wHq)SsR$@hP-EM~)jV=11Rk`&%S=?uN+-X76fJUcNI@{QyxMTW z_Xkl|ms!(YQPfXM*`XJc%B$-#Yx+&pG-l=nkN5*c2qH66b54RCI2%Ur*6${iu&nJ- zM%m~HOvyuhtYz+v8 z)n44qk-+=aKbf^rAn;V705&a4s~Q$pKOcDxtLfdw3SQSBp!0XVDp4b{P#`}Fq3W6J zUN3*~jF9lA@`up0EAQpa&2LOky^XJCrb|c&G~_KtJ@cSjp0p}|NWod~MY%2VeDG<* zcWvW>M|;Cm%Ht-}ke?^?)}p*!?Y7>ZXn70rS8|doe^?!QMtl3@amRYs&407tj}02g zRhdzV$*E3K)&%7MOguNQAc)>zrg&dOUI47zZ2W%wVDH>B)Ll-t!2})c*ni|gSOYQA z5h?(296Q=sJxpG4PyUR)HJOz9f)!aF-ehNPxQSkooV;mmITOrVAuw4YYVB>&_1&@F zD|)U6FzcJoEZxX$riszRD@tR&5tKh~`+u=0m6Rl@;QJt(^B%c!CtT`-^VWK-cw+*h-DkcudZH!bR=Om2j3}_%98}@#YLw63PZtcA zqf1e9&bMRaflV?VD!%!cDEQsWGns5kWl^K`h@cAO1JhD`i`BIz= z8K;8cpj0*fdHK6{4f?1LhK(-t zSbvQL)Kd*Q69zKT=(ob$uLDvz;*vo~v#^zN)@`bf=?S*kn@|ElTA&y~Rox?nK0-JtHwT zUqZI+{(#INdeVYJ;f$R+YqcC{dvm zUszL>xlIuci}l+DXlDR1)yENURkv>}r1n8O7lgKU4!JvQs-NsytVOpXx)B_mh0`}a zWcCvLsF{mHd5laK-nHuB|5gs7wWzWDl`|fFYR{k{SKm0@l!%RZ3P>PnE3BTcG=~!f zqGj{0n+g`dg7cJJ-A{VXVVx7#U5KsNB92CH@+s!CILrl{+=u^4x^FF|$Emz=x8p!p z!;bysGrD*AJ717|;{OM^Kt{hI4W^o9<)|bXNSbKS)9lhhs|VpEKi)%$ox*R?qJ?hH zN3L>v@4woudHAlf4!y!{w_;oQHaeW0p(+{(ZR*@Z(rmD1AQM7b&GOp&#GZCRHWg8z zG}E5imgWZov=y^6se8vQ;feH?BR$)6Xwa0TjX>V=t*$Tkb3c_02C0~@)8wd?ra<#N;(@88_wyitkjK9$* z(&0qk!W`+plUE3BkSEd~a2vum(!ctK7q|!R2@c-r5DRs>j&zKBDKx{GzvwpQrXf8+ z`2*PwYK(q+@}l8#TWU8oWxBh6Mlo?Zqsi@fr0c0R_+V^&% zpwp%*K)#fOGjDtah~!!C{Me~jdn5I=`NU4OIOz3e*tgisC@Dlaf@S%XZjEVB;Y(Tx zpQY^}Dv@;TGosp_x6{`R)w~%}!81)}oH2#65EjVmE|9GkUx}EVD2{E$h}H6YwN*BY zmn?QW$Txj<+-YaG_0~(>9k<`+es{<1?ru3TY6$gJK4EHQ-cH}1ikh7eKn4OTw}NGq z$KJ$!yFN8rV;@^p=yN-0x zp#2!^40NLqeL+yovB7Ssmk7#&JW{cOkI6YB9eb76u}75*Ak`E)XC`*!x|T!&QeaH2 z7k-*GHbK2lZE`>Q_UGL9zTS1Ddz*ZHD1@1kr{_M{Wg4*e!D=9dI0EeOvPgLeD@D;p z*_f=hrR_jA1gjF2n6#9u?kIo^X-gF7c@TTa(iT*G&!v(75pg5+ugjH zV1qF=jp-g5(y`aFXeUyBl=K{}jmsvMTlUxGx$l?Xs%(g= zxWxU`v-YeoO$Uv_5~V0XD;jiXvOdepcs)^DuycX@BYMe_C2r?kc6HmxH__JP+u^^v z!>yI?hr`*7puL4ktL!stC#A(ju5* zLN;XDW>~8zlu|wJAt_-%VPhwXqj@oc+)fZ3quANBm0BpeLLZqN`23?u~TC~uQz3$-$R8yqv!F+FsA4Sg71irhpo*~BqPQc zX^HwoMC2n`(U9pSVg+Ac%3u}(#8lMmv`p-S45B_*hVPxF8lz3lSA|}Lxg2|MLD*_X zTRGZAwNpAX%JJmqXrluRw7zUS(^(k%Mtv)$ZN&x=LED+*DfH8e#tL3nv~#|Vy*CeA zwK(Yma^j4$LX;yQ-3jUO6pMnsm`)?2W0bLP+EOFDozN4Rnw^qo$J2;*4l@r;Xp6qt zkm@(~S~WCcYBXtfqLHGl=of5=qX20y4`oR(-N>@zzEPYAA}UI=$CGbN``ok&g`$0) zTt{O+LmxtSJg4c}X-aZTV}rghd)%YG1TPvZ_;kV)$A{K8J5dSc2wuI9hpin?L50t4 zC45%XBGmXf(#hyWalq|0;&PpcP2N=yS-V>*+u$H@5a*@{xMhmGzf z8Vy0d5531;bc}K?RZP~1>_Znd$D3hi8x%^;93J=Hw$wtgNtjK4?9t8XolA>jAMC++ z*??*cV=EEFvDL8;DV3W~V;`B0Z|s$cZafccvrH3iDO1RgH1?45&=Cv4GWv}@p0r)M zWNUc}eJ}Ti2OZ*$I^+mM-$3?jZ&V;VBFFxAkG+i~B{9Zba*p|-PT zVux+473}e8Uo+O1OvJJEbP$ysvGcv3!#C2uh6c18Qa<>RLk$GKZS6`cV zbSe0>*9gtpsGduMBCTe1y;_j!wCb5fF)v|lp$pSrgOtju&UC^CiHEU=qkNfs2YuC^ zJGldn+(#YhJFeQ^x|JI2<6*0&iW+D|Ksp(A%}ZPKHbBS=tGutJnK~*-8RWY9Vq>b^ z>oI+r)oM`HHrEi8N$~CZ$Q`%*-oM)Y*33h#5SBXA8hf;YIe^Ce1`!S3L~o4WibR~F z5b+XzFI&+ua6H9Mc%89|COd^*ft08*UVl8Ed{P=n$|WiaaXk4~yU*N_zRfmE-I-^; zZVPs#%VP0{4UHrHE3f-AxBk9+L2^dH9O)unP7-whb+9`*n(y>I)a6b1tM>D zq6!@7>8stn^)hi`7G&iw+9~qd*Tzd?ttNZ4Z6BcV*?R0C+L#p#Z!%JDS_}OO#jy-| z2$FAhYEsf0rAgR{pqCM?FB|C415=BVjTY!HpB61z?Bztq2K<;qlx>u~234ubG>KZ) zdWh-{?L<4hi0ZVl$EhI4R859bh2*t+g|!-esjb{D{Z6BaS@U z?YeT6yX@b-@+mt?3kBHDGN(WC@uQM<%G zwF3e}#vV0Pp~&ets1BbcTOSgp+Mc%JV_F?jsNc<(ym5@ZHYaAoat{Cz35lIZw(QYz z%?won?}W3@Y3AtG@@n^!Un!3CJsyJE!bgO)PrmQEl{~cr<(S+tg&GK2Aw+%sM#Rf2 z_aNqv+r%jS)B)r|kT%rL&?wrJ&$DP>A)()#33h5)O0>4J@zxdX^c6%|u+!42!8eE^ zOeffR)wj=c-+BgXgYRSQc?&}eN`FS%Z8u@iX^BFAxo7* zE7CrJ2wL-5A=TJqWx-Ar4op>6Gt^dpE)9)}@p1@`W~Wy%#LgffJG6}8w{4qJtIU2K zd#!=G$=Iuz3K9iVF!il@LD`0+P7%G1S_T>l{nwZ=^?7C!?8NzLD>*meb@zxbTrB6% zg$w0JfpWeK=gEzj7n|f9DihZKXbbhqOqVW|e@yJQn|u5dj&plH=)vyyzyH0v@_U!L z%m3q2`2o^h!8EZ|&CS{A?KeAp$`eE$0_LgD(PYEaprHR4d+b!CX~);FElNX~?8Se*|T!5l#Bdh<5sFVWhpus@Lq)a%o4< zD^H}+C$$rsW&)rn2{6tSN)+aXr0#<4UIaNlqZ#`kU@A~Q(9=dj71)U|t78v^qEHbf$VgTdsTpq1RZ-sFju@Sw$+R< z4t`hy(N)J`oFxj7trZ*qC;Q4TZxU}_Ah zBp?rc4IK|6;~aZ54yM_$k6`|6KM@17Ak~Qj8 z`YrO>OtntPMY}PKczuGM2-=4*R6ae$*h6;c@#M7x7)XruxL5tse;a$GwFlZK+06R= zvu|Ne$KIRZM{r(^J&YOkcxnu99W$YCHm745#uGuR<*%b&pgr~?-{V}0^{H*Q*~YC| zwYz)43D0zgJ@O#8)AAjBqiEY7En%xk&GokGg!AbTg`Eg`+{+$^rWVP;tMf;TWupf( zes&Rp=A$BVkiehBgMgkULYC!?eqS1uN426{T2ONCedm45eO{hOhpn4y9m*_12X)N^ z21(zWvG+$?pEVP3DX;BWi=Jsbmm=HNp-iL!tTCSr+hF2WZlU-u@RoA~tS_yX2T{#V znrETVE4bN2P5;TR8miB!$pMxKeEZ=FF z+ecpGe&mS&@rJxX_3)M{z zAkxVZ`_=Nq2D3+{F<+1olxQ^A*=VzjpgU>scQ^mu{om8@YIj-RvkIn6(!O;R_)0oY z(Wcr7Ykm7$&iZrctANDRnJq{95_z!mth3(OdbRu479XZ-xZXd2b_c_Rd?Q_+NH<6N zx^?nY`u*<9fAd^@#rt5F`sJu2{b}-Q_b_S0aS$e;&-8gZ6~najZGnmf6fIMu}PQ-(5 zM4RC4TC>;Q?%+co?f&pFkCj(P-0gn;pVzn_{@{D=>L35m>#+(+^Uw$Tb(}(@?Iwb7 z!A_`b%ZGF~)7lPuU)&yhs}jwN5#NZ~iTWYm9(&lD+#*DCtmoF3 zSO7!KPQ-(N$s;RfYSaryJyLn;wmZl-(%0XeVKVlM*i0&26U0_|EzUR8^x%`=@!nAHKxvMYca2 ze3^=2qxyo3RtPt)LBQ)U!LFUi7YV>YUnQm2EU-jS-PT^nlg!3WFQoNC|B+L+Q%ki; zZBvrQ)ayVwf;JpAdVV4i$3Dl@>_mOjhP?%}XFtY>*#8-MRJ-`3E7+cp)SOpvWS6n; zqaBjb)}T*!K|#BTMC&L_%}$unRul|t?DEAvZQ=t}lIEdrB&G#BtqrKOpzRGbYNdYf zi}Q9y^I}Bmn4O85b`yzkurV?UTQU@*sM-dMKCht|pT2d}0BAn!?NK0M{hck`Mc=giD_H{Kj({4UAqPxU^rtKuN zz!b6wki-UdYP3<}Gs4z1`r`cY6f2l8GNi)hKJL-{(EI0LQ)}?dPS_mm_kBeMLei;Z z>``L(CM|gpA3pZYSo?ZS+UxB2j;#66i0&*;Z3ttTu@m~dsI`O~llO5g3A%kwv$bZd z_M9E}Vu&&=*a?ea>vYCmE1Ck)-)_PPpaB#b0myktY!M)d&6YCu=njJQ(t3`x&+~oO z{wJ7FIIG9KF||h3s`duWH)G#Eo*)@dg%Cu5uAonM!Txp=ArtbOYwUwrXi_JX*@=8H z2mc;byTcAiA3{Ows8w%z)Wm!ZO?NX*UD*5L{5e0G5+hPcDvV?&^e0Twj)j&w2rz?(V%dzcm^@6^FK6MGDoQ8TcU!%?d*ZQAm3gwAzM}fqH(cjFf8M7=*0k+Hm{(tmf zx9`Dg)QP@uk$*S^@~8mBsHedqzPjb=-e)zfnMnNYRi`Hb z46hdw{*Y`Wkmv10MC7!B8jcJNUI(JSUfWLOi$oY~Z9g3M_sHAH@4aW{Po(1^r?hlmAR} zBhnn$;ak#V+3@*=~Ecbm=zgNQdKR-Tn8gGyS)}xygO^+uv{(f8~qfNPi%)L5vv~`%Uht zPx})GXZph)zMq#jRnJww0JF5xNkeID{~ckGi+aF06le}qzW zJoH*Y`1mcq{f+zH<^Sfs_LU3W@9zq~>I!1Mf(fIt#iM}cnA#?{Zwz{yf4-ykz}Q2i z*ihHDZaP>lI%Z?+VV{OzlbN=3+wI-SfBlciH_}r<#H|CUf#B1*GnFszY`fK^zHi&~ znNG~mP5QZy`|iF|Tfy527A@Y|ZN1I1pfpuxaTHl^f>E7flPhMfZaDjV>ymD>70}gTzeb^)Q z^A&o|lvlCiwd_#+!1{IGnZ91wW=IaeUM7~Yqd-!Ewen6u`=YRag_H-o2==z z{a|~|tKCu7Egx*vYl8k%*3!sB9DnU|vSesL35sWOF7^7;_8Z+X7Y)UPFK@O|pyg_f z7i=AqUb3yCoq}qs4e55NuW#3TpK641vQcIrlD3q_8^M11ntD^ktbb^=3EkE#ZMGpj zzOf%*8VoZlG}%ftmiw64spZ%pAT9A$C%dh*61?8Ee0)}bM6ioFkc*|u%nR)^O#&7w`oghys6MnUsG?Y81y2vv6Naf z+fa_NM=%XZO0s4$_5;V0SKTIEGErs4PAxavkcLq~QIKgngxU(Nr&gm~I(052TFqIN zfqmLi8ux;$<;|UsmDjjG>5m@g_S@&7>OhCXb9%un3iV@ivX&-4Qol4G+UFH#Iz<__g#Ym!3{T15djeuR0P>KMfm>z|25Z~Ip@Cb z=ec=!Fy^hJoHNU{{O7u6=04AvGc$*eJvfZTyN5yj21K63w{pj8{}y;y2H7?JJVU2H7^93F2D7RmLL*C=lqmu! z=T_NUO?%ZVVm#@)F08{D=|B35JFz0YJQr8UcMi{S!Jg(lr$ITBBC~u(Ip$h$+AJ4_ z@7c3==!0D_diCPR8J%^UBp3f|-LhE=CmZ`Riq*|!d!Fm`H1AH6mwBGkd6{kP-X0U_ z98<5k=C3Og=~!ruc?D@}Fy{WwOr&$`=$-M5bWNoH$z|G3+D+QlyG^7|0{hPBy23fd z*AUh`Z2Gz=FB+Yfmr>X>kJ0m*fBnH#Rhzf&2(PW#5LT|<6y9391!t0P3>&t*8+u^y z7(TF97&f3+7}CE-7>@hke%;|n@3bcHQ#>tdpbxO*rnMh|Lo|}p> z3Kl@ZwkYvNUPeLLIjW4=ir94}BPLY?mzDMPSnN2R+N^4){V0#DZYD(C0)<}7DI~{A ziJ5T*2mvPk5S?_&nV9Uo7#*oYSoqxhF!O=CFd2J0Xq;9IYCCyOJ)Gn*>)@)-nv6H9 z!_7)%Uw!GsH2*PprHsaFMqK>*jDs2{P;A?Iw`rNyOh0Kxn1G4;E?v9gjP%vvo;z*{_uO?WR*r8eS-FandPifm=jr(B?#QDjXM$l9 z;N%v_Ju%=j{>F;e!`wL!gGlArw0rYo|iE%4~DQsoPr%?AfDUQB*i*p575>} zT@QI3C-cg9%r8>n40Y}We;1r#HVhveO~bf$*x^To!9#|I9T=N8U~J?nbe?I>U#yP! zNUkf!JpTUieDmwC`$2eR*-~x!ZV>9@8ZvZPm~#Ad9EmY4^zT0q+r+;Y-dOp1xc;X< z)SVwNRqIdyHk>9oucz0qs7LO5qxZ7NCzc|wu&K)}%F6ola*r1jMXc<5n@G2<-Hi+K zcWW#q7yl6#|K({U>xAZf?~E?f)6~M>QT`4>m#f=r&rq)4>u5MU*HP8`eex3%MMDOE z+(6W%A=5fm$|>6rl~N!zLr!lwer;saW^fvsDBo=wlLpVEm=3oC^BBBRuF1<$lto2K z&q0XosN;3A5?)<`=hWJiH04)x(m^vNajqj*o=bMz&VaO4($!XwklyQPB)K%^)Z*lL z-Nf^A0_|8`GSeTN?@cSNAE@uW&du6%cYJR$YbCR$413%6{#Pzkxl5@Q@s|4&ak*Wb zk?GRlMoB4HpLE)kT~f>3dTrEljE>e8IBUcWENZ%^NQm0UUSm&ejnph)Xj zX`MR1qghiB1&s0G`5i^oSTXM+h?-gQ+Pa}UuVvrwgX7@3cI^^QJ!Wb+Z~BaI9Nv>! zAYTz&n&+7BnQ}U#NY@6wUxOXr<}Y3tZh7dw@ch!30@GYf)w5gAF!jh|!s%0{0mIRu zdsoayxag$Av=_ahipt9iRE={o-@6#xZ6cj3(%HUnWjz=~sxD2xYXqKWj7Rp2BAdA-cjyo)K;*W%2rAB>;x;}1S$V)*LU z|4Mw^g>}KRPlxYb`}Zym?1m@DS+*%;sX8s;A_@^jIC;OXmPHcX45vvh^Sd4RevFgo zJP-ZoQ^$qAgL_3z(@`>&N*rflqZIQZV#RwvyyIzT3+H%N zbsfHDvwR|5jXwI(-RKS58Z}bbj@8{>Y{Onqvt_1o|DlR6?>qQ_4`Afjy8XTI{PNY| zy8E9Ck1u*dtI|`;MmgE|AaeBBeZvJOj16ZUGbVKH)Cs&%2g+S!!ifw{ta6mlKtWy7 zpHNXUbMY_69H%lM+l3M58+L9FToB8fIl zLO^VzPUI(x>B=e#8sud-B{;j3Rhq?;3eg!(Vze4iUK9`siSt08NWbutfVEF}0b9Dy zeBkbI|Gl?GoaAwBE`V7OLOId*jj%e0sWhCF7$Hy)lTkx9&_|V>&>pzDu{%~d_UY3v zy!qA}8ccMyxP*X^_LPvwWQmxEGFR5Xrktcc?W~W5@rO(h5Du0vVe9s1pLzm==Njbg z)Pyw$*f9rt>^mz0|$m zd1g~mR6~@6Y~$^Ut=+jIeem!xiBvRECdV9#^tP93XY9)N@yP_Bz~HB3kw!t{vj}-P z_P_JiE8)d?4}?WeJs8%${hG))i9Y`5Q^WN0e@|)iF~vq+(*S(%tK(!IjFxaRO>*WL zTk=zZ%V|g)L#+RTIX8xR4_;?FRK$^zfjStXQ03-v6=vm3lQYurX3k}Sq@}SGY1veY za+zWheIdutNVIHVX`?Kz#^n6GGellX;9AW`S}X;fEKA!k3;+0iO;HUISLC=%W;>td z$!`+lG>vRZWqELV=CKTE&x&A@BWN3g(@#B)vx5AKRp*VMlAM_4t%2{U-Ly(+N~H>tKp|pN zJnGAEGP^x}zjMbK4c=hY zD54B;;*$AZ10T~3g3O~bLv5IHV&W$r%7}UjCJ`1kH9f`eJ&Qq1tO;k#)6M8jH0YYb zY5a|F8qy3W$&(t>AvM6H=jT{f#_3F~Xbf&s{g5E90aoWQu`T(Yuxg*7TwSthTYv8< zh*%roWHGTiPD>ZRPE3=+Xh_9>lozA8F(jNKY00Lh$pnDWafy#|yIP&`*!xdT2I4vYOTvvwnM+K>w92m z*ReGAiP&pcLksQM?!0lrDpfNJm#wk(A3oLleJj8lF`HOmhb7HmVQUm-*{-J zADU+9^mRXQ+r8zwL1dKuu7wb{+HCCih@0g*|0z+SK1a3%27l`Q`z4 z3RQxLbnVdZ3k}VUr9zQx8gWVpOU&l7v+^QN##Ten z2fl~0u9&Ra9}`$#yW)#s5++7@{H6JnK-}MXoY_b-i{&a(f*GZda|Ne@THGm84lcUBo+d6GIOww(kW$nRF+0>dj5+q?U6=f2&fP0$S9VhjnxY_qmG87mnN;ny{e(Bc&fmzGI1t9YU}E-NU#^`-iixK0b8r z)(Jl=#-pZI5)Z$k%;&Du<4lC)3lsH*17c z@K}9WZzk+t!bzEA*6%3eA*{#Q=s)_)d?MW$d5^(yGugnVM(sRQoX4Y_lt)wH_*@(j zFbPK-pMCDfaja{PILAm@^2%^J)|bZ~-+SjRc!#+e&2(5P_j@pr9=F0)zc3n7M{-0| zpsXUs;sT8d6H6h(F|)kLb?W-LWw}VDL6j2kj{`2FQ6dK`@4GoxQZSU|Sst(4+Wll~ z?S3w{ALm2F3s{l9>qlWy0vR<>vk}3WjH7GyJM?&u2ScD>6s_mN&jSshcf;PF`GsA!N<BOr{=Ea`Cd6d(5#qPD6|yTC#V6 zlNeo?)!EX9c>&HypZCCZqA}kT^lk&PtJ|{(!Nw?;8S`*sojv%&yQg_CK2K-p>#BS{3zZ+4rRP+NmD&8bItx z8?`!6nn^COFpt44=k{ctQ<5WuXJ794A$?uEh(dJsI<<%H&mb*l(x%E63azYgGohJr7#yj`@Z_eu7{0`)a!M)Cnf9`bLZ;&)uUmk5*fomJb_n)IbAxB7#Lh@rM}a_MN|)S@#+M_` zNnK`Aq{7|xeeqmc;4ETA&8wPoR5|AQb*s&Fi<(^by=wtIZLBI9Z-J9EIl?3%YfCQ2 z?`3VwZJX}}NNv!3Z)t;LIFqXhF~jMIBNYp4LT<;FeNWa}N#$C)Og6Zxbpd#R1Ae=qqS>oZdtD5bRN)Gd|wuvBXkY5I9(cTx@XVNl-)jKDJ{WZ z*0Q)?_pa~VriCvG-#dcxz3d|^Gw#|eOAE=loZ8&7-2XhjHyhP&r@8MvPRlXWwv}dW z>iq=t>Q4n<+4oLo`gkq-sK|FOo1{XX)r#pn6y=^<$fZvE9VHeEi2NVg?^(a1?yiuqASAD;|~i1unLqDTf66b+QjYSt)A)p?UvbNEw*UB?~z&IpMUw2uyq^e zA2{2H;M|Ol#fSUnOg%Mx^0f1?O1(R?6!Jb~zHnVm;dkm{pwuFiZQv=_44(KqdMzgT zc}BX~v@FA@UB1=ZQ!dHdNuk+e-k%J&<<_%wA+cO%>LX5Qa1scqhtoBdu~=OSoF*?5 z71@)Ay@YehOH((#%}@6&xE-MN~oQ;m~hOQ2Zs^k_N_bTMNN`kurkZ?6pI(M9eo@flZFThtDN-Z2#qXJS&}mR zuNf90Wn(_$QBb@wry5jiHU+A4@JUOq~C!R>6}+#aKt9F)-NWVR8Em| zQAlg;l=FmyqCwWnp`aO zo7pqND=#m>#|m8N>^P~tIp16TB4-mgNx!+B&PeCt%>P7NyK_bQWpI=Y^mI{MLoty~ z$1xPm+Zv$f7aAJn7ZgRTXvUO|z5H<=`jaoc8E%}tNGs8|yt^Zez&7qjj2;{g9NsVV z>CqKizwQigtl1o%0NwIc>vcx@p(6){OHLdgjv6~O4D8)avP?^ky1>q|TAbzb+PYe~ zcRp_I{&}oOUr{+D-SjrNR#jBU?BS@$G^-Tp=3==L8+gqM&2hI%6~(8C^z$#)nYWE5 z(m5cZ|J4Z;#P(wrbT^4r=B^zA0h5K8}7lsu}pA9RP z%@6OadM&)SeJdM9;^@Z}=|^Ej`h{^K-F1_sp%UlM2|Uk4dy0LzwUAGwvkh1vpN#;X zqatLx#FQ@vPiplu3gB6s;ND~gt8m&Cl<@&a2D7MaWGo;`bpvEvU3SAX#jbgabM zweRTR^2UGrsV33=kJGFQs&!c-a3-{W0RJb z!uLoPldpMMG+pvH%N$1)m#6WE1)hu6ug|x3cRAUeVsceg(HZI9iRKDx$I_;B<|67b zRO?uerq#S$NiEL2v{g~{2zFCIX&5TW%LUcqERj|dIcv47PI`CES|h$xiQUBNcxr@t zLA+N$R+1IsM#)@B8*w%g&HP+^9Xfw1@}iR2JX3cHvJr+T?bq|e`3zP49kn_NzAmkp zq#)djvE6xot_!1?N;E^032*Fs5_wD61K;l^o(x*UXpP8HC4d!%uDmlV{kk<2ycY|0 z+xOLhrKZw*4z^^r8gWhdzBNp(l~?OngP}H~R%D)I?UZ6Y)V%KidGSo-RD1XSVf1~= zHE!9a;>}6w2rEB()+0b3W$aPNLDca*Wan+6HC4GZ(bi<-FFS}R!WLC5r(OgLzakiu_7Z18hvWBxY-`h~Pn>brjT7zQuGHS$^ zDzTebU3HC6FNpUxjQP2Q-5yJG=4Ruu4r4})45v=UJIpiA5B+-e(PAYQG34V)$!t~} zuQ|2ZlapYZFzNIx(|043&-iBg<($pg-hd;dR zs?Z1LCGUjtt=qSSSKoLYuaWi%12Ne@7z>yDS-rqnc1(?TQzZ;@qvvN|kzVV@LR0O) z{=4!Xstq`kSyMz#>x_x?@o`0Znn<6I73u%{4{AGRWspWTw_eJZ6yzqc)e?V8S7+{Ya=GIZ^MT^L-9t84A<;#=Yajf$zh4f6Cm zLO$0~RG~F#MY$_>8AVAE1I=1&?f&Dx;6yrioFp+a<1LF6JgLwH8#ud0vczxocS@Fa z?AS@?p`U)%x#5VTj}60ykH8DKUE!rg&xco+zoKp2x8rElUfB6}%$RZEfYAqregg(5 zp9?LYdg76={FRrZB5GxD4W9NqPZxl^bvcLFaVg>VOyq9ajIG_bwzTbiB5pDApKl`l zPq4K+R$}dGC??W5h|z5v;^8p#lKc;zdJZ)Ao2&D!O(?^LM8r5qP#y*fN?yKdW4P^+ z#o;ISE(kl&FbDMM9;Qv$FI+TrY&i6Qf!MyiBin0ubM5BvA9EIkyXU0`0&n+Z zDrsU8h4sokpJlFq>~(`QiLCn5q6Zlo2oV$IKgllCyqF-A^f?WcCW;tmSuBrOIgxH> zq<;e2S#-o1>Cb9K`u#d1oidD`Hl=?(%@X01NVEkch|*hyr81nPE6uP*927*HOy+Qv z5yGGU_5TXT;+$M69I%Vgu8CPDJ*<`eiV}9q)13gI2rK|U1BD06_zL{yBRL~Z7nm%rcL_3m`J}$13Xux zKQhNxq;JUdxsC{|RELbLCTjF$-y8N?-xt;PFJPlK>rZX)eX_N~ufdmR?2hlfomyQe zMX@4@?OnJc{X5v&{lKK8+_s#HcK}Shj3D4BsfoP29FkiN5aZw&xP&VHia(Tdx!2l`>4sSTfI_h`VX?L-KSw9z4$`hbXwb_!K%S=p)3^> zq~l~Z?a~5HmI?Q+Fn{(<;mP~2Oa0!ov4$prSH&!uRGQ_jOgxaMwqyb#7jHSvR2U-^ z%HS12T6(f{EN4!6%r`)WlWY;OWk)XNGb0NTCv&W%C~y2b>NFKxscuEN^(Un9zmKI} zzucw?5k%@mnle}m$Ay?=c$x&Jr!h{aX&omiIqn>B;aalV?S>RPnL=lJUE%7>E^$wlUH&&8_ z#v~A-!FmmO_c5OYqOP#yHj@y?ql9yj832i~Nt`4!Rb>YCr}#T+D$I@r>d5CfOYF?_ zzyc3W6w4i}7dN~ceff9Ph^^lvp4zG7w3?NCPca{=-%<1GhuQb$F}JDv)!R&Tn7dU; zr(xp5;d>$ZkorEiBq8QwK5@6)?`hxc`MIW!5>V$NP3$rnhjJaM-@|u`V{~92s_FMG z^#k|4VXy7?MJ>EPk&>Zho1y|H(uj49oIXC4>X?z0qOcR_iOWJERP1SdVrgzuV-R)0 zlF5isv4J+pmsH78CV5L^TgF$4k`M@l)nyn#W8YJQVJ<-|v76i|DYK~)#d5c)5w>ux zhtsrwxP8z1vQP4E*Xr|g(VvV)wX&*3269^c8B-|PEw?G+ByA7hb3lk~nBF#=d%^b( zKUS^wW_7REpX&LZ{APlpjWVz0eorO!2Ol~9J+Kl%zNMk7?R^m1#HACccoF#UrF*=d!;zY6B zu@(dkVn*Mx@8NM^CCY}rrQ^Cn3A*K+^9jC)j<@F-F?|b(Er3peK9InpsC{0lD z8OrmU#F=~;J?!F}_I+YNB$_IVATu|ngDPy=3G)Cmj-3`heeNg1!J`h+?sYD*xEp=$ z`@+Mnx9t1X>(+#)UtAELUG!q;*Qakdbj;Xr*n#6iFHEMt_SQ;Gr2p`id?Fp#GMf*< zMEVJbA057W#TP;^>;%d))L(k_QBm-7Lo3EWpRE(n`D>`G~R!crbpZ3K}bmX>TuCdGb97y+4^B*{c|=wJK^!)2j@l zG3lU2MDh}GEP>woI7vtvuY}PTV_i(ga!#bzo{|1k_};buAQ_~VG+lD3IZhIpOhE;m9v>4*}nS5_;m1m=${+Y?);A0O6{rBx-Rpj#vLg5zI!Ccr3N%y^K zqXz^sNU>EA(VckjvE#k>k)88fG3%pTR|1+e{t$YZ#q5WC>gB|9hmNd|5xR&dkRTCQ zhCn%r8m+~VNv2A0m0XGbDVxJ`YB-|-g{CqSEJ9J{gCF$ zcEw#S3T#x$Q1w0Y9FXIPh&@|eq%s-NddR>;I?qV|Xd<0PtREU}?SA*yuLwKiHmLPE zo6EI{^rPV#b1b>M?=fPXGk2&t(dgZ!umIb@cLaa;uARc)UVTzH;gAt{k&Va8 z)W8tI|JHFR1wm!RM_f!;mUJj(7b~$QNvw{OrJP8=I-5wBT*xw+kObykeE7-(@~Dq; zNvCHsQ<4LVaS-7-r$hX!$jC~>qLZGa11Qn~7lxZ0MIGG_E)5tE)fic7IvSOE&~eb%L&C|Yo*B-$;1jTa$M6EqkKq~V_h}*>bSZ#=|Hmx5Q6epXK>3Iy z4#-xC97uv_QxF&)=4FBTNZPn*^&{(_{muUqj-7&ubcFZO7yj@6&K2o)HaTr-+D)td za6pOx;f8E0kz^#00#486b{$iWn;Opk*hShteml1Mnf1{9;l8_X3yT*mY_sp};VOb4 z05_V|kX2DIY&lM5gRe>758ijE&R)Ota!jNT#MbUBIguV$q_4LX>1;E;^`xvIJk*o4 zOQn*?s@jx=tdG@+d}c6Os=hZ*TRwFufX*KR$QhMbaZDCC z$-zv9$d6mu_b8H0y(61c>%+!l*8(?Jq+gUl4R5bl5`J^n55t?wo)6o$Yycno6SkcheOMSd9zWiY zJ@@V(iA7txA3Y;XyWlHUPZ^eVHr=j`shz@r2t(2tK|{W39Qn+qMw+h9lkw9ET#^11 zCeq6v3&aY!A0)&Cs0*MtL39NuuKIyyOd>Lyy12SHqr9>On8|jBTC(9OxNzPX@_b9H z?JzqQd4DEO20@B8fk|x0$U+Xo-#F@aqfko8;+Y;_VUs&7vs*uzrF`; zIsfpF9FTyU^m_NBFb3sE8YEc`0hE3blH*;(H@>tcH_$J1~*H0e`r^ zA9o_E^&@L>5_C7a67ys#fq zl$El*sVGY~-R~*Qge7ePX=((ZCEtUoJeGbKeJ_wX&X}>A&(HeJXgKE6R4w%TsIvIG z+300pmMOsK{NLOfy@`z7wCQin_e4yr&5orcW%cl{6qpZL?K0+5aI`7J#z3X&gjOhB zrn9(`w7?*n*7dzneVBaD`Zls@`n_lEXb{=nEki@8+N@NIV?LE*nWz;4B}Ud(9ddrEKHSgLB!1W`r8>FG4)n~q4yQUqY-|6=wMWb9_Y zCx83*rwA&;Da6RO655#w{A;$~v&Lj;!S|HSVmE=gleuOqDW^&Z@^L~qKp~oVlOE;8 zjJ@D{T0mBa@C*lYVgY@xxML-u2bA#tm}NI)c*Q?@evZaV#HHr>9Mx;duro9xeJkgIPUT?tVI9f$FIiWSoY&xDqF6@K3&1EX;f1 z+3^2f_nq)6R;2StxTD5T2v?tfNtihHP#w#8&)k{e?|=S1ux9cp0&-Y4u983FxD&&t z&b~-n&(C~vZur@qH(@e;8U8MRA1mmmhR>e+Nlea<1@4X!j>}>V8wBc$I7vYc*U7YT z?h4o5`14|G_Xho*^zMgL4GO5}pc2~C=yfYyN@#@*IWDkN=xm;8GKCuSN_kPH%-GA7b<2Y_mD{z7yI%nxBA{m_ZwkG_tr-9f;kQf+H@n@D#VW^%S!ld_BL zE7t*aj*~p3a-5REMCLcQX)Q`oM=kV^2WW;2e+SvI^FENwnn@HuV}X zpYbXO(#Te6)}Mw99Ue|P`LuBS)RRKrzL-CGV?~%V>%lO0*37UTM?fe<-w)q!f6$#A z&OPrU2*ScQ98<|v>A(2t4>YEDdveW=h*}Grl<4@JqRK&fP%+z!BAcC&{?Uqbnxk%L zIFbIRp9(v19`l|CPNe?<&Peyc!u-R*kDbvRYF8_9|FPV>Y6zT<9+soQl$=fy5U?YE z=eDQ9?T;ct0h5SR#2ArU(t zc@*5U9YVkU{lf?h0)qzci`9cYu*!8S&ar(vta|HBoB_Tjj2tyOoP>$=^RTtMuSmCv z^gCRM3yt+6S_E7;CUx%G72Apr4Ev8975eZD@Gf1jx^{b5^UiANS@+Hwoim~Bek0Dv zE+O6m_rW&neX(Uu_wGF~P}{=^2cR!}|(~9P>VX`-d*D3xiF#LI~whLd3jn>lU2%yAfLg~|xq`xC3qV7Fa5H+~?_Bw;;zLw470-Sptg zb4b=h$J%vkbtcI+e2KL);&lE3D{`VPmNBq4J6rI*>MnyvDUwZGg`Kpu`&a)Z3>+~= z;wjhLg6pq1HNDugV``gXZe(CfwV%v-$pBp!9 zz)lw1BWA0G)j*;Pc+n>JRtZn!hh+6<{!5&!WvNWV9{$FUbIk|&#*6iY*p z8cShg%H~;Dv~6#EJ#KX*9ZAs+#7L?R`qFmG=8gD+X^S3SbI{S71x|7}f5rD*yLS&f zd!1ts?a~uprgH4*j1Q~$o4_ws>39C?*0sCJ`4G!L(th!?9~wAat({Ugtt7Vql-*SY z#mhKBh+NVbMUE36i(zZ`1_|{9saP*uLC7L6R$ZA!q;1bo zxo*cvy=GJCWeN(VgSuF(piC2xaw1NqAuf$&Af@zugp)D+W4om=CKW8Ny?jrx6rYro zbTQws3W`&KMtrO=W8TM2klH0JBka79N(_h~FkSx{%Is-0)ElX(BJwdu64D^yIfk?9 z`&hZ?`v|5af|3zn=d#G=`qQ5JKAKEbA`n6U`x;fZoS^ zQiuu{lGOBjGN8?fsr2P*(E2rwfRZ(a84{VWj4J^*&@|?70$>D+ouO zF+WyYSnc^UF+`k9LwXzgy|>op$9&`PA(Qr0$ZRSKw@lqa3StqlGKfij4?G^FNCq_$p#L5G->gza3(eQWFg_J}x$9~UZ5%WnyN$u0`DNxdcIrn|z-%-O5D^CH&TkTH? zC(B`xG{I*4MZagd<=;`7rNC)%w>r@`-=8>6n0JW3vG2_$fNg52k_>J3z41HFC{5yN z9g}T0mU+ngy{K>zGB0Sl-@C-3I+Pcs(L4Chauiq8ltoKK0my5iKaq|9$P>k>o$iV6 zO_ZUaY)ap2z9;e)Y|5$|0=ueRBO0@1N3VEpQ(>0ryaol8xRcQ&UJ}_(DVRknwq$L; zCkx6_f6Dk+6*0$Kqu%SkCu6Q+U z$AniOyu&?ycy~j+u_mDl-ouG*IJCf-L4 z9TD!H`%t+5u~}ikk{81k>{v>|(=o|@)%ll(@gqmu2LMFJs<{xRktq2dWyEMWMSuh{ zVLP&sT_TWo?M-naol?9IRBofl%~El>U6^lii}C9030{hrK2mh<(pB#~dT@n(Bk$d}FW$TCt9LNn;hU~_hs1YQe3!NX z6PSDt#`pMqPsKn?Ruf#kUqEpuysH_HiS(~(BE5r-6~{LDgO)S0k?f%fDg(ocQ%i($yn zVdw*0!Xhk``T0-2kGYLi;oa2sxPT&r=_j3r<9|;B&%wgPIopNLF9>(ueq(rf$xE78 zuk}6aN8dnz0LS`7OoELv*+6-qGpnnbOtHeWGHE}WNS8qxUm8uM-}9$ehWD}Ez@7$Q zkxn^z$6?xBq!y{t=xP>a&dhU*{G5yQJokLn+AZP#yXDF7>t~jS_t7}^?bjoG{o-T8 zNr&%`m-_7L7B+2tSF6zf?w5~+E!%eBN9w(>5qWGdGmadIZQ#d+=@a)CzM?6S*R`4) zqRH!|udmc{3!FKZ8gC{gO{DM68R^2{k|2!H3>IygW2zJrPTkNfU0voZlRs9yupKRb zWX59ac20b7Qh*Z$+`eKXCxY-}wdjQf`1)%n&byru&c$Rhzpi^BZS9VUbXCj*m#|?_ z;Ka|kafgI42aO9O_CFvD=0rUvL%0nFw_xA2X%qf!(1h#KC5yDuoj;ar>-7RBX{Q`F z9p_Mt(U}yYflUv`RvLo`MDVI8en=lasqVJALVr#rlC1Jue8E zYb+yPIcYK(6Y1ypL^>v)9_EVlIFVi=Zj{Ij(*+MCJZEFd@zXIl508o+Ck4bfZaiD# z`T5Ua5MCrJyO>DPNLwjiTe}|{&q&8a+DdKh-ozQ{l0uCP)L0w#9WpG89&?cS7Z0I4 zYlxFgq~EdyzTF7l;)9G=URfHReP$j$V%P}3^Fhj5O?|2O@B-Tji9k#SqP@HW9j{~SXttqu@KFXo(x?~oJLOf17)Y0JR1NC} zcVU&ZO{C+D^bz@rbP~IgB-tfoWu8@~sn5&YO>0+$7aqSWys`WRY~|iBj2Lrx7><8^ z`tOSs>Knt7`45K&Zs3=e_>wnGq~nbA6dLIwK}%&Vl~?(aGOb9T_rP_^u*WG{reZ`@ z7nizXs+kquq^ePVB4{Nd5Rt|o{D>*jFB0Z4yMrd5**5nZIVubrHbM{mnrOwt76U)H z*@8C8KJfOcx56vSmWJ2xwemKMAN9VbjmjmP6X&BxAB2xnMumYG*LvftY<_gZhkmyC z%@{W~LN43=LhKIm7Cw05M12bBfy;6@QO@yw#u?|z%x~hW%Ed3e7?$7UP|M--*9e zVBN%Qn#9r0GJ9rwWN}h^48HC@66X|oFbZo?p7$QMjbHdY#>}OQ!`gSa#d>Rj3N3JK z>DO;SICR3qFaVS1eels1ZO;#Qx?t?#A7%XQ>WB}zSf?)d$KMBj)I$5OTe~(q|J*a- zrW<~yI{F_eCOuUQ$vhsFH+3_t^bLQT8~si;BdUskwlwMFwr7*F2U?cuyt~8GvP71a zQB}?M+kS=;{;DDCR;neUN*y!)mbfyqJ&u+UwC?*>e@FKi5e1Y{eJFk3R6Sej8Ra_W z{?6l#)HFlWh_`-z>k?b_eYr}tYFbxO%TtrHdqNzNb9vguR@0up=XYvkpoW%%V?p8Gx%s%T@Kk+O!MQmLBqnvAN-y6LuY)fLtHxFEK+X>1!;eVlo2Rc_hJ ztv^H6d%U6i-D@#9qI&T%s_M}B(eraXo9$^{wPn=GtNxCXgQ0zWZ!*)h239$voJw3N z;w`B)y2P-D5!nKU`uqi#hOn3GMsh%$zdek%`V4#k_R529hSU`vyeBe*L(2(ct64|;7>eyN;m?m*PmQCKiu=k z!{Pat7ljRYXHJcy@h;`uX*0rwC!dKUYy0V)4zXCsQ5HWhjc{rP5_U*jv0~TW^i!=! zcd2%-N=aO0vO-!VzflqkvIY+ghv2=)fpL=1-@2GaUJaOOv~+~31#I)5ep2s%)?+8V zTCW%-->GoH6yGTi$9t*%c;~}ObiVuITmo14a&Z|KNo?7&6$|~|z-0Gw{Cf=(?CWhp zv{D7W%Nl>^Vd1NP@|XIcf&BBa*x|d^ehcs6hvQu9v0C8AiF>~L>Jr~C^S$z$Z>$V2 zz4&}szU<|&0UrWbuo_m>AlWECr)-JFY(Q#0lkPjRf0*&9W5UQohS-F(^4-cNv#`3Q zOILGDnIRI~@xxhR?w!xzm{407THvfP!uvFMY>Q(pd=FKF@OX0(Z?pL{G_f87sC z@AtUqsW09ea*l}GyK}K5dAabDN9jKH$ZTxyekb1BHd-lO;56?yiIWvl0Ql&jk0#RH zCJpWlC(^(1>G1x$*-P{W{H3=Dc3;}&hAtv#4 z*L&f~#czcl-M1jjd+AMV)808u8apIV|Ir5xQF}0s5SG5NF5LIzvhWko9zJT{uo=7y zUtOagv;&6p3s;_cXt?CWgW2{J3Y^H`UuG#poH4C!VH_v(gg+4*224h9!i0e<(XYDZ z?(l|Bq*HX%DT3-H%JUx^5!dh_!!Zae1!hE&VYpLnic}P4`HV6MUY2jUc4Y_W%J2yj zkJOg!;}4mjmELsL4osr+p@MO)9OtAtCsVi@@VKcbB72`~BK`IPGU}j})zaNTEA;j| z-~h>=c;qBaHgO_|lc1bTrENRmM~;IIe*|B6Zhn}FZGRUpdI2kq*J(08VUG0}h;wN! zyYlLA^fAY2^*kRk_ytmO1t*Z0O7^4#vms+EFp>4kf4?p~{nR|H=;IGMLS`dQkaX+T zU6V_kw54or4KwcG!@_Zx_#Tak98S_c`|Ok9$;Thj%Ou4Nw$l#$xWQ`6hZ;^e@yvLxI%R!&;-ie6SZVqmzS7!-44?TC{~oT!`!pFH)%BiMfB^*C9V2`2j3My+nRmWwT0wzqmRqeN0l1f7w7+1D_U zt~1iXlgbfMoOy^yoXdO| zfL^~kEPnRk@E|AB!PsvwR-{kD*6!!yjC6`lfjW@zOs{WUoS>8MOAN-G=qWDmgN5t` zb8Zatu(dn&(NApQ47K!@uflYR0L4ol(iC|fHF8JOs9^Wg^`n-^m#|LPr~8$+x)2K#TVwIZ9b}pa(+!) zj8Rm|K&>6HB7EO)2xJ~}?9_13xbdMYKD=SzxJlXUd;FM*M_BO7+~3Te85YccT3^rd z4-9=8sqs&2x^RN{u)~iEfAH1+s`S#Oi}XPF9Qcl!bX+*%sADjZz90VJc^}(fam?$i z$zr;g=j}W>@6qts+}U9v>cBh?>`y!vfPZ}S!yi5Dw;l!}e(=E)w7omW0#4p@lKB~o zy{t#!D$3ZUFFaRcY_L%H8E|A*PV`U4@f{a@{1T1Jq!X0@A*MRxi(`Di@W6d{=sb3= zrl(Jv@jX9q+82Ms9gIJ^PCE4rd>AnV55oK4gNSVyckuBZRB$4l{@_3EZn7S~A@9Jq z+%AkC_VACySC=mfPht!rPx*rh8cvl-SgpaunyA=}o7$Zv#YQTpe;-@p)Av4+9wi$| zOV>z9yS3b(NZ>Ygfn_c3d&*KM7sotg(t$CQNJ``x>64m_ zh%#coPq`_Q>8eCY!XS~Y(WBhjC^;f=4Nsn*7v}k#JwIrhE_M#4(CyVrbU)BrMsq#s@J&V`(;yeUQFq zg<=(dTm61_Y}&SdPYp4suFdxQXc(~4Qw(kPJ((#)0A5i@Lezgpjow&_y2jj$g*i+zG;7oL@V!3=CMYRlSkm=F@;ji_kG0bkfHE*#rGdQKYRP~_EPpG-xc@9E_r|Ux!(^b9yJB?1YF(fj%M@9=@FOj z<9jF;F{lArRM%`Q-G+CGE8cz!+p*&v70xw(lauLq$HMoICu6nwsgq9#2kkd1JpTOC zSZTf}tOPATm>-5!(o>I|97YY>Uz6+C-+gmf{Mxdx3GX>OfpXLIMJSP zI*j}|pLuzeoF>CrLjrns*>B(YGfbr4=N!1l%F-0Hg-W9Ecq@qWd@tmkAu>l>d+8WV zZl8L_IpKt9r-;hN6;O+Sx?>K~{LNuU^r7Wl*!s>}Z_;}a9xYnvkSJaFUTfq5qr+hn zj|xX(GLk#wa?t|c6>+{`=Ptba!aFv;SL0$!{$2Mr7LY7iyigP4^Rdc&J9Y!u#kmUx zLPFp>n?nwj?17uSU&@!sob=;CgwJ9h5SLKWg*8{i@czSnsg@8G#T z_d?815JM8|hLILtfCv@#I$L%|M7uQk4zhE%&SBJqq2Z!GJSlYRg#|R(;!??{ScF(b zOL&f4;RHzFEc7bj^?!F)n0v=F;2<65VX%#S2TTT|dE>nz-_6mN&HUX=*@hx&l&WbL z92KUVH8G5yxSv$i#YwzuJc0lUwt0^$LIMVI!>3V?R-|(xeHA_eU{Qcx>*RaOZ6|neIr+#WY;ZIpg$m@D6k^j79LvZsN4 z_?m0}T62Kx6a05yXYBfnaao9>KdO5EZhD_;R*PxObR!um&1*77KMe&*Mz=3yM~LVjSJ@=cThNR zSUn)GOhK_skD3tyqf{>yyKqIMd zBpAczccvKkAKaKm{T!#2TRp5a=#2EM{s9x|+}a&7z5h!XF03zfS@@rS^(R;v%@y$s<<`J$WDcHic)09SS79drK4?LLgs`?oP4Rrt=GRYL z`Tof4nJ6$hZV^(OZq-8muIKwSk$%Nh*j|4?Sjma>IWxnpH~zaOW296Umv8cPjrCO1 ziwdc;U;lw&+DS9QSvdcA#Qq~e%G_Q0AcF0O9~%t9O4?pn&B+IuUHCEQL(UDq_z5Ps zW`&inzovG|Bf!}17~)MIU~nt_D?j%oY(+l+?F0`~uqz*cR-;XDvXJeNM+I;Ntp@gp zlMllG3jgv96MiIMs7$_TaEnnPG|Hw{Fop>E;iY zAsX1l{t$Hz-q~+Wia&T+PloJBpPt540nj?^C_If{l4LqIt&0=szx)T;wBO+U!Z@Ch zo+i>wXB3g@AUcmzvxA~d>%#((dYTV-J44rUX#hGVc zs1KGnam+T#|M(>?$16UR^+(_9jxmH2`fQl|xa8@1kKv2Qd$htF19g;Wb?222dJ`~_ z{$IZKXV8Za!!QPLVw>{E<0Bz{3Cx{AIFZdsclIszU5=-0qtyE-`t7eUHuHRQZQrL# zn-1$V%i9k<>ncGg++y4q#f@cnhf z#`z!rq%t5@!N+`P(tlgGZwp_edXcGNqEJVVZ9OOq|NhZl6iz75? zloAU_sHE4~@|`u7N^DDGsmph(8P>#YDsc52#eh}nktwaXxEwKvS|u?_Lc_@nT7>eP zLUAOrDw*w#Ti0BEVN-H?s9M={ih@x_ASBmmwelR4%lMYIc4RoIfw>Y9BO-01?{j&Q zTJ?P-aGgw+ux5sGoH>Q+j0}oxyYDHn+!`FK)YGO$(v(fzk{_h+2~U1%*7vN5{_|EICpRI|uD&No2u?VaHru-XsGTJiB^vOUP3sa{sWPxhW_$H} zf&|utQ)$6SbvDEiC(A|LobQF1bs}!^#z1LIv!)DY!7_!@h=6nvr|3yaxmFmZ#LSrI zI7Kf_)=n*L`spT_p5hzWlu{Y?uJ54$V2F?{%=B6PT)(jLZxZ5+1gT6MR;L1|OX1yQ z@@hPhGul*rDUua5%pjfdGUYaPOYX^7>NtLzzGwCJq(8Z3ye@6)_cU>nzNbR`%llJ~ z!TOU~)III~BVEFYxc8^uhVQAqXs3pXdBmF6M~Gt^RVhhXeD{RxA1=V1-wsQ zipjMd?_+y$2<2+^Gp3vvE}n6&CgJ0s`QosPw8v;f3 zSDLhi?~y14Z(CVruCvK^5u*Aexu`FkIKzr%%2 zJY(8?U*O@pEWR&0AB!ZoIHgzb-g2GoTDws@{k?~GM7^*}DR&9%iTMkAR|*~QF}Gm< z;dlQL3;y1)-AI8?aB#PYbZqU873p|shWF50HMg+jrA64?a55Hv_0oI<-+giQI~Rm- zp^Qufh}`{g-s5w1Tp!;8L8N)J(p;S|p$y<>}ZPRcv$J#ZRz%yW2-*D*h zqr>T+J_czU$;rw(VHufdaET?bCbN__d(i$0C@>6`)D=ZP|6g}vBK_Ia@B0qy88~_W z?$#Y)(>m@5Osp})KE#yQ$4ebaYECF%SDAJ`CeqL3L^|GKqCQpw)JSJWMAFa~*D^KR=(vLq)nYzw*-p9z z&pxfWg?W$trof4O&Kq6v=`Uab)ZyB7^uD`q3!l0A%bEk>ySkMtUJL*Ht-sZ7xzf^t z?-L4D!cxTQ@1J8%s#Ue$+lq8M0^4cZa%UU*Xd=B0mg9VY0UefaSy+%otM|%F^@~#jw zfb-A^M})J_{dhQL%JKSYhO6#gdv$rZ@6KDon{Tbuq$MXXc^)~pAV2i5Bed#L4-}|3 zSC9YtfxE+f_ueL)uEFmIjXO9@J8?!hr~eLFK==Ux2VPFxP+wlgN&KUZnSw9nCJQ%Lq-!GGSERc@ZzrCv z-lHyN+eG@*aLMJL#aYYP+C5v5uI+F@QzI_puZr%2hs8tiA;6Va{a;}Swsz-3&|BC7 zXV$|H;OoE_wMtVf(lOaR?%+f4U^E>c4ouX;C|By=cJnX8?1vtJ{qa!ZdIW%%ee`g1 z%8WC^)Dus|Lu_ZP_#$!mk_7v)K<1yj;OM3S0Cn#}@LO zjC*MzKeoXZ@>#`PRkc2)bd@OMmqXN_ip*|3dWXxt_AkYX^rVn9^@1zl-9wazTNV#1p`2XQcl$LUf%Zhh86G6CM{51#x#c=P zI_k;^Y4kUag<~-B&Mm@k{f`?0SAp|`AqJCfxVv`m7LLGqU?-k(I=0UmugPzIG{S9x zUPOCdyJii>wjDY;fm^X3fn7ch8h?oDwibWX@ga{NA@Prv(nL4v#}(meMLO(G8lDTr zF_7EN6BGOHCVb??9Y^~0>!;mHPQ@Qi`*h$gB0IwK3!V+Pqwl_oudm;G*UqIf$J#3T z6Y;Ql-UT+v4FEE=xxj6&Dkop4*3oTiR<92C+;vNM@V-0EMHSzZj2|%Yk0>4C;jTsj z|Ip>vp!|&*ik$(r;SZ$;;zariOoF%Qd$beQms|4lBY=a|M7`17&z2q)6t z!|xIV$tPT?KKZy4^r09h2baQb56`?`E7AE7%RqSSR|?g3rBc!qJx~3f#&VuWV*=t; zHnobg9n@^?p0k_cLLSPzySdD0dQUp&B3+GvVHdur=5tAnswyqhjfgy70CE(FCtI07 zCoPGuo0(C#NYK?hLuF)&lD3V{P{~yg;gDQ)QsV_Fqc&3bzP2poxZpG#RZ)X>(+rdg#bb!O6kN0XciP0IHO z^Ph_z}^Zg1}hSSC!vCxFOxN zpN_`_>a>$i3EjJ4!XE$eT*}?Kf`U zaKy<6g=5b;RNY#1rqonW6@uO%l`vR-YuBIu-JRhPOr^6r>_n|{I3;ebPig|(QR zo_WLLVeP67*qIn}FAT2NQu23JP0uavpr3}hI<80`b2wL|TfHg9WR(S$t>!d^xTIeK za7OxD8^gc;)g58|Dtp(~5KtQP!6;`^l|uY-lc(O4hEMe9-V`gbn7)C#E#09kem$Smu}q7rGNhc_+sqc zaLY}<&`Ljk$gxS)#yeMZbE2MG-E&p7wrEa*unjV{_g%5#Redn9h1)FG3D&;gO%9xv02Lxo zHeuosI>-2=Q_s}6`V>~0-go!y*jnacwf7`0!)$pJ#LU{jiS)@hBmI+?e@+wWJhNl& zoQJ~A*xH@GZaPF2oJ2qEjPt_DGtR(+O=oOXy(B#T$eb|y;rsFM^Cmu$*cL^0z{eNE z&~~PWY12=|!^s5rcDuG+<`-Mbmo2S}m>+nYe)h+->X!shJpP+7^TB(<?p+x_Ix_qYoz1v9h*{D-8MWW!ufG-K(E>EO$Yj>#$@$7E%nmu7#~q~edcLQ<9Qn-hVr4r`DKj#7ne*c= ze$p0Y0|pGz%4>ck#CFFC>z5WS!~@o2;e`dyXq)ftc+h4Wd=<-&avnp!BG0SKmuZ&}@^D<{7z>r>QgG(LE`;Nr`}0i(uX4Bem)eK@9R zWqQNcgM!u8biJ$^I%xlsz7HfgJP zs*+4(?G=H34*mKmBbGX$HQ(=Th=SyHYF1g5&iU)quU)fT5A`!-Hl>ZTVZh3qPQ(?^ zHA#CBDAM-0o-` zDOsLKj}1a2q-pW$B%L)GR>BGK7crTB@1qZehvq#J)?f=}E#gXyEk_Q(4s|CSevGhA zz&mel@oo(jw;G)loHgYYT@A{wy)mAVp30+LQit`l%S(hYgXt{jfiz234Len=DPoV@130S{cv*QHB0ye}K1iG98gTea$qux#lPO_DpE*OrU#cwFCC|M)Mp z0E_wC;cvd<`3-hvUC3?yu@KDP$?<4c?xK6El2aZ>r`Hq|Kces7LFP123?RIu6 zI0EE52+vBEa-LLxNWp*L5&MNnXB-?3!>aVGIp@SN4jw(=y1YV09paRAJy)dPi52OX zgXoH#oln2w_;BQjI3~1n$MDq57sE3TEevlgdm9U8>bzg7sS|Z)dXY>M>D<~q4_lq zNo{b&SqZb~TZKmDEG*M-=TaT_YaAIxyVNT;L`u~bGTZvN4e zAc2UJ&=zRb_#lJ)j7-J$$C4|FEWBk|ih^-8R$QNU=EuUh=U=SyO_<<#;NCmJjsN~r zea*rzzZ7tj4RJXdtE9P&_v9&4m8tX0F_C`%y|-srtiFQ>4-FSz`f2Dm7ZXGs^_AFv z{OWrB5Us}q=PvvZMyr_~TzMw#j5E%~%0isMfb>)I9@m-Lb1*0|r24u|vwE@c&;RCc z!{pi!U*|9A+?BOQnh3_xw@j7jJ`b4h|=uNXe~XCLVSa2Fg=) zUN^r;dlD08Jhy!LD=*u#X2ioEd`_UR!(6na3m>ehh zpoG3x^J9L@;I_{*@P+6nFZ+zP<$o7vcF)3U%sX!Vm3}-(Mtr)1kF1<*;_7m?2_6%` z2bY--;v)=vAW#jY=La5Vo^zol;i>;lZ28P~_6p8fSAQarl-ONul!6ekhke*R;wbee zk|f4j-%|vGwosAKT#=QT^DNHNu9`^q73p4g>j$Lruii*&0Wo41Fw0R=g7dUjka-0T zqcu8Rm0{91t;ajaWGNNzQYem?2l2% zWEEj3l6A*6W~0X(6h8N*-w&Lu=R_$#c=^c>zpWi4#0NS&eQqnoIK_qG_xOi zP=DNP*0C5MlEJttyt6(U;8)9zk{`BkGJfi`lcB$>wl{kA=_kUx$L88@5wSLu!ZCFd zCZxG7KKrrzfjDT>7aqRP7{(~^_h)J4==j!ku{L4S$>*+(6G5X%?YVw_lByqGtmiH&evJ(&E>+uoP?o6apegPrc)a@Ay-SkFiIH_EG ziP_~agTdM`+gX7#mLSu&ce9+@Yl4u;CzXDn)r!tigEOsknW`X03=GpREOZR+iYdDlT$=3RuNG$OT&IoeK9n| z$#STW{VGc8*|h%eeG~#zNd#op@Asr=9CH3rCCSpj_oNe_OvMXAz5c}PS0OmTah*yKq2Hz*gOVy^u-=hVFYAiuW;EX~^$H^=wjC4i)n89+6leoolW?3|rLxA&CaYjN4 ziCpB4AJgK}5WKgPR_aCrA(?|PEU_NQZtGaO z6-Q6LiUm?SGyR46Vb$6-R$uD!fC}ijG~(nI@O`m5`t&K&!s*AI7$zM&5da(u>;=BI zjiuo94&k~h_iO!(bSaTVWD|{bj*~nQtBjAh?2~|5xooPuTnRHQ6g9i?5k zpy?Pa+B)mp3qohS6XFh{T=9J;b_wMo17D~?)-)yqD|Z_F+!ucz@7Kp`Mf*m4$Z+Eg zKMT);cdZshfdSa7zNd+(mx1rw>-k<2>Dd|Sq+7M>%`kTs-hJU6K96Aa4@4-5wHi8f zM3{<+Q7!=MgWVZd;yu#rhwcYGw*SYmv?)Y8GmR*~@L~ZirR00h^>VjqvV#i1kN*#u zGAbN$;-^V)~RW8#Vg}Lvoq|m^v-H+vpbWEhnJ#H4^L%$Fst6;S; z+*YMRipN0Xe8^gliFDiA9q$Sia^c88vTD-;XJjeyS)NodDo9A-K4t2OSgdqb7(4c0 z*@;KSKJ@E*!^=w+qkNar zU~$nQ+CAYNj3wXu_BC1%#g8~z^1bS67XzlN*U_?s)p0Tlan%`^w6%MKMV!Xn+?DO( zqlxt9Y*nK2iS#^EzCwoIt&GjT*t12QL5`$*5$Mr7pD)N&}d0b0oIHO;J|BcJ3!& zGW48q!nBjc#?^?N)cp1Rce$9FI|mZ3lIG+)x6$X1Be!;c00W0`k^@+|4e(Kuj}7O3 z>>^C?9FIYGXIQpuF@6+(jxWq+syZaqKuQ*XB+ii|M+a^re9^_9QkpBJxy>&plFYa? zM5=<~`9%}y*nWe7TYrD^Z@v+p#yRWGYi(55CkaffeSxzIZ`;A z24@g+EA_kXxY_Vw%R)sY&}zsd0{DT%*Z=%~=8`gzK=R6#~d+jyyHC>R54wmyT zyac-$ToCpfIZ8UXQv%z`zjj1RmZy_CCcDWd+)kcy9}(s4i~DMwpEG{b;Cz| zS6qdy;Exjzv%dG8|BW%~Y5N!e>AWovtG7|oO1-Yu8dMj@=>!~0jZo5D9| z-(_F7`tPXv9tlY742W8=0@Ij@_TtLj*j60p#b}(;>-b^zJ@K1Ot(Fn1s(=fP!+)$wYH+z# zn2$7QXitlSvT&2JiC@K}#=qu#PYyw;I41c%5rC@BGnA_}WQJ2LAE58q$ddWI!R>}k zWmX6vi_DNJ!{x26iJNBLqjPFdhojb#*89p!b}sAzB@w+HV}h8bnvMV+XDO-tD>EV~!% zjJZ(i&c=MwQ*r9|%rH)upXA7ZCrdV>*x)3P^|D|boHJ;tJqMU%zBbsDEELdkzo%XPfA+ov zZmX(Ve*+4lfJ};l0wPWUDjjo3ymDGE2>} z98w%W6hs^lMR7*Nc|a5tkxBjT^E_*>v-dgg`+ncYAnO0R;X7yVwb!)QI@5dB*=w(g z@5z#k?R+vjzxTdpdi1Y-=8Ivc?FM7{*NvrN^1U5(=6jA8g%La1l;iN?qp`NN>=-4a zdd+_e8Qz}7?B?J6=31n**4?DHJQ z%=BcZn&?{#zPCX7L}wcJ6jJMZ*T#BzrW+31R4FQ^nvPHa?IW|;Rp(uVS=l^7nS4*q zOtj4A%Iu0fMmd9@IT-tPcVAln!@5l%DGxkfsUk>yCm{~)p-o`25SdWWYVvHW4Y$dnl$hmY7D zOVb{z%(Tov%dD$6A?EQqC!e9Xn0Q7PHgyft7+py~bc{yg%C(gI>)-=ju`fkXR+Hy1Ap zGj4bwO!~{6;f>dj{n;m1M&Uk2SB2MnDx@I+$QkLQVj#WHld8DRUgzGKv91E7s3+0I zlZ28Hkam7?_`|<3wYvq>;GfO`)6BNU9(6ze2(I{EIFS)EUG9tQyM6oi7x)&$ zB5uYpz~vrE%51+}`uL+C`(&8=*dth8;7Tm9d5_+ge&%yuLUz%?flJ|XlG7i5f1W1V z@Ys%n0tYH=Tlc*HK3?j^!m-zR2WgblgvG|pKzhoWU_Gm|{V1L>R@&Wnv* z9Q+c2PDE1t%O7_e#pt-jCLZGi=>QWvo*~99UAkX>ZE5(AOKuCZ=FSg`-dG+s>$*`m z6R9P38n9{T+NncW@YY=vyKLJ_>0z(G`-$*}8)k>co_!TB zkwZ9iTP7Iroe!^LCjdTM^UM_=7+Q1M7 zi`p1tQJ9=UOW-A&WN60S3>YQVf~>oSs)S$LFnrGZX3%;FWbcD}J7^~6Ay`M2sZ}0&kb(3GSR?(KlJ7YK{jeiG8OH3re;6=eTcuf_a?6cM z3H%UdB3BEK8(u4zGKMofPdeocrC(tR@0%xHAAWuAPcVCN1znm78m_0?^xK$`K9YfS z;Bi(s1L?CANRMO{dzvNabCDGLBqY^1n{y;);vbBU0|xInOfw#D#Vl;DUCy-5Dq`qL zMhiwE+_jC~cCL+luNmp^&sYS~xeoX}Gnv{QGt#Hs!l9{{&XKt@Y-YbH9!Q6CM*62e zr$G9P2&7NPjC2OlU-#7RnN4$6xfIr!>V)gw?>>5O`E3?52i!0Lfqs11m*bL$>&Z2U zc|$q*v~Pr7SQnnp5;N|&Eu8gV-Ff&E|ue!Rf*=@rcGe-s}q+zlEYLtNKp zInu|w@0~uksl&84#s$drbg=JvBvj9P68SOe3=%$$Th2)T3IgeUERddaV4cN$pQ!oZ zmS0N^i&{YgH2g=X+SqWMUQ9n9fn!*&)=0l^3f4$JOMoJfKK`UgZjzGSqD-+%BRB2| z%QY}+li6B5wMP2Hi$LT$n@s-!6BU!C=)a;sfL%+IR9ysk@SvD>R^yhmZA+FSv|LE( z5~}o7{V0Jj*OUI@*T*NF`ZcV@y<=edC#C?u{L+iUy)*AZ`l=U!U#n}9LtWgahUXSx z&(;IC4g2hWP#B8yi@cwH>PekbQ}Fd8QhmKgE=R{mH2jQzo4vspV`?LSX zhfeovR=e9&f%G9m!)a%H3ubH+mM(h}*GB}>F^k%GbL-eP_FhO=HVO}kOdsC`KV&_S zJ{j30JdkdfM$0XW>&dT^nZaaS7D&Gx*Rd&+ZVW4NjrL+Z+%td{z9)v+s=n{7pI;nX zAbo7;hgtp0k#>F(KD^;FCC}nRALrr{l252<(3hkKVmS$BU12Kvg|EI6u0vXP+K1Pk z+G3oT;e*)#_%KbI{uyh4&BC!jdS2v`9Mgc-HHmVSkIdLdL&lw8Iep@0_TW7(Un9N# zHHvx~K97xh=Tr4QYRaT-#=(HOf`E9xgMFVklxy|%%y0@l33J^A6q27oPSLDQ9Vy%A z`dQsakRjEnCc20pcU66OoSIF`e4EuXF_&agw#6U!EG_9--=>*-R9D6Ku4~32SH$Yr zdcUjh`vRd-sjp{-ROm?naM>t5KUe!((zCuzGcKsEj_=DOKr1&M^^PD1`#$xQIn>uP!x2M!VzO-#!midn zKZ|2hrVx;WtnMQyP#RWh@Il&~O>;)Ml)NsSTqyvm{WWrP#;Dh~X~qTBdU^sF#oHO= zZ1eNUVG+@ki$Is)>ieEZcAqLyH_$V~5yOh_*$p_)k9Fz$)wOB5kCseT4AN~@0Fu!J zs`gj93o@^)uAZ&&eN`8i$-Vcve!fpVId*Nm20t>ay_TBq3Ac-n@yd_Ua!*7fFcwzV z?S1sU^u3Q7dklPa&-)siW^BEheCUwYP?;BrSsW{otk(DNa(sUN;P}4&wY0`E72|oo zgMIIot?uie_Zb!#n(qlCHxw6wYSq@wo=+k!Z*u*to-r?@mRgA};>TT8pT^Hnc5flm zs>Ju}GgMX2);~j)Ojk74#P`%?UEW6vrDLVuvC@+7`(jq`zn^$U7`SEs&CQY=ampXticSaIK5YWE@GbOh4*9*^(SIN{;^bI#K7l<=vV z(f2?`+F`ql!X%LK3Z%dI;tL3*--^kG2&Bh%=57T)wn)3S-a!uEfBP`{$elv>UR_*0 z>}|l=uw$P?;?+DhZ6sJW65;vW)`W9Lx&_js_Mqv6tj=3w2KfR!BW$HW&DV@(dM)fT@-aYp*C2MrNFyb>uD`CiAXfvrFNa&YcW7Kc+vT!cXS z@4tJkQoNIc_uJLMc)IVCp3as1umnUau~Fru!qqj}eTtQqMDrmtz?x$@zR^wqGU0_m9f?e5~iXvHrt z@vsD#FOI!8^DYi9I@tQ6s}o-2wg5BI|NAd@gqd?*46owLm(6g}ejBOVcSaz+1J-DG z^qE(~4==-)Fw0hi{qdCy1LX{`^Y{ORyPgQYyZ-+0#0#8}9>PaQZ5=+h|KKpNPxq*X zNp;=);PQ4<0lQpNwyf0R8T@&qc0U2B-Jh$Zc8_GXBa<2iIp;D$xmDs+YB(NQJGUIc zMb_)f@w|S-Cq9Fl*0|8O{{Vsh{?|Wgmf%ykSG1t zI7LBirbk)%){1Zy0=BnKnWQzbU56T7F^JJfrEzP<1eFOvP0KZ*bBi)5&dmkaWRCRIAL}wp^P$Ng}5e`BieMlBazX5^t zIUYzSa!qm0E+uhx`Bf4Rr0>1YL0Z4$UZfaiz@9U>om)=h9P9Nt9s@l#BOQVCZkUn& zJZ7XL@O|awmlh8NHqu%>od@@nu^%!S?1Mk*$@U#cbu%4n**x;_Y_<6y!NNY{W=9l{ zHKum&*MIBKVS^1c)BeZ*{XNW#T~_uj=(g8B7F zds1I0zKomI%SaW(2ONIk^;TTlnX+3duA7fG$2aW_LcEp=1L;R0kiJQutt+TbolD8< zM9-zMozt+L>}ajpt#cryt&u(@OuXzYaaJIG=ssceVOS%brIvjKSVgF|#ic@HFk-qc zj>Y}#X_sS0`bDVa7|xd%PE~;w=tZR&9^_Lk&bJCTIqXffDvq}egDw6r*l5E};gr+A zf%TKNhuUrR!Or==I1B5G-yhecahXn+q&Ua=`!))M^CP7JSYL}D?##i5BYbGT4<7?@ z&GoXKOpZ%C`Lusk`gQ(b;Mw*Yq!79vKR~!n4mBZO3Z#Equ%&Olsf-;LFp#cmsq36H zf0`klr7GbgtiC4Wt{UjWKz}EVxmpPGPs*_rk|t`-MJz`{SW^VVHu9 zBm8*jMSO{zY)>wx2TgX|@h69!hmX`3)P(--{GW&W@0$tRydG&x9;q4^)1lmNbX7fb z9L`ARHL-MG%n|C;6TjG*3=IH1SN`Ou4vQL)S;H(;9c@0cYM(Qz)d@X0p%7gP8+pCj z5^~**Q`N|e*eo^_el1;!t<6+Ls*_}ixd)wI!*2LK90R9sKO)=1YH-`i7PE~}+_ zb2eRTdKRN}&n3<-e@*lxt#e!>drFD5;Cm>6W$Plhs9aRc^$p3XQ@fPJ+2uQCqrG!z>3p*LmSZ>K)*Re5@_j9CwWsF12LkUaK3X++ zo}#3YCz}>{wW17C6)0#9%TK1 zTtC&_Nu`b)nAbm`zK0_iu<^1keDAV~eZ}|Xqp`qhw&I?sIj%reI<}kT(o&}z%B3XE zF26M#NaY-=_|DNKRr_1tc8zR5pm*PJ_8H#|y*KF<+T+~@i}kofw(TxqGSC8oPf{^h zOIvbeNj%v)=dwS9e@wnEEYfdzLh@o-5VA?P?%|{(k45_VU1IwA9IwnX_1M!!il8KZ z2`AN3Z>q7kNbO$IJ;!04g?e~hfCig-`Wjv0;5bPRgW#KQz6IWoe@sDizE5E=?`FIw znu#E~&)zkmIXxlPULWt*wi>t{CioqQQEwdZ-(`0mSQq@NzwNGBa<4WECmO*nELavLd-J{*DcLl{W!Dfyg{ z&aAy2NYC+2Qg!QNt-_P8saD3>?W2Rj-k%&6HelSV+*PLq48I^2_NarFf&Lr==?-d( zADx?Q(LD^=bDOZwCr4tr#CG9{+0TYMuA3bmy!~;km7XTPI8D;4_W5~q45SYjyoIC3 zJ&t+Bt*MtytbitrZFR9yefW5e5e z*!l$J`Iw;b?3p)Jg&CK|a4fx>5^!7po&zZJ; z`oqtMmliGwy%0$E)b2}`t_(Nd_jEY#+F6*PzDYP@_ie)gyKH5m!Qm>L)W5m*J_NKE z>tsA~^tPHw-@8W_XloLDOFj97&9)te_4Ookqv3d++G*Gu0t4xvKYN1KNH>1Q(Ryv0 z4}Fzl+30%HM@;#o9x>ovv-n5EGx%<@yiH29H1|)$oS6} z{#L2VnZAU@tYnnVg@JTlR1Pg>q+^|He3`=_uS+K-(|Dh9`Zx78SJ!Sm0@u*~%b$K1 z?wCGRYvksmm#}zIr8Itx_N9}*8c5d;Gu!XFV;Xe(b$AY6wv_`fqSS_VVDR?a-}^6{ zkq!Y&$Mc{6?;Bbpy^NVjmjQi@)SPt!tz?)AY;i_91L;hU%-PUf7o21FKzi99t}-E8W7YXj+q zRmkE|1v}A~vW4!@P967ApPVLIu+Y_Xj!ht%pJ-oj1wC23@jBN?XCNJ^-SMw$&pt}+ zz9$0d(waytMMD(;q(IyoPo+DG-QG*mNQ`|BMP1EApdYuu@<4hniCp;LmrTLloL}A| zoF&IG7{_Qer*&MX$j=F<&--#Y4!1qGiFZJ1@(sc!NcVKYmrf1+k;04iS&94a&wl(L zItJgyJ-N&+*C`);s^gG|HozK1NGtxaPaK0UAGg4IQEax0on35W7b*WCA9f1N?_J@E031=5#kDF~*afA-m@3K~*#n69ghGT?gDK`HVN zJK|_O_A5q-1C}YrET)P!$2kF zx$%-XiI(F{izlklnr%_0*L~{$5v*OWGC`XcfDGh zx@zQ+v@f@a<9bS^k|ZiYghX8)C;Ew!>xp_=r!vWM8I!B zPbg}`0eWkFZ(8KzH$BSQm0QGco7Q3jx1mkR2ZboPO##X^uzKsBpUaw+TPDgZVKz-i zlPN)6a>+S8Mi})Z9~RAgAutxFEFi^w)O#G$_KAC{-yddWulX8SvP{NIRXZjeT5b`V&L^vb#0peKCIQV!ZD6Bhf>Q_){5^TB|V`g4^yfn7rv+5eEgI^fV>;xYRb+v##&Wo}@_cBJ$Cw zM;ngbdQvU*TCLXiBm#a5$7t!ihm_X%-n6LIwX9vaMJ?B^@9XK>yzgBj-<##itz6Ho zx9Ass`OP1Mo(NVm8=ySKVK-ybn&;=1Y$~hJzh!%RAblYM>CO3`x}97E(l@ao@kCL{ zdFJCpJvQBncBOMVKi&+@P_57E#y6#QkK&4*VHq`n#CI6mUgsXY=$74zk(T?3-srsN zyN}J0xsc2MjT|)^@9w*4BEj6pA63TF=aK!C??Y^S5|?dUj`3$!TE1r=ig!-^`VGMQ ztWKD~(oV9OX^|5gIGKvG)1Q87o&xHeOzJ2Ikv_3PgiFJ@!(KzgPD z^h&KBNKMb|t9t$X+I5+-cjSqh{RmzK@%A#P`Nwb-A0Pd=%zzQ^G^hOwU-9@cBW z9&|QYg?84|X&{L>A4G4B#3L_+eq!nA)AEtMr2+qHmz5D{gkd69f-T6g#I$ zY;6V7k=lLH%RcK`jOAO7m4$o5R}8AD2I7rch3BA`O?BW!#JJLO(KS zN6l7emfe|{@W}VIui+SFVUYcV6Hf~R@o`8;WYbu*@YQg^uYaz|M4aH%$oHgmy-nA& zH7{E`VUfa%Y5n1hbhk%?{ktDX-wAOV!O@4!%x4W)a|pMoF7g)bZ9temjR(qkIrBK zop2)kecGepSO1(9URjKQ83Z4*&kn-tvJt-AiF(L<=}ErO)%9e*bS?B0M0%%-76z;% znoN<}{gox5oZ3C!8vG(BG(SCP6Q{2jPCUWTb&VGXw-`f(WeVd&tjv(wHvGmIX)9|8cF!3d-aFq3ZD)SGm&=Rbio{-~z{>0`$skbWd4 zVH}NeqQwDF=1ZH?%3)W;`PWf>0eSwL4}=7pdJbV^M+h#~y+Wjj=xjudeSYp202# zkoVqioC3%9Vhv`dc4sPfDKA;9vH}X}jB3=op6?Y%$6CcqMcfS^DKJH|QoCP{)b98? z$_g1}Ck>lXg!<(qTNii?j-4&H?5}b2g^>cqL;^mq93taJ%ArDD@CzTt_ydRK;Rk1H z2In)FVV_*LNf&DQn1=oDP2glb`WH5O0iMcV5 zW$L@{DU(BJ=zAhGvMJ1B$EdhK2QU&Yf^b|TU8&vUjC3Fp*Yq@eZgqmtCOlYZ1J+r< zCp$w0*BWEdP86fWJi?D$MU%@gR^`<0O`%&)TO)nX!?8v>=?j^xo1UaJuHH!iAT(^$ zL3B~i0w3MBE)LOP5w`UYZLtCmR4ldoA5kY|EMzTw0@>hyZUi(WR0-0#Ll(x{wp0rV>#3Ftlage&N%{ei4~Gw$g0$B}*2E zU;Ow#6(E+3vg4tFNy+Ufl_^@{O$QEb_y}8ip(`HR`QwB$%CEWdZ-MKIGtHGsL1Rs~ z2~!B|f;3cJyLLxMn{dVDmxR0Tx(y$g;KQhBQ_k8Rq(FL1?T&{zULSewFZ3kaXjASs z!I$7encnJZI{deDWyVf_N9i=DaZQQl1GJJ4(l+ExX@=e(C8T`Q07pYIp zqe{Sai$LS3v{a@K3qLwXfM`R?020xOQyinQT^yrmzl{L;>#r@ujC3KIo1GB-Zd1QE zk%e^PF=`D#B*-9zo~8hR!cAIe7}C>FIi92^nE-(Pq$k?M5s-Um)y%cjb)}vxt9Boa zG@x56*L#vv8+y`HIu}4wKhksb?~U)HQZ&Bo8QUCO zF;a9juqnxeChc2!%_ohFrwvkca+xsZ>L6IVH&-Q!idy3bE zkczlsnePcM*^~_fy?4H+2Gq6D`Gh{H`F`?!W>Yg^G`HE@L2grFqbr^F9CPHMol_9W z`?$wB-Qb!pERn_Y9)MNzy*RiQ_FO?8kgxl_b)!Gildwkjd!pe_hd(OuN-F%i*HVpB z46#YR-wN*!etO3D!sd7n(H`%rYs8Zz${~wnQ!2m$D66h#1eF*Ss8*4#z(40N7ivbj z1=4xFib`t74e^^WBfV!h@#CKfdvZp4cLdVem4;yADL2X~Y>Kwolbs+^KQ_)^`$$9} zd3u3<)brfGUlgvKiZ#-S#y`=ZN+GdM65X>@aRk6nl`lkR#7<(@Qpf<3Ob6P+_vBO1 z1O(2zYZA!OpZUBdYf#U}=R6wzcIh8AiDAWZW>Z8VBhvAYMe?z6p#otd9^QR%GQ=KZ z_6a*8hQNU2dYGJNbb8w?y;oq??{m*Q6K=zMaV|5vfD^eSA{RiWO^PLKj|mT7`Pc8@ zc*e4Z$XLig`mdGRojMqe`<{FlNFS;h>4#yAJrPL98tGUnkdsIjBSS8WsANbr&8G5w z(t*RXV;+0RY3@Cg>p`3B_R+y%>`|DJj<}WyG8xv0MiX;~``)~*u@Dr;=Dp$tx{H4} z0fF@Uq;tFV+lGBUF*1xeU@&H-cMA)iUlgvpa9Viij=5pklI0-bc%n>Iv$nvojUC1D z@Kb8{dTXQ?iWEmBID?>po7h9f4m7bZ1+1WRY4i3yZ9BA9-?ChvXx=+B0ocHRXabi5S)cG*SYxu>7j#8Hy- zed)9d&Kj}H@EfXnmoQ%F{1PvMw;=2rlSM|eSx zYCP{h45ViUtXF;a1L<)_I-Qd_)KATNI?-Mby?P2tj89tr1MIWsKbnhjun z`~gG4Dfs$jy>`AjMFU-ML~31xs)Dhd>q!tVe%UoLyuj4%XH5vty^61399dULZ-@#T zYuB|Iy9z_`RI<~8ltpPlPsekq**)94ii?@8;{t&dJx~7{0_g}mthZi!jIjy9lwTl? z`b}XWW-v-WXD*JW=Qf&=?tye$BmHLFR3=@2O&SvL83bYqm7Ru-&@4vY@cwYYFSSm} z{Fh!VOy|mSrqw$LT+m)4aMAi4(!%#bN_YnO@4J_Q^owj(W+}ZfsA)&)8Etx|W~7hC zMZ67CyRR&-k=_cM`jE-iS);1rYos5AL@F#B++%}B>b1alBbx00x8e9taDNk>#j zsPB85k7bvew{}z)0nJ8T6LuuCcUf|$#nt=SYy-2 zkh=O$zdt`bkJ;oakX1vaa-1?N0Uv0(VMcl{q?z6lUnvg2L)I33`wPY!6a(r!#`tC8 zQ%}y*#~pmI(mKUtx`w_t7O(@xQaqn#dTNdIul_3Z>>UH?8c60L*))2^Oc8xU#0ZcO zHWOXly^Uso{*vv0N3?m85l9(!ddA+Qi(_=dtdOOnBQ)U39v=I9~{c#u78YTR=E z#=^ICRfwIYrw7vehhvWY0*-wI(h-_Ko9Ig{}^Tg}1c9>_faIF%x zLwfs+bOho#qhG1rZ@bw7>72puh}rpMT-;7Pvi$hswTJ}}1FFSd&Pd-2_cJaB!9e;l z1k!K1;Tq^V4L|0d2A=baB-zeYXp3vjAY=m>wfh(a)A<$iOZe(^F0x)c0Uz+*NL<>1 z*Pp?IcMjcq_S6qQekFbN6_V!0ca(*HWoMo(+9ZZSDR;w4(SB1gO0~3ET=jiRV^WooA@r za5Z|?7_WhzQZ{)dHfwgSC)w7p1}uMu5<(4@Q~5rM@Mg)T^<{j}e9sYbc#TSK(<%LN#$~dt zvexv(nF8kG-%wBXSI&Ft*UIPT!VFRMdOIIqHtYh;bZhQf>QwI+-@8FEgoZY?Cp6c* zG}sKts@o>vfEG^6(26dvI1O>?@$hH8ciZK6veDjqiuo}_}hs>lH?kjN{5KTI!eN}wzjR%lXz~057IMKHp-&p^`A?~x%p?PVvY2^TZK*?H>{&d%f8QvsFUmMaDO&YhX!L<=Um1>`UIqQ=lf9~ zQI(ph-Ft)+k3b+D0kvK|HmQ4j>Dio4Yh~fBoR@bm(kKFR-`kAzNfAxTqh7YD&MgvE zo}X(ik<-(ElIkjy_O2S=i*xBdX15(Ma9b@!Iu}9oyD-_}HoULavYpD*NOGsj<=A;` zy{JP^yz&kkz}MX{DP&{3YuT*#7NO6U{jhF&KV&oQg9$AgDqC$6CJ-<)EK|HcgzSxX z-#J~`1NmOgi%VoIVLPl<{Z$0gX^3TUM!Ev&ejk-uY0R3Dj(2k7kh;4&-kCFy&Kc>9 zdAt_aNG}cx7g)0gKPZu&pA-Kos_W{Hal0IVHPVmRDRk}CIa#hapPV{U@#aO=EChL7 z0Ky_raI?9uk=_RHj5==AK8!nVk1zB@in1;-;kI%wjP5GLE;*gXw#wkkTJ0Z$e8<+AN@NflfG259Alwtogwr3 zL^IH4G6&l#1y#}Z`{;*(^k|YsyLAyrKUFi*sX=lSYjR|Sx+{srk}$2E4q0B*QxP3D zOR)C&)pyPfSKRiP)9slCF&bs9f#w`?T8uaJ4=Xe+K@rcdZ0c)e5 z@RPVkI*}veT$a-|+-G#eaoPf0R2p(9I$DKFB$kS-1(c-E#(!c*rr7o_DX|C-yt(qWTBb_tSi$MDI|HPUX z57ity&B^dSm*FxU&eZPvF||9^u;-Un_xOx-q;@ARi|?ab4OrQx2QED9Aw@I4tU8J_ z(tBWybj;wc8%VG4$eS+nup>Ve#vsK%Q=Jg@=pzs40fsjS7T3w~3m7``^NFe0nQ?#t zIi*0$T7U1 zeYnP9CrAYI8mU0~{YdTp*SJPHQ@eX0-GpcxIb;y8IfD9hP0#l3k?TZI51aTk4_4S5p zuf+NFV3FEA*Ha?{8*<=M9mAN~9T`B_{@bM&Vr?p90Ku1%emwL17`!6_>0c=a(l1bI zcPbTiDh@1OH#Sp%e%!%_hc1|f&2&b0O`nSEe!W0CCHuI@uSx3)jlc&yOpnzbGt%c_ zjdW(hm^%4J&G;tPs+Y11(sOM5F~=F{{VIWUE(_9H-}CEdrgq;I_YtPr=RJtCzUSlG zwq!9L+97(w4Lj-n#A_t`e<)R4fTwuO5)`L!G=j@3Ay;MA zMKTJavP5>OSIGs;HuY$-?o`bfHKRhpZ=sg4YXLKLJ596lvjMps9F#b6R!_4=XeGGomfN|6z(zJ8x4nZLx8_>v z9d-6Dvrbn-kjr!VLaZ>V@jZ~&^|iFFp4q70kG{{;tF2}Oa@*r)UFp7A<9i}HU4De%c}J^gh{O^N@A3?2+coulOL|mP$VHdy z8Kd{(^K+qWt|x##zM{WTC8HyX`=SDFL|uZnipCXd#`iS`yDL?aW(~1JKhIMyE$QK? zQ3WTf-DixdDpcDw#B~rdb~WgY0Ij0Qkm`tS#JUFVv>Ce^oJIiBu#iWiQgbZ@qSG~^ zDGo>=^uhb%uOEA2*lD{#pp>%A;W+0@|f_GC70?SK)OqnGNy&AWT48Hda{_bLZ$)3qWO!%AFxI`2ICHT~?zKfpP%02tJwo}Pe4MUw?wbi_9On?0TOhF;wZiB}qq|ff%{TF}KRo{ zd;#+`zHV6`>tcNS=v~9MII%nP1g1RvuR?)yO}u*YosHP{&@t_xsMz(8nZ!5M+0wBlw2(?MK&vSvr+Vlk~}z5 zmw&t|tXzThM-bEz8BuHKDb09LHc#?T9eV--591UV;>q&YOaG|g#xqE>O$K%=H7hwS z1L=DsfO-hlNau<45L3J3rZVw{e~QNOsMk@)9Ip!xXYRd)ndDdg{Za%PZo-V=x#C@K zoYZ5_z4i?!pZX1bb;dToY`f?W=PLkT1SlXaFJ{ws!kORyp{(<;p?Urx_{Ib};t`l;7-Krl%N;*;6a^>mw7ONtVNkMQ1xr6Nd*8EU7yfFADHi(@C6}fq)!c# zF8d#G>AFcw?LPiw;YCJz=;0Wxm@IBv(oEyyf0RuP z&ESS%b;3zwzSr=?%&wJXJq_0-kUsARR~SZmaD18X*<@g}9kO4%g9jUaWMSuQrUR;O z7lYdQ!20^@ucvf9Cw=*A`iO*LIV znxQNWv>`?C8phP_U;fIsL}N43ncAIeq_fZ?q&EEs*<{mA!*G0w$<*u{;|I<2oRN-e zGMDtoXQZ3wNI?!PQKz5iz+4aK zCsg9#U*69jN_!zo1|N2PM*1YAcIWK*@{II&Zx?&XSz*UD(wT)rnLr{&l5aHR$9o7%I@X<^6Pa$t+UnjTOn{2>y4)Sn2xQ6lRO~SoldcNnrcbm3C&z60!0bb@sW60U9E^L(namUpfzX0lLjDs1@i)!@7re(TRCUQ6Gz^WJUR(Dxj<-8I&l?&a$KaXP1gUrRQvApqcm<9ph|+{1DD7-Nm5aZtHC4!UX^vLKO6 z(BN9?G-RX1B*7ZGQIh_xP;sML=qeLr}Doxe*?9cd#HurtGUzh+j`FUS- z7Zq?=d*?mXS^M`<4N`hqEgSzj_C4jh^p<>Y7IthB0`ji--ekBJ%|=mAh+G%GZ~0o9 ztkF zq7E4E94y-6`Xn&B_`IQ>e3L`$K6)-@q+f9}0_m?akj{SNms7F6DQ2X9=|}|9cPa?J#$D4DRDAT|2f*Fs+c?|2pP)eJd*1D^-ucjBBQ@!PSxMW1@pI2UqxZgC%Y3<~lP3?*P~RO8Naq^q zRH6u^pL;eiTu+nDHtoqkI^P2wpc(0w+Wk(vPfCGw)3kOR&=kJaF-k^to}qG2C0}Up z8ZM8~?RV`Lc0KqbVXGbc$Xl`3c3?}jO;CzqHd>&Nh3mJ@4wV-jCaeAICZ-eoej#fgDLAXWSJ8-(6l_6;YU z@^!sKZ<0`kux5&39fmtTeu)r&F-6NfQc};)9YkE!5@1 zK>BJ}@e2p;7*0JLfpqwTHv$#Zc~V)iin%gB5DgN&ZwI22U~dPQeldms01)*_L_t(+ z#6f!{UINd>It=Gtbx)Y~z_XZv*Dh??vvXL0Kzhga?ZT+-dxx)oa@WuW0d`W^Ngcwy zb6*OV-}-2{25UD^lc57Q4WAsdLpWsQ0O_3cL?3~r z`!MIRhYdNZW8)`ro3J%-8Av}Af%LX9kUkj!m5G>@UFZqScDUdk^3fx;t^|YcE8kiH zoNEGc=V10Wm0?;Io}|=^HyqlH7i#Ks>Q}xE90PJair@U|XG)>W;1}^lgMCo}Ez`k# z>w9sHbaXJt@t;~FeFia6q@lKKxlPH7g}vOCju@!`2s#Umfn4b_;sFn69ETG99Ol zd|%8+#|I8v)5cS~^8*J4(j$vxQ;11pvR=2&sNMI{jQJ7BI6#7Xq2CP?uF{u?WJGM1 zhBmF^d#5o;CR;q>fVpFz_nRE9x84>XU33h`eD1`s2fi9(+GQS0S6^`%j^`VYlKHWy ziAfM2XO{DWwz(I`pT{I0h=qwMb2&VK-odd>p5p5r z+#A1aWP(T=J&6?vWE_#vi$3yG0e@zb;o=Byy#8{SbN|#Z@h?A?p4~7becNG{+MN%v zel64ZuyGdR-4+6(O!9t*1}HE})&bo5s3!|k7Zs=ksN3}98tF49{So@IZGEz-;}MzU z;34smmFyo`5fxygXN84iIPb;NAON|Z1c)N;8ANZV%mrNQoGGCeEqpb+g+RC|%dOeN z^(0@NPh=%o_;M2g+ta`HZ+L(oq@XKj1z-5vU*RK?doXi(5z)$eQiYmpKG_k|a9z)> z25f`t>w#gHQM-kX9X8Z@;)HrHTCoX&QPScItVk;8AxYp zcmFZ*#vAb=HV)c#GE&pC&lX#Tkx2bDj)8PsL!X>CSAldse7?0Z+8zM!KoGx#h3{z- zv{%*l{77KT*!{vDd+x3EwV2wSf%H4Erqy!@cB@1^S*Nb9C)@7(4G`=fK5{n&{`n>8 zbNJxsnWvw`G7+zaPF*_b9{UDnrZb(`D+^u@&pb5`v(gvq!wmZ&V7f~Hg~0c$`~K9v`OZ6UY3=qxE*QGq*iZf%vI#2A6T!0n0+F!D!>LUoI)uc% zQ5PykW>JKCUC)9_JfS&oTe_Ae`J^^!IK+*w3*q@hAmLJE^`4<3SMZM4LGlMb+OyGp zR5G!trzgoHi=rZxvB~wM5W(x%lr~ZU0&%>_TA?Qq$a5{-MA~u>ipG^5U1oIafxlQdFXkEE4)~@eOXX(L>HCuH) z@tRLWlIgg`o_ex~AN!oA!>}igz(obH0@r}ep7-P-0cCmQnqSqV8x-KPlK2-gjLyZg zkHvM3tZVf|N8@WgITRe(FdI0ttT&Ecx=M5;%Y83;%8PVrvkrjk>9Ey5@5#aLPqL>q zi&3yiU5jfzo0Pvc&nL1h#>CN5UdfAsxt?gOqVLHcV=QElll{>(Y)Gmaly0T4sX76p zF91xor``O1PZ~$$-uU=2%C`5qgu7;x>EUgZrBJo^nkOZtM8ohLp}twxh11i)3r*AvjlPVQDb7e7E#jWQSyyNX9{4nLj^Vb;V!8gR}1oixw>;35rqi zz12NNy|~oeZItHd)hq4ToFvJ>NkN*r`t#zW?@N$ZnXR744#<3VphEM2-iPGc#&ZYEc#PJ2hTVz1)_k7W_ay++Q8%A%KTjdbo+q_DAI+f?@>#^C;5mz~YNe+IqV zlq&I9A2wpQ@M%mwCGDa`uj-?bZuo%a*=Od33D;bqS?aPw)U!K20Al9ij~#h5-kWyE zEcBPd{Y?LkOu36=hKn>@*Eac{KH^{T{@Dj5-^V*O7`UG7c7EJ*Mmqo2w9rl;2GUo< ziWW#821>faw>(+kWPr@&>WYpt2oC}8W6e%@;0eeU`SH)N7^HaoBMv zzgEjm9O@bsqEr^$lrV@IJ=rPMTu%b5kfU3HYovev>3eki&B*=T8JA+q;p+dPquwLd+#$Y z?6dztN?%JmaV_$RSW}jP8}}vI$oSFs+heBW*!>O)`{T%9Px=`r01)+F*Epn zDbm8f&48DoiG;qlaXGjt{Og(jA-TNCa+cnYe()WohF^)By89l2RC1fi``Hv<&?>_9P7G=)J3h4ntMo)b``lk5Shm-;*Tw zJ^R|?cpLw*qx2ERRs$H!ZWE^A3o*`;zvu2d*4X!r^`vyH=d)p#a5Pf87lCvP$&XEq z7d}j9Fd*#bK*ZQBLObNeZD!Xiq37L2-RN|^1#HP{FKdnTNtZFTdz-*D(zhM9PZ)jJ z$wuK~z)*S=I)H%J7#mo6qPp4U zeXtw`g3bqxN6M;=6uf=lfmz|N7hi}Ei7aSc@QxficI+7X;fu+SA9bvGlv~9NALFwUl#S$YO5cr>P%|G-2%#S3P)`<5J zW;@{z#TCm}YOO8Zn<&8blrVBE+a&p32;4-SP$|%J8X;I85M%=q#X`B%OEc25@kDD0 zt8CLq7-f;9dM!2IqlcaRV8J&^Z`I5lKE%7Y+ zBNG#W20PT?j+QW)221n>l0-y!q;sjRC)Ux+YN;J+If1UfNix9pOM;g+)?#X^m z!Oq0JI-WSnhI$g8IJxhQTjE)$BSk0=65%(yM_9XcHcdQh^|bM1B8;(b(NX9TVHr0; zivGw%9C>`P!`Nf@LGpdnHR_)HTmUfc%nAahwjZbDVg`tY%XTFB!26yq#tR;f(l*iE z@;zY1fkA{=Dz=Igu`}9>I4ojJ3=u_8#8E450CG|0IcLCrbgt5Q-^lkBfzk=E%6MGY zhQ5!wu8Qv|g1^<@tMlG1?t58+<5(@<=XOkfHD^b^Wj1wtlB%vvGo>2&UOtMf{g@Iz z+Ei~AO{d}-Rj8FQHxy}MPDeG^O#H7zxI?lj; zeK#z%cJS_F!x8%)6bAI^XNJtS)!!sExUL+9tLw;TGmw6xGcj~- zfhrs)O+D7he%?oUt%^nGcoG4q6pMRrHYpS6_LvcV7=nacN1X3PxP0FA*Itda%I~uY zC7jtKlEgn=r3EiejHoApb>HvQ=wsxxaSzNGKjM?eXr?(Qd2nLPt$3d|{nnfHPMR|O zO3t{+_6Ve(jzBsC@tj1$)b8h>dsfuP>?J+o@xeg)Fiaw`Kswe)f8m8NDJ!Yj2qXQX>9&Nvumft}gYVAc>jBjMSW@!({=EJN_gsZz)dFqbXd6 zAo`3uZwt)uoBO_RzX8bFdw|~O@?Gv+Ed4nV6MOE*@&m=Bs6q$7i<>U#C}>VkX%Tge zev2S-Qy_imng`O!@+Uv}zA~M@o2lLZ7XSeN|4I-EZ2$m307*naRP4P6++Rm^COqoB zSjDz17r9%uWy`kQgnPjT3>Zi-2_XcMA890zw!nr>Hk;os-)1*tzYR_TDG(qbABiCZ zj63cXciGs+y$Gjsp%oqOjF+lG{0 z!?bnl*7S)RSEa36wxq3_H>E9`Hm1!RUrkqh;sa^R#tl1-FRZ9%;*v6lNX(oPMfz++HK-kSlEXD%uaWlv`j802Jx;8@$q#46LSHw1;DUEeMnr=c7-ZhYEn?|swHzV8>) z;YS>mrc9XzeB08iudYjX-*tPs@!G4?9k<=IeNa$(^f3$4Id6VjI_=DJ)y8EnElJm0 zb!qy~Z+tDix_*6XbZeNOI&E4ydEsg4EXW*u$lNq+*s%1_gZHOvuem&3edV{kQ@A&W z4NrT`-Y31|UGGh&pLJduJ9b=pWzEa!o8S1?^xdnzlUA-+(cysMBZj9_PCYxFb?#fz z{Nqkk{ez3{0sm#`I@qXFcORwn8^8Tu(#dZ+Jx!iGMQ!@W&;M1r?UozTvZYH59|e`V z$KD(lJk9f{(WBA{C!Uht^7eP9c}E=spTC-Jy#DHR)#cwxkNx1`CbO5?I0qX0Bj(Ld z=bU#zIupJdHhfsR=k7aXhiy^AdgvFqZPa;pL;Q}IcTD=wuY5Gkm@zZ0T)84W0RMjR z?=D6>mep!q!cT3`=<(ymk3-+NAid|kzmTTxHZ5)3up!-k+l}eU?|d^o^!-K6zEf#q zj7N_ilSYmhl{RkLkT!C@()5`FlgHDv=`+%V2@}(X4X>sZ%a^6in>R~Sx8@CpkKXk& zzmU#2`@FR8esjP#EZuzLwdvZczmx91^Y#J6z5>}T+hMdx7(0G)df&(YCe4_Aph<6w z_P}|{Hu;+-f|pbqKcyd9nZ32)ERxZY17j&m{ZO?`~0-$ti96k5hK#(O`FlLmZIO@lZQfcryH)lD&2nTO=(YJqd@ud|=l-t{ zr|Z9arTc(ZqfM3HD-6tv2Ytp`WBg{wD5FP>*0pTmDQBiR2ONa? zd40O(%1hJtZo4`C@Q2T2OqS`yXa;q%1$AOHR@>3g@|lwMl07-d6h zD4>Hv?8lLi6*8~#lGmbA{J|{FQWxaLIe5%Q@e`T0r7idk`0^_J7Q}x_#%B3^Y#7bd z(7Y9TLT|1daHcjG8n+`%wpt9uE~JK%c73}=?fQ1vl!Z~$wisGPWA93Az-ktt9>cNS zw8GN{-4jHGvq<;P4Hhf3nMeny{&pJd-F`#$7jHM2+}nfRu5Uo-BH!jWM3qll46UNE zcO_a?*CW)wkz&6+_}i=R)kXzNmEB_Bj!a9-V2yV1Y1=|uWxH$$D8+=@7DKC;*?JFR zV`(2lPaB{3x)Li5A)JkpFu)|)rh%-khl=gh_YkYd-C|!=cguDd?I1Lz(4@ZOsmZNU zca8K76KY!wtzu?VCd7=|_eecVyaGpFgh3s`;2<=p0hB8;BK5Jmv-P~X6&=NHACnz^ z??Pybqe*>Z-)yqCKm1p#3R)-5(uRsZ*g~wTva5P9l!~AXP3);RG!`3Ob7X7b>_TdY zw(BWgTWi<1%cd-hqP9Cj!)7PXc7&jQSI52y&`X5H6wR|z-(!e${(f$Iwxy;~T^kII zE&g_~iwnDu8dB~01_W@n>)T~h7Fbc+VrUhOy(_T+t66~hor-<7SK(}0=v~UPy;<5d zJ0ODo<&BiGZgVNIQ*)2h#b_5&L%3bvw$QF`mrYsa(-uRkXzX2y4Oq>ByCtmDl@oB! zWZpq@)35*R2hvdoABHL_@0CmgJzKa)E2R#}#(k*ZGd-XE+CQalTzh$1g?rabGjXr; zfZ6+|J*Ur1SKo1ST8DcKOfzbfP~Pv<>zOM#QfnzWu+$(HX! zg-l8pU-ISj%^R<=xoa@@A{rn=pW!N1GU`R+;eGJAhaZ*Rbjlg&INWm@jy5fR@%eP` z-MHs;`M1;BwJ+y;wI*mSj5{~hzNQ_)hWg3eSdTb7O`b9(t-`&xn{T)_-Ez~lxS#hz#!ab_qekkU&c}ZL(~upGHI8-Z zf&1@CpS#%ZlaiT8>&Wol+OZ2x)V;5%xQEDlgm>b8;k8#^o>miEjvb|&Z7OwbI(Z`z zS*b7fS-&k!+jB~qd(xbA?gx)g!yC3je&^2r^5@@4w_bX`lr)iq-oVD%X6nixY%X@n zJB~>wzGYrI;K;q3!d*)g3I#2On(Vq)zO*KN@zdW)tCp_m!W_8UF(s=jYm9s2V{N{- z$3hjGefF7?-u907q{ELqI!&B3DQ()cDJ{qS@&)1ManHJXJfTvoMGwmqS+{O&T32DBtkv2 zmaS>eX%o@~CmxtSaL(ar!k95>1QsARq2sMs^J-f3G_ z^rQFRUA?ClPT6WyR#+XULk23J@^d>lg;^_Js20*=zzx%YG-kGMIND@Ck*JZDn`NU` zN2wMFBernbk1wm5F>{Y}(#fZ$3xD?gX(sY?GQ}yvh0zCBL+$ILJg#&2Z_zCII!;VO&pZVr= z!bzvt!wrZn7t*=Nebp70LY{3P8q1Er0}xz1;llHNa}E$rF2LLXjNe~$pDtvZw`|rz z@fa+y@S^pW3*N2v@uIaE6V(-1n7#hmE7FsX{Q&Z8rKN5@W$i^+fI9VzbJE^>?4t04!&uziv~eS7!_o*WqOncmCr(IfUVa&iQ?Kfw6hlriwnO5`;vo*VJhECy z=OoF84Q|3h`qgOrqd#~^J{?T#IW|V%hr>wV8ODc2+$K-_p>hTm{Z2joZ29NDd+)-< z`?7TB?KjJhh7OU1&$$@Abqmqkc-l4``F89fH6Dx7`yX&H7SaA|+H=pna3R=;#kuG3 zL*g^(c`P*151imfV6q&8#csxC{o1v~o*YEq03rTA77LSaMZAu|A{*QA0v7G=!NVL^ zVgYaUsufzu(&9IGxq!zQPr?HZyYD^={3Fxz&p#uXZClwx4L{pOSBxDyKFvS&__WWy zbMOGhn)HK*A55!Ou9QyVrd}?Fa`9};*s)rGeAmzXd|GhALOfhDHEo4oF8}t|({^9Hm74JnOFYhPZTp8Ec6>H2SeR`#Y&pOp?e>a=vy z`5#7;Fp9z~+CF;hgfxu(&&)KA^o+6M82T#=nYk-Y){@x-AGrDJzL3s73aa#YCIFGY zR7$;#^Uy_&)Mt84b1Qx#;voHGHG5nXJq3&3e8`4%0eKUAxO~~N^w0nFc|8DqaA7xxf=X}dQ4qjfp8jIGK;Ya_y`XRp&56$tRGLET<6DMm-zvG=h zn|9xGPt4<^wBUXz=I|dp{C)dFgud|hXd(S5ETsPq7t)7e4qK~*^nduH2G~!W_eg z378<*Gxk;=vFC$zBSwzEJTX%KVlCszww-d?ndwAaANR%eX2Yu+uvmXZy7POtX`YjV z$%}tmF@Nwu2D_$sOC9@J=e#v>G5!F|mBhpc(;m3*9?VzIX}-;RAhu=e7CgkbQ9r6T zU>;tN2NP^uQ>V3QTiusHRgy^@XwzfwH74&^*e?A1$#DtW5uh#jz4S8vc-*SV3>v^6 zbE*7AJ+My*%<}hEeH}G@tSLz%QOr1<2PcIo0MH<4+n-DE8_EY=&)+8QC!Pj#9Tn6r zI0-E$IT9t(2pK*v)g(BlFmTR*pSoQ~t3E29f{!y$LsuxH&Qjq9f<~KQXz-vQADNIK z4+JN5xSkSw(x3+*g;T|$ianGmu?;Y>-Ro%i4fVRkp8jEy+gtI}fUsJxb#&Lw7yr?{w@nF`+r~f%P}G+>(f%H30HK9p?eYKKql}q{P(bV=-#= zZ5{(Cc0q>Ui%1)1HSTE))nz<6Z_K4p%s`j{aWJtD5!s?bQySxm)t0Ci$(*Q+;>oi6 zG;oS7{LFf!T^f5r?(5Tl4MtvskOFJ&qokpVIN6iDwc<2sWGPxIP-vA|-{#qo*eeE5 zM7T2Oh@>0XaAvmcQv=7Ek|YvEVaK6kE(MoxvJTnp&ZYJnO0FED*at+Nd*XC14WbHi z-`H2UlR8|_YZH6Jr-lS%;B*LHY5hV4+=pVnQ$L9@j*5)6 zra{RrxsKY;IDTO1IX?AEzmZOve?l6I zd$$%4I*);3VxImqg0hHxNzQ0atoX@+I&?<)7JAfUobR(=`(pZ!>#&gi@@hrkK-^be zc=Uoacg}(7e}CokX(i}PTwwpT_xwUxNS8Sr1OW%>6RRBr&>^e3Uq5xZdW@^#zzW*M z|NhTdNWWT4)Z#5g*^Jt(!s=%Kl|Tb0MK~tp5mlQ{Elb68>0a=`>1VxJFC6gR7hmYS zANRg)yZMIn#AAV z5BTxl|8KB3EUm}OhgwMg>}SAcNW@?HnQIcqEjUr@7*nUs(BeE_s<;jd>3m@&@SCS; z1xZ94yv@CQ>RmuS_0eteA%{LWdhDn)=ZHPiyFY$9?lX?TJ#Y3?v!U+our-%v+suGz z7=BP>5Xd?&YmL4wef57`mTvpb{qU>ft$6|Qk;Du9jt-}3i&@0D};|((vM{Xp$dUx&=~a?t&C;Y#4ZsR1ojY=(Fx*4vXpoS zlDIliO0T?%1=Bm9Oc(#>J!v)GIOjszu?OvuE?jtUI{whT(uA>?R9CN0cm7~;`s%e0 zB`#*K-?&)|?iZbQXgYtvfob;iiA|g|Ak5u>8cx=z6BCoS(XbkJ)>8!!(PX}n{>ykH z{rUVxx-^&`GI|FOKX5WJ6+BZBHR2gop3p(bE+b(8MW!gyo2HAh+qAHF{sr&Eg2B0I z%5J-fS3j`9wRPJTy@mUK{@4G|jdkhHx(p|cDThivmBqL3e*Oc$lJ>w`nq1W7Q(#X& z`B?hqCI4S~;)zFL5)U@)H9H-Fr*OCkH5(JeSS*MVA@$fo`ej&1|F)i(GTeq0zvk1y z2hY_T=@(r1UbK~qz8m%Q4&PvZ42#bzu$aWf&^cK6IQRUwr$Y}vGVO*7*4E8i(qcSO z_RnAXJl+Pp8H8>VZt z%K_i&UWLW*MT_okzG_jqW-=D6=N)}q`pu91LE;lwfT>0ACmw$cZ|Ywu%&W2Z&4&c| zLubzZ2jXe2`FeA9&6?G?sQg>{E*=ipgdbLclWpJ+szVQ(m)`O2i`0HDNIv?=LwI}s zZY@$SS@MG3B%U~Nik|kGv;P5#^RA`84nY@vht<0e96;k1OotwK zuIV5b^o@U~rtYL9D%Tx{_WvRSk{Ou`Ss``j?@Q6(vQ{{AJbI z53Cd(!Yv%cX^x~G8|LDzSd9Fe&;CWa_nte^*ZJcU zDS%n2Q6v&B<{ppTDfqCALtc*x`ad+tgvy~MYin`tZ_4B@zX^IP7Y4#eB(d{ANo7SC_J>3Y0rewW^^<^wK# zWBn-bagll-j8{Hb@(Laddgy`s)0e*ZxA>ulafSI?ZsZZc9EG`d-n?V6kp4+th4ir0 zeQ5VT{O$kiK80f_U_#2w+ye{g$Kj3ix4jb!`}Riq_b_jAA${#Dwlj-jrt#$Rh#OtZ z{xdt?NPim^(#MR}Lt3}qa(%k-yI4ra{6#(nE#qX-`?}GZvFBXFIh+p}NXQPFH|8I6 zyyk*gvu49*8`IrbMCUb%f0TuO`jbyOzqIs4wb|^ONt)&p$fulsmLB9`9sl6tb&GGf zZ``mEdJNBIT$5hG)7MKEFUH&IFQ(_7eI`Bp@B>;@--bW!~Wk4<-84M_c4Z?`5-8Hgb2II{mU$~ z=vY}73Hi!xpk{8%RgEAHj;Ba{eOlPWUW%Ak9IaKLrV;xdK6T6mj%g&B8tX=wPs5|A zB4+uM7C{$#C=`hmIhkhjr|HM>^@u%2hJJ=%*%D_YoWH%;GmIYmF0nU+1!vo**00zK(=jyTo^Ba~IB*bC zr%wlby|*Uwn3HK{y!f9-E{}T>b~N_v6sD1G?CR4Uy55H_=oU_3l%srHsA#QHgHTo? z94D7Hv&QAz*+fiQ_|(cE2`hR8`J{^n(#c;^Db{m7>UUA>*+;{s`soh&bQi?loFxBr zjXmpy6`rOmn14U=?)RtjPd+2f*~{MWG()xi0D!alX|%$7aNwt)vyy{Z{tKMQS{eQCv;X$R z^o{E-!$SJYpbbk0VBz*;Eue=|!RHd1&f) ztASJe?i+fjKyS$7D&%@hBgH;@i7%vk{|VDJLq$)Zpx5veOfmkct|Kv01(OUT_CNF9 zUrfiHaI)@cQ4L>4dju~!J@NPt^nyp|W*t+^lq~bX|7V|jDlK{O1>Gwq&Bpz(v>SXl z7Yp4N;)N)_48<2s9)IEo>5&H);f?nf^d|4Rwd=4xfcu%~1H4Dhd%pYQp4v#<%jE8j z&prEe`p3`xRa&}iu@>yvP{kMrTSz}Lef$rwkPgG^@gf{|Wc@rB(vfPM)?2sX<-XnX zy)W8bj5pHnzZ^P*c5vQ$y4BDrKTpwNeLyCNn+vx`WLZ~ zzIv(M|5nU8#*??zMAYWU^6aL&#$J`#r`z-Z#}wTE{P0IUs{69Mm&!hL?RPKJi&2YT zcwTz=(&#CtovnM#6LFuCi0{1PmUPRF*QE#VzXv5Y4y~YZIm-H|@I>PR7>P)Ak+Egj zSdnubVicV* z!EA*W69_M=)=|LE>Jsq`E98T~r(vGOpt$LQAEvL}@Nim!E!)S99+~#sZ92 z9G*68+LBh{jr8Z2ufdkkThp99rld2D+9$p1lta=UQzvMP_b}B$)e|SdsXvE6CxFUZk0=Zj-W1!IB}U!kDs8!M6wAB<4;2 zx4r#m^agiChw^+o@TTjpNq_e@f2np+Z={%%vVO1N_Uk8MyLK*G@@X*EbBl@>ap78v zMOEtOQ)iPVO~xX~I9$+vm|lh*z7@}fc-z|jGHmUBX^wrgg~}$3pNNay+;komQRW?W zEZzd2h{3%U3*0YBKNmcQL(h1;@ji2pJ++lLFNiPUg2gxE@4fqbTBO*XPuU!{kz1CZ zjW-J4`u6weK?5!{ufm)9+!~wqB#^l-_PWc}PnwW&e*ZIeukWO59YTA8|S@L}hm~j&(=*I+q zP>{w2tJSMlq&0j4)bViktw^8~{gM}Ks^*h{GqITWCR{Ymz)l7H z951_O)x*;0N1k=zK*#koZ>a2;k(Rqx4RmtiD5F%a`HlFTC-}vGCk8PiwJGgOo;4 zPwzCI)g!@ur8A1z$;y)fDR`I#Nxv&pfj8*!M*2k``NU zIDjJkJTTFdami#EbUM7no8NB*)GBu*}7__i$<*Vn9iNjUky#@KNa z)A%VfjD?dP(rCQ(f988WuD9q%j>3Z+20(SplS?@LXlRULOu=Din@fY{Y8>zbH{p%+ zYrYgjovDdGoLqgORa`cnf&gBrFE*ruJ|+o@Smuv2%Z1!FEKDD(H`4ha%vRW>D=EYW zbXKG9|I!vY^bAy$44gAe@h z#~bH0jwwFOG8GTwaE@Mwv9ajByY3pJ?$*VQ2sLn~MV;+h+AJB+-o|TJ~f-hWcut_<0PfBk5c$0>nBZIRb#3wsmNX?OX|&m~ z2F|ReHdf~w;8}r`g{;_MXY~-rp8ALSI!ff*!zsJoWVwwp_(u}|F<*x+d`hxXW(oq& zlBx)9z$p>GPSLPjiF!78LpE~&bo_=AtzYcP5GFFjoI$1I3?3=0{NUy7`IKyJoc+c< zt-fBdCr&lj-4IO=e}_xhrk#qtD-OS8{Zylb@k@6s-(wqs9jCQ9Tsw|pvwHd8|&OS&dk z2A+stgPpo~L5|-#D&s(=Dury2emr8&M^EiHjM^2BiL;2cKS^jhhJNASPE5gB{?c(? zR#alllGOGoNMZ{;?eWBVrBJ{^ozDoO0%x}!wi@hY+rijt(Teg+tv;HYOJhty$PLRG zR60}ekRPO>9QV1+j#DPkZvMi`DKljXGBr-pD}L6Z*cp3rRgI~#p@F1`2Wd*s)o61+ zp9ZW3<{(m=<8<3$tHBPg?aigs6tc`S^_xpokAqvcjAJOS?2VK16mIwdr0wCPy&vu0 z&x80474B;UGl=d$p2F|UBQ@Aj-kwh>Gnm*b25yJ4*e--n`_?ctPq9MoJ_ zA5G7unep^`{e}uG;ZrVBUwFoO>8ump1Xoo6*%DrhIWL2rr{_=*4asM3w92k09N;`5 z$~V%vwL9ND=ikltM*4AS?tTZS|NYNcNC%xs3+Z?x{gi5J_x|_G2p6qz^Eviz-%d47 zQovl{jM#tnlCR`9(k=F(B=|#*d5!at673_SdlSf6o;6+%aLw3b%z^eBzx@f^Pdi2n zYvkU9dmvmZScjK8`X%b;{V~3P!Ows4EnOM4Lz<5JX-6D2UppUi%XZ>gi~GcUIfVCE z_+rEs+%Fo9dzHHHi+kh~u%0j$_mwx|Ui?!}Jf{0wL9-6nzev6`bfKo^;pNfR45t!`wlp4Qr%eThaw()p_Q3?Y+oKYk!hyNDBt$xLewePGXB`(Ptw*ne45Y3 z2#kZ5miWf=-FM!W{_`7O)6M}F1G7*NU@;aC7w{X(d>G^Kc}Jri`)hHX7ad!$DLy4$ zE`%?^_oSc1kDmMSChQ{*J*bBq)HuhvznerOTi3cf2Xe*Sqqv{4Wgw~!X?DAYO^QeC(}Qa`H36Tgvu5w>>U-a@(~ zcSF=&*{QN*;7mz7x$kQXvj*F?tXYvBUvx{l>)NlT6^ow|H)}dlZK6?$EojC~N*8|Q z&(o~^jz}Z1m49(aw7CXU<#U#q;3cZ)qcqesT()*^fPfJAii(yLG{S_<|IQ>r=nq{L z4rQydShnE-q*?kT1;3F#35&t}Ub(%Qyjly%+&Z1#B5&gk3wAaPf(#RUD}5S%T=NIj zTr8;Xv+sWTu{{P`PU)tZ|JspPfSV5x@c|P)-0>K8u;AOv{O&fj60s%Z&|uQ`-e*6I zful5!@hL|>FftNbnllAI`#u+Om*J0+Cm#C&7Siw1)4_abh^}g({NvoA}>r zEu^!C!q#4Xvr6BI;zIglUr4{*zmd)ddm7v2J;kBEvsD8_h*QT%h)8C0I9m)|m zqJ_DO*FnZ~&i)5!OMY%6M&DU%uowa!UJoYXfd@Vu!Fh>u&|3U4$u0i*1S+qUoHs2+ zFld9x{A(7C610LR=sY*&tOnNx%&B}3gbVzQ)KpwmRXD0_#n8AJBo^qR?|Z2vPoS&y zlzbOMA>>Nix*Kt%qTqL>ZGP6rRMJrgnQ9j8rNQYfLr&GH$8V?xIEph7M2{2}f+a+H zIym$+8WvijvN|{TD!QD=vRm$=BIY)72^Rv-xvZDUE-ENmC22v~ZL%hWM8cspQSI{B z4p01?3?h_hC;k zaA?KefRRZI9XLr1H%k=?gBte(iK7%(hYq7rSH&SfIqcx5&lPtwoIUlsG=soKDs?dw zid|1z-S)Pb6s!-3v97B@+NI(sx(*GPCigj|AvlzFN*l9X426*Esnkh!d$Dix(?q}V zWEg6c9U2^S0P|v;z&_yEQ>Hc*I{X|Kf`w(JUXZ%hhnA?U&OP;nCAZu~MQ7~MY7l#= z?4qIq!feZCkf^YS(xHxh$M5GI8czVby)oFOscdeY!e4AUQ;78Pg>m87@KtEZwI$T~fm9K*pKq^CZbtRh@(y^{W?gO!t>6`FI`e7YgyHEG6-52N^>HUy|BN_|o zmCcgvg0oc0oy2r;wU8dVjg7ytK;c0t+FQz{KI)vcd$16jVd?ii@yFVsHaK~v##)2A zWJQQ9Uq1WVKYtNBo!+B+`=$f6P%r@thLE0m{DoBJtn0KKC&?FbLj4PfebHpAP(Js zKi4*pZ>w%quf{sovgcRgAGWF2%NU$JDCgHJpIdk@pLFX=$O%4ZRWrD&vle{8Hv%ue zj+;0p?KgL?G;zv!`I~B+Ng4~O(p89cuE`$@>3M7SnzhmJK2FetT?CsD*dDpU8Eia_ zn=oEG>+%5$u50mo>0DsfZ%ld#zT#(uSFc)?p2t1q+ity4pO@th3zljtZESU2!Bylq zo?(KnXr!6|1{Bxvjr1Y-M*0M__fP-y4}N?X(zoFz>Xt2=(iQ}5Gj0xl_fLK;y}Bxb z)$sD53S3D4tqYGuuo$tXXoM@1K?oY7%i(8b9*rvp9mUM+wVV**hX8K|ufo>uSKs|i zy6dsUiQA~J#kTL8(N2DEdpy1uF%yGw0k(-a0b9Nww)Zr2s@|7PBF{KkfN^q1FJzrf z8-+_)QS8KN@>)p$%gfRW%d2lkQ+G~~RGW+-8&npGGhfN5x)jA)a7L}2Iic}Q#CN>& zy=mV3W3`A$b6im6_tCli_Y!O~%L@r3q3MwAp?D*KKtUu<0{jl{N!Ysm2rP#3t#^LI zn)Q5pk8c+9EySy@`i{0o=c4ZiKJ=@)xN$+0Z&%)N+YQiU`pkRv#EXe_#PGD=0S9R@ z{qQ4>*4x&ju+1;GlP5SXLU8eii$V9@dndLUzgr7Wd4Yhc37LSA)Sezb<$}kInR{X@ z`qT6#Dldjy=%B4_*#4exp>l#*hBue_jTHWS?%AhxA)!lZSGigFg5Or>*3jGz|Db~p z)7HuN-hD^99TVlV&pbs`;tK_mrLrD4`A`Jk^yHTL{APKiuy1XpAA?d%ke3gc@L>RM z%S`;ThX$0`gGps_m&7(62>krEIWGppL7$P%-68lC72ka4cgfi{e)onCYSf8MGE@-4 zw^;ZigAYl}KW0HX_>j5!@k5{UyDEG#kPGwN3ZGjnKm6dLbT_`G&TaSEztmH@;3THK zur2g)3r@zvBM0FrubEg(oG7gPQN)E%F3$5i*Zf{R`wkZc`L-!9WcFjq++W61w1VjA zF>43g!}eR7L@s?z*sAg5GR9@cvE#9|`|o_tzmaa^PWH`&8(|?VSX`r;TFj@;qlzYv z5bJ;i(6uk8A3lCxdic&O((2_ec8|Sz)&S;Xu|Imu_;kj*e>=^XwZGo(HzfoTsJtB+ zb5^2esJ80c?580qPRGjpB77tL?yJA-I6-h2ihT!8t29s8k+D*a17AjTkeRH^I6y0P z(NFoq`C#mfampFzBrZyG5tMy|^V&66eh1&Wc?M&tY=a|P)Q*gqG+&V9&~uL0CO-6W zDEdFQZlAUr9`3??$Axw#_VJDQw{pcY{ov>Kr1;s2vd9WEP@45-pKjB`HV5FrDZbIo z-8ROJ!=f$vK6P_$)DJc+q&|uVY4~8u;uoI>Z37g-vsocgSZuhR|A7Y|n%?*GzXTe- zk&Y*KInKZN^?wBm8k=25Ve`Un*qWYyfGj-a49ykXP2|Bv_u<>)w_uJApA}=0gf9KC zh7LYx6Q2edjX9rhZF7FV2M_9S{1!==^paV&BXKC_vEL7W#2!6=K{`gC@2Gp7X(BIE zT?$R4((jA`x7V*9c!Tno=@3V6OoevrCa}s<4mAeCs z#sevvFxT;^>ua#v#`0y$Ty3DSF>MIVQm@z>kF`TMK?t8lofguuO+C*{8c!Xu4{k9? zAuS6L54pcpe4bTxMK-LEmP}L>u29D*g!xFaC!$@=@MkfqZ1e|DIis#pAlXoC5h$#l zGi`<3#2K}54xcv6NSL;m_`9@RM?uB^&G96zhJu3A>snY<&#EdJPAABxd2|QH}>vx?l~Qxa+sovMYxH2y? zy>K>SZ)hv4k!>p2DW571m0m@tG`ky4a+mS6Be9nT9HQs4Y^B<3qM@nw3zu!izm|+B zJg^4pJZohf3r~eFPzeV!$4zCexye14XciBx1UcX&h~YUy|fz~vY;rHJTz=NpPy7+k;tlk zDw(J#T%oQXPV&4_V&4i+F7B$>v+Z>$ZR2lHw8lN|kgs`@u_?7acJKD}XL-^Zur z_p>qe9QSM&f|TbcmK$*-!Ri^n^G-TFefXUh>CJF1t}-dcm5kjH&@67M$kd!hNC6E* zpG(Qj-zL;mr;Fo_^jB;r(1Wm$z7U_&>%Nfw{``$}VX75@APd526@il_@plN-3Y^C{ z8x8Cw3czAG>kjO;@;e0xR-VaUYOuZ7~ElS6z;3=B{1HD z=XcWiSv}tS;#=X5B^y z)1AQkuzVr$q=no~7&|FXoUDar?uyC#ul(Erzn}id_aDH^rVrpgYuqOdeTFD-wkIlb zF>%O-PYr>&+G}+(jadRX83+GH`VcInPo6v}{rCU=yFVEV>035!NZ0=9N7K6HOU%bR zakPc><9sC4iWGJyAm9FF!Wt)slrE?mY}O&z8%xMzuu(4(`1n-JCTuaW2{(q+zxyU@N(<&S$odb;sX_}T7{>gu*kXwKUjEy z+lqyCd%CHIGdwEt8El150xX3o^&6}M~VQ(x?(-1ePVr5iu8pd9+>Q~XbLU6PwC{&GI^mkIRep#VAX zjdU)g;~VMIeQS5ww1X5GC!?u?1i8ndj}8k-&ehgcuN(x@>TZk&IL3P!i^(Z=~OI^_QrD z=uC{21S%dLB85HLDsZh<%$6ma3{+U5TQt_GUI!J}KlvaA-yENaKFSA#7QgU9TFvct z&?jx&xR@a{tbvnOdte=j`G8}Ji>uS{jjTyixQ+V+^~V*FH1D zZR4a7wgE?+IIh_DiJe>Qa2E?M+;aOMejZ^J=CPHlR-{)kt~POg_P)>yC%r*^ynZmT z&0DwPQvmn`gZYaMv}B%UU*feE*9R;tGj@8|25rzHxaK{>N-6n}nH*PMesR6VQ?&eN z@^}D7e&9GIGg2O;L};m3?D>!aABq|YpD<+=QJ@O`iwe?7um-7u_PNbi#_233W`e}Z zw)4la&eT!i6b)_TTlNc1T$oPB=PmZxXO8sqVXzzUVB7uJAwd0+`jHF*u^>ldGN^;< zMPL<4p4#)dV0az-(i&XP7z-u$dkk3{X`D-~O)gfQ43W)0g&gBl6kzQ(=NE2o2HV8c zfx*dkvOeNGB*}ITPVEa9(8+LS{;D}v13BWPIR51@)het?l?Iz)$h{QWc^&O?y(fPp!@v?0 zbYL(p@-TJxI}MXVn#k5lQ4e{r)IMwaw6nfe)E`6P6pCFEdq=>2Iv}5Vy9LPGR$!X9 z$kNsCtQdmWGoJikb}HkZ6|@!x@{`0mra14~*bj0%d3#>FaqnK(iP+b^q&9OqjvZr; zHLp$ViK%;BS<@xt!Q_y*>!DAzk_JVd3wu4eea&`dqhJD98R7ntT~2$VsK zJ2q0_22k@U2~h|PCczqwYF+Qi20q704j>SR-bnXvq?67!(zTF|1=+v&^5@eE-vM~{ zsrW`Zwsz;+>U&Jz9rD!Y_aLQ@(p73g11|_27zBx$^e_9AvPj|6i{l&Vpm9#u7#4@P zNVO7A(Oza%L!7j&f(yF=5?RGMPsA`9Z-{f(P^DaFGHkbSveMgAUleJIFB)vc8V~Ij ztd&jZU6xIGF|tU*J8WsRV!Ee=SbJ$-iO^!iu<56-HE}P$a_b; zN38^tyl=7*c+44rfwk5!-s9oDy%E5`JnygZ-Zfvwvv`1&jp9j1N|#GDX5J#hZs>G<>KYMXaylWxjzyx_j7o6t#}BNUqI%pPVkF2(^?Twc{h zRK+aI43alF_YIcqDp@NjcEb-DCv`wqeGgoEac~pG9o=w(j|=Eu_(LqDV?mvX-HoYR z>`7-eT8gucZi^A98FDl_5D=f?q`W0#W?!&1Gv3!6rJYInGT|7!oc7`i&*}jWeqLb9 zW_%8k_j@bxz)6zzA;&-hvb0W|R`l@{LNcGVnE;OCl)*kK{MRUfV)tm2~CCvL=6444G;Mmi>f zEm%~#{{Q)SdS%J;J8ek|>FHb3SO%V4oy43;vL91 z^~UW6E>v#OP4jWs)_o)v&?9jWQcI3wR@sS@GA8MD;H9({+d`o;X+m+Db#$-5$=*o6 z9N%h>r(lXNT%by7vm98Zm};$EY}4mD@;u@D0N8}1N^XH9~zCP0C{2H4-5K*TjuEd z#S$n|H8dHID^0K~Ww3Ql4PEoI8b8 z=VSOZ_dgQq37$YLOk57Tt6S z-bnwFs}^InQgqt2Aj-iNW$6?gtI-c3Xkm#z&@6T8h#J=Oa};C8W1DXL_+g*fz{PDm zkU(8=B`R}1C4$PfGYNolK`A()A7h9QsAvZaZove0jwQ}FeDHxXrpMb*m5g4g7EAqY zQWXFIKmbWZK~&+RZa%F$2K}E8^bkM$K6hl`9}~ez4Q8cKSY|0&6DVX&O=2xF0^vT~ znb<>}g{1z`N^6G6j)BwYhQPcKT-|XJsz6KIKx41ANpZ1m3fM1(t@ibtZVEl22ecPvUTk%~~TUeU(W{I4n zFp;}TK_;nh?7>K%x?(?7idxwL#=bUh8Y;?8$9~7=QuAkNPn0{`>{x4@6pJRv)typB zv*+Y1F?UpDg48q=tIDu7Z8S?{tK{m+Ad_Vvu_qr=twMxwkP2h~hniE`)MjayO|$}3 z`?Mnak2SFSZ@;j~b7Rim+1NK**(}kRgQ{^>WM*rhs@&}`kl0HuoY3}Z6IruF!Ah>K z3^G~X5V5bY_VTH43b49Y-GrftJvCdZ9o413hfjOqq>{>~uC$z@^ZzKt9xiD&w<8EU zJnrclk7nCQ1XzhgZ2K{49aqs75BT1xHY5rO$mR z=_PNC6RNSk!TVmk@5_73yf4jr)Lf9yFA$h9$Kg8KI9bkE4O1W^E=%$I$I8J~>Zt?& zV$q5Eyv;*#A1b`p&8Oq=o$$ZN1czd4_uY4&kv{dQ zkLrPzvXH(YzhFdc-O`WFLb~2a#7%TxNWbYbpGd2pd$L=b21VmS`fp!|H_{_1b`i!1 zVpLjKtu{g&(`Az?5u8Ga;b>bwZ zf`z4~G`E}o@MkX9o9V$x{@|iSNroc>iHcwjLqYF#*5u!tx!8Am9eRu&eAen(UmrkO zWzKYHA3UL#E~5v|?s{Fet%7Bys#%?SnnKNzi8qd|i*BhalASh!%Xtc`Rj|xd;WR>z ztgj<5EsnT)yDc1#a2&1BRTqxB!024Y>o=k{6@Mh zq#qC(>>La#)c|`nqA6ZV-C7j-TvuDAPdp)6&!rvUh7>2YHxyza9b3C!^QF=p_n&bF zZ|zh2!A(C~t@H3y{~FuQ9|px>?JH8-WuwSyj=k{}&VsY(?SWGaMY8?_hE*Ze_ER@p zfh=sA)|OwqJ*+GK3j3s)MXN7drZf2DTqzI**HP0|*9Quo+w^vs9BrH?S2&ALNek>& z-;x!)!nNZ*E!K&Ki4Q4o3;Q?YJMP@AfLk+h`?0&R{XDnk4_u|ql!_=0(QgA-m9H;*&)5gL0mQxue(*TGxotI3j+nOlb<_tv_&Qr1Uhd+F zTvb4Xo}z!SxvaD$Xf^^xa5b46ho5p?Fo$ri=#}a8LI7PI6JvWVd{aiRTX+9(&f;pzs=OkUXko=!+8p;DetASZ92*W z`3)r-Z9`cBGG)&1>`8q9WtBM-N_XPiOPA4m`;#Vn$db%db&F0tP1$D2#2d$+*U=)` zX(Kc^PhqtRmYFJ?M(A-INbDurHWd1d9yoV4_LH#F-@Jq7ri;#ddzydn;b}5HO<7Ve z425GLb1Aur^GlarlD>J}73mp#GLPw)Lyt&jE?Afj!p?Jl@^}9yEyZ__x#+nk7SBKN z!Cy~DA9{G2I%$e{I}bIsPA_!u_l-TdZ9IKe-$=j8!&&YPNS{nbpi!vqm$5$XU=*K7 z3I~_T7)Xx@8jo?b>}3?8v2HVIaUZHJ7y5a28JuJTzn@9Tn7kxXSGr?wNOiYYIL$(_ zLB)o(!$*QgNtda7x-&Rw(X`^&@_XQ%zSop=$bx;-NpCwMP17V|NzmXmcp*_m<>A+)OOhwdN zvQ*pS{xhM4R9C>l9=N*Uboo~7DOTgMl9b^P7F#$`!`+vMVj+F+y=SH0`@LWF7sTxI z3RjK#u~|r8jhm<3Vxlah-}>1#JqOL!5!e+ZZ}Y&P|ql z6DJqaKZJ#JzM0M>O?AgtK5KIg<)kOUV8AXY#%JxYW9E!vI0-l#z`Q=#C`WC?-hd;z z`-IF)Vnl(ud!)e0YGUQK(IIXkQc|P?rzkZlDG;vO8riukaL`Pmid|NbGsRY&qhF{6 zr-AvD7Ab?&#i#UNU=j;eOSjS8nu*gV4QHcv06qV#5-O588`|^$SSV#|W0XFdPY%RscPo6i5+Ta~9xY@Fjpwk0fsNQN-1vPAkPeAAY z>YG8MR`LgLSSd92ZGPjPxJYI42w4GGo8zT$i2?G_6&}z+I=+#fan^QCj=Gz%r@_L< zT!qeb%RqzbEh=)AkYLqwo8hFLqJuP(j&@hNpsa}#%!*0jVXmPKy6ewWP@b`GN>oDT zBq!h$oLOnku(GF5g_8`y-UFv}=nyzf$mGojhP5D;PCO}W0V9T5Hf)Ar>g$bDb!g+j zV-K@={1zKT+7)L7yC+WgeD^(OrQiJ6e@T1nxtF%he;D63`sOA7npUn{fw%v;dr4>P zsd~)Vap~Yg=jx4gen+0^;fEHbTW-8I-FD0MLlb*x<)O5fCGK*-&!WUay45<)276PE zRdteI=smERAI)i@FZV$Tkyyok$FHNN-NqC05vNu^t#L9RF&q$1>WuM}`;2RZ$(WzQ zG|!|7LSbX?#6NtUP@R-I$wCDwBa2lzKN#>D~T*^4*V3I4{jd!L^&BlHb0_Vnpbe?Pl_-OuL6or^sq{hIxLCgA8(gBbU9>`k1pQ{I5)(w&Yyk$X~CK$$w31~HeKKy*p#S%dXy*c;fKPki_%Q#iEdQWmS0 zwy74L`4aJJ&Fk~zRiNf5}+(e|LNC!?)%xbPg zvD+Lq6ytu-u~(bDB|UsvdnK9`Es8VSwxe@t^ikRw&|KODCu7*evTI^r|AvZqayQMN zJ?DaS{=(DKkp~{8wVC~V5)vTA97TDynLcIgo2mTm6EfG{c}u$D*6Y(f4?m!X z?aw&w_*T14~q}%+=)>&e%VG{Os{619CTa-4m`!vy{5ka1_qpCIM2Tr1v zm5h^=kY_LO`c`bSlgM6im12=3&BjxcW^&Z;f9DAZc*IuP9$1Y6Od@np9ied*9Lnj? zoZCQ>ohGJ&lOnDQr-rjsu?G97&E-f7bG@p?0u^5hRTN;F*ohN^RsmE)etG^5@4 zFXxfbS{@06#Z=|9Dr6|hI)=585XbTvP&aR^#zuWiA*V75uAJofOR2CF5Zu!J3;&G^ z>1(8Ba6S#=1;F59Pndy~=uBVjLxBqQmAT$H$!v_lUiW&_=i{N61P~MyeB+=jtMx`Y z-b&xubl`#erH_8}LwO;cZ>3*3l3TlD2CD3~?fi(mksb@_SWNdf((nAoKTk^@xU=1! zL6`G4(kU4cWuDQgdc6h^J3Tv;YGTT?$;c*xD#m03dki>rC=fbKv~5Tc4M6WOyX?~* z<;=1dNMy=HGbo%gj5F^OkSr1{WfoN&X;C#ty+StTiZ;l`kZL18p|i z)5I6ikPTExwmXY75-T^ppjG~pdevAi$B2rkuN8Z-R&p6@R>Vwb=9wvImd`#7GTExw z%dYnqN`yA%ExmTJr*X9+uo6JzaW*#@o?RDv8VxT9O%nv_@|+&nC=z*|k$T6TwUtj_ zi`bjVKI6$|k6u1CFKkO=CrnB2`xv%%pM5}XuBmoEF-F62a39Ez*;x*Pb>UW$ka8bY z9-|^Udho_M`%Pjxm?=AwAk{c%EP>2%Uz;mq7nQ7#C^BWjHe#r(g;^7GDfm_8@ngZZ zcK@Y6fAEAyt)u!b?BMV|i$M7KzsOlo7@S3;C$)yJ5T8YAlH3_+nf#z?k8 z3GJJlC>ev8yoL(gr({AhXd#I*^{NO4o>>_1TpdlgI`-41Pfr)U z|3m4}!w$!{xF)4#%a*0Cz<*tYGC>J#dCxOzOdg^Bdwf zly?TjBd`T#wwpAh-q%qR%Ey7kUJ9i)>n}d-27K}WG`rI;r*qc77HJi%T28$nSKj+w!pX~JM zkd6DWPvw?G2`D6y(9=o5XtAfuMXA+B9%plt%|p>OsNIs$nb)-%%sckClWFLU88z+k zM3KPh`QEWNhSx3j#2HxSQ}Y{1y?km>5_2`@hZ45Ok|+^Ul1RwL>U=Hhu}3xI+lyUw zsEofysjVc_myfSy?1_1Y$CEj$-}Rntw6-H7f07dZ3qq&kavu%$2yP{6*U|oeJ5fB3 zry;v%Vp`b_;#8@#2{fGB+u4_9uxHR5A@lFia(HOxdTwO12@1 zeFouJDnvDu22K_NNSuw9aRy7z*i*yncpqw)#U4Gj`kRDqV3L=@pFt=!!68cVtubbw zhO2if_Rz^WDvu{OS)ICL4daHX43KD)ji=nd$^J%-JqI`N32U!r0e=5+Z~ZssC+S0< z>J@u>t>GIItXEX$nr8W38~eKPwC9K-q(R6ygFuE_woB|oN3h|{_Jb4u?aFaajD~N@ z#L4L$r=OdC?!0&Ejqvb)hfmwhq6SRjalMb$vMJVXp6&PZsx>dC??3Tqy7m6M@hQ?V zY2i@|(qVHB!lL@HbpN9dr#m0IUo!LYruy-RAFa>snQJP?P#xzZ-BYq!c?z_^EO&D} z4PeeUoKlLzu=LlLeAyP#X<{qynUKTm(^~M0BJ)ns9BF*iroN7%$RxO*vp-4dbsq{g z%@+MuY*M6MB7^;YrY*BCSk5U*5QskGq%Mm~G|I3Riy5nM8o#@O1wo15CM*_7ujHwb zU=K#>aUU|o$z(AMoTR7)(Cr+#DjL-uPhjYA57IO=eL50vp--4HE}j436Vv`j&PwAa z;hXOOVK_PdP}BiPOaUqC^F)`EDg#qcL%`@Is@|$-JlX3!isTI`RyV>XcIc+FWP(10 z1oI~3SbO25MrULeDZi1v)E3e^VozHG7*D1x+HIvczSj33)kL|;@PtpB=$a+Ubi4n| zg>?Sg*)(t7VdM8Tzxp@nxjU}iS-&M)NIw?wv5p&I zV=3}9Vr3g@EZH1u7gE)OAqH}2ijEPQO4*fDhQdfDV|medz{SSidXH(Up+T~g3mudW z+sxNES&}quRsyEEJ{lkS7h?gPZ=}C~1$8CI6b4zWaT}5*#RPjF<-wS6q_9(Kr!;vY z(OyfYDzdhoUj(=@saDLPvdh^bZN0?AE4hH+a`YyBZHatLQAV~BjVeyE!5K6QRLHf3 z#MR>f>+orbb9dSPI0*>0YxD8P1gv&y?4PJz>y-rN{*}K%%ySLF!LqUpd6R z$5VLDNVPvnLAf3K%Ee@tz(nJHs60a1G)G$4P7 z%nGF3-kQ_lClUg_CK^bZ^lVI4Q44e49fO6giR<` z#|XA;6a>rno}&T_IHd*$`(MfoD=SdcytU&v)t&}U!jnA?r@OSj&1eOh$iUHT!r zQ?XZ*3(mGr+uulU`V_6C3n3ofP`g_?t(L@rr20A+-0&2IjYA?~8^P4Q&p!jCAoV;@xz?$p>x zsZ4dv4rbibbRaCbpyC|n;|%_&&BjHj7_w02=#ep*BF-`sC@mvHH}1`X9c#=ry<5JX z^I6|rwh6mxk5r=kTEt$?3y2lYCOB}}%qwVW4|8Pl6ryoP)zHnQR0@5#K5f%PVrALi zQJfCD-FJfAJV&FN)NUnuNxM=7#2&G4%4TMey+H$wz1RniFYLy3RAq@*I(F2jp#t(l z7keV~@w8L12e{g&RNHDNNjsAobEy=CL;7hYPox0Ev!|AdMp5hyN=WrR?~>SuMPS+` zv6q{4fF&BiDT<<4s|-d|kckQ9KCvfvaEg6EW7at1*oeIpc4`gYawbotXi$ZurJ_+3 zdrhhHp|kTGu`lA4TtINK0nhni2J*Wu_B2vq4VyUk#|fD__Ehl``umxmW7`M2$Q?I# zUV8J1r>D95AL!e>GjQ(S?AO}Y%rlXRspV56>d5bLufgB_D^{=6_m8JfnVKe!o1nSQ&6qN+f)))iW6T5x-vH}t zXF8EXr6WQ6OPj-z>v0p!+jq@b$1J-+79i8$haD|k=ayT%Ty+5Na|Wj-SF>TLiMXYK zMQ@TRD}+^8K>xxY;*E4)NLRgeIJX;K51pZ?Dx3Mj@9OD2r97T$*~rr^{rYL}70hl3 zrwT*PM{UTloB=7Tl4G(O=gl}NL)x$*dn5hC6OTzh_j4EOjr0-t2Kik z@o(dX^zfx$O^;vwb$W8AQr_C#wJ20LsE<~fqbrc);Z$v=Ba`Pd)YL;Yx?c?TEF%rg zL#>_7o^@-;DdJ&8=T-;shCOkil^ ztYrFBRb2hEKc2BK$R--O!Y-Ys6L!{8fveAk2ftxQ$cVGP_ zX9^zFOTNf*E+&mVMk)V5s2R&uLtJ%LsLE%r)JfdA#@qpejXDP)t_r71sTP=o6ExE( z1O+S!D5=)r&rgn!xrzG^~W-QOpYEiCXF38K8+YYB5m04YFfQ&MOwOKN&4O$ zx1>iO`F>iK-(v3{`;0gm)bJ?^@q$DSpNUMK`k3rf71G;1zZS7?fKdB)5_wy^2!PMzO=^U7BR?^P2#alRsB=&8a zLs5=U5`WiJH>}Qsxqq>fp{xETv8A$E+2PZ=%l4JbdRi)M>h1ZvEQ|Hbbm${zi`Xm@ zCljfj+R&QEwyIi1nCPT5>~62n7H{Ef7Te6-%{OJh(?RH>rw`5! zaq_l^%_8+Pk?N^!vMCT;JAB?H*U>iS4s_dP=#Xd-+TtyrG>dI!Xlj!nu>IdqZJ`FD zjzSZISChy@RUIja!32grCi_%%XzoRL&0{a8>=<$`rcawZH7%HXR66OXW7E+G&rN&p zu@@G5Mzs7{>t~*6U_Le8IJWf+Qb#Qw5CTrSE_aBq(PHqTEu>!!Z6Gx6mxTegl+0Gn zYciqMYk11Bm+p{phQ@uUs0$?$XlP=AwZ_@L4;6Ccs%7J^97kMNk+oZ5gKBjRoYwZx z8fc0DWE(aHdLJq@4g{wg(1{06ftfLD)UhJ?GE+#IPa!j6G9*;^=&Dva~UamP~Cz)DA-7Wv*R~a@*}{LQ|@LNjht(I`5)wyOqZ73+Z5x>nO-n z>r@43Rb5>T`cU74%=Tp`>|{>5Xn>FtVO^toS>P;MkAa$bPMU{o_kul;DU4V z8|hq3ziJe=cE?LY8HnSnPd`FiyK^Dkw|2+dQ%~P=WqROipRe1pL-~3koiSFlG-@~* zdgwsc_8eZF`>XS-3*c7>pIXUDbe^d=MAWPT0~5M7NMp!X&%}S?FDNf#)gea@+Q>1_;Bng`aBQ%e_aRzqsS2$_U zt8_wn8$No&r?r^qQ|xZlh<(N>4jdp@wt1l(33jS7!L2iGnFU$(QV2zDRadE{0=h(R z@ghU01B$(?Bfs_2Ah<%}?vhBg@xn?1Vd6PD6U)ZM98+*9bf|jmV;?Apq;6M*6IDAB z``ozfg3#%jX^|Gv zzifItj>cQ0O0LG-Y>Qg}>p;eR_*7@j6M>Mnn1~_rBJ?=WLm^9+D8-pRLY~DcnM>f= zmQRhvncZcQl{)te^3CfL=u%i2=*afNNoLfCjtXl)DC6FGgPIilCf;mgjy)?~q56BJ zoK+pk+X#9)XL_6}07Y0-`egufe!$V0A4bcNB4ak9Vh)~cpLg`J>47YCw^D`>8GC1H`W8K+y)aJJ_UnaRi)C{ zsa_@wQyKSGtpQlY!4}e20te@G^C8EprD&gFc4FpI8C5o>O_sERQ>EV5(NGI>{A@+D zk5W-EP){=vVZq5d@&>=v7DS+X6;Di5Eu5+_U1lyg$b^4Ui%ZAv!9Wn#$%X+yVQ{{QmM6i)VZ4A z;;_|kPO$R27{5!6(e=35?sF-AoCYrG)*%2i&W6U72?(p({Kgf6tYr$RLC^UR9NO3i zzBmIMK;^adFB;nO$+SQnoT^g60$Q9dqv(&Y-h&DlUMTgJlz^Cf3BwL(%HtE=USsWbNE ze1ramB3}M2gt1}xfAoJtDF}6_6dxT_WrudTR9RF97<(6^Hl`n`*aP%HenV+~vgWZP zSHGd0m|dAO!L758669;225;0>bza326YURl+)G=ihHUwJH1tzr#lT{f3{CI`0-j?c zA+vFXSa1zC_D3FgNIK_)Q`70ko|yKWF(Zu`HMYDV4yDceWns)1n-$Y@hp$C({u)xr65V^*g_{`$ZSMBQ0FGAit6RW3`a} z$(vT|=IK`4#NE1iqrQ{=(j)h!+yDAc+MXYDIkt9Zk7h@X#4uTqY_Mq{s@iz$58J|T za**;-6|6o~(Pe_yIzSBS7<{7Q5D=^$7vLDB>ews?kLjbFa;UfOFp$9qsH_q}*sfcL zJY-bk)y7$PUtF;UTf1M;+}b@66hMOLjuQtqq;0pO%v=?fSrxc{v!q(hIvsZa)& z)$=VH%xpIYq6)pDu%9ry&1{EoG|KWWl2IZmS#oGfQqYqE*3!jr)Vmu&6g*wdzC zea&JIgVB}4pM;V9!UB?ct@2&QS!$UxHxfN^<~)*fvU=*HPkY54qOIV^c-oQJ7bq2e zAj)klpfXNo#*LqxF2Wn>)A5aTCjG>a3LcQ?1D-Qh5a`UDGJ`1DUKWQJ$nIq_v0N2N zDLBc{O8il3w-U`RW0-N0mkz`K8C4kUic{HiCti(y4x{2NdANSy4 zrIPuy_>;s?X4$}LHBn~@`o+x?H7SWflSeDkTS&iRec(8Hv z7U_{T_bJs!$~ZyT+1SS$>D#t$k$SaUjSp*fHm?&AJl|t3r9bOru_r&I&<^t_o!=RI zqw>fEJ;;VS>!(F`BlctuG3JrTX*gLy+mN7f0Rm0Bi$2Ma#{fH4${J6$CvD_rjo0(U zGFW@!6ax;<%OVrC6Q?BQqoKn|{f5wSI>B(3TIQ@Rj>X`RoD)e*=F{%i(T>Of*!jNe)0ShGpLj2JO8O~Yr_jyh;=df$0(PlxVzK$?iZ;lsA| zQEDQXz-p1uv4zv_hZv{%wEMWH#x_t{3%CaK^7S)6wKK9uP&MLGhH0kuAAG@|T<(`4aE1R}IW>@xu|HNQ)H zO*V0w1Vgy0!=7;k7`4CPBsnb8fs}TivKUpY@ZbkI<5V3Efs@&)J*-yub(}04R`ZL> z^qW#;5ZS=CW>_a`#rO>+3Zbnlbg*=viXkQ zWM}5gIcGkzn}j_(Gx}~Uq#k=TGv}$_PgUfDlWgqaH>_kd_V7)8_4UE^!e}$~F{F;1 z^MA|-b6wc$9{Zz*5lBDx+|y*+ZQI7pNY_2mF}^y+aJ+0P_!;R4h+OgRGUq86cSgFq zPx?R07Ri)5FPD`|7nSW*1|=qt?o8eHwb2toPilXu!x3X?t_D}$oP4$^r2VG_a{7Vc zmfLI1$e6l#c|EtRI`i&R3R%BLN&R#+#6FHps{~#0*^2pNZD4QoGlsk>a~HW6FBI65 z$qLyH1oJ-4>a>;fm*dze*NfLJw-abS(PhtT1&R?$>`LUEiv6!?-+;1u|5 zpxQHQ97*V>tHy|W4NOy?P54^X(Qh=ljjTC;p|6cA6?;oo=eD;@{pVk-v2*0KS4>)H zd^N8zDa+J|IJL>f9s2nXAODHEzYu zME#^uFtHBn^<=a984Df$qzz&P=EFFa4;&f)1BH6hqs-Bz>V1AXhv)(-jAfUAXI3k< z7Don&DRY(S@PYOh8c2T}%ADkv!LiZqD$shrMYOOo&;?ep5=Wc%JFdi&hbcSuM#9nH zGl{bJdv9 z&EhpPZp6%^BIcAQ<{c!fbIq0+d#|B;;I!A_)U5T&n6#qqCyB{=WA9{xz9#bpEmPGw zX3Jdn##-z(uD#niTkFg3IJACrK9n{#C}SFWFN8cfF8a6W6%9DXAC)oOuL9NKjcg{gd1g9%>X6uuMO zl#pqhUTvV#dgRvGQqAV@x;Nuyn8v)e-kW#pi!Js0iL$t{x5987$*(l7-=^AoO;+c& zx7U+Vo8U9bsYp8Zu5Rn6X0u_cPTP)pJurPOZ|r^IZiARM&rfsex!G6?6d+~9G?|}J z6T6=LDvc56)v*_2YD!g`&oRqXYpp5kCkm}%UmK&z_nNBCX>Z3KEi$>D)Pk$q`l;DG zkG;WUVHrgBv(%QBL4pD#2-s9c$W}P-rlanGuiQ0|+1Q&#);FuoGS$3gYW+l^^|f3- zt;WE+)4rg_z8t2u!wJt(w`)O?ns@owx-#u8QwZ2p5vFc?%e0IgpYGUoZ@n_7lod%h z_NWZ{S`j~?$1!XDG-?xn=6mOu9$4e9AJF0ahkmLX_8c_|@oI<69GB~>VPS;bSFZ>M zNj{(AM7;*aW1mg<8mZsU21q<(mqp4q2T?dqrPF`MQn zmNyb{e!2=Ykp8Y4NJp7XP6y3>C^%+P%tb3_>x?D6of7;F6?DQX)AvB7QQ*`V{pK^y zFXMb3IDQ#7jf}Zx0%b8d&nwl3IZYua?4QX6~$#-0n|D=JR!e~|Jd4a%24bjHR|N7 zkzgAqZ|eo9jwnjDhOa`2Evi?fv7!AGqx~`U>pAMYh{byWYD|ANsin1m$ zC~4TRzFc+Yv$UvlBXzwSNMGyR%>Cq%A@cj@A7+56tY|Qh zj-gGKbey%)o-FPMn%lshKrtQu4=DFKbSq6u|H*4wTODP6FkdSukNHtn%GTo?#Sa9N zcl|`xHJ~~Iifq;u(V6JFN4m3Dx+Z&4TLHH(rqaBc9$5i@O_F2JCv#wZh?9;h^cq-$ zdOgOKT0bEX*VeBUEs$`zn@d`=30~rKn@-1bJ$x~0Dc&LGNS!uCf!BEXm~Rk69bV(lI7gRNX9QHrzGOW1j*i$r46I_S&3#940$WzfR(Y*0 zQ@0>KknR?$3^dqQR*N;IU#qSOM+Vg@YUKR2zDkuhqFw`|!~HQAD}^$n%P6+TM%--_ zkU?oo&K&tYv3-e`i|=Dh2JJCkpHCSppG;01NH^N8P3yDOVas99_QKRzNx#2V!uq2~ z+|PVZgK^4aV@jPPYs=b3r4{zodE;suTRFTV*&fCGM5)o>)8pxOy;f8HdbBE=R4nML z>8LAguBX_KK*tZS-s*>FY+PgC-maf2A8*@Ur7#`4o{Sz}SG-0E{fzV5`iUk+I`(eM zJau|$`2CDY*gn}a!sYJz8LuIhi$C(~ur+?4Q0C}Od+d$8@x=7XzPh8W`d~qy(p6K5 ze1M)dPE@2F*djE+s5F(~95ReWD>25Y9@U89hob!9X_ZIE1=VGU_%J2OMEq?i99za1=Df%e3pRT=+!{kMECu3^#tMD(-kGEgVBOx zLUt515$wk<_>JZh_0fYx zJQ*EbW2R3`gp1U=$f=KW)jRpH6k`nok_NS7iV9`O0Dk$OuV9+e?yf49^bH<`FZ z3&^}%Wb9oAA+@q6@GWzoveGJZblG0h5Wkwx=x3*&6_+yJKlzGpMHalp5jInmv|5tv zKBk}g2+c#_Dmt1g|MG_E5y^*6W6R%Z&S5K;;K-m);mkp<95HF*r z1ihy?$TpX4kFVkhiBk9?<%BZrowImp*KrdI#I4}=xJS3t8K#D_-O{t+J{io}xg75P z5((rc{_fo64`XwLorw8!Njzi3Q|+^cGD#trXLFBf2eE`YH(?64qb)V z?`YblkSS_68QJG8n2?)RD`8JJ+G9_5#wX7^Ra`1qEpsb0$f67J8I_Sw!&Mm-x_o_d z)=1{>inq;wSMG;$y_GtCm`e1sW9r%OTjQ<%MTpARfrxl zj6{!u6?GfSdDBKO^Qe+|t6zUeWy&on!!_qRcpyf)LPcHhHMub6Grk0C{=iDIimLdE z`J1{~#0c@;ICa+f)?B;KxGK6V0^caevke=J;vcU}ncpVi=G;y|aN1N@p`wCA^XETa zijaEOsl7Fv>_PY%VRtI8UvH6-^B*dgP zWdY6P^PlV*uM&OGW#=z9H#^{ym~MG!mXe0mm*X%M1?CivA4k?Sw+}I9^D?G#gXor7 zjt<<$u7D?a;^~x&n%;?m@Yy=`qC0ngyf2aLwEOW>eV%OYq9Cq)ixxfp^iCqv9=u~E zeJN>;=yxZxLkjfv2K_su23<{#+fj;(=UIgo@=2*CX-LJ4%HDW9+mQ>j+bxIRztAdf zh}|kBAAj~rE+ob$Pf}P^LaTimFR-=45HE!9pqWl zr1Z!%xGBr@q}GEQZ)fyoy}WDCxPF#drE0q_F!7KLf5&+#eH?q}WOAdr160G7JsU^O+*lV3P!YNPEoqUzwdRIIrRH@e4d5!vZZVqvC+!A;DmfKsyu z#H$nb_7E3^>*FOx#AvtYOLVTWQ^%=J@+cvyg*BB z5Zo1~}0TCVN ze1F6IrMJPfu|Hi9>{07{N_~ZEGC%8E4c=EllitwvpX9@-Z_aNhM#u59pA%Nvsd&+? zbrFZ_Pa*!U`-8uFOX^!>Gzd5+aJE0XEnBk5v{8!W?ln67Box z?_J_KGPHk;?kW3v-d8Bb9`?3nKbY->HLrsnk?8`XZ$pTORqhY!o%U=h`gfNI{p?)# zlaS-T`;EAUIUERz64m4ep%?H$-_moRo-cgOFTo$OzFX)&A}V#9_ckznvR8P33;w!L z|ICdSNtTa-P;H&k!D?tM(VRX$wY%6_K_;JLi#oxCRV*|=aMPce&5${D7$AXIz^a9$ z&b{7n|Kri;Hg}nzY-ZzO-Cyw~6CZp{x*kmw_m$a_Om?YCKH5?!a(R?D+B#ia>VQ7U zSn2Ej%yvF(3}Wlgaw=8vG4v5D)H5b2t~5l57Ku2WS7%PS@VDXI@RJadXm64H4c(JDL5hBH00##N)R~w zEUKX7p}pnChll-rywqMEmtkmw19rSf%M@q*FC3nCo(i6BAej;#o+NbV3%XZ~PpGVD zo_)vg%xOK9piPoIPT#`GAau^Pjli_MSJjHzlOW8({#JdjamxBA^l3sO4uSdX%n**D z^%-BG^J`ADW_1C!{l;8P&m0_w!Z9W`XZ=xggJ#agmnN0HIG>~IzG4YLs{@Sh`aFAO zGtVbrIq%FtoYwki0)gB@vd||mlC_IWSWKIZ59Uo2NNAF;hSpa)q2t0}#6?f^#iui?Qq>2??vUBeg6N{0)gK|-(l(KVx7auDW%Qq2gcG2X) zy)%g1O+V~?!Rql6fxq>AO3m6Z`-^?qZy^OIjD>aFMIg#;5HRR=icH(XX$Ddv$- zmNB>sgPG0MS(&8+$l@w}Hh3N#I*|H9H@Na}?!uvlxL`>M1r&@B>0M zVc7r<((JKIJnH>GS7}RIR8y7&d5ab?Uysj&tRL#NhjWS^lzhC|!4HLD@~*J2V!kS`y@y(c7>mulGXZTC{te`mSDJCBEg-HF$j* zoTfw%@o5PEc1|=0)j{Bd>=CzFQ|LwB_@300$tLx#PeZ)l#rJYfTQMbSBAf#<3sjFnyLm)Ts$%SM8tE|L`6>GApT5-eFI zi{RJi2wZEtqs1n80GB-c&vwCLFTzqF@yi;29ZeYpM zB%cLmLL+=xlzxbl7()kuOX|&#io@Be#h43eArjaIaS^y~FtXl!V1sVy-6tu3E6EGZ zeb0Gw*L25w`sQQ%I(Eb*zHPRUTiQ*ZoJWA@>g^V&9@hmN@z(>8=|TTz_g3l z7N|6x@7ri7OJ^JWajl=sHgpGuDG#qS1P5x;GZl~AJNPe${(+J_Z6nC*$BB){rr{g;=yhqUA&n%mTapr@GN9AWj#o$CjAXxpXmBu4mY9o`{d$quamvTH9l9#Qji(!g9PYywbePS|lN6 zp_?bKAD8}BfTwavbZB!T^=+XIRM?OV9*Y#-Pq1o>&7j|*L9!@#3(09p8yTwNEnpS; zjY4&w@m_AF_R*zUpo4Pg?NoJ*eOqJI`ee~vcO-U_G5GLThRxaY>ERleJr-&|uWlP1 zZYB(`h)>W*st2koou5eN5Zka{%+9bh_Sg}iU5)njO*t@gDK6Jo8TztRe{ZHPs96oG zfLah-y*1o{pKJ%oG;HJwns3PM--M)v!{ou^BCh z$2HQku~Zk)S2-7;tX9*7OLLzpIrH{0@quMeomPqkx&&qUmiX{l-iFZZg6}Pd&2)A*-*_M?6-Ey}KO}w|Un1mOi z_<#1n!rqv>BHf&@WVEufLmWBu6Xd=rt#ozH<21^IT#N>M))%dhk1p~{f?{-1rk{jsKuQ|B@vslr$co4~wA&4jcDo!BT?BaM_z`d~|I zw-8G;@_5^=V^oYZ6kWc0Os`H>(tP=GAns6!OVfxAEe!5I`v{Jq?vzWRaP5>{8%E0D zyGqsTQ*k3~u=^7?3D&a)#)ZE%$_C#<9Ty@9ay;^axIiGBO;+&wYytPnb_paro)u3z zbVg$6=0E;I76jDKXFGKzI-Yhrejx(45qqeaOY9N0 z&NUjH@)}PkTv;q!GnWYIGvs&XTc9KIBUdeR+Z#ix(iKd&pGFa8?cl5r zGI}~jUd3Tt)l~(c<=!;+gv?o{CnHn{R2HEH_Drhh9WCfzUY9=_Uz-fS1Gs!IaaJbexqdT^FwJ4Z*|<(kBe^Us4S)HJf{>^sXE5ffR8;Q>t+mRZXXns~hPQ9HN1#g2nspC}Ur6s2t&i?Y|GZ!RrQ7OCr>(0&bDO^Z z?VaTtojTY>c@iP4Lou2u?`ER7KOoocLgPgtkwp`>`e3i>Xdy_rj~aD#>r*j;jRYPN zKR_Pxt9{UI$Q#ar61!{d9$)?%$;pE#LPw{9QZ{qyn*3AtM55X*z>GrUm1Dk-J9t=ojaRw znD?`1b)3r`JrfBQ8pxjZztG#5c`Fw?i&YI#c3Q5aja14~O8FH9t8#bKK@^B^sEQzP zk^j#qK>if?|A>N=Ur_-6FHs;qx&JzSPsnwl*vz->P-mD|HB|Hh^>cwH^|R!+7HT}P zp}5OB|HdJ-S>q*<24n*C>IB-#R}ShVWtXKh#advi4nXF$-25=oIJ zp(VOqCA7Lf4i_9m`xSOnHowA7IOBf?*}wkV`!i+Ow(EirlkU{LtwIz2NZ0L)6CP{< zU%K{#*_ktxo>8s`mkRM0pV2Z=($9U@0=9}1FK>Oi@K$e|hUV~kRkC4`G**V#9$(s9 zQ-b#07!z$JNig4>BFLOfIiksXGDnDADhw!1J_vVYEmFAtcR>$ z$nLikxqBXbx1v_7)6Omr{lp%Yaz6^aRGWjcU+}US4|#<4n^v{ER5!!ik*9Gh)k1Uj zEOlSFVBBA^jQuN?c1!+6O!Oyr4&#?^-> zOc>C~HF8|>8X|%ht9q`g>1PCIL<#Z@eU%^(g1BP@IkDLFNEi6$#Te@gz#;-q z9P*NTv~2*2*w?95T^(V^wYvn8WLH)`4Dlt!Ka=E@%k5dqt?4kKx9wGpP8&kj>5O?v zuMi3m4jEVepE<=B4)3#hR|xx@oucV@e)L$O8Y{gcY>hTvJ%Rdg(<%Si z^ds?bs(Uaicm$s6tRCqd{*_&e$-&oY0@2aNqYc3Q5fQ>d4gZx$+Z-yF5OaqVhVh%@A%R$_<>H3D2q}iT z%r{(j|I9#faJ|{gCpM%{L_R%^-gYWduQK>vYt2$MXujGPLmjp??^tU2?z~p zzjJPWdJ5xGQOy~7BrRPwQ+7T4T?Av-Vgu67*N_sT-JwD8T|-t z{0HKg$tf}EcIPw1Fu2YaeU&^CEvqG-4@v$%HuUMcy}I?jgC8A=+;1{O(VcHD)>r+> zL&DxHTs`2%`v1A1k}cy6ZWlJ2qdB3Chus9GiqkIJMNMFIWygMNOrn7v>CaWQ(AJ14!srN2|N6J ztYInd?XrF2chP>42FgvFnJ!TJW|BXXqP-XYXXz7aB4D=&`^4C+3U)JvliR89;61kN zLEl7)HsfdxBz98ERp!n%r)azk2*Q!HOI<%ADsXqHV?`R1%7@8+MraH~rg*cT=ZE;b zJv>L^r`waU`XOAR)atq{O9c~Nm_|fBG0K4?ypXuFjan=`Pc@*tKi||q=(3T1 zIazI~q0!~|=RG0Bj$_vU$b0mKoWMILFCLo0=W2G)=(s;${!Nr14_Djm@WW2! zsH`>doa2H!%e%$aS{4Hs{+clTRimgIYEs0t`L72%htl?S&;L6lQQYie;d5$#7pv(I z9?F0D%u+pW{AM#JwXdM0Ip5P{JGE%OSd)h_cfLr2BM)e&nfmAAe+EB(Z-AD4iV(gm z_>&=l+wbPXW%^?1DXDfN66F_biLR?RzC@1S<(q#VNzvCYhw!YF_cI);xb^_Z-o>-Q z_y?Oje=+3&>CD9Yb?kiP%vF1}g2*Jsczn(pLz1 z#oB z>5tky+BBE!QI$a80@d8*!E(ZvU&6=Re6HU92xPHS#klcc5}q+~#R34Qcbnq{u^wwW z`$SZK4!jk_=Bqs(JT|i^-kbAf7S9{EM}=BV^@KKGp4wb)=4|s#0<}w_@-X*eHCEdW za*}A(%q54N3NT{d$@~YR1FT34t<1YTNuuc(N(%-6@m_J*qxn~1O@$R!1jD}ztMcK| z2hZLEY?4^;3h)BnlsDx<_J|X{Z9vc@DEmEog}_DnKX1${FQ~81cHKD zc1a6w{8#o_X(lNmZ~L8b#S$&Pk`R9TO?I0wi8a$KMjKk2n*QhTd7L7W&)kea}-X5JoBYs?5f*c5*`E zw@?df-pz|&z$7ljMp)vu}y5J|HZ(XCnR6Z8+I(?$di{x~PaMN%~A$LfJ9d?0(g^@hwBKx{a8C8hx9b-q9jO zAtajOAsYaM^}hk3Cal}!+h-9L-F8F(-zo-6odM+*(=0_pT54~9Mye*n*z1s$EEFXEe29)4N2YT2}B;Wh5cH&91p2LPL z&n^Whnc_2Vr%H8?#B$WY@rObP@|3?a<1eq{o_!$*A@cp^D{vzEQ9r)w?ZWNNdYyWX zEYTcg3(}7-kzSwATgiI7cclbz-Q%Gs4)8K zvmpx04W7Tb^ZzBk{x^62XNo(NomPQ*#q#!h?fcz_wJ$ZB-DNfi?@5sMAnve5e35=K z`KtINXCyI~@q;R~3s>7j4wlFm1|-lt^{V_ml=nkaZVszgn*%Qm#8UqtnD6?+#aMVQ zdZXB(Io|FZdt6`ksu?F!&RSH+=yGly!}7pA`{eJk_a-=glW-ZpIv=Cpn&A6B*b zL}7do5s$K#CJ&V^AGrKJ*yZPj{=*3Q+>GNg-ROL5r)|$WcHB*1^`$SGmM?a;#;OEj zPL@09KF&w?r`7+0?G1wj+aW&c4nK@o)6r~aEgk3uAb6T`6+?XMZYZ!C$eQK%-zCA7 zdlzvhs@(MJ77zDnz@%1uG586k2VyWh;KPI`sSg!n04~eIV z7y+mlImr$QNw$MrJ`zG*VKA2Rh4kMj=|5~oONmv}Y0OT|f`^vIz{{SI-dJsqy8A@j zulpT&O?bF=My|75indY+F~q_4z-}t_f811(cFo&l>39|qUjVSTNBxXij`%N3Nd1T$ z;*iHNxKJ+EXpqx-k zM{-R@1EZwv!CzeefB1@jWR-*`_9acw5xfmRx8lEB_YkF|Fza`J>CH)|GgmGS|5|NI z)AQY_*5Z3(y2{WUEPopBMYg4VW1y5_`Ln$*JQf0q{U*|Q*;$wjs3j4AEB48Y5oKYZ zvYC!_{y(TQ3soslKhB_NtlV7f#{wjgot-S!)Cdu{aY}YivEZ2tLSIc6g5`e$&R;6v zKg@sY;Yk%OXOX?;tGDsI&gHKQl<8%MT8IUdQW~Hw{n?*7%E2Je)F~nZC}#ACTcC zg;yGv&pPU7^0<)7)ff%4gP(;JgAvc9mwEwXS$y~3Zqp;FFgmsJSNI%n--x2PX`Y^$ zIbXyC9L+_gW=f9Jj8rY8l<%9m`oDfoK8S$jkN9hwUjKjFlt;)2^g(wp0X1Xefe%b; zmK%M=-*tg0lOevdsEkm4^~;k@at+HWr94tyfj<<_5el!VUYP0wg#ow^6hg##u4j8T zKo|FeWK}b=(M!m`r$G0s@I3gh3Qz6JX6^-yeLgnLc@L)q3)L2(nZ0pQ7YuGyv&n+! zYE2+W%O3u1g}@xFu6BME4+f2D>C#JNpRM!52EDGkLt}$H`-MWM06&#yYOMC7kN;3V z(@szq=YL>Bc+=retXi&>;dNS$6=k_ZkRK2}1N_XNA_}JRU;cOHlaoN(^X6Q|`S7F4 zYN~)rUpGB|Um3?~giOsmh2<=8C-eZl{Aa`9leeqkg+EC<$if5|)Wdul)biQ)ByFg< zB(?+0<=4>JS-s}S-?t85CAB7T+1gz|!^y?^fKgRdL$6UiHodOe+$5hN8cy}gKXv-= z5ZrisyZoYm^}<{`+tD(k$H$K1zm7d5~g(1czC zOd2&@+{G|BuK@hRS?ClfD`stm5r*HhO2G$cZb!Y;ECyd5w(+%BnNQ|tH9=>j80t63 zxVCaLGF?u$xGJ?c^KISt3HYu7_g>j+*pDgJZ0I8x?|vk`4iJGDIVaG87r4Ug?SFFn z{C;fLvuzu+&sp^i9BSvy&4p||<3n+X%pWhv-bF!@NR#`gZvKovY; zo=+AyiykPq4qFVVX8jm$qXNgBsc*FFf1t~PhnTG%>!1Ui{~f5XBVf9jqda8l;S)q0 zKAX}HUD|#fL%e=8&q4Kq5BO0wqcR-5?H}%~UhTKU_IP@dN`-cqr+_vK6Q|PHF=!CY z{0oq;CJWj&-)K%0X;N$Kjgh5yN$*4()24eryw`DJ-%YFCXWlW7g*c(HH}xju=1fkBQcdm`;#FjwGSK%Q+?Dc_v!-bhQd?8R z7L+3rNW*;XdDw+(*ye+zm0+W=yA;%ZsjKXjnzl7T3PaR}P-fAEm?=Z@JtmFzoclJOT+J zIaeRevwX4NaytQcc(mHT3YcJ&c}WwygTtXXn$GhOY*|jBdADPkJo$`|Fy;avl6U0! zLj+Z-E|Qh)k*rV1V;G!^UI>RwE^i0oS;bPdI&B1Dh_uskd-HAE01b*Nbm}IdyV?kx3=7u_a5Qd@fA%%gih&u9wV~NsJk$gC_U9&(edOeYXvLW7A9N!T^xOQe-w6kJU(g zeK6U+VN|Qh<&mX81eX?;_X$uvn!Z@7Tk!psZ`=;MdYx7>e|{4qi3Sg&XxhWbMDzL5 zJ=580OIeFY6$*%P2c3OkPlYQ9V7ze88Qw_xg3@bMacjJQ`u68BB#HcLry>-2>fh1R}Hr^a(nTEhjY{$NfGX zc*#F!L|KLZ@q1u+O$JXl>(N8x_yu@Ulz`*Q_oI-wmA>(~SRKg_3za;{w37xC3&uVY zWmB&FNdo7QTyi%Tm$N`bfQUG-ya}ObTqD8sHdzY`pzik8v>SDIO&j!n_ zSz37h5uG3t^zrL`D5&7|L?p7mKRgH4p8*I(tU|3fTJ7wEK-`)+>mjLy-sp-p2^jfH zWW|MP1fd=BN+S!mH|>Cn;kLm>ASV&;>4GU>XUKhBro*TnJmVzqj-(urzYISljytg- zUwWxilWecL%-~$LPBuryJboUEp%d~S53sfyb{_L2)EW^xuY^a*E=ut3q=&SUC^{fI zEVw(y^SiqwVZG}T<^wner0Czcb>>OMXKQ8_B?frjaFzLdIQJ{)xce>_ z|8($Ip8ZDhxdul_{z`V@+X(aGIx15>+RqX?hf7_T24p^4uo6+I-J-=4=*JMk2UTr5 z_1k?^`u+j-9~h7xLT$-MyjIjS7}KDs1g^=}D;A4KZ!CmnI-BVBMga0{OtiFV!O9ks zZBrc9lE$RAr+d39Fz~KBfncDbM{}3IQ{P)+hAVPZiLKTH1jaDXK;D#Tu}of3j>rzuQ7!$jQ*AogIOMhs_CkZAcpUnUd%7 zekj&~){Jqluk|$75DzkL^Kw!~z{}%rrWH#^WqC{mfvxn@*X!5x)V~#rlHqU&8?~Mv z;kcLXi-VP|(lOWC>D2`6N1;=p)LnFEuk{Yb>)UrhyNtkal~ya&@rIchN8qP8h5H^o zrMs-kF*21O3bczYXRGI(HyIhnmY*wTNAUCh>noc&mEJM+2$Gxzt(e z@Av#l2zIo79*^GtAlAhfj?Gd9!sNUz}+Lq6KAxNu)pQhk@yb!8{^tIeTTa>3k<+I zFnp=$G=j$JYHhvP1kkwt4B590&6<*~Gm=+D+r4U0q8tWqsZ<^OZPIm=?|La?zX0#K z$aM^Zg#V2!|Am3O4$_r#iCTpy$veTckh~>C5KaWs9#^~AG_A(SDLNev4}rv7yhDNZ zyzC+3J3iSYPI&5rs5zsHVO0dPymp#nFxgMu}*oYhtf zT6Z>pCq$;AOh4Qv8umEyV#jPGZVb24GeE}<5Qn>!D7|y-6yKf-f86LCPQ#(%zXl$D z+mg?~vNxQCubkG)#$zBra0jXxp*X#Q+%d0j0V6j!-5Q@yMJGc#~PHRSP5N2$p-vN^_UpqM1_z3#UWDsdvhh&g(uJ_O_E zK`Gi*#`5!0AnSTT;WeDKtf^9R8wzX9mCwlZyuGRaj8vT?I83O`?tXa^4&H6CInOtx z|2_b5gc4>J;qf>W-Ymn3 zG-{>3X(#|MYBMYsJfoDM1U4yw){Fxj(G4$}w1>QyI-UH-PG%_HS}XB3!f;X|W? z4!bPKuwEYEffJNL>yjtX~MQwSctkUH<#w8xRK$d^gBS&4Z*pzg{GlW z!RaE&1g(M@T?3H5j0h#8j+nE{WTO6X+=KGcuR8;$QD5jUks*w#%2ZBa>50~+e$SM^ z7P9Cd(dkhY)lEH#K+BvgR8xe=Ar6_3<%Y-FVnX73e^Z6D|_r(ZFx>t*@%?aJ$_bp+mX5=RUw!(hioGmu&Y zt*0?R))eP8Jheurvit(jB77U`ef_c268Y%&MygycV(B;|^xMr&1$e@zsCq{7cq%5! zH4S$wx9jQy9;~QWkWTTM43oAEoaAOnF*d!9b%0b#LSee4;^6pE!@x&2Ds$a&6yDmU z)Y|Ca!I$P5ETF)ob@^*YPBqb>tIQq(huqh!UCM@N z2*N#FhOw*#66Y06P0jX89~6Uw(1$yeRlu(NlLsc4h1F^^1%u^Az(UPxz*Im236qYO zj-g)m64|?c`kD=z4pm}8jdOM|Aydm8_OWJ453b-D3Fs~R1W3zEg6Zv1r(sMn!l#@e zdNlEZF22a<1{X)GM}S>#Y0X?b8Gtnljn9CYWqkxfXszQzMCnC8W6K8C6sys|a8q`f z)g^Gfm9X3yqh$4*-QD2zL}^n>%|MSYy;gb5WAV-2WJxNa)1o(v^-|~Oy?e=wZV0Jv zM**a1H(;$@rCKKQm83kM=ze&#qxOFHMclt73$P!OP9ip6Lp73f&wm~d6+AB#{Uq@T z_su(@c`C?S{gC{mfMFlb=C=$#7zL%0jw3}OvXfh>4^rER3l34+++Z}a5__)u=+66Rv|%Tm{&vKVh#kh3oGoL9T8m)-s3~Z7n?Wh z^!Fx%7@I*$M>X~CcTkg8z|6r98*UH5N4(v!^u)5Q&Oz}V7ngJeX;&7?nTVzIca;-> zi6li=q){X5I#O?M&b1uGdLlORSi?d-vngZtcf#O?#~N3gBH1b zHonhPg^4j#S=F`#Qw}mWt9~ZIKK>k6io{S&F%RZZRzVpKeuKMTyZoT(F=N9HOPe*0 zVlU!I;tSKy5H~vYN^#(!C&iY%dU)SstVCPexO=@T0E?B|ZbR-mOufOOh#`>~Oul&3 zDUWb@nHK?2g;^|p&g;q4XA7R5lxiW>@xTbsF8u(Xve&MtB~2k0kGM9NTySgBc5wz= zhdfi>DeoMStFwK^CYRGCVb*9a(n^tkF90zqy~aNPjB#k=^N>#JXkM?qeE|a@n?30+ zDL8EVcLJDK>G~f5S8pMzbN|N74Fd;u%b730>tO(@Se?T7`?B|A#9`~AC2#L%*#LU= zA5*8igYiV2k`Hc_Q{6XnPJL8?u6!$>%xM~6oh%(L_jgva)kS;EO@P8=nzh%5q3Wz6 zxnb&wZUecHDPZ?fL9^WKV1*K414zH|_#4W5K14&b-slAE8yMfg5TUA;(+{L;c~rjx zP1hOIoJ|}4-PxL|8@b$RpA z3%&U*ph!Nulo|N69nNlGPHXGE@Cj=mT7SL%$fG^%WzN7n1BA_5QZUh10`ah@o;GqO zkV1U4;JVM3EFaiJ5=Y|)2bJmJ-<&FG01i>R`zWm+PvMk%(_trR3R4FbmGmQOFFvIM z=W5U=xBvyuu%M_qzm}yM3=E>enkzNmT0^sdo*EeS_v0Jnzp~)E+{i$3EnxjUub@GI zjdWP5?@Id5)!Sp!1vkyUZOAg~t|ud7a@bMjT8q<%8QA#LpUfKJBJb5q8xg?#$Fw1T zhzK(g&>k!vKb>GB0Ej*E(!kb(O#tag%(x99_Kc7Nz7~N(>?AnIwVw1WMGAG9R;&hr=r{vBLDf~ox1a- zPe}XXs`Ak4*|(o8bc$d5U4bc_aM;WRliE&->)yAfy^OvkFvl}`W4|*c5A+%4G$#(R zO&i}2*eF*yMq?Bx9)Qywfq>rh_{uq`(mtvj$l5!J51sM>y_LlQzB z!uc}AX$j4AI88``wby>V4Ie_TOY+doT1V+4XvM9~SQwn@H~4@K2}Hf-Exo|)Pg{eQ z_vAcYl*47fxYU5L1UzQF_lrO966+oJiz~(s5y4C@nS#AlH+7lXb2QP`_sgF9KB?zVsID>^n z3O{K%fi!3pJ4bo8U$%CJPIKxOp#G) zTV-xsaFKEc0hnu%e9$T31CapI88Bx%1osY!OW$(~ zpaH6f30ZE)A_X=Y4h=l7HJ8nb__cKq$$&TzF5{jLbz@wB{dsTP{_-~{L=koep;pWe zSWtb#>B5GqebKN%KQv{wuKDRCujo6A&dLE-(^EH~1)v?3>@XuS?|JJEqnjyBeaX&+ zgP)GUeAJ+IWRQ(9vu6T$+K^tgn-~LQ@vnr1ajU&KZre5KWX!~pwpWYyD#XhmKxEve zFmjkoKJ|)k1l%BovHAQZKD$M(6ebB6Ry2qdMgTmz33)V@L6ZhptH}&SslvA5%IF?W z+}Kh^0w6QP_h<=gZZZCG761<}I)ZBXCLs9}YFn_{>Tq|~0#~Chs8r#l==VOQ!VxFb0v4798f*3U zIgQN4*mSdGrF}GN-=#~(F$p~YX_D)p^l*LJX*t-w%UC)y$PCblOTeJ$N3&%{DYF{v zHX|kvJN=MkY24&tM9%p%YbgKr&g1;R+n2P0@De-ubr| zz=eikiH#{kdA;Z5CUu)6fm5G3bZ5FA!`^_WKSU&?H7C`B1|aMtN*tIpOTX@55d;&5 z)hGK4sSCm31lA7z|IVLJ8$;7+7=rn2@3c`(fz9*Cq9ahPLHZk|S9Cn4ba$a$;S}L% zZxA#czVoT|pct3#lED>pmrd4tITu!K&Vc7!n#AGb#5ri(j@t=F5$sJJ=?({@v=PqX zda$kHetcTo17ii$p}a@pnX!+18Lh)XqW6MGDhxU_^m#-c$3pGpzTN{EE{4})06!Jh zGj;^0-21dNq`4uMBw?kF+%Ycgbf>@&&zY)!<@vkDv>W2uKs-5&YRl#dGE*tST5dLA zu;4P&>4^w}YPvIsp=dB>-iyxhofKxC;WTWXZUS?BY zkXsC59UMk^e9&PE`sqpD>hJ?joTwPcY*zDc0QOLV)3I{B9(3msIbhj;@ue>v{?3?g`& z?{n4X__PmoqC?Jm8cbMaFKK!+Xyg$yBfc6_exM8$2$XOkU6i z^3kW*sj>y5-@llZTWem_&;#hdowH7Rf(lbU^+7z z1#B|nRk|mD&3XYBsQNvXjtELAJ9cj6#m=1_1y$2ykbTkj7#roNUxG^I{(*;6%|)5T z`vlmG8#2z{!Ko~T73G~Vn#W*TRSstLZ4RgVf=&|d^mF~~VYEfx2N+s9y*r>ow5@1+ z&ZKiUwH0*#3_*8cl&=|#-oHXeR>@PKbQ8v$;4~Y1Hm8VB2ty~-vnWkkHiWone!v6T zLYW#;<-q!6sg!8_8kGRe8*MZ3DeZs1$Ina))0JikTSD&I*F5cYi|5znqPl=1@zTu%H0`$)u5i{ z0b#!f;}}P7AWVLnogHzfn_Jbx7ZoUlImsF@ymedbO+(#%K?bW zL0ab>dBC%i2H{Du>3e>e!F!1_CH$M)l}1qQCSo1Ll)D0o>&4CCzUQsR{v6EeV@l3e z;d<&dj>?2-)bSC${`(owS<%=$A2RI#`i&H8^0e7|^}YpKnt|fXX00C>ur#peA&Pmu z{t@1O7}kiJ?~?Xmb5cS&I$L9T^^jN1*Xh@th@~ZWd^V;!kP1*6LDzVsP_3e~ovw%p zo;Th8{D}(<un>I8&9Jw0kVu{T*pov}(?yH#R?D ziPYSB?~9MW?g52ZduLCq>400ryaEfb z%H_vsG4G~_y(-I*u}d$s;+Vs7M_wGXuxyPTz;P`5bk$<<;&q6?gHH5D-;jfpjt=9q zG|~lV2<}37!~RO$PnN20ve1T5XFe{<(x(mdW*B&mR0AOdfT!lCJP9g10!2z6shs z`a5;h1%HL5vbapeiORIXG4X5CK0uEbgr3FjQ1kVD`#J{-yTW~3F6ImkH-LiRQ~^x> z5u9mdnqa-*XlOQ5AXMCY9@0X{KoY;6dHW+(pohxtT+*&@E8X zYs=0|m;5Vt(lI4zWTq&T_Wtpa%kl*Ei0}UcYAJ&`n>#fLa@40`W&8BnVlANx)Zi}F zrSI_%xgv93z6~q+Pu4 ztigw|;OF9wM<%HhR8%;HybhoK6I@cD`@P0wns2hE!PWpxhyBkPwXOMa_;ChNQsx+B9S<0J=HfoSBPPSivGF{o(%9kyd^6GCL^` z-x{?1A9`X?N@$n6@89Q?5BYe*Z{|VmdF^kh!o0^GW_%hQO}uT3Vwlofu7WCM&XC}XpCrO z;lYE1zD-E0oegW19OwhkQx4-TKsKlwC~cZtH`|7_Xh;O(dR?%7)(fAOoBD1rY!uv+ z^YG>(>Y*|q#7MU++da5&h%p73!;V&u{;DuZ+Uan;)#Q-mTtg5w+Pi+=NcL4?*_F(j z&Pp1p4bY+9%;SeG0{=WnkGE#WV!Vq&WH~h;sze2r*Kd7snU{HnB2C7_4>CYMiw_?D zJ$#m?II&x_?&7_*6g&do#N!6vP?RKhXmCPlgJ4zf`JXVqv3p(UiWS$o%Gffiv^`L$26pt@* z2EzfU&2Rz!4%P7hE6&1JJ_uSb%1N?Xs-PE?=^zLjMr=BOa~o{yY2(p$yGT9IKw6R~ zBKU{-=`0CSqVB(xeP@1J%t{#am?^@ba0Dpt**K-<+qz|DQaep+Xnmf*(f!EM?|v*c zT7}e#5I5TtYQ-zP|BDke$G{rMZ!l}APNr6Ygv)c%XLRxYeVA$<%QJ6HalNtYqKR|4 zDal%8q7{VGOA+F2CAv_9n9Itbrgp<}VQv&$9Ugl{@Xh22zO6}^0;*&mts>(wE%(^V z=Kvgs&8q8+aj*rt*mgN9PF~41$W(WKsB997r!25$YXfhbC&&@Hke2z~g3zQ?Hxw`R zKE5%J;%AeXOLqye$xo3MLrBRsoiAI|jF~S=2fWh;Q1LD(D$;q%4t=bz$6$u_5qk+I zN&nuNHk|+e_F>hmq4FVn-${Z+9ROyMBH06Upo}~n#A~)nybh*Fan26pVami@Q6IOP|r-_bf&BC{bVyOs3 zj#NvdkETKT5~Rf4H2}w3Si!jaZAn#!-FCbOlszeJ1#fxjb?zYJ9YBv^4X>-g_=Poi zygY2_^XZBwbmv83Sz+Q9lL=Jg-p?~~-=ffSFu09a_rR>c<7XNs7)XG?@e}a4_Poad z^LxHuVh2|$Gq1V#!G2Ms5&-y2;AapTycjpziba+ETfYC!JY2o0I1zE5-WE})Aws?! z@FbX-TYLSlb7R_r5P-)zVZMJx!L1r$_9H4+JTWvov_U(ei{JRw#l(0vg}p-by#x5M zI)Ej3OLxQYWd5bXiFQ|+e`y-nH2$>C$h0x|pxGCNY3AXBcZ3ikrXX+(Yix@O+^23E zq)dyBXX@En2}M=MsTVr*xjFkGJT6>{9Ohtx3!dv*O&zJjWLBeH&F7-uYDZkLg%$dS=NVyJ?mi$}xez4= zGDCWTqU9Eagt`c#aJzT(w;J(mCEoZ{jw4uv<)Nt_9FPHCtWc~#dcuL=7K9fhY`f@K zrRY^K(Cj|I9~Yxk-g)M`0P3b>7(UGk;9Wn+?6##uxJ_^$Rfw*}^V))Tubm%l9NU3V zTZl9?q|rJ(6WW%@gR_P3CLf@bcjsu4s_p$sKJ_(}x>V(4PhgF7V9Gyup~!b^@5Q{} zMm)lq50n7`*y| zVfQL53U#pgRaI)sY4?Z_Pm)ZYYea?}XzMp|n zpv02+WDj#+G-A?xyp=8IbqnLq(5L`s`DnE1kQc2Li=AnWB#S5Gz4=NqHH;Bj{N6Qz zkbwku5^H*tVjCvc8we0i*cCi=S2L-Jt^|3^bnhdJU&CN2otK~rern7jjFB5;r^<&e zY(^RgDHowJ-lQOeq4Y#>L-1?o7b?QSrVoi?EEDy|8P9a*JH~29S|3G?AgSHb4|u0V?!Yb(aP${J(@#*ys=lcY6#RNm`(iE#T*6*+l+yFWUr>Sr zaNYB>{bN#g@wd<@(Frf%6$VPGX~iNKK{$~Wi@s<28^LYh5IDu7n5q<3-rBb8XlcJg zuR(SGpv#}hGux3cDwY9%{SxpS%WLGx&-i+%CP4>nKlARvAVgRAgK+a-``3AKAUYfQ z8)hN2<+p~QtI3=gZxV=syXIE+>l}jO5DiOcz&+ZRlGVbA7L6_~{&+@y+_Hp6I`;^# zD!&dyZQh<-@ev%<{}G7#rUEBf*h>XLVwuc39(`IiVSgn)p@9=`yCvQt_yP8Go)l1Cf_!TDdKu@A19EKxBNLK>h|;VI3AI* z`%y7C9{YTf%R)}2bgoVEN2}i#?-@vq_GG39I>_e?Y2KiN|4 zL|48hBs=Yh_XCPA4h*GPZNCBBJM)l$@MP!8WZgV$-&;J96-g25YhVntheI~_;{3yk zI^&hfT=GS~Rzx1{{HcH!UbeJ9}1;xqpBUtr}b zTv`HFen`h#AS0lZRnAlMpGhQW=gliWq>nX3aZP8m*u$qPv+bbBH+-(%ET3O7U>xB+ z$02t4#r=SOMCMa0pAhv*#PrQGRjYZRJN727oS3tIVSpFW160b7UD0dB83C))iM+O` zX?#HJ&R~{%0C6)Z7O)k`*}B|mK|p_B(*8py9KAU+-K=5d?u_f)q^yd5hVAieg+fw0 zis~x@vIa9=`8tW*(X7n-$2K+{4}vOZer~7BNZEyL;SoTJxjQ{_4USZ**iHbOcmlVU z5lb+psOH)Q&?KTxCcCSuadLDwp`Mvy74Ew2!s0y-Hmp6xPoMohVB-mYfeYy5pR_{& zX(>_Wqk=4MM=j52iSV#K_E$Z!E5 z{drIUat!gH)S~(uL4KA;&6Y0;PRtxm=^9Y>b4sBoSY@AiIswshg}=tK#?z_q8I+L( zNyBvfZrfu~c>)^Mj~6@Q+3ewMegrcxC=j0@=pp`+Cz=$;i}z9@wgaRZSIq9p-t?>F zXX&j11jGzGF0<4 z+3^L=E){P?E%5|f%Y8U6Nf0)n2mM)UTsUEy1RrJ5LVCjGr<6lqGRQkWp`}!OoAS?!Pr~$Gnaaris%4IrvSKRIUuZf)es^Ol%ZKEd- zXAs?;fHPXw8|E9Qtyc>d`k4k@cQ>H2>A_ZSdG{(9%>|(S|67aY@2)J@{`OEUn(>61on5#}y-hir^3IZ%g z=F8g&8E9`Z42-|3#=RgdDk;d?fl;N_-jS541JwOFHt%De90mUR0+BIl;rC-(dowAR z&+42|*N$h+SJQA~cd2M!kkgRI4Nh_B^8P^E+iR*J7(i#|3<%d5q+XwO8q_q_ zvjbZAyhFEBVrbnzC~T$aDCA04ODAXDIbfrGUU-h`$T1)Ld8?^IllQ@Ak6H>uShIx+ z(W^yi;}KoI-=-l{Vgb!0=xLLX_w{Gg%qAygQ6f|!bALq;xrr(VMzfeh%^=Lj!`f`a z_i|}M_1jqack;zfV|m~}MiLRHQHs>XRo!TSdlT61>imb)?RgqtbIRwBekaOWMc zaiqg1O}Y8Sp(9}K(&3U4BiRe+gpa73E3cN{(rm42borj8Xny7=PSJ3;tDkao1 z3PwQR;|dr#Pvwmc^{9(5dd?G`q{G5?U^ygN`^~QAHkI$*GC~T8*38j7juSoC`a6S* zO^bUDeg4pH&cN5!3GDeW|9z;uyzXX~8eM!@c_zd2qOt8qCJasMVqXX$hPLRTRerqF@3)sjDp&%?yF}F~1(791&7mXO-01gp_qvbXK zIS6P3#875p76)V7c#7@Zvu_%B12LU)_%%0@VH7vU=C&<;y~*@^s^o?W;zQDU)tVOH zkC%Ex()^HKF2%Yz5YjsQX%9J=mC=~D)S=hp>O1)X3$ID@od3WJ+VqlFd7Ypfo@j50 zMsRmUUagnX&Rxrm*O6$b8Z=&98nIIVh@b0Ug@&KI2vz^J|ZOB9^ zJLm0)H*DN^cVJv7T@iH}KLXFF$>n{}&R>2oj?2`!e_}g>>o06A)H;;Sb#_qyslUZs z^3mjG5VbUIqT?!Unc(|9v$9|X660JMJzy6jErT~dl>sE%^;j(XY2@;U(#hcMNd&Z& zel>fG_RlVy+fe*f3^6-)qQ;9X!w-nw-%|$4XndL|7JQs#b0Bq1gmCvG?(;E@6#_{!HYxEF3KXZ%j10_UgH=bBWR@Em=u{_rl;3S7NG8+#%W!{ifEf0K_M@$`99;? z{)Yp9B31>$z?|Qq?v{KIsq=is zYGO&cJYIdtyu$Hc?2A<$VseBV3GF@DG=#j*0Xhn%FYV#9_#Yv%0&fm3OaoRl__P3; z90{xRw0-+iAuBc>tSNy`wL4;o`HQDDSmkPwF6;3kS=dan^n~r|v870Y>y6V8UvK0g zIQet{JCdfi1ipqx-WDH@~&1PJrc;IxVb8qiwm?HZDhld*jp4`3CQsq z#8T9J1H)1$Y(U@5(L6ZI-#4r79fe@j3SsTBs^OFCr$PbJ^(rgMy{a=^D!1AACzNGM z54yX#yzam~xUB5n{#=&7rvVD{!K=TQmw+9}L-)h9F&{=IYM8zaho!$b()I|? z=zW#jq&Wx^@=xLr?cs;ojBor60`H+uylj8QuHB%*l97rzX9+e<>=!1w2))@9CEfzJKRy@w{XGJG%*u}G zq1pj_jL={m&f&-{5JT`o_{PV|?w*Qn+Xh{{4=+jBEo!~<_bdi>1rn1aM4N`-nHn5eZfQj)oof5cj#wtNIIgA=Ssijx61#T+ zj!r4>R~~<@G5?lE6K^0IJJhUyIzt@^^NTaO_|g4Q**GY^k#wPX0G(V!Vyly2&Jpv#0a`nLSPTPPqAqxThg6z10`GxSD<5`vq$3$M z1o)U$I;YSHn|{n@vr)Q>n+NS~e?`Zs{jX1k|0$=(TS>QvGz6H$a}GQ)+fANFE-2B0vLOPyh>J zr`?-r*fEHL;0guwhnIcIGi)i$m2i%y8Um|-Zo|}LzO^#B^iwL@QEHAk6rb$I3v7lp z7e*C@m8k{|fzWy&bmqJcCRQ!ecl>zs#B=OgOe!Jud+o~c?=nNI<5D32?3^Y83&zBOkWf?VSCk{t zk$~%$GUcxz(3sdoC1)>K#a}VMm~M~(d2Vkudu4l4{d2(b^8et+dPAS0!qMl!Huk7L zrj;Kvj1J}a>W-3!fqCId>pFn@Ixw{v-zm$WK4#tIVZtv`;MN}p*Q@uO_{BITDXlWQ zu19uKGwze>cv>5auk&ERJDSMw{9}1ibmyJ zkP`*VxgH5T=zo&|#_bh&GubSDFX0*MH>kl%Q0UoJpZNDNM}{;Y8_yO`{8{KNloSO* zgn~oV1<=#B2Y5U)YbWsYh1O0WHG@F=Iam+cbME;biw3z1{hI?0o%8x{^=DlN1zpY( zHg{z1G!4k$MuM^H`#^*Y;0?l?egRAy?-a(+l~jyZVJP&u>JPy5T+Er`wa%WGGWuh@ ziN=Ruf;I9#_))ohn5yWa6DiXNKidupkM8g1o`5l)eDM(M*jnidcZ>H+gyY3$P*jP2 zhyWDcl6*mYYt}w!2Jbpjgin~loXi~i+!_O^z8(|BR@7ou*cQx1D&>dnt(3E@$yBCr zLMOEGJg@ACj#arnrJyiS@5~N?%2jvg4eN0a7AKA`&{63)pbj3DqNZ+OUg@FOS)J@p zGkz$Ifg!1L3|LglVYQ3F|#_DW(-&Y6c6<0jo zBBOs24666#WA~4;@mO8Klb_>E<@%)}5%5MGm_$1}s6zj=fLxJ{v;b1i@;&1Fi0Tz} znuAf(2L!Xb@KOmh{oQ(scvX>%pv};`Q;u@n$1I{cN(4xrDB^4eD2CtuLo&6_9Sx=U z2PjEBy!Kus=L%E-!f?w?#H$%i3is3Z2oP4)Cm1IH2kixX{E=hQG zHnidbjMJ@h$v)&5m`ZOHH|{wjeO&e30boh?c1`^$5d3$I(1R4?#RsLb3fBezs7lCw>HvQB@bmM`>G++gWxu;Mp z>bk8i@5>{+GnRqb&&N<-uI)19>^@0)veOIhv$&RQuOE@L@JIr&8X^80eFv=A4P|NH zcd|WD)?xg<06f_o076C(-G`APa5FSLVB-E>&=9gQbN=rIPFGNL2iVeL$I%eR% zgP*W^Uz^=u6RZt61u~*+l99(r%XM|}mh7UKBh*>#CSk7<0F}7GhZ^^fE1aP&q(u6R z{bY0koQ2m)wk-R8y7!@yGoKFz9_)DNkAE1(%@~qdIsg-fq|mm^f&$>gHNBbFS<*N} zTIl=(GeDeJ+hv3ZK~jQ2K@uhYSfeaM`fe<(l{2{W8Rjlv4z@s*!3QQ%kB;d_)^s}= zs%_GP!p+YK|6EA!I$CXGgSqR@G(w0=_w+uMxs)k$SlHqKLy;Rduv#iQQ;os%z&Q=y zl)gP?2y#7L1WI}u(N%hkHcEAnM%DZ?QhQ<0Lsx$dC`8g`M(vY))mi=Ck#ed?51&HV zQosgN5yb3$3_Y!~X!R+)D!7K&#f46ud;8a>SaqC~S^J5OI6!0z(T0%}Y>({6F02>ccPZRmNruRpNDoctE5D1l*m6q& zTmA#zJBi)Xq%IfYM-$@HGY|a$T+H`5?|IIHYYpJJf)-i|URZ}rTKUNZgrAeD@^M(* zb9Yt~T?0(9!0W;fbc68;XJUwwfRP3w&S>Tge}7{ry4xq~@MIYU3x)&6mcEh25aGm; z98*}{jBc!R9Mf*Gs(vU~+7Wdg7-G-*IU(}aIQFjtMdt}Hq^wE-|HAV*g4Qr}Vpf(T z#n%f3&z%_E+8ROXBn+<7Z^>MCpw(}l!(Qw=1Z~L`?fcN4$+8@f5-Y+tHIsD?*BVNK z9s|s04p5y7Ps$@HyFo@_f^^Qyi=E*u>I8{2e$bsvVpxchLCN(aaAv}*Kdyr5(unrl zCK8r(AyqgLzBbav42w$VdEL`3d<{NJS9^~tTt-Fh&jLiz+rnC;Tn#=^o~&jhASl(s zEfGoEOS!YwcwUd{^f85*6Y~*u2riYyRY%!^)*l=2BY9IMxi-kn(9|d-Ed_$-qdz1g zqhH()!wdFuDR{|t0BPhC-O$8s|NOKxtT#bJjc>urvb#V%x%&Q_lZHGuAD4n6ywFUF ze(pw@NB?gDJV8W`{XN^k|7lFlben1nM#>K@%ae82az1$IOL)rGudhQvEJ0|p$Y~OhmD>@1l0aeq?Eee4?#)ZfIL$~c)}_- zWLI-idG7~0j$6y^ZcvnZUpTxn>eFDTGxXmE_*WPHB@l{OB?1jZASuyS(VyNBb^W{Q5ilko6~Clnw3q$+ZIb*-Uq^+Ay8{|D{be zh9(rB(m4g5D|KE6x5ybfRWpPOQvSPPoZ_Y8xAyEq(rm4e6^)Qzr(#dWBoJ3)z#aUewWqwf@85ZTz*{0e^dSeWX zvT`Gdl^|{KmULHc)0esz#dB0MPyXNi;>ABWnP77au|di+#4ZA!8f7qh`+YeIu|r*X zbUw5dA+Q9skf4tKKP1u~Mg3@{n;;03PEec*e;)Oqi34NzmVGKR)0R z{LO`;l$c{ag2(e{rDA2O=?21TA|cbm01W7*;2;ubnVlf283@q8c~HlGQj24hP>-PG zSjob#4dM|$tJX;Bxq#@cz}*_v{_5;^^3gGf@tOy{0mDIOC;^B|Xib=S^grEi&_o45 zUl|tU{>2Gv19zInm$3eu0&>mc60T~0fg@IU%C&l>%ue^ak8n0m*{W&Z8PoBzIAV0t z?k}wS )S=Ea|2)-&N(o;z=Ioc3FcHZ=G-j6ioM0!eZ4=ypu6i+ zOzx>g*(;s9q)slKwi)mTx_q{J982GvYIOiT@jRG!bZUQlHLsvU1!iCxCG`wNhcVW8 zQ0Mf~Ji$vAna0HQCnKCDzff$6@F8l=KM*8rU1j#&-pC6k9n%B}t%vlp2PeOmfU`X; z@exFJH`?5WvZrv7-3Ur7CRew3-nKyeqejJ13T)4BrLHh%~1x(+s`XIx5K&t~jA zVP)(BbJcJ(YL&@vuU6u`#2fURXq_GdUC=yzzb8^ygtsMfrnTkjkYTGlyjP=KoPm5aS`M!X}gAYKorM~gt zskQBA8HA)#5hPkLBU}6jkF6TY1E#zyqB{V)z3kDJ%+h3t_lL#|DhV<+{{Y5qs`)6)!(kD?N5pQr9J;`{UuC3f^{kmjP@KrE@shd(*WCYmoM@t=@IuJY zG;E9gLRSiKP0{_}r;hq!ZBMht8@j20(nZ4Vgl6KW*-?z8xJ%REZ@7|Uh~uz?=;l{u z`bQ)yy(Ac9iR#7aE}s->~U*iUf1Qukb%XMBraEapqW z^|~s1)}=7^)w)*MGPAe7A5$gx_A4K3U5w{jf^J(=nAmqP*;q&j#m zpQjH%SWPssni7W{-1Np!6EF~ve@tXFm>@Y7LD@q{wg=dUJ^>%|NLh&( zl;jP3{Et#Vl+z?ZD9^4kLBX#0V^m9PKjQc2m07sgYSTq(jBKBE<}J*I3(3xDWaO{K z4aZ%H1MX7?bYi(i!29K+$1>wa(t$mMzHbgdi|$?FtsVE?&+*ilc0A&fNr&7;RUo`| zW|MX2G?an|IH>R|8D{TlAiBCg-%9A(mVin<0&PFMim9KCk0FJSm?E}6@3AQoFQHiH zaN`)bpURj3q57_r+MNG8X#o&6S;@cg&i&MN2%`+p=W^s@R^v-&x>Uyc5HB7!6d{?U zDmk-=%;ecN^ZJI7$H}x&-<~On{c;mUrF2a;-D~1(diz_b^%YLIv)_iBfv~J*{d@nl zu1~lO65?Na1Pfl;7rp=4KjoF@TqTGkuf?Z?>zyKK7cZ>AApYI<=7L8{i2aQ*yzmD5 zAIIL)+1c1j+6Z$(=>H7Xoct2>Ux(OdPdM0CS!ffNS&_S7ROHry47I>s>aIqtGKd7i zAt@UB7z)|q6d+oHeCju#)%mEIQ_|@KKYi-zP{j0WJXKTuX**UF{>_#l?}wN3vA~Eq zvSohI5n@*XCtHz5(j#zVz$0Xjna~5#~ z#EupW6-bz0fO+KoL@3$ZWNH81BQRp3!n`m^naI_(B+rY zjnH|cr#+)zx@MGA*aKc`!;0@MWkfguIPBhT0BjKtqYXzrY!4KCmp@LpoD;LXI6BM% zAervC-NX%z0CuC*&QlHblEURiP!ORc7XQa^hTRrU{Nx{*Fp8;$0?$9jOGwOaAV_X=1J z7MR6u1|h!BfU9Zm4{;7R$qnQgbcl?t_!ckap5eFtQz`4&**=z(Phxb<02}VfhL0-* zzA6%Z$IT5}WZ_oBJ4rGXd+{A($>#b{kkZmii6HZKk2duqCJ}67)p#oy^m8F2yP1q$ zXpVKLA@DAlD^A3*W2;fK4v-vOi}MK&ajTBnxI1HSTGEM42sttAc^9)3Kj#yh#aX<2 z`~R{4{(^*<*RT>hu6`be*v|}9rU^cUtLmLy=y*tY$@=Le0F-`uQy?3?yY=!bZ1x0M zxnSfodu#QpDon6_M+-OZ!zGb0%(j!hOy)<$gnZ<-8zH7gE#|4Cyya-Q^{N2$ zh-RWQhPMg@q2qbk!F*|wRcyR!OIeS7JLH(*<)qY0%JFQ#%_(zd4 zBGMgN@x+4oWp6l{Qnz>h+({|X0R{w{gqf(y9Azf@00G(N?P%G*Ct4@SnC|R%B)axg zaFntUsax(R$_k!$*0~4duE>FS>kZJ~3)5oQy*CiCSjdQNEFaB5azNr1o2!OA`NwlA zbA1LS(~4i#ttuQZ2V4nXxzLYoyfdZzy|yLIdRo7vNUCP(SLss{FO^8Hx#I2KNF>Yj z)o8Lb$ft8fDxzHkTy+fUiGp<+|dS4wdk8aucY$7jYlR0Tg^QT(2O9g zVkJK2`@DZ1FMdYrv%$UbRG}*$_JG-Lm5)!+;bcT^c9O4YNED?KBryY-GnmwW1X2q= ziTh^jM_hXK70H-yJ9NKW1(_zYX%XIDr%N3Z-n$0*<*2uWNh=$Q=K|E0`z~3Qn1Kc& zxG6I_KLh7A5ZL$NyTFymiok6*vUv3>HMVRYSo$ic{yxl@NEhtvr^q3!U|Oc!ZH$Y3 zOZfdvEN=r%zJx+U)!>STC~sgaqp|tRKwPl)I5q@?UGlS1j}Dw7IW|WZnFgN=TbE1H z9Ns*yiymZQFWw1+%{SvWwCfQkvYP(5x!Q8Eu_OvMdD#wcxb8UF+3D0G*t{kLeS&1B zJL>Oz^_K}~d+IHhs{8omx-v`yMWFE9F~Ia6qrU{5(3^IGD{@7=X>_jXMrXW#@yNY- zOXCN2(#%R$feS=Ny0J^4kMg8Yv|M?FE;pG@HS4}uthLEAwe8PVX$m1Sl5Uyf@p*5i zyT)lvQrbjEtC*bUgNP>=GdQUaK&qzw`uaIdf=1MI#mzqiOO?0&?3rhW?B%bzDf45} zXvUx$*n5gAB$n*3M$WiF{?BQiK`G;lD=yL_`+7m+5vEhx6K(1BQzI}TobY9UZ_paO zc>8Qk-say(iJZ9Pgo;&1mO<*2+vNlufd8murrU*F3yAPea+qKuOD2>w4jN|$>!7JV zmrrajLE;yuO!h(MLF!GAkO>;KIStK4oV=pMwaEHRn7}W?@;VdLBcE4_0}{gyB_&ZHsQn z-<`*%v`9GAI@GV0arLAG*|-fi^?RNCnCJ|>0Cw5ezisrj4fq zR9SWf{pkirPX~n(^sjvwaOr8~iaTzA63>RGGqWm8NuunV&5M^l+wkk6wQN8!zq57| zc;#5ebfL*qv^Iqk%v)(uxASi_H8RfA<+`2CVobr4AaZj3AWImP`0(zN_jl`+;sNyR z1Uzze`Qb)%*Q_XCLLK`po|-nzr;)d9V1YJ*IV1Ng<^(Yg*pWV$q%75CujoLkiHG-v z02EI~}Y;s?=N@!jY`~QNJ?VwdkVqWl>U%4@E&(dr_*mt@R%Zj(|!g{ z5Sy^GZ79Mh-M@TV(NYaRC$tIFNUi^pENPj(Y?B`YmGyfRE9!MW+ac;r$gM%w7*aX} z0Q$LCa_>}Q3_X6)>nC)Dh_%LlG3T+(C;h>S3mSVz*+TVPad#ggA%;evg2c&T7EcXp z>cn)F7Z5#0qT#^Jn`Py*g2s^3iVrk-f;P1i%cml#*>^DB($+I|__ z5=t2^NDg!PSn>CLNA5vFqTo8sFLx_WEi!h1hUdM`bGZnIz}w<4o^-lN=e53Baj~mf z(%fV0!BS|bkRSSDF2gmGf3~`#*k{}y^Iu~Bp5{LOZnur`B2O**Lzm9c#do7vE1(r6 zoH-0QTCxyDR6wwG)6-LnTRU+ZsYniZ=4ogTdch@oRwcel%Ew`aFG$kPhS&_Y<`2*| zRWb=D=Sd|V{NeDdinVCApNd% z*{^h|&i?vx95?Ao0RoQlSo}|t5p&PH)cbaUr}`3U_d_DBqVBTb+LDY^*-^Svx8`?+ zS#g=85U-6CUzrH+rr;K#hvfeRhMZ=8$2G}?Ec?v+bedJD3c)Ln_Wg5MtE{~fu% z@`?i-|2H%4YyjX4>!KumibE*u*N=JUes11Bn+(KXxA#*kXFSiHcE92Skg{1b*&B%I zPtki-8e1@@T)h^{KM-!MS!>pNUP4Qy20Uygo*R&`dvMn_<{+|O#7=`MGd^!0(I0g7 z$exm+VT8O?a=6wYato9VBvwFs7SO0xNbxjYG;qm$(e+sraWP9x>b!hM?H_MK3J^_Z z6~39DCc6d&C{z1KH%P&a!Em5PP!ITz!40=qox4O1S)ueMXMpTD1Dm=*bKVl7(jtGm z>M^5Cc{(xcTucyr4yO3fNNzm4Z@*}YO;mVxsk{D3DW2;*z^pqnh-u=+y_5i9d6m%u zOQP*;(6_s6EAv{@9Rns7zUkHds<6$-$xt%Y03++9fOxL(=xiBWY;t&tmFyhg`QsdU- zq{WeATzF~o}ViXMS)~QhFVC*VT{S@Z5 z4@1jq&^MYlCVoka>{4LgNZas5J=E!tXy5r2JA}*9DM`ofKU)j)_|`v1a?*^0KDK32 zj;JFTrnHa_e_rm%tO^geH;DS?Vwpp~o0?K2h-CiL$!OH@s2}rP$vM;thDJ{-f!azZ zK)o^WMFx>2709e%8Euntx6+Pd&LP(~@Fz?BEBu?^+Q{dpTpmc64ixS>C9IX%NT4nz zrxVIKGZMyjoc|ypQ6no%8(n-S6kKG=^9voMH3@jQhpypCU5Q1j65DZ)(A=1Nq|Gy} ze(Xyeu~~`9fDy{cbU9^~a!cSK#(3O`AJ#0P-&tQ}FVfW;bF_c%(W_&jG|N@$+`cb_ z%_%$e!7p|g>sC#fzX_nMyzAzVf!43|1GWJX8!&#${{p$T_zT~mtL^$YrBz@%b0^u> zDu3U;8{d_wP;JjW^!KNKFE+kwwqXDy$n#-KlX;JKBxa7wPl}R8gaW2oBKr59g5E%8 zWU}-x9j`k;&16ecrea~ipy@Uflph*1Ae(6ZDBx}GH001;Dz~$Jz-C!Z zIeG(KYY_P0B)#Vz=~mmQZ0wGw?QVYFQ_FJ0>j{n(MXW! z=<|{C02)W!kd+L;+#!l`igkq`lzjR)~<-%q+nT=P0EDQY3Mr3Ly46?$?ml19${V$7*Y@Y6_2lr2IG zH$!`xQ0ID_P5rfbunE{CYc5ZQB(x7*S=VEkeOs>N8t=VKQhjGwx|;t-IllBe##|fDKv9(4I8`y929xA7Sw++vRIk zj?JCEUFZZwnhKGPA%K}3ns#q;`mOGr7Ms`E&aD262vbt}G8M=?#Va8x=CrUWr`Dgz zuf5vGVW2|zv({pK;_C1XaPw7WrA-rkzkAO_!Nyil-x}lygAk6?i*_B9My`-*HNSMx zNq{Mhbp#(!ZRg%ID*u?^%dKxORz5 zGd{-|b6d%C=Sks6?azWj#@&kLlK8%${j}NVeMG_?N5W z>;-QU)vzwv({kV28K1od1}SGLE_Rh%!Jep3u-@RrdHMYXr6vgb2oG7|ejjy5bk%yG zrajLkMeN2`rov#QoH!lgboc!#!9A@}jdzM4rMDn$#thzd#hjxG>O~|j$2b>KAx3~F zv%fpL{T8B&5I{`_zW@_-#D$Kzo@hGJze^T6*Pdj zLt+0iBk4O-3H04>So6g)-`x-v%Xsemsg<;=>Z*!Ad!hsV82aQ|nN;vGn7 zIXpbuqMR#maQ-#=T=F1tG5e~fVfCGH1+yrt|qlUVH~+x+UN_Me|rH-6$>8* zfQqG>W_h{pdnm?4x3ABAB_xM!?98PHd*-xDWpXFb^}19w4zW*d{v^dDUeT|S^Hg6! zTgTpKeh@7%3VHo8U0yV2zkCXQna~%7$cZI(vtJISIe{69kln^jXkqC*h=!NRoxoXP zgs^{=PqUFg)Y#>!1DNOg#GhvwLe@~tj~5S3F1K`sL`xi;&yJG21;(>D6I${TMB?i9EDZUdpHCuSy+WP?} z2$bAguR;?*fI&}7_?l)7Yo@KX?=7HgFl|1TtJcT#D;7~Na9`|fj&06YyD-}=JWOwxg-;c-wud`rsKTg!)ZwFG6BoxAK`?aiwA%o8>9C?N|2AyHI>nLMsvZ2wAsMX#1wIjrGn2@ ztTf!ic=d=dcb$nO?SWs4s5sfIAZ1(7$0f_Sfo{q6m&w^;{68oNu+ok2bT_^LY*=W| zDmNh^&Jg=fvr&j)o$WczlqjQ7n?|VO>GnHEOd0`gt~`5qww#r*NnzQ;bxIsl+O&c$ zYTw5F^dngR04O4&Q>k${S$*o|N2)bb+ML%@+6zR3C5_Q5)v+Fqt7ZAarp<6e8iY1brZ0erx6WXcY)*+zftpu+6X>n20WNI|7+PxU8OfxcKb-j@C zXTf)`)(0E{``FNgWZ&(MFqf{m=ht4flX5wl;~l-+i8tF%6StRqTuW;(f*k+GLBOW)o`72DCp3_Z@lKm=fKTcY_{E z#5ii^b!7^*kA1H@!<(G|*fofEUr~of6-Y%yC1>#S&npvPaa9dZBFLGz-=1!;LSz|g zII)w%63=22Z}Wae4+i_Q;MIvrt$D*MY)DJ$n9 zj8aSzD&ibRA~O`~qZ5Ck)>}F3Y9x)^lY@^;`{3;3He$STM1pU#chp=w_BnMIX2O@a-%WN_v8VtNCQ0)CN?dLx_5sOcFO zNPAF(LIjqCL%VEq^>)fiouX~d0uDiTxMAg9%)49aMC}HI`Tic)HC#`B7lcUz_vZ+z z$t5pAMR0IEnI-TX!g_D2*MNh59@Nx{AVuwhuXY$a{lMQVKAJytX$ACR)H=qq)Mb5* zWz*3dH-ogPPHD({>bHuM=-!#Tqyl?jo91DMD|fz~P6EqWU&v*m!iN4f92q7C$=_wP zeC(olLHYl$E&{!g>RW_u%cmJc@@n*S#BMZB3@s(hc-l7H8xr8YadxopW-oL51~_q4 zTGbe>98PM87+G?==YwG5i72(psPGEs8@R|+zuM7+piSU=t*xOb6XB^vCj%6Bc5D!a zGkXzS3yHVxI5%p3{Ru*Vt5^o2fe7(et#}>k1iv{$GiEx?Vxs`q|B`ot>`!=LsogM^ z;*JhljK^@$58UU3?YHZiy^5f;dP0C~bYf4bj6wpKxxGD0(RY-R1>MoKMYloG1o_ji z+0!~L%6)&C_wHNbbf|rznmwX;D#^It24|vAiLUb1sP zw?_R@Zy`1V){0Q;|FHGm;aK-^|37DEMr3DXWN#TIkv&h6osp5Pi0n2leCG|sQ_lRGgg8Iw$5zVV+Gu*WQtmY&a|A1Z)r_3Q|bWcbdG2IEGn*aMh zMhO)Bc%Sji3lA+O*8!TM@>c9HCV(sv5}6oJV-3m1jFCoBN2K(AZx7UY8vX78h)#tA z$k)Vl=z6a9>C@xWV)r5^*S>H2t8~kI&x7}{Y|dVY65wotlHS&cNP~?{gdT*PXKlN1 zeSy7}FBn-PskNh1=d2~r%e=aUKv_UHfJAFAf(X)WQQty1A9Hr4I>`S#my zaro1`RWfK}hJFqmB*rBBHwR!JT=$y*>mj$3viOcfBRh~LJK`=A;L@;&$?{O(h} zrsN4D#mi(2{oBw{l)LDIL+_`!AAAQ6G7k6t?DRq(HN!|uID}I2Gv~=Ue9@tQ5K;F* zHO?F)nlTZYLC;xQ8ZGUOF1`}BmyP&4b=$<)hqTuB`}U$18=KM5!R4^Dt{oy)(9SOa zdCV0@D~B7@fv^Xb8{Tqij2238mpRdvft*HSzc2se=xx3OsRS8V!df1m!GM+n8Yvh- zFbK!BBn8}mF(@(ZkUR=yb*@M?{OqytQQQ5d5%64Rv)a~C z^V%?9w*r(vEq>`y7k>QEDXLC{Onhq@vE9S2RMjf{n|t&sYG7-Nu_vDA`Mt^7n-}Z1 zWPPf3yXaPk&PamlEK~?PKS5gYY`U37U(3_Cpkn0cZYUQ0=luz^ zFh%oNGX?J9netI!%XrFXkf9zI!7g`?Xtt3AO@hV=)_)!>{u^5K+%-`qqWKLpi8QMi z^FYkO`L*958-oIDIrHs|)1#DD1cb|byHQ*^a&YPq?b!tZ#W-6aKn*4;TX@^1yNG-w zI;z;7k{e`V9+>UX1Uj(DSwU-yC-0)8y8Ps=S`7(LEAGP$k4rZWTZsh(tcB=d4q2%D z7`Z$#-$v5C;F4@u`dvc%XxkQUhhs9bZN&T7@L@A1*j0+oR|XDPE0jLEMWP!q>x&$Q z3T&yIPvgwCboslDkB&u?XyQL4aW-OM_Jd9@C=T8~l89yyT;>ALHb{67)Q{aT$||%? zZ&`Kmxr4%BhwWPx^J-)S6!G|2MM_Y#Y(X~hHZUtG@lvHM96;ngzYa!^_` zSww?O9IHahNBfqASVWRhzS_FW#>-I|Mci2a%0P6-BurcD?uH7|TxSj5d;g4sVBxU_ zl1by{seE67v%T?g@_`)Iro^<~Z=@^tq`1c7pgUWkJmjRoNVEmEG$&J=IA6^x) zuglD5SHhm0z(HY-Y1Wfi29M9DK33nN|5KR{0xv5daU=INY~I7qZ(|;#QKSK}HZVy@ zHD%8ChJRVxdAXN9U##k}GFC4y^o((c0)I?!=sSqYD3|&R6Yx+7(oLt&(f1C_ikX9F zRweIZh@HLRlVcZPXSweJKJ$lzD(fE`J6t^pS`s%ZQoa=U1y4#`lfNZLGl#%PlBwi1 zSVFwHpJNDDFfCw<#%U*YIDZDi$TD}~v=KnC-t_sM%zhY1;0ux?W%Y*9A`LftzUV#VNbSoCEn&%l?3=o#@MR=@N5z@lOSREXi$RQJOFJv`sz%~YAeUBL#1 zz8x^ZzZ$cRy%E?JNse9EX1-3dMu2xEXtx~{l+<}s+EuhUryny>s*qqV)IxA?BeAi6 zZ6*Vjf-R>IouqH#U5ZmF{O1QwNw=_fsqq?BYar{Y6|m1l-zsRL+3DX>lyM;G!myB4 zzzn=V%BlC$IrQ(}KklypWO6A-W@-~g$=9L4G7_xRCuAm*6KkA6Jj-pKV1>y6#U)e7 zqdU&y-zA|B24SHOis4~$2Qch)4_i*{g68@d;iJ8{FEJx?(i9WCxA)Z%6#LSb|D;F1 zs6;U=AifLlNTo8r%75J`(c)+X_2SiEVsZr*(=wJ~1i+vPsQ3UGnD61+K;yi-ez8VA zdUaTLN7XR>Z5u~`@B$o<-EjODbc`UT4a6RFKR}pVb_Qb~|!y5oulvtBGG{ zS-Rud6);R0zGMq-b_Hc4c3#K@I*m-}7X)?9&q(@LGokg##B-AR^9xH0pNf*#5JaLa z2ro#AzxY_j_wUii%812vH|O_Qy;qrHTX0!$Jo@t-Nw(??NS?niGGQWFQtty5!wR6F zL0A_PdPu*6{`j)OSNIi9Uty*G3~-6L9^vlndD-UPr&D0V1bWXcqhr-dHFyx6JEEm> z;iA`qDc~sJ>7s8#~@0m%&?12Fd*OWgsxf?-Iq&OFfW z^KnE??P@uX8yk@F@Q=^=3Brk3|XjKH??AvfOg>FQ$ZBhFo$N(P!#mV-DQTQ681r-~e>zdyqK>)?Kas1vb z!@hUaRVwEeL>^u!zQ{ZUr^?c@{3D}xTbw;m{xn;Bi@cmO&Wdb5NYqi^C8+`Qwa^tK z*N_H4z8z2ZzQ(_6q5w3R{0vNHhB5kudMvqS(8!WqCUaj?L>1qaP9k?c;nb)|1{Wg* zw@z1N+l^X5nUB;3fwRp)am@l*ZJCeRMDZB&Bv3Xd5ZdY{BnnD`Sc@4a2DY;+D_B($ zf(UsQ{+B9wFFo815^@Q?M2{-cfEERzk6pvM`uPz#0`PWS8Bkyx9fZwnpp!(LlgR8t zA{VUL^8@`xU;s~`GFkb z%2+D2z*&r2nr&U?@^Ah>j`5s}fe>wB=PfJFyeUjqh|mDGKy9c3j9E)KkYgo$++_sF z1_>C~dSks%aKvb_9K+F~GfLyU0Smy7zHRrI9MF!v$hA`d3PVxLoELTsUepJmmtsIqdCs4WrxEqq$pMtO%u-)^I$6y< zSZ{zZ(EyIZ7ZfC4FZb%sDVictnU`zv z(&R|!ubaZbg}anxs8^`Zgw!+A3>2jTQ06q_G8n@STDwn5egoERV@+hYW8g=ak$949 zW%K}?a#RalAK`O~@D5imi=iF}IZMk9yM}?l3P3%W03=0~m@IZ%;1l5Lq}8siUvBY4 z_&NJS<-4Ef_u&Pjd-AMdd%CzEAp%URi>HX$=*6NZVpTWOb}p%S1NRl zNdk0^iHVYawVxlrb^S2SFi%TN-CR(l9ATJUYhZ3TRn%w6Nqub~gYk_l3VR(*C|7QDlh#-$4?f85JTzEfiaE-YwKb3Vd^i zmAAHz`Hse0gwp!T$D2qof*lDKe-D>ApGJ^0_vx!;KpzlLY$zGkC(8$2Y|(z(P)Ip0 zZy>CQ7!t!BB;cSy(5~D+uuqXMNa_E?|29@}-SpiL*sI2$6R*2x5%b_iBXi(a^5*AP zvWS5(qxA8x0XWR@%uoH*x9Pt;Yf(p_hLK8EN59_?x!x+RhT4u{1Qje8>mC zoSqy0y@x%d%#)fVi}+7(>^%_zraO(KZ?z=x9x-V~CEZWhs15crX*B3eAIydGzsjWB z^@YJQ9Sb+14?KNNFVitLr>H$+|A_X9=nvh)$~bB7G?Xw2&d>_K zX2J5;Xs-TXBv&Hk675j8H*kFsF|=7Rc@CHU+uG+4VHYY`ygAcCfH~y_?8@BUg{#j9 z$rFLGiC}Vz8*f6BjHHeTYY4TS-D%dwGrd8x_Co(hd+krCZ&W!RYjd)7;*5x!oydNPI@mXpMTME$~8f-)PVg=-?+xrAJwD+ zIOJ>K2l%|!=hNr~>`JhU+>{_+yq6TZr5$yNh=1su zp3&?e691%LunUc^=nr6%I3y)AHHjfTu~n8>MU-Iut&S%x_nS5eSWa)2yFux4t3!XS zZk)XD3$LMRtC^_3yKanUO;2+q9l%9MVx;*nV*Bdruh} zq{eq>vWv?6Ep=Ra{HWXP`Ux`+CZNg&D<8f-qInoC70 zb9l4z=4HTxyh$(Epw0AAl$Y}kbrHNjC0+yc(;R5KU)Wrdck9~>E?0t+^^fBkScWZB z$oxg3?=hCS`k(U5?riWpytUm>8~luTUUETZ$tQFW$m3=|6}?X{@Dblc78G8foKcT) z4f%P_(o=JAi~|O$HgmrR7E%#9(C}_?-HhZ8K#ae(8R~VP<%3`P9^+oU(rkc5 zwg8DBBv;vU_@YN{gITA0igrJ+yl(zLY%JK7P<+hg`e`{aEuQ8YTp~V4SA!}CR!lw&1}KP%bBfp5lU!5Q(A!ln4)EsT~CCffol^NX+MG z2GkBr7}!EhW!1D7%oH23!1vNz3{(`tB*ingB;py6EgoIfN>y_MYqTKB^J(jypox_& zm3Co$z<@*uCj?{*nPWNy%eJ+}}@ z!wWf1d)fm#mRT004{wxrF`ztSnlQd4S4d4Qtp zxbb(-E{(d#g0;Md*ns1wGG2U#+pg~3BRaKuyk<`#WSWZb5X52hW^Va={!4?+aZ4@J zlpRt-0TA$pOE1gUIJP7F<^Uo&n1Yc~DAd^;FULX4bo6x!ctrV@mm^%FHLdY)V3A!A zNRtBT>-oSCPF?vt1gN*yQYeE;Vsr#2e&o*MKq`jNQ29b&sj}ZvEs`_4Eao^9a6XbG zFp6J(LW8}OQHYlNTxfmAa~E!^pZO0}uUQ@fBJ_<2GuS%AN->}uR6-ep4t*iuvSv^olRFWS!xs*5qvquVco3Yk-Kaq0Ann-k(Vl(w?UY6X#;S@o!TkIj8gJafmFl)k+T-)*sYy$ZcPN6kn3F7P8 ze+%sc_Sy(76wr4e9y(#W(tS)}yd%IaiT2hS;8{yvTYv4B|Ma862Ph`?HsB6P(6rbd z5AlzD^r8avqZxh*LL%7=W|0@9ri8lj{eMyO>%E56Rl-qB;jfv7dzac-O!D+1n8PYS z^6}wkeq{sMocFJ}^K-w9zIm1XV_XcS#Qxda1i>?VhvoR5;ksq_ zIF#|g?B8h%?QmI|GiZ7Z+3zqbE2jIl!I_s`_WLGG220f%wW*!o=@VZ$Q+b?*Xxrt6 zY)+HgE8=D1CyK9lYqn4y!jl;y86b=z(+5kMmF3HLwg_7G+G!zD?>{VE`G;7996+)8 zY}eZrW;6DcI#RGCa*%z-&bK4dCd2$eUUNoBa)R_}DKenV&R%6aIv?woK40bv)+0)X z03j_D%|PCbT?)Be8c>F#59hv49$D6Vr{3O)r5==ImI?^-#qaOO8a6dr9g_fJ5| z9(n#TLbZ1tS1_ER?CEdeEV$Y^9z_J(c<0KasCIt`<^#T~7anng|Iuws@C;w(E0+gx z_}@Sc2BY%lX{W9#{~twTb$W9I&80n$lqV4ts+UWD;P#LzKE@g<1dZ$R&nP9whsw!R z@s*<(Qxu4wi%A{@?O(jg%ZL}uwvSg2M0W2e&_kztKMU`V;9Pf*JlD$Ab*bKC(*y>8 z1iQW=r+6{+7tU4iSlPFF$lg${<(=4U3vOU}CV6+~VLV zd0nUtR*qk_cs3588ynix#B_}3LJ`FMgt*2Plg4r~0GlkPjywFYeTla#s_7`=?uahZ z+U*TKd0_5uT2MX?laRGI~rh5!0dV8NTSOpXO!9<}{k#LP;#j{O3e>MM{^*fK^|Nom<$N{$ zF2;c-bnpv#f`Odqieo267B`?2WM#9cvp*&5{^v4&Fx;i*~|F!xtO=3KV z`|*82H3IInNdN5+jPpF}jA8puB&KRjCiWNDpZxc?TB(2X?XvW)Q1x%EoU^EQTb(Nl zW&4fJIM9GASArPxwE17i%8UsL;}J5wgu(8NJw``6BS@Z#Vus+|D4h`YVwQc5v}T$Y z88olqQ|P9hh{To%%r+a|X2g2$U*Dt}pdns+{fQ*!I>XXkgqXKKC);b4@RdZm*8qc; zoG)Ny$4vJIA$Z3!^|yS`9UuwVewT1F*lYvlfNI(g`IQ-6(2VQ$v?f4kp(`)Z=vczN z;QQ$=?oriep6Y(#{-NV40AlRD!kKsu62_#$y_6TaZ%x)C&Zdu6j~?)4E(K34TwxIp z?zXqS*8H7;yem3t;+sI&_`c#(hV^T_P0JXrxwS5*51hr&a%)9)}c znk9@KyHJ#=ox%UL#d^+zli!qtYrG{arW6+nk#MLai_}LgHYFD82?^^JhG?tYv(nBV zs3)%yogZiu=TR)umC``yx&#EXy!|W)5lCP0Rr~wXMo_VT3@126On@(+91!C)bSSjL z4{D{|euuPmuf%3R7446;o;`sKOwzbVer-YCfzCN?yOck+LcXr+CzJ=fvaFMrUYnj+ zQska|>z`i()}o#yTEap0$&l&oySJO~n1B&;nOXqf5+lMTnRPmi{1e>jz%D55-Y;NOgXJd8!av#EGK;`8c+mSa6Y!p+Vd9 zYM7>;mL`(gzIMvKPggvk!~?jUGBS^ZuE_DV0Qkmh4SYnzW4hKJAPWlFO&W)a-^RE4 zXa{+IF325Bz-VjE=gy~P)4LZQc1j2D@f20J7J#NRF~k07gA*YBE8<7$hXoSNR_w~#1?MdrCgb=YZwAedB8lauyCjq_1HFx?FtG_=Q#=ubg5j$*v zdYBGczT1nP$C7V*A^tJS+z0?3Z-CJ&d>?88Lk{&c!Z8O$cley- z{MdB1;|)8B!Ovjp@LkiAHU=W>PEX4{lsx<>@zmlJ&A_aqX;pa2PILY!?F@mqC4H=0wpxy*g%I7y9QcKvdIL`Uv&hRG?@sy;VHsts#jwf)C zIl$FO<7wOG5@;!}Rj_xC{(-;iBZ*dJ35aE;`>=C%toha`WDw3dHo?(S&`5{7;jn_T zdxeR|w)zNV;}Bn)N|+Oj$6D^bkb2PQ-v#?U@t|ydVHULML=w#TPQSl7eifD72`j@( z19VTB0t3)Utimu=1m|Asnb1&L7Df$#`z`ODnWkz{;k39E^{`$G*#9X9-}+jhu%AQ> z>ib}I&>ye5PdubBGX5D}=l2qB;7Jsl4|^9)bmZ#8;5h*!8vS{BdGIWN#m@2K)?|9j zGUmvX>NcoaTpnv*Y}nJXA65C>nN~!F5#(-U|ssp|L?VEG$dO=kn$7AqWnb)hG~+zcsC$aukDrnd8u*Gm@%$y% zL*9WUxy~`F@IyRg-a7pNQXupq6CP3zt$5SJ`vOkf8y-%Dx06BX``NK@7=<)1bBH@E|SMw1iYB*t6Y&P$kYjs zG4)tQz{Td`Pg93m(!K%32W0Jw->w9^3OXP5u9dI9xL}Sd0>xt*NG{&!Hu`!AhM|sq z5zBYhv;CSU7~(ENkK>u{4rPCKpV&-CU^sAWX5t7)h>1 zV9@WO=rJj#G=vqyV0!&^>yh%i+JXfx?P%=xFs5lo^VM2f(kY7Ln@XIwt3q_!i8FW|e@GusF7nJMwL$jw`3Nw(pB73>dr?NMY>h@~-Qde2LqY#ha*5#U}7+MeoQCgmWHnU+BH&hXSqZpZE?o&oSn1 zVGU(|+iM!XOvg!*jBA{&ZYs;9!ki*B<_xi}#LR)GVvYqC0Fk=N*=&^Xi z1BiRw-j!9Sjft{oX<3LEwx0Ro3*|uGux0HJbNUzu%Xjov@vuPDQc2)V+VHHtB#F)- z`ULqe?~_H|Lc^hShUy|+derE@p(X*q#pO3g;Vi(lM>6mE_Ds&Z*c5a|eP{(;{s;53 z(_J+LaTF!G^RL4aQ_AM^l^I3xP0v!=zSNjY6|_)vR$~s#e#s;u`#n0ko%!k+)(&uZ zQ<)JIGTcCQ_$W34B}kBTwf|m%y;mX@>+9{uD2v)BT6#6NiRWhqSs1Zc4&VaGLdp_N z6R5=ll$1V1M|B_ui5%v9jm#j69HJ4YfXMADf1Lg1&gLr^+o3`(;MBM-d^ts^E+Bce z=<;vO=l^8^K<}E5RG$|tqy6Lp%V=}9F5NN*-mNd=^{1N`;~aDLE{PE{P>BZeysg(t zW! zP6u*eayy_zjlPP)SUeH#1D7@is6%8T(X8u9!Fz-$)ktwPEC=n> zgesEk86^Hm;3dl|>i$1$)&TncFz>FK1~|?FLUL>{A$b@5FSnA@ws*ZyhP4~2@?m6S z|5(>{1FXI>+)k~BRx$ZOAdA*(T|OJm|BYtyNzrz)-axjrf$a$F`Xhg7*NpCJ(5QSANVpqmq5KfhS~YGjFP+J{>%q5-h;^JOK6lEX#$M%giE0Nyz2F-MDg)H1NA1N@FN2=Rd~lO z))XU>g*Gy#K*zmlgU)oU9h>t#lsmbIOf-ibd%>zZmMy$-IC8ntMdVv3$H#%)FpMY!M2Q&U=*X1*GB8QGNw-3+I(}lYsXB9? zdrIneR{~pU2=C}&Zs90%3|pO6Lg;`A#VuZ@xNfbS&{&=Bv_ee-X3LL_N(o!pWGb~M zN2(_-Vu${ljnghtyWW0HHpyPrOMV+kJ{#h@;_As)tdqBmU$wec+s{L5l(9?G$Fwu2 z&NVQ(q*t_lqh{s=9*DZgBhbDvgp@jq>~iy1a(F5BFb*P{uROanA|UNLbQ=OmIPV_O zVnuV09)zAeJ@RC7N5?T6PiKR%nA<(l^yA;1PP9Ba&O_?gwL-Ytl?Uy7T+g|1c5L41 z$&TaHY|V@yUhfw@2twbJHH9IQcZ5A82;cCg_~r14**J15@Fo1ECoiy`L)rHMEG?(_ zdVjJ;YoG^!)*JQD4fib;_l#^)iGPC-mn0}KoPe9MyyiT6|EMJH(H?|AdFr9SK^h@TDSG6 z@ELtL7-c4$SPCBF1>O7<{q(AxDFKzDEp}jUERWvBz;i<4c+_06lq-0&*djIXRRPrxcWtPJG%!|-6F2!=Y&>zc;jKveCd^$yL=leUYSeJ6bR zH+t+!h528C3Tj(di4qLe5eqW`@m6E+nEns*@X#%IkpQmk-dvH2oPB$!OMy5hK=t+Azdwun#bt3I^BUO^0EUi)fdh7+-rLcQEm|jX4ZRcHouGW_BcTNK9bxIz$)xnoW5r!Z+^5C>ew}9wn#et|!E^8pOaOZ~CSK8k|1zFSw4t>H|y^Rj9dlEJ7BIkpU3=LPH_V*X0Fv;=x zyW~@^M!|57Mj@p##(CX;V?s3KR{WdsM^^;e`LQdSWv4mz=UXj8gTLEL7%KkVHawA$ z=Cd3&JNISItFy$SlPtUcUM_-{I~FOsg`U0YID_>B9^ZF@*o*x-Qg6F6xS|YcPHto? z)V?qvW-n0oUSBe3KZk@DiBpsElFOlr8AI$WStNjLmPNtSk$Ky&B2gCXnQwNv6>9f3 zCdc18KS|)C4*w#*mMyh@lmE$BEwyeb(9ILz8adLA@QRHHI39Zr*0D3Z*)a9xNBYkX zDpLApZId*JE>8Ch1*a)(DXu_oQbU1r%#Xr0Bh9YmGCo&t`jiQ!@Wl{N!>5-T%(&p9_ z&|BLDYNSbmM{Sl|O&R}sbEwiIB1R(cyj74_^1uJ&SYfUQ)Q6(!ePmnN%_A@5n(W8= zchj6tqG9qi2i{pR)k)a!uz74uXcjz=M-C$CQj+g5{9uDtFiSkP8+5=|dxIV43oyjk zCQubv!F3&^U-*5_MuiSl6y{nke!J0E%$kpv`IoXz&JVfw{$3>fhai*utP&5pah;j? zpeN`;G|By!!1>QIDkF%?1HeF;$&x=AS%3{n|J@0sXNd(PWPsRcS#vjC`hdeV9Sq{OPY~r$9|BZc{S+PLv2EGCq#Xf_twL`owwHaR{ zhT-a^vUkX!7}0(a(g?}p5K^0_Evx+`cg({my}o&m>Ih`sKUcBf<2Ng{dimVMTNxHF zyxdbI?wixVVmCZ^mU<=)84oWYV1I&(GYqv5Z_q+u@%|AT4)`7D??~v zL$HjNbn-Q1+&8EAz)Kkezq3eUHUE1_-cps`&b1i$JpT(*%|u| z=9W*r+R&{(K9huS|qO`?z2@^4~2i8yx8JP3z0 zeeOLp12dFY5LHL)e>I;2zONH>?fJAuWqr?+P$i<6-)+ z^26pM9lnCt!r`}3?Xr$vr{sJ^1!Dqaun2B!iFTr%K?_csS96051%=cX2A*QmeAx1W z!nlTYrN*yT)S`p%mtXj%$^GfpKm=HAUG;RM$y3%{@Y5X-k3C zUUm@`2{g|V>ULP+>9YQT(5o}svi01 zF*YcR&J_oY`@E|?>k$-G2tV1_C9I83(A(~3MK})2dHwe|^>YL~7JvyL<)br5sLpS- zC;mM8EPv08SS7JNtK`3yLBQnK$K7~q)av*yX?P+}9*OGoR0%;T!|P6*m&?~$JrHjC zbLxI&&jVCqTdUC!pn6X;ahT1tQ!r!aqRr0)HiH6}Zk6)tAnxaFC`=wPK2gY4madT+ zK0JG*PV#Wc!z(0_TxzyLFve20Ci0#Q)Zx-(;j~mWSu- z&g7XtB`Tr%yH_JQg@Ub0@o)QF@jD$E?$bAKEr$zMeV~{|gJ%6+FOA`H(ZflEuHfsD z_=W{r3O}FZ+3{#TTt4Y+i65!3Z{@s>5gtSje}SEF0*I2QxGuWoI~zzkqbCelQm)*=D{L-N(c-GmF1G`jQ&9Cc#h`FE{nrpX@bRjZ zgW0*LFY)?GkI*86imEm&&t5Bt_5Rpt4*32RoSacivWB@(mW+xAuX&dfl#Iui_#at$ zK}^<1I3la-LhQWtD_Lr4?^NB&nMdx$^6-6FRL=_7;-_pSL9fEU$IY)l=;LB{p(42C zztES!Xgps1Vri0>xzd3sXYidX!$b?Sqo4Tq7CAPu8MMXdG*&aFBRD`*V3IgT6zJBd z&o!VxBiL?CJDPEVhj=Y~%ztgF-tke1xwyT=Cc|}@1GZJ`PJvCr`xUCJGm+8&4zPr` zNeE(4>C=V{O-y#5B3GEx&Iz{)%P4M3NW`p^8T!J;$GZXjpufj?hBqZ2fy=~xb-!cMR0U2b#>}3ZoQpn{x@G1#huj593=6PW}n^>{mO)j7JE|zMhZ~IwZ}qQ=g(3v?;qU z>gcOi18Kcj2YrtB?#ie-v+5}vgYShMZp7i?tY5@ZI4`c)zcQY%2t>uLINtC3?+%Hs zMsKCQtZ(RoH@bYh8pML^4mKmse=oK|u>&De>Z?F}qR0;z>sfq4{dourFoz#`hD75y z3|d+})bYc%0llnuJ2++nz+2*0UzXFM3xx+Kd|14{5ih$5I^Eu2b6?Og9 zP*c4qGK*VGl578c@m+_VK6?;PqtUg%q{_e+Zs3W(H;zV!Yf- z-EfDJR-p@b+g;Zgs;b^^2E!rMn{vGoT8^I=snlsmb~Y!8Z8vJv4^d%poe zXs6j4S(S1*MlV|6aX+n>Q5Awlsod%~0_?7w_u-0!m|}Lud$9PtZUwqp?};15 zOP%(RrcV6%O<*ZSkvwAdf%-%`F-J=^2T%WYggDm#Ad+5NL^q$tA!Gjpcu|%z$b7@0fNyV~wRI8I8xQTUe@hH)ET z=ar7~Oz^d-_|NeBJ{Ui9DhEdX@1e;<2g?aWl%6*~?R;2R8fT-1Ak_7j$j;UzzLx*N zsOPm$m~$6DNrW!U^^x~Ah@Uc5!`lAbqV5$Qd7hYiAUk-B@*J@9RCbp8-nL=Scp(r7 zzTgm?k;`7Wq2BSz$(rq9Sr}rEa z76m%^?0q%UnJ=z&KMaX95IA!U%r?&X{QQ%*D@GLS-anPCC=B{@rZb|@4h{Rd5^3s5 zLTso3uGqg%`fp0ebne(g2TDA;ZbK_0k56K^zkP(C%Rx*h#Uo^=ctvCTb?TC+Ak{4x zjD`qR?!JEOIQgdD&DH>Kc|}a=mAJ9k7A?ibb_3g@@|VEk#P8Z^%5J*3(jJUC93zH{ z*4=UM`-{!wIsuW?@I>{yT}!Qd=P!kPo$3zv299n_cR%>CLvB&eB@nyHclc?jcyvO} z&*ai2wIYKu#pw%ingj>*$cpTFT&IP0)czD#d%hQg)x_g$VM~`}Uo=DkWvB1!zPZJA zdzodz0=cR==~iIafjXRaBo8{L0(HmP5dH2@6701za_W>TieF%~p0lz+_u3P&4Cx)P z!o6$M@tXP@4#QK!{VYb6%=;!GbuL>EY3bLxdq`OnG0=VY_@=oRdkaC&ckB$eAzF6| zvuztwM4R`!fQk{3Z{?4yJ0n#rKoZg^UQ0&)cDarmYwk=)E-Hec0+y_Sq1H(5?Qj3U zb>+jF!5zecM_xctn-$^3eDj9>0+c8c201Le9RB3zXC)hMMtC(NmjlVpfblU*EEb`5 z`fTDbX!W3P?wj8(O7&(M!?S*Fq0Hh;2Qz(|&NWD0N8(z- z(7G$8Ap!+MIh2ZD9n)20iqu(jRuCN1NAr!_HO>klPsc%rCW&Mw(trbQD#QWbWwvo3 zmhE~D0QMV8x4mOY@}baU?0L)Yrx!beXD0%u0!uGMligwC!BHZNRo%W07x{vnX$uwS zjvP~%D-4$L8gs@f?d=*bdxghLfxIN0U;caS$7rU9GXxax4I^A1OgvYDi{FGbPPow_ zuj&Ex_QJcs3|2#exi8h-I^v|_HyP|irnb75lc`QkI2~qDXM~2@bW-UYKY(j#~?zlb)mkW3m*ejc-D*Jb{?V^~da?Qvu1s2{F~C#5eEkRc204=w_?Nr&@Ut|?t&-8=6s9OE3CFzbM1 zK^YX7k#Y{t60ssKY>Pf_VK%D2^zL4w6d`G)r#kmGFpg8)Q!{Xib5=c=-G^3Rbtc2i z_C8n`9?HEzUz(iBKWAfNT-WzP_(P9f^=CoLn(@~48t?LtQn?t9Zp!>0JD3`GCE737 z6Sc?1={a9Zlu2>x)@oP6os~Qct>>aE-=~MtqiAj^qa$dBS2YOExHf%h4R?H!OZTT< z3gjf!kP4#jz7)pLY21{TJ&68yAc-%BC5eFiD9o z%aODF<$kFJc;bkvpD0OmSNE0xtU7P416z{3lX zno-qActnmX9vkM$OQ^xKSAT%d9|IC1fgd@#OQMSx1WW_G_y!Z{152H3F>%C_M+@Zi zA`IKHFV#}dFOC_||MyDdqe;?2$z#5Yx%KjE@*DY5l(8?IfFaPp8o9VC8 zUA>qn{vr@5CEs@Lcurpl1KLIJ_RNVpiC$)r-?(JB-kAF*dol5+om;sx4fCYMf@{aV zP5!@9j6~e;#Q08f1|k|rhrW;Ut&bXmN>`z&(K_1#uQ?Cj;qL*Rt3~w;JyFzNnU_9TlBdB z;C(~F;y22!7w_p_oZe4&a~QEL%ry$Q7Wcs|y>tV3BW3>Q^duDg*M4&Pm#L*oN+>X_ z;g??smh1|bT1=So9;N&NALcA+vng_`rvIus-``Sd)Ly5qiKF@^;biM#z#bs}lHIuU zew(C2v7&9dh%bWH(Z~9g)D5z1!#+xfuq~YcbUucdB=PMx7?cfOxTV+r>aBAhZUX5@rJx|>}y|&>G$qK_gdeDw_LYj)UE7_SjpN*Q%9-FRk8-?2KSYgn5 zQv7PcZ(AMvdL4$dlS^w;4RxcNh&*~5*}nQYK~mV$&nO(n3ih>db7szge)n@HiiZ-g zh$Qmu7yK`lo)rgs9`~)3R3Uk`(ml4ntJp{BSaDs6v^q{1ZT#Z0WN&uc;oJ87dU;8V zbV@kRGXAls?1KRql-dqGtyyXMef*&y(aoP?eXp~NA8-~gRXxWl4A02NI0&ch9$q4_ z;Ge&Q+mCPC-m)vbKLN zhU(mS$I1kv9Ph3O&*vBSlLS|7EklK^=HQ1Y&_Kx{<9*Qhhl?LAJVTONYg|`idtXzm zWa*M5?I05JRV%d%JXR%iR~?({mmHKHQ<3bq=J4BtzoB_vf3_vcOJ_trK$pTx zJ)auF;EkDfS!|aDZYv9Sly8LLyVd_*6<<<;MwczWN1ONA|L%zyv29S?4CNG@8dx~K zSrm`6C@Ont=JvY8Zo{N+032Lpxhh_K-MLkgx{C5yMsCT&s7Xx|RRsfqHFE?gYGuEn zjb4iR5YJVi&iPt;0> z4Jkr?6r~I1$(}sOs22@A!)0osB{+}^%aJ8P56lc)b>0yY4}RAVi5Tp&=a4I+m^fz* z2G3$wZ%d1x)gO8F97jadlbZogUymBcJjS7XQvYTFgF?etXR3nOjv5S9Zj0>Hj58-( z)g?s==N{TV$`!|7@Y_;z97=5*KfW0Wt?H%dnn~`(I&EGz59bJ%P!3DC6$iZXqH0x& zaMyDBOh%Fm48M4cs*6wY{?B-9E*Z;cqoCc&`&(u9THW`TeMA4fa{u2do)r}cUW*$i z*0ykPF<&0Omkn2|ZA?_+NXJjsN|gfp1bkQA-B&GLtrJeQt}8vID$3t<+yr*Bzr5BH zS>#fveI|a5?z>$~5ydz=?pg!5Nr7p@5W{skPmYh*>D8&)(+|k_27YD6O?VOBKWA&E z>ijU&adTx%0u_)9S{y!Z~$um@wDN`UbVvYK%loE`H*-O5OChN5A&~x>cg;CJ{^hDh(l);M&rm z;S{5j)4N$;xmk2OJvG~8&+O^F@phYO|DUxvV zb`K7rQJZy@G9sSxJ2c*%l6l#bDOrH=V0&+&heBAK>2H91Qe!gbM2-KcqV9Z6Yib!ZvtK7`o_fS3pP!zmUE;=#jia#vnUDijQV)q z63V#Y7NyU;z%#T8ya<3H^6G1)E?VJ23qywYzZ88>zGBY}DL@|1qZZ4JW%rR{I64$f zQfURkY9X^$v=;)ZE+M#g>F^Or( z7<{Bo6ed&s90~OCtfmo(Z7QlIH7B>%Fd1;|2Xn{^hYwDzt7DVt#TlHZs+JueM8)+K zP0sEZxAP3sZK=~V9tmHFbj*h&)BeR7HQHH~Nw!DM3ZB|uaUveom_9nKYZ4i$?NH^q zzClT#{#yz=q69A+o1XkYa6?ET7^aD&GhvBIp}&HtPQUYl36u-kHWLHiVjYQej}Oa5 zamrav0>3)f$X|apjpL*mCVGf-6v3r=ff>wxSjs*0@2)tA4GFkCGp8W6)5Wp_0w-J^ zcJ@UWar9H$8STQX;seB9Q@PS+@@QO~ayx=qsS3Q8e%(Q2l>ptbZiFNB$~as%N)CIe79vtri(?Yi|`iaGt{|Ekudv+yYAVrxpLv$N?O;J zI9|TMd2fd^7I+PGH-DvpfSxC(L--<^CLzketY4I^ktM_wQGRaej<6QJ zAGQZ-izjDX3X;iJvuyRhwK-q7`zb?aXW%;jir@W{4A!>$8aXh#>4v#yO5v{pjJh&E zi9+oeCC07G0goQ6dID~ow-+{@c2;YWTcQvy^tB_G+NIpC;=iN=_RN0pHO^UIo2 z2h|A>y7ES~0m#p8L-2dw<+0S~Vrik5G`j4gqLCpNI@W7>n?UI5kbB-83E zbZNU%Js8Acdu#i7;C~t{tZ{b$!I^$RY8e6s-;{VDnppk=6mWy8Ytt%}CIVG|!ikaV zXoIr3iHt(&iuhA>ewKtBOpfnK=DcC_?Ge_YV=#Pky@dXuBcg#A#-zlQk}(SCr}u3N zv}8#MFQoYyqA>dbh>yixFD(Pt8LRha@i$OOLZY&-{;p3;=X=pqh7ejnI?zKh?C*eq z;VDFToqL>5KM^36wBC6L)p*`(I9j_y$h}7}?AV|_8g=%xne*~ca4poRa#=grwJRAQ zP7Mb>=HUBqn_gSK2Q)U$C04@<|pusl&SN)-?7DMrBqN&dXJj62|NqgtEE;jR3Q$O3KYk5 zo)qIPpI4riEVG^N#3pTtVAOvFN?-xHSDWFoZrt!*gYs^f^GHA9@urbcU_PINtxthY z6(?Jq#*bH{?)w(&B=!J`%J>ld060x`frrzksTU38$QeqvcgzvyT=BA5rCpHU2F57n zlYAv;_eQh_$kHjFDk*SbhIqDNK)V*jpct;Ucm5gy`&ZSZ&%dfgxUQ%eBhM%XcD%Go ztta|_1`-FA{vu=gYvP_~36^`cCfScbU*2;R#1%W*IBgA~pv;0ei5OKJf`v zLV*4oYvAbR070fRorR%2DTGz&UBpo3gVgko_<$tgzc~;Ouw!xm89AP5334Qin&s3l z4uQ~VXXCiKc)kp38hzOEi14dCcn^7P=V`*Jg0kmPXNMi1Xlq_1%F|s%SG2{eO^$&yjh3rj^=`_O+LEjOHQl@C*&=>+!}_K9iJ%Hp36vA{ z7{jU+kbaFn3hYmny6E+gfUUlYR+YyCNGyYsB;wAwnb7sX-^)MQ-T)YSGL;Z*j4r`k z2-41orMVPLA)*bLeeA7kGpBK1U3^?5KI}@}1??|sASt_tyA6(2YY@G}X2jmV9dEda zx=u@A_)}koLIZc4Zjcl7g(31R7MH9HYM%xPESEO$edoc%sHGMMW)0dIa-eERu3nNw zMdO&Gf@q`>*nYtaH@AT^7Xez4u(G!X%G)kAUiL~ zhpKwM8u-ao(qznDF~8~?|MQtr4U^Ky5y)R@z$x2vyno%sQ^1j>;05htAgFC7njP4B zIM>GS1N|&DQvZhScifM?FM1y5tsUem)UUq%-^4Jpc}$6gGYH+@g3=IeKy z5vG@I78`#_pYTmDHOcV_;5cDf>l}-$@CGlAfw4NLbW`=E525qPX5lh;fuA>3k!Lu| zD+i|U`~$RgFtm_Ac!#27f6KpqGQ%6_^e+^yi~W&Xgor-G`vKa65G;s;1SB;OI%KmO z3yY9L5JHKj`zVTCN0{v4LkOUd9x^l&=SkjhxLRYkOI?7%9$Z`02Bic0VSfx2sa5z- zJT%vy>{xplW0#^oHA@CudN40)5g&OLKoF?O2}d$$8xJ2c|4KjqUPdYjpkm;V@zX#6 z6^hLNuq9MDnL?%O1R*fSO6#p`4Arxi6IR#cbCg?_lnw(=(XkO3#nn!h;%9%xmC4ez zzI`AGXSozMtRnj}gC{5wSuM{%3`8@6$8wkfXeZ$?_;Mh_cy){rN=??mhzuM;HM5;= z!PI6u$>=CaP_4)AS2$P;)z5qX}E++K)oFYqrYq2WFR zDbCt!4DkKKjXp3=sc^hP-@UL!_Kz|X6Pi43j}IOqir5eV31zB%OkM~3 z^K$Prjvyttx$58iM%*-Ywezr&WSH3?nTHIcs-uek9jF^OSr*8jyk7|#6Eyw9N$Xl3 z!He_z4;v475ASP^n2?FKBf@|R!lj`dz|E^U`Oh|}BxcY=Ll4+BNZoBo!u6xprf0UM z11cD2urC>?`A7mqfC(r#eHY*3W%)jZcL;l0`|;()G?2FmgRUH;Iso*+tBiYXa>(#5 zQ9)b=t@00`$Djd0{QD~JkGJFc&-`a?=uW97m6-L(=|)z=DR`vZR(|4_O)vt;1eB3U z5*Di4aAj%l)=Xul!0OCds*Y6XPZq)BE4+*8fnDg2^qlBKrZ_+4V}!#ArGo)>mTj}&i!#dq;z&oH!L5ttb%!Ol9+TEm>ZvgubE z-#w1^6Rpwnv{tU~!%O1Iqv3{Q>2ZgQ+c3ZlL>LBt)R;ZdsN{5kBg`*n1@(jP;8D01 zefeyZ5z`ic7RzhJ2EcJzC8!i3y^jWWaEaXj$@VLmfKwI*MWWBJ_~^MLe#GqLp9W7> zNDEWf@G{X{?PWJOdi>gcTKg^Th=~x*#zb`IY++R8y!BC87+d)Jjk$V1np591-bh zDJn!DkP3VfC|RDn%q0m2E=|kyW^=>u2*w@NS_4C#5)g)PAb38nL6!aw-`$XCh?qRVvLal{Aoys;#*m%$_xD&pWw{y8r7daJ;dq+ z@~dp&sfEdR<$_Q#rS~0ho!_AlWAuffV$^&KGGDoQ-t$fwsL2 z9`6+*0i?lE7yI(WRMg)bhm_7G^uq839Fl9Ix@lj3FN*d_FCoCsvCK~!{3AR6c00em z!1t~NW?~v>?eKduM$G+=eD}2x94$&(xXB^4#}}auC#^Wl`}rQ^&l|!M$lrn|4i<$<6w(!U{a5W)cLz=J z#4rB({;$t8D2Th0febShwr>sM5L!|Hfjh_@le~f&-Nz0gr6 zvO=zPhSve~f)M$A6UTGbt+gjFK0$*_WXl=$ipzmyq6G)A0N$98Z6weVMZ+*3D!$u3r{g$c z4{g&NU>#%t==v;*JP$+uwP|QfC_^UDfGx?@C-atK`Gjn^rxePoAK+0V!8ElZ(K-+m zXSkPtodq;GU4S6&gZvRApv71C?HH_2u|SOTkEepKF=fX=(kld5*OCD0d{0Mj*wWf8@2Q{89>eHqsIB_;!l$ew}J-{KE{ws)=WMuhovyc=@0?x## z)xvh+a6s4Sjp+MLk^k;{8x?5)K=ji9bv1yJh)sX}cME*NIgZM0kY|hnj{Ig{ zN+=lH0s-L$pg6;JU3Z(i?YANkXHF$P4(y2gdAc`mI4-|NKm->yk%y5A*0o3tkVMT1 zn}Ata77(t#;xiu=zBI&EgQ4-9{tisU4dOL;Kah52G5A&M#6|If5}QncQ5zEk@4Xi# zAOJY`hO6+;d8DEbFYW+k>BGl);1VtX6Ts~i1fHR&U zV=nSA@blmOE_wWq1*VL_0HZBYamBJbBNQ+Snwavh)hEH%M+{_u@_l5E+QT&P#I0J6 zBZT?o419cWa?Uofny0~VKw6md9t!M5q@9))U@^V$yC+lpi=^}$Yrj>ebk#BgDAx#=?oC!vBl9^|L11GL&Jw?J^rJS@}e*C z0xH5sJNji%khxe)Va|85Sr@&)xM9uA-54W~cl=bw`XE(c-M6^|njX`1YTP?v&>++; z8&2)qRtM3x5dhD zQoYdlD9iwc%;0m#P50et;$}cm&S^Bf123^Crwb?jL3h^WR}i`n8?j;<^ys zB8g!$FcRU;-CBN=5o+7!>b6!-FvS)|9~*J`@?w6Xj4eafEMsA9x>2 z*Nq@dLfQe((0TrP&X*Xv9UY*|zA12dwCDeIyC@y3z>^o9A~{$0``fpuzkz;*8c?-s zo%BKNItf!>V(G~3FD-yMUwo)%Bs(1vyU%>Nga{!3h$Jodn(r#W7e8yRJw7=sxM+Eg zWuPY}EbT4KmO$>TlsF@p*E#le}X{j7c^?B?R?7+ppEN2Ys<7!@3P zSFR86d6>W^JC?QFM*cgcmna6HfNGY|3MtfwW(GE;@a+B9&MC5RFr$^>?xN5u1p46J@ywL8FlL0SprTowxy{X!x%W40>ebqYUKvX>eJds#gCF-0Se56WB9? zNlBV`w8Scr0NTv?ZnA*L9;7jZB`Yl;oX!X>nO*F3)@82&{~voEeS!qtqJh>9a3LM~ z5R1Bghu-h=3RM0l;oam#&(?Y{+|5Y+lH=5WLBIhF7LcAnqFVrCqkua|qp>}pgFG$< zsn=O@CsAb1+8pq1D#3CibjMIy$nOkx&#;V4SOYdHh9+%S89k2v{N&(K-9^!F2Z0YN zWa2CIlp-@Ti07CX6A}9}8H+;j<6bI27Fx)i1Z3QQVXMIApQi9+PcTuT^*RFHM7qRs z!~im@(2S?oPeSr7L=c++cDnn}`zq;%r|ip{aIyF*<$wDchI=REXRL^8J6oS35L6!DF<*Xch)&76=8zNgJ-#OyN1s|J-mg%wdpCT7!V+uj5v% zPy8F#VDN&{tQ6cCJ2DUodIc33@ejgSIP6g4Y-r^)??g!22sngvWp+Z_US4w=C9=6c z#Zj-PtMD`TwSkc)e z{Z=O@)(<7S1CR6&npN>sQ;3vj{0Kq!0N&~e7X#Dix6f1P_5V1v_YR<| zLyp-K7nK>L_d_#Y{5rJ7Xypz|Oi&O=<90zE(_`wK+L+s*mKVb%LTyG5fK+owemLiKfSgn7AlkqzMauVfCc3Dlz#nP zoKC<52PDz*ij^5rI@3J{w#(Y<7?sIa;I?gC&F;Vy7;F=mFc`tCA_tsx@+MZpE@W54 z#{m&R(2qy$B-SIJ2%8)#8WwTDA`75`Qa}WR{bs?UJ6^XPHI^Axul)PkAf4}kE+FL_ zBm)E_`Eh|=+#v$yc;(@i!sMUtkl1wTy{4Cq#w7xEXE(&WC6o*YJNrA-dBGGkeG=*{V^)Ih8Zr~X1nN~=SOnYWjZP!q`R51a zQ?zrp-@|B%7O0wBs*7cSoCw}g3?=DwJ_aL%RRtc$?#+oJHC6o4cdC-8guYsB0jV=> z#P6X1q@H|MtZ@>MVbY_5egaV`U#@!5yKJ4BQ8_LBUsX(WF9`z)w){ zKM8O19bF(1b%I=~kO(-fRD*f`eTZvCQLp0t6$3!HM+=NHEGZ)FCS;THr&kIc8r1nZ~S#!j?DTY)89y4_AoAm z6%j@4xazs10v&>32v(kctM{a97i9G2yBU$nXaoqxyvWh*`Oj6MK+~1NWY0vP4+w7r zgfD+mMvR{5>x+*-OBp7wz4i~8JP_U;5`>-|+D}jZ`~m+oM(}kA4H|GYSb)b7DjUzQ z1XyGkO_dSv$q8{nh4?%il5;7z)Zc5pPP>p+a=i*Ti`aw)EnU)oos@r`nqOa224TQX z-9btv2;j;EvM@pFjc-q$_5jbC?+T<%gaaQ;!Yg4C6fl3rcFbrr2(E$kJuTjdEYbh< zp=*T-t-VP7xdr3~*7_@j?PLIMmZ1U1X4^~cU6%^Sj^FH z`2Smk1GKLRLd^(J7~)`VgT^j2iT*0#tBhJS-lQvSzKQ{(^N zqdH-pxHDol76hk+DEu$D#Pco&QmjJ4PzdBAA*LTpRatxy2}`SddH7Gh#2?G-MMIwl zy#tI;42ob;`=2e7)dd0vVxJ*FELt2cQ*4rQ{8~pXfcu7O!1Jo ziv48w`YRO%;f0R;4q&CobMYXhyg)0q3L-aDc!wxm!cL@a2_mLZ(0VHa8PPP<|9#!{ zk$!zqNwmCzpTKnL6(L$Fn?cz^$oi)b1rBBy$E z)<*}<$W41KLadO%TzGt*fY=J{;C`z9({ncWKuCoeC=HR|2T3CjN5OsMAnkXc4DyK$pbWXvg?x<^;&+Fnhmbq>#a|H!b{T<_KWIM@OX9=QRaTK1ha z>(0aBHT9(O&j4&))&AEN^7=?~&Ex2a2_)q_EYVQmdFb#o2dQ*>UAyQ6eUivXJ$2#_ z4?p=`lSwaiq8V2Vt#)2FT1rOov(w20M0^bf`F=*kVVIfUhl|#tS(Z%`As&Kl8=@j< zATXVNg_ns6E$UGSfCDY+ZA^$n4B+nmc2F||{cMW_`BXCD%j>~!y*Lo zy&?Qs0Hx52@e?c{;SpmYPzmJPmw|2d9W*#O-=8gAFIQ!| zkEYqgt+T1SiY=(Wu{5Ltq5UF{E1Z!MLNz(tC;7GGZ2yYj`h7j~@0Ec08m#>)uBESn zxJXI{R3yECS{QbK{hKVTo*zsZ;(7PFF`a<1jCu%@CwpJf<+92|GDRNcl_ns?9tUFt z2Y@5hylod_5HWUh*_UI(nj0~5eek-lhj&pT!8 zPmUCa%f0zS84@`?lGGDDB0!EUToyEC#wHopazLjJuI{YeCBaBkaTRgf7Ux1>D zC@#qvq6+;?`+4C(Lg-l3uz`x5jUcBm^PJJiy6k}PpyPzJ0(!iA>CnKL1f zqQJZ0OLi*QZv)hb9${<9exo z?Ohgvkyt3Ii>%BufemQMl!EflX*~TI;9a;*gQgaDaQ+nVKg%F)5gSiFYdO|1Veu)d zp49$K_><;9?_}m^hsNY{O@*rWaIE4TNZZfx_u4E$^XJ7Y6?81$>-M)0s|e-R_^xSa zS8G8ObL}pioggo{|6tsf3V+I9Yo!dEpZs6Rh^Xep=o^pUet_%-0C;-H!=M8_GVlcG zlDw!2egSC~!F>u`4!4`_G7{zS5ftvIOe*9O%g&ijKLUsD{kpOPT6@KzX=X+{9MC10_k8YUJ#Cb!b5*Oc^b zSEIa^(_W)s2_kxytk(k<5{h>c>K|TX$jEMvry6k)y0TwQFk06;A!A8HpjB7QJvhym zAQtDevrq`<1h*i_?5MI2f>BLm`VeQpxyn(PlB&8k(`M!y(9CnP0M4?OxXk|&ONI)M zuEGl3PHLn>bl73Y;-<772NL?^ojvu17MW|$+^HA(H9`<=n5olaZ;qbvK}Lww1ngQk zlyc*m5*!dm4_Wjzc4}>|>PImTZ`WFehj_{HNrdw&Up<8SU3m+njgM&K)AyzhtAFlp z+s)!HJgM~fikfEPb`)3ux@tXH$GE06AzY9cIZr$%zE1#I4SJZjNZl&SgjLeA=SU;x zRIX|hw+9FfmVos_h9&|WF6NK)6Q3iwR*QQn90*$+bzi0bw`eF?v^Ixo#9F~~uParG z8p#SFeAzL-z%u#9lQ+B5_)Bz>ezq&KuhNx!f&k?x>+U81w7w)hs&UC9SMMp_GT}Em z1`XUXo_@4T*8Uets#QsFGddfKMiB%bn~FhOk5KK6=&3#yxu&{aiusS6bm9~IyFhsv zyo)~Q4CbG|h&B3|=)P4q-WTseh2BI9hD0#|#?IXX0T1=3Zbz@v4jc)7%!>5yEgc*j zODG~*tb=Jmo3BgUtQi5|JsP!XBW4rZgK+8tv(XbP@LK(I0_V58_=B{8N>Y*OXyIQm zb?^I`tRGm0ns$9Yj}oVxW@H8XS3jz?ct~7nM|Dly4<4>@t*h=sD(a}81Q3sB00G7^ z*0~9h(FVN}>4(G7fDpMOI;$z{hw&7kxrFF53H45BjU|o|B)R+S4mr&H2VMRo>tvvlXakI>UMWieG_D|gr`wF^Un)l( zBJf9(CYAW5qu7@2`D4nenLh1E(j4GJ7+d%Jtb?hBi{w9L+hvqi%2}8}T}R_mQnyFL zdERLAfPG&J2noKd>mpiU=^6WApf3!2Oveg-s`3f|Y>OYNM3bc;0P0uJdogKijH$K1 z1}KMTQ*ZM$Ux=`fXWAX$B?mSBY zl;{Fsfq3f!>}y~0aaRO$r(UJ6BJ$%l8K1J{3OJS-{au;>D2N}lxZ=G=X7qU+dM*CQ zv;O*Hy_o1Q=F|E<{*Ggy>6Wz;b(aCLgdZ3XQ#51hQTaIN`%t}|&JTjHBj)-!^d{ie zt)zbAGEgglW4Qhf#RnA`zox#c$2x0S0~MVMva01Wxl0WXy#d>aw&3|*1~8#Qjnb-B z_mpJ?%%)6#dt0vyWFZMG>{N;&nY%D8RhwD4N!fp-VOY9+R$yY0sfq8xbfK>p!E$M- zz&1Gkd8TJo?BcE|Mbqo;vtuK({Vr_1?Z?2ZBqQ1GcncdS5V3DrLxIEK6Hv`y=J4Ln z?lbq=Lxq_1)NDR72%ve_FB@iS2p$7ftPhJ}!CB>bL{X4+%Vz42f?l7)dyQf$YOB^? zRs*JDHk}`rQ24KYapHOE_8u80aAQ<7-{S63kOqlFBr&66kN^+UnF{^RR4L&mR>vvq z(X^3fuCIEF;Ar0#&AEsuj7Hw)dQJbot+u&TZH}2EcQb7ZzD5OSlRHFYMf;ki8Ruy; zU-Bp@|A4CWWyN#DX;Yd2w|+2d0YC3s;K%iz8Cyi5cWfp<{~1ZBDe8TS`nxNDGo(SF zyr-&`(F%Rc??ytYh35e^E7Fik$u4-;YjIC`p^@?NKJXclQmrw01ML%Fhip)24l^xW zVQqgzJsgi{@m8#GV`q|??T=SiL7C#ZX*WYWx|=vD#IUJ1Qsk(gryL;-k`cGa{b}x~ z1(PPHL4t@%{9PQbUKF4&$`sI5oe5YigFH&3p@QGlGT=vusj0SrixpGb$6gK&g?v6G zc%d|_iIs7o#>;<)h4PAz*?m9tLoKwDPvZ64mm1}~nY?7CkVYDx%L;zfyP!9f3iWPr zWd%RGlH8F7*1os}!xWCBApaMyorY`$_qT(r1^pA@REWc=xCEUvNOG@!Zd9QLq{wfl z?r>UWit#^noIXBW@h~cb2zFr=cf|o?t`JbNLjjbP7K|h>jy6fSrwcnLu{#hz-;CWx zIzU>&!x@+zVFY#*r`Z&4}CWrg?KZHwfegHr|m08wr1QxZAsR$xWe!un7XB zk(N8V*1b5+k17;+i(i=OX+FN&F1Q|`s9k#AzR$5#thl_*r}cp&WAsr)xV{i^_B0Fx z%BT3+PGwL(T~jw0mnOV+##Sdpgy>~^4d2c|`j!33>D?yPw?x}~KMy@;*&x}wpn7Ld z`ltFs!E}U;^fl-nW#bK%zU3oThj-7f8##Ygz~uv}TdYzHA*c!tYx*@4K*x_mRsghecuO#OD{b4SF>V# zy_rJpL4Or5c;IptknR&kV>7juNw4I8nyuwV@A6Q&l-tzXeusghv*A$fjzCWM7l(VP z>$|h-D|-i*nlQ@n7G}p(3A&N)WL89Mv*S*Q#>X9QB55txrJ^82WBN%FLuce!oI>|& zNI7n(JTSb}($L4v(QiZYv%QiXm~v_kw#$b>o3ExWHF3%()~N;>i@QE`ejfuPj=T6K zFS|EKQMo~nl-zWrVMWK4k|B^=y)o^`Ygrb=4rJHsQ&|-k%fXW>(hWE1KXJHwRNYYi zYKr4u$>Bd&*gM=)LX4m3W_CBI3de+NUQD%FIEFb1{+Eu20H?nH-L>&$bN69BJP`=MHe_li&teZyH}GvUG)cU(9v1WiPy<` z^LI)`{4*LX{p>bgwu>;7%2y|d2p`9NSv@snQJUy+J2bccZuBPCqi?l`ZF|RsiBHyE z#;80$#j*Y(SyJVym~2c7Yrz)NLoA2F)6Xq|kJ@%!cSC{5{9LdwPW?)i2y+D+T6expQCi#|@~?ieAws#`n%TK9b|xpBF`zusz7n?iqEW z$20Hs-l6rT*<%rS`vh3PAOT=U8$MR_+2_u0RKN0z*sW&zH^w}bT z*Za#AQzdTYW+k^Og_6It>Cn9*uMuRtymF?g(4&f7Y{9Lu6uWmj7Pyyn8-4~(67@jb zPL?B&4_H0z@2EK@bhR&vstWW3XGp%cg@<>Dn*(NI^~&btxc(gc&a4)>4swQaev5EU z-!gpuUGn-D;PnfC#}!9)XY35zyQZ)O@&bIINWA!{Gxa64>(-*&MYG25pr**+ zw*ggwSo{5jiI10w(Dc&GnH!+&h>JzTp8<7Zd@&GM`ESbvJXKx9WIF+^TpMD zBrAH=#i}0$tKD3KC!PZGvPy1pe)=@;$`MUvm&VXEKVku3u<<5i@8$VPApGAA6;T+A zyl?0IzXnVAv7(}Wc6|vC!?5!&fk|HY48))=njxrX|KJ0i0yfmBcfFXUx?B5@I6SCQ zQo!z8iN3Nye>EsqK_uIDn6}hJr_d-+ANblAO0Tg)LWYofjc%k=+Ao+A8dy-YoDHj2 z5Sd>$#>a0VFcSgbWI{!;L;PbAS4%nDYmBtxgv+|Hkjikh+NlQ3lx__ug)Y13>>M1M z)%hBGw%4rJXG)43D~s_rUYpu&*v3t;>Dzz?syO`~pl`iqJDVjbQHrO3&_L9}=g|o& z`mbBcm{O@|`;Yv#H zDw;WgW5p))xPne1BlaP*Z)9s+%B5%5D*vA6!fH)cQW?meTM(e1mbjjB5Ni@^OQp9!4IgA!b}(~G;Mh{@01PpDG{giq+06lKB!bzAaYdKey?41N6o$!`rzrLJ0A6N z0Pvv@?g}d2WNFs8hNn{4qd-C$k^AG!D)@}YeJV3Jl2lV6{7Ew1?w5rG2ZZm>6jV|D z8j5WStHW*Ch~_U4lYL`VyJw*VniVvWLVy^JwZ=pnfK(y&aQ1;N!`lj~EDTXwGxaLTa71vLE!erEASGfWnTX2Qw(Wg8 z45&~pyk3CT<&lz|o@4uo-Sn1*j`GE?h)9XNnovUUM`OImiN~u@jh}akq>=@)!;k#) zN5jOy&!=`^B(U&tV-sg*d(8sh^C=+OEzCo+3=`9t@(u!p+_C8-AM(y7=qe^6r2AO; zf{ai=3yHtm520KzvyCOku>EnSFkpoRq6O~0{EtOvYnnfDuGHpiVmInsxj#ZT-6@i0q&BMUOV(jE|ONz=%AySN6zxcrbx5bQ3G#>%3R zF3TO0I)9@#r^E*P{Xxr`)-`fUx83O|5WZA2vnkmJ0!9Q>x?}n@Pj+1Gv*9dY&i`8l755meKBor}s4`gs+=W}Ql6z(WP!Y2P9ET>;tEmhE z<7|D2Tn3+U3*DsWRvx56GCNZQOt~9S*#2QRvROMn(~0QAvEFY`6B(Qj2APz)>lEi! zc^}WnzFv!o=={v`%ob5UWYVt^IocYN@{Bv}!BR3zAY;QcoGA7nWRYm@jDhg+aTvx7 zlKAcrl#Kxx8z7RK31QVtbSe>TOccjg{Q$sRB8OI9>aun!oT~RD(WkF}u@jE#G0gBR zC(F<{_4{4{N#MuQA2`8IUmI2z$0{0D&BJ%Uya4yOGmP9GqPfr5GPXrOI?R34GfaIY z^EZt`gT5$R-GUor>$kQnN7)@(V$<5UGbu;M+Bu>yapQ0J=-*!eGhn>8Xdg%xE67B` zqsQraKfy%5=As+AcJomxWJYnb99M}=3*;7)s{zK?rN!rH58MK($|ws|8no913D~Uj z7g@_1%g*f(xbq2le~ zE8hEszD$d$lC#KCwdqgUG4;0BRIJdlpk8kTwX2GStz3{_6@=DU>U3d}vk>V*{$<>< z?YQVY+46|Kc$r`>G-N@hgYYDdXk~3GJT_aA^W2VI773zw7AAgPNygh-9Y5!Ty7V)3 z|4vClvFGmwlV4mXbX_8R7^nU;!_Cx$HQy)M;4)s%JJw9vde!<5n0N-JcFV_4zK-4a zTGd|F?vgmRvU`}Y9WS-)zFhX+HE~_AX1{9oN=u>owvJVVv9NsLLGDW(G$oID(={Qh z3_?j2+|j6;E*%W-&-r!rxKxoWY&SEPm`1YOxVXoPmPhFZprB$rsrIE(dLaZ&L*@DB*sd$C5nh#;(B!N^BB~W zh_{e7ta{ra7DrWWE}IT9;^#~D2g;}C3@LPWzn9EffT}ncKaYzPO< z|Le{_>&^~2OLmH*c)8QP=}%M_L#T2Wi(U_2e7020p07pp!lNi5Y5PvXWg&4(%0r;8 zUchOCu@xcx!deT`Ds_rO^3MH^K+Dmq0cH{#OW$q2Iwew&&X4MM@3=U$Qo0}I=1Fwc z^zgLs5V56RSh*@f&vCwIkx+WW!3}fQ&RnFR8HzwyUH3(Wb3f%As-I7da(j}vTgvzi z5i?_#3q)p{#R_fBB0c5ly~f75pmw2~=C&65Ecm^AI(lboHSu(pB&F6+-(#&0T2|+f zy-=xG;h#9!i-f7Drw@X5-}Zr&=4L&yw>oC(P<6keVbapGs>@o*o7Jy3rz%BV1YlWz zm`aqX5~lbl-%n6TP^##0$r4<5hB82|8(YOc+?u04EyFa?Ze)tyS)@jPtlT0%|LW@B$C!)mjd2mwhMYiq zyVL-bDCB#!U6%~NyvuJ~QP8rScbtcwAX1r#9K1*O$AM#PUq_1`4F%;91E!^+yB-Ul zwCs0hrS~cVlLSw-q^+??W!ig{YTh4su(1NHY+Lq$41DpN38;rl3QaXPYMCvKec3Zg zAmx7i+F?1IR8r+`HKDTVRZrxdnrWjnCr$Z?4QD_;=KM`;!tXFa_Td^(+|zkf9#>R{ zsMH=pNlEqrpP>(^q;(v6t_{6=ok9$m++7ibHdB z{uKRlr*yR27NIYA1byd_`E=9AyV^}|PSi4!r zXpwFf?s$G`q07X}E?y;OJGs-0D@1$6USUv3=;tmkX5#VJqXS~}&M}vT9D|p%uOuT4 znbO~Fo*tH_)JklF1`%%i%H)Esvy0vKzQ?2A_(((661NMwa%RuU3`{4BM2%iigk2?c zqjO!~4mg(Ox-8i@>oj8DcizxfUGwvWO|;IQS(mL-0q&=>1RvaW6#DR>m7FQ%%!Mn_ zf`=PjnZ#^`)5=2AGCYa!F9mi>?r%MbmVlw2xT46XN3x>r=ckB1PS%7McJ1x&K(X)9 zB8qvS=rh#7Be!1NHCBtX2nc zj_aEYiw{eHDv}plaffJctqS$Cd+fG`NK9)K9pLc)c=O$tI!Ll?{_Gt8LU#C|@?G48 zO7OI6cibMga9==Wbjq%tTz|2%_klVjcjoTqwX#uELub4&tBSSOm&dqm5hDh~|CB9a9UW-=DL`$evNqqs3p za#V1NF|p&H+fI&byZzwGrQ;aiV@f8hoqdZ#)f|*hhQpA{E~=E-2zl9A?0{`ow&TW2 z&oZfckX4e%{juh_0NHPU8JfNK38F6P$I5vhuZw*I{Z<2Byja)hw zhRDw;nTY$6i;gJayIyEd{b>aS<*LL?eA{nd#*AsN6z9@_W>4i$$2SQ#M?j_OWvp{M z>E6O-vq0bVCCE)^&U%zumwFnE(ZkKOqMfRW+s)>O5=&7p3uoZ2MDYqa{TxrtF!8Ds&DnGQ zB15nJmTtiRDO0`3R=>X4+ll?~05jpnwvP*%>ua;;{TdC)$0%;^cD7>WdnLM$d!0Qn zvdoS;H7UG&=-{l+UBU(84BbbovYfLND~Y@#=5|G5ghZ89% z5jt;ecqj>Hi@w+`9M;`8DkDjhv64r2?NeffQ#r4D`%e4qgNnDKqUBpX{-=(vY+N_d z4C)3$#(%s&c0AlFG-OetbsfZ~4ye;rohnbUF2%*fa7+kc~`Q>rSaDW81 z>t3wN`BY{d7vD4rE*r&_qgx;KtIns*)GatayNNSyhgWzQu)oo(s(-%E$EC=<#UHh3 zZz3|sE7wlxnOadVps*x1v+~+*n?21Sl@$H%(tEB5_7PnyCo=|tkmbjUjjL|zmyxpJ zvR9hvwyS<1vX4%jyob;gPQ!mBPHGV`*t?QGI1S$1a(=>8jLP9=$7b_T@u;Cq-Nd@$ z3Lkq2K>arCO!2VogXy6Q$xE*Kr*!@Bm1^N^DcmXS zi>om{I7@Y;1-|_d=s7Zx)J#!_-yj-VnQGcw+#f4-k7*oOqt;lzT5$x#W(W$tsBU#w88T&;4}h1#wDWhK?==R)r4R?qBQvk{~2d)CSeW01N!l zejhjS1<0oct&bK@i=|BUdsgS`sIqxvKKtPOmaIu7wzx4V-%aoGzU`eJ&Tsa`I0kJ{ z@fazFp~g06wk*EA+u!VoY#a4Ad~HSDmliO^9eW1Je-97W$9@wax$oD$OSURM)2INGk^J$uF4Gm-U*j(v~P42&N?w_wp`udiW*wJy7n z?di7L+rKQ=aMQx@?DnuA%a4?c#rNa$2^%z*m;Apr7E2Cr7(d*<#fweEV!f+yMa-j% z=sX|@1o2i`t&CCXgo^=(`wMPkvSq1GZ!Ma?^^X@-@D;Zj=~q}S_h4^A*T?0d;U}M; z<#_6udo1f!$Gn7%vOn7ycO%AOS&=zp^s9b24=Tn+E=uC@=;rJX49a^6DAQ`ruTmdq zh~j9Ox8AnAy>C>If47u$=(SM~nMI9yql4S`;sK|rz&3yr-&wXx|Lqq}p{=2rw?-TJ zkU3aqJ-8%8=w_<4*3syauX)O;>POB5sL^t`F6R5hvF)`Nm(DR+W+q4G>{=>o+4scO zxcYbcMKNE~i%W2HRyWHjQg^Y@o=v0tz$7sD$y1q`%?8QZj*Wmc|CxGSeM7WB43U{kZ17!@NG9V%c# z(YH~&s+mQddmZ0v>3k`R?JB^zdb=x{M^bx}Ymq|ZWh`o;$AeN2=vT@v7h=Xc38qdy zG2oX%q}Z?`J#;y90jKKG(Bc{h7EtEntd58b-B)lZiYvkC35N`UUSWM@-gV^oMNj`3 z({M=6MIeVWw%y*uwvfqwd49RvV}7d>r#Q0rj#k6KW&2D!3+9|=?mo@%jI1v%XEu*> z-7R}qO@<9K$^(W?vvR^f_LH`F#zybH^R6OqmdN3pyrT2|YOu%aIC17Cm6FU+y5gc7 z<>%At$5Ay0X_Nh?PgVMk&x-8a{8Xf%KDPVSQBx(Qr`%a7IVZtGtT7oqkSFQNQmnv0 z%VEa;h=!TDP65Vte0g6W^g4~$FYn}NCJtZx5%xSnMygY~?9EVWPrD&=lht(fO8ayt z#A+lh=l1U_&39$9Z9KV@Y>AU~zF2APdv@Vh>BZJZSA`-6PMAurIL5H;14UJTz z;B`J299Wr4emjDMT_4X(E1EF7X`~2470cGLSG{be470Z^&xm5q{%zM(-0FB)Q}Yc< zR5I$?*&2N|^h-BUyok^l+SSnvwqKyTZ&!?^9Z4#9SQ{re8$BHRD8GR#=Yeq-W>#F{ zG?Jaa+6NjK;gHOfPE6&W{@dW9pyGeCYU4xM2fR4yOv+eh#d5hB)8US)yZWgu&@3qZ zS?cVOIH3IczL#vGvf!v~D{I!7TEYia-@|0^haxQ61l^}d$0P}Ud?qc}Ei5_+vnU>T zOVwshSrstVG zh2Y1-+C6)iy&iM}G&T>i&G5BH=;jh*4~y9g%Qv2o_pnsBdl*|x9?bFXK|E~9RyvLv zmHSoAnFPj7gcb(P`CJe30K9;dG(;t>@|#vf=NJf42gH(ZHz-Ju8CHYYs8Bmx;;{WL zsjq?hGph{}0R7?-2Mtc>6j)#JI3DUBJQD9~!huQR1##_WvDE|X+a@ZcQ9U1AFKwp` zUx0xIAtOjRYlL1s58{tl!&ho_+4}?S?ncG^53#$xY+}B&+eMr1JRU>g$(V1UX-TWr zVT*SdG@0pEl(#4584?>KwW`$HI83_PH(Xsh^>*sG+qPIaCITT{I3H&zPHr!N^Q&YU zFkMsq-u5arI6@19p1=@}*+Ytcl`EV_`?5t757zHaf$Ck#Lyex&LiUUoTubYRH18K^ zxK*kA>onf&o$D{3<|AjibL-C|$gk(PJfZt7Lt zWxMQtxS*3>tn|3Sc{Z1BcgkqJ2kpt|w=cW1Y2hW=*_Y=GM}vhEP4~v)RI>8lFOilB z3m;liD6++P+h!KXF1JpHxs}mHT-q{>>z1fYxI71Q{oML>v}AVJXePb8J721Qyf;7) zr4ajGiCSx@U)O!v@fespQT@bA^{Y!Va;tg`cJfj7Zp9|s(90u&5N$?k%)>cuhGU}P z{)j?-anp%OCADiO_8YP8$H%_HJVkSzLcCZ>|Va ztnEs)jF|YZ{2aE!{puT^h57yNv*=U#ubAH$nkCW}zqQqx&7%88NU%MZ(VCn*0WHk3 zle#9wyN{Qmh%wcllA3uMr&cHqe@GDCJmRwvTG%ql zlpkCSX-kZ~qTJQp^Wu8&`>Afy%6m0UHaeR=S8OGV%**Mv56jH5_bCOq9v>m@c*=DO zP8a)N_WWAGiiAfVpQIS&NLB>zTg_xmrt-LMLP;IwsNC}TcMlQ@M>4vxQsHhiWFA_y zZBdbz97HI}Nm;PJSNGZ=RMF(vc%KlplX!eE8}c?bxUVp4@!pD~f^>OGfr~~W z|AoqhW; z7$wZP&$T@J34^?GB2~B=GxrvD_?4^b{0qPGGr#snJ#zL6F(2Iq+0(psK)d3#v{sXE z$IR-8Q&uhRcbvwR+{RxbRb(R^>SZEkh&sY+VRggV5HCx$RU5M^9$4?jmUSNUFG8Jj znQQh)v?y%jd1;!ULi#~F$9Kn#E0<8RPv&vanW6KNl3fnR3i-}eV`78?JY}AuF5%XT zFaC;F|AR7@dM@z_0D$bq6zd&G(P*Y#6ifI`*4M-H_xz}AD2%E%JI*omKS73 z;U1I?36Et}OWxbsjlz>;-*?}5gw|PgXTK>zX1B4Y1-&J${q)=tOO&#jVdS^+m+E}0 z$Gs32K4@jBK3C)xJ6pVbpE(3(XJ+}>ma6-+tj62^f9+lSJCynRN9c4}wUTNIr3i^I z#Fo+SQj){w7=t9LVJOEX<4_{ibe51q*F(kum7-CGm_tW?D zN!wmNSAW3z>3J?c%=13o@B4neUiWr&5BBb%ISKsj3 ziQe^tx%P@eVA3BXaYYxeU(vP;Eq8+$|(r-O*TWceC2FgL8P}V`?l%Wt0 zft^11IKMl(>7D{KZ5^ugBngi<@>nD*o6=o#r-;^G9&j4ku(m*stf$Z1z~~xTR3xQ_ zzE6Kr;><(C*4GZzGj<+ldG0RccjV&F3rL=O@})9UAT|G^oh&=7!0MUhwg;-lWfKM~IR|++%_)U{*>(*Vo|lS1 zC8Vyqh4nWZ2mF5>D>c^5Wd~&s*E)6^V90lUUd19^p-2VgIA#O2-;>*nhmWe2Y$Xyx zo3?7M)2;3}Xnv0N1RFYDw^xB+J1#g4IY0x5OIE=&E;kss?J+y*+r##BG1;0f@y&vK z^*V8{2D0E&kis<``-`n!$h_X{gC$uur%ZQzXT(w6fiA1O;#on(wb;)Xf-N-D}=&UTZ8 z4w=61MOrZ?&a}Qu@akB?x*^wlI`ucr=PX^$dtnl9nyc3LB!x9?;S+t&cHHeja;O8^ z$Ck4nHA%J!kLXi0L(T=-26xqj;Rvr1OiKG`n`j&B#)@co1PEfR9r!${{62c2F&&`SJ%zdPuOWap(~p|G50YaT`- zQYbINdgtD$wI0F)R*h3H?osu^&4Ir?K1xCXbKgt8wzF>6; z#RUrT5OM2=)3c$b&G19NwP;N9E~>V@m4?RglbqRGY%C6FI44*UdCi41@BzAQGt4#%0D$iQb-%1;2gD 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/renovate-config" + ] +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/application.sh b/dotfiles/common/.tmux/plugins/tmux/status/application.sh new file mode 100644 index 0000000..fa2bbbc --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/application.sh @@ -0,0 +1,12 @@ +show_application() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_application_icon" "") + color=$(get_tmux_option "@catppuccin_application_color" "$thm_pink") + text=$(get_tmux_option "@catppuccin_application_text" "#{pane_current_command}") + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/battery.sh b/dotfiles/common/.tmux/plugins/tmux/status/battery.sh new file mode 100644 index 0000000..5a2d8f0 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/battery.sh @@ -0,0 +1,26 @@ +show_battery() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_battery_icon" "#{battery_icon}") + color=$(get_tmux_option "@catppuccin_battery_color" "$thm_yellow") + text=$(get_tmux_option "@catppuccin_battery_text" "#{battery_percentage}") + + tmux set-option -g @batt_icon_charge_tier8 '󰁹' + tmux set-option -g @batt_icon_charge_tier7 '󰂁' + tmux set-option -g @batt_icon_charge_tier6 '󰁿' + tmux set-option -g @batt_icon_charge_tier5 '󰁾' + tmux set-option -g @batt_icon_charge_tier4 '󰁽' + tmux set-option -g @batt_icon_charge_tier3 '󰁼' + tmux set-option -g @batt_icon_charge_tier2 '󰁻' + tmux set-option -g @batt_icon_charge_tier1 '󰁺' + tmux set-option -g @batt_icon_status_charged '󰚥' + tmux set-option -g @batt_icon_status_charging '󰂄' + tmux set-option -g @batt_icon_status_discharging '󰂃' + tmux set-option -g @batt_icon_status_unknown '󰂑' + tmux set-option -g @batt_icon_status_attached "󱈑" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/clima.sh b/dotfiles/common/.tmux/plugins/tmux/status/clima.sh new file mode 100644 index 0000000..7e1801b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/clima.sh @@ -0,0 +1,13 @@ +# Requires https://github.com/vascomfnunes/tmux-clima +show_clima() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_clima_icon" "")" + color="$(get_tmux_option "@catppuccin_clima_color" "$thm_yellow")" + text="$(get_tmux_option "@catppuccin_clima_text" "#{clima}")" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/cpu.sh b/dotfiles/common/.tmux/plugins/tmux/status/cpu.sh new file mode 100644 index 0000000..fd12951 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/cpu.sh @@ -0,0 +1,16 @@ +show_cpu() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_cpu_icon" "") + color="$(get_tmux_option "@catppuccin_cpu_color" "#{cpu_bg_color}")" + text="$(get_tmux_option "@catppuccin_cpu_text" "#{cpu_percentage}")" + + tmux set-option -g @cpu_low_bg_color "$thm_yellow" # background color when cpu is low + tmux set-option -g @cpu_medium_bg_color "$thm_orange" # background color when cpu is medium + tmux set-option -g @cpu_high_bg_color "$thm_red" # background color when cpu is high + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/date_time.sh b/dotfiles/common/.tmux/plugins/tmux/status/date_time.sh new file mode 100644 index 0000000..04695b9 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/date_time.sh @@ -0,0 +1,12 @@ +show_date_time() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_date_time_icon" "󰃰")" + color="$(get_tmux_option "@catppuccin_date_time_color" "$thm_blue")" + text="$(get_tmux_option "@catppuccin_date_time_text" "%Y-%m-%d %H:%M")" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/directory.sh b/dotfiles/common/.tmux/plugins/tmux/status/directory.sh new file mode 100644 index 0000000..8982dbe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/directory.sh @@ -0,0 +1,12 @@ +show_directory() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_directory_icon" "") + color=$(get_tmux_option "@catppuccin_directory_color" "$thm_pink") + text=$(get_tmux_option "@catppuccin_directory_text" "#{b:pane_current_path}") + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/gitmux.sh b/dotfiles/common/.tmux/plugins/tmux/status/gitmux.sh new file mode 100644 index 0000000..9186bc2 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/gitmux.sh @@ -0,0 +1,14 @@ +# Requires https://github.com/arl/gitmux + +show_gitmux() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_gitmux_icon" "󰊢")" + color="$(get_tmux_option "@catppuccin_gitmux_color" "$thm_green")" + text="$(get_tmux_option "@catppuccin_gitmux_text" "#(gitmux \"#{pane_current_path}\")")" + + module=$( build_status_module "$index" "$icon" "$color" "$text" ) + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/host.sh b/dotfiles/common/.tmux/plugins/tmux/status/host.sh new file mode 100644 index 0000000..8e4bd23 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/host.sh @@ -0,0 +1,12 @@ +show_host() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_host_icon" "󰒋") + color=$(get_tmux_option "@catppuccin_host_color" "$thm_magenta") + text=$(get_tmux_option "@catppuccin_host_text" "#H") + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/kube.sh b/dotfiles/common/.tmux/plugins/tmux/status/kube.sh new file mode 100644 index 0000000..4e3083c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/kube.sh @@ -0,0 +1,17 @@ +# Requires https://github.com/jonmosco/kube-tmux + +show_kube() { + local index icon color text context_color namespace_color symbol_enabled module + + index=$1 + icon=$(get_tmux_option "@catppuccin_kube_icon" "󱃾") + color=$(get_tmux_option "@catppuccin_kube_color" "$thm_blue") + context_color=$(get_tmux_option "@catppuccin_kube_context_color" "#{thm_red}") + namespace_color=$(get_tmux_option "@catppuccin_kube_namespace_color" "#{thm_cyan}") + symbol_enabled=${KUBE_TMUX_SYMBOL_ENABLE:-false} + text=$(get_tmux_option "@catppuccin_kube_text" "#(KUBE_TMUX_SYMBOL_ENABLE=$symbol_enabled ${TMUX_PLUGIN_MANAGER_PATH}kube-tmux/kube.tmux 250 '$context_color' '$namespace_color')") + + module=$( build_status_module "$index" "$icon" "$color" "$text" ) + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/load.sh b/dotfiles/common/.tmux/plugins/tmux/status/load.sh new file mode 100644 index 0000000..5809423 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/load.sh @@ -0,0 +1,12 @@ +show_load() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_load_icon" "󰊚")" + color="$(get_tmux_option "@catppuccin_load_color" "$thm_blue")" + text="$(get_tmux_option "@catppuccin_load_text" "#{load_full}")" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/pomodoro_plus.sh b/dotfiles/common/.tmux/plugins/tmux/status/pomodoro_plus.sh new file mode 100644 index 0000000..a155cd7 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/pomodoro_plus.sh @@ -0,0 +1,14 @@ +# Requires https://github.com/olimorris/tmux-pomodoro-plus + +show_pomodoro_plus() { + local index icon color text module + + index=$1 + icon="$( get_tmux_option "@catppuccin_pomodoro_plus_icon" "" )" + color="$( get_tmux_option "@catppuccin_pomodoro_plus_color" "$thm_orange" )" + text="$( get_tmux_option "@catppuccin_pomodoro_plus_text" "#{pomodoro_status}" )" + + module=$( build_status_module "$index" "$icon" "$color" "$text" ) + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/session.sh b/dotfiles/common/.tmux/plugins/tmux/status/session.sh new file mode 100644 index 0000000..6e79cfb --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/session.sh @@ -0,0 +1,12 @@ +show_session() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_session_icon" "") + color=$(get_tmux_option "@catppuccin_session_color" "#{?client_prefix,$thm_red,$thm_green}") + text=$(get_tmux_option "@catppuccin_session_text" "#S") + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/uptime.sh b/dotfiles/common/.tmux/plugins/tmux/status/uptime.sh new file mode 100644 index 0000000..10999de --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/uptime.sh @@ -0,0 +1,12 @@ +show_uptime() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_uptime_icon" "󰔟")" + color="$(get_tmux_option "@catppuccin_uptime_color" "$thm_green")" + text="$(get_tmux_option "@catppuccin_uptime_text" "#(uptime | sed 's/^[^,]*up *//; s/, *[[:digit:]]* user.*//; s/ day.*, */d /; s/:/h /; s/ min//; s/$/m/')")" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/user.sh b/dotfiles/common/.tmux/plugins/tmux/status/user.sh new file mode 100644 index 0000000..ea88e75 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/user.sh @@ -0,0 +1,12 @@ +show_user() { + local index icon color text module + + index=$1 + icon=$(get_tmux_option "@catppuccin_user_icon" "") + color=$(get_tmux_option "@catppuccin_user_color" "$thm_cyan") + text=$(get_tmux_option "@catppuccin_user_text" "#(whoami)") + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/status/weather.sh b/dotfiles/common/.tmux/plugins/tmux/status/weather.sh new file mode 100644 index 0000000..b6cb6fe --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/status/weather.sh @@ -0,0 +1,14 @@ +# Requires https://github.com/xamut/tmux-weather. + +show_weather() { + local index icon color text module + + index=$1 + icon="$(get_tmux_option "@catppuccin_weather_icon" "")" + color="$(get_tmux_option "@catppuccin_weather_color" "$thm_yellow")" + text="$(get_tmux_option "@catppuccin_weather_text" "#{weather}")" + + module=$(build_status_module "$index" "$icon" "$color" "$text") + + echo "$module" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_frappe.tmuxtheme b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_frappe.tmuxtheme new file mode 100644 index 0000000..a38a73f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_frappe.tmuxtheme @@ -0,0 +1,17 @@ +# NOTE: you can use vars with $ and ${} as long as the str is double quoted: "" +# WARNING: hex colors can't contain capital letters + +# --> Catppuccin (Frappe) +thm_bg="#303446" +thm_fg="#c6d0f5" +thm_cyan="#99d1db" +thm_black="#292c3c" +thm_gray="#414559" +thm_magenta="#ca9ee6" +thm_pink="#f4b8e4" +thm_red="#e78284" +thm_green="#a6d189" +thm_yellow="#e5c890" +thm_blue="#8caaee" +thm_orange="#ef9f76" +thm_black4="#626880" diff --git a/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_latte.tmuxtheme b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_latte.tmuxtheme new file mode 100644 index 0000000..af31a8d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_latte.tmuxtheme @@ -0,0 +1,17 @@ +# NOTE: you can use vars with $ and ${} as long as the str is double quoted: "" +# WARNING: hex colors can't contain capital letters + +# --> Catppuccin (Latte) +thm_bg="#eff1f5" +thm_fg="#4c4f69" +thm_cyan="#04a5e5" +thm_black="#e6e9ef" +thm_gray="#ccd0da" +thm_magenta="#8839ef" +thm_pink="#ea76cb" +thm_red="#d20f39" +thm_green="#40a02b" +thm_yellow="#df8e1d" +thm_blue="#1e66f5" +thm_orange="#fe640b" +thm_black4="#acb0be" diff --git a/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_macchiato.tmuxtheme b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_macchiato.tmuxtheme new file mode 100644 index 0000000..c90bf76 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_macchiato.tmuxtheme @@ -0,0 +1,17 @@ +# NOTE: you can use vars with $ and ${} as long as the str is double quoted: "" +# WARNING: hex colors can't contain capital letters + +# --> Catppuccin (Macchiato) +thm_bg="#24273a" +thm_fg="#cad3f5" +thm_cyan="#91d7e3" +thm_black="#1e2030" +thm_gray="#363a4f" +thm_magenta="#c6a0f6" +thm_pink="#f5bde6" +thm_red="#ed8796" +thm_green="#a6da95" +thm_yellow="#eed49f" +thm_blue="#8aadf4" +thm_orange="#f5a97f" +thm_black4="#5b6078" diff --git a/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_mocha.tmuxtheme b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_mocha.tmuxtheme new file mode 100644 index 0000000..41e6369 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/themes/catppuccin_mocha.tmuxtheme @@ -0,0 +1,17 @@ +# NOTE: you can use vars with $ and ${} as long as the str is double quoted: "" +# WARNING: hex colors can't contain capital letters + +# --> Catppuccin (Mocha) +thm_bg="#1e1e2e" +thm_fg="#cdd6f4" +thm_cyan="#89dceb" +thm_black="#181825" +thm_gray="#313244" +thm_magenta="#cba6f7" +thm_pink="#f5c2e7" +thm_red="#f38ba8" +thm_green="#a6e3a1" +thm_yellow="#f9e2af" +thm_blue="#89b4fa" +thm_orange="#fab387" +thm_black4="#585b70" diff --git a/dotfiles/common/.tmux/plugins/tmux/tmux.tera b/dotfiles/common/.tmux/plugins/tmux/tmux.tera new file mode 100644 index 0000000..7435b79 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/tmux.tera @@ -0,0 +1,25 @@ +--- +whiskers: + version: "2.1.1" + matrix: + - flavor + filename: "themes/catppuccin_{{flavor.identifier}}.tmuxtheme" +--- +{%- set palette = flavor.colors -%} +# NOTE: you can use vars with $ and ${} as long as the str is double quoted: "" +# WARNING: hex colors can't contain capital letters + +# --> Catppuccin ({{ flavor.identifier | capitalize }}) +thm_bg="#{{ palette.base.hex | lower }}" +thm_fg="#{{ palette.text.hex | lower }}" +thm_cyan="#{{ palette.sky.hex| lower }}" +thm_black="#{{ palette.mantle.hex | lower }}" +thm_gray="#{{ palette.surface0.hex | lower }}" +thm_magenta="#{{ palette.mauve.hex | lower }}" +thm_pink="#{{ palette.pink.hex | lower }}" +thm_red="#{{ palette.red.hex | lower }}" +thm_green="#{{ palette.green.hex | lower }}" +thm_yellow="#{{ palette.yellow.hex | lower }}" +thm_blue="#{{ palette.blue.hex | lower }}" +thm_orange="#{{ palette.peach.hex | lower }}" +thm_black4="#{{ palette.surface2.hex | lower }}" diff --git a/dotfiles/common/.tmux/plugins/tmux/utils/interpolate_utils.sh b/dotfiles/common/.tmux/plugins/tmux/utils/interpolate_utils.sh new file mode 100644 index 0000000..54d2489 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/utils/interpolate_utils.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +do_color_interpolation() { + local all_interpolated="$1" + + for ((i=0; i<${#color_interpolation[@]}; i++)); do + all_interpolated=${all_interpolated//${color_interpolation[$i]}/${color_values[$i]}} + done + + echo "$all_interpolated" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/utils/module_utils.sh b/dotfiles/common/.tmux/plugins/tmux/utils/module_utils.sh new file mode 100644 index 0000000..8dd2a7e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/utils/module_utils.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +load_modules() { + local modules_list=$1 + shift + local module_directories=("$@") + + local -i module_index=0; + local module_name + local module_path + local loaded_modules + local IN=$modules_list + + # https://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash#15988793 + while [ "$IN" != "$iter" ] ;do + # extract the substring from start of string up to delimiter. + iter=${IN%% *} + # delete this first "element" AND next separator, from $IN. + IN="${IN#"$iter "}" + # Print (or doing anything with) the first "element". + + module_name=$iter + + for module_dir in "${module_directories[@]}" ; do + module_path="$module_dir/$module_name.sh" + + if [ -r "$module_path" ]; then + # shellcheck source=/dev/null + source "$module_path" + loaded_modules="$loaded_modules$( "show_$module_name" "$module_index" )" + module_index+=1 + continue 2 + fi + done + + if [[ -z "${module_name/ }" ]]; then + if [[ -z "${modules_list/ }" ]]; then + tmux_echo "catppuccin warning: a module list has only white space, to remove all modules set it to \"null\"" 100 + else + tmux_echo "catppuccin warning: a module list with value \"$modules_list\" has leading/trailing whitespace" 101 + fi + continue + fi + + tmux_echo "catppuccin warning: module $module_name not found" 102 + + + done + + echo "$loaded_modules" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/utils/tmux_utils.sh b/dotfiles/common/.tmux/plugins/tmux/utils/tmux_utils.sh new file mode 100644 index 0000000..e43f61f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/utils/tmux_utils.sh @@ -0,0 +1,63 @@ +#!/bin/sh + +tmux_echo() { + local hook + hook="after-new-session[$2]" + + tmux set-hook -g "$hook" "run-shell 'echo \"$1\"'; set-hook -gu \"$hook\"" +} + +get_tmux_option() { + local option value default + option="$1" + default="$2" + value=$(tmux show-option -gqv "$option") + + if [ -n "$value" ] + then + if [ "$value" = "null" ] + then + echo "" + + else + echo "$value" + fi + + else + echo "$default" + + fi +} + +get_interpolated_tmux_option() { + local option value default + option="$1" + default="$2" + value=$(tmux show-option -gqv "$option") + + if [ -n "$value" ] + then + if [ "$value" = "null" ] + then + echo "" + + else + do_color_interpolation "$value" + fi + + else + echo "$default" + fi +} + +set() { + local option=$1 + local value=$2 + tmux_commands+=(set-option -gq "$option" "$value" ";") +} + +setw() { + local option=$1 + local value=$2 + tmux_commands+=(set-window-option -gq "$option" "$value" ";") +} diff --git a/dotfiles/common/.tmux/plugins/tmux/window/window_current_format.sh b/dotfiles/common/.tmux/plugins/tmux/window/window_current_format.sh new file mode 100644 index 0000000..0a17bcf --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/window/window_current_format.sh @@ -0,0 +1,13 @@ +show_window_current_format() { + local number color background text fill current_window_format + + number="#I" + color=$(get_tmux_option "@catppuccin_window_current_color" "$thm_orange") + background=$(get_tmux_option "@catppuccin_window_current_background" "$thm_bg") + text="$(get_tmux_option "@catppuccin_window_current_text" "#{b:pane_current_path}")" # use #W for application instead of directory + fill="$(get_tmux_option "@catppuccin_window_current_fill" "number")" # number, all, none + + current_window_format=$(build_window_format "$number" "$color" "$background" "$text" "$fill") + + echo "$current_window_format" +} diff --git a/dotfiles/common/.tmux/plugins/tmux/window/window_default_format.sh b/dotfiles/common/.tmux/plugins/tmux/window/window_default_format.sh new file mode 100644 index 0000000..2c758ba --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tmux/window/window_default_format.sh @@ -0,0 +1,13 @@ +show_window_default_format() { + local number color background text fill default_window_format + + number="#I" + color=$(get_tmux_option "@catppuccin_window_default_color" "$thm_blue") + background=$(get_tmux_option "@catppuccin_window_default_background" "$thm_gray") + text="$(get_tmux_option "@catppuccin_window_default_text" "#{b:pane_current_path}")" # use #W for application instead of directory + fill="$(get_tmux_option "@catppuccin_window_default_fill" "number")" # number, all, none + + default_window_format=$(build_window_format "$number" "$color" "$background" "$text" "$fill") + + echo "$default_window_format" +} diff --git a/dotfiles/common/.tmux/plugins/tpm/.gitattributes b/dotfiles/common/.tmux/plugins/tpm/.gitattributes new file mode 100644 index 0000000..80772e4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/.gitattributes @@ -0,0 +1,9 @@ +# Force text files to have unix eols, so Windows/Cygwin does not break them +*.* eol=lf + +# These files are unfortunately not recognized as text files so +# explicitly listing them here +tpm eol=lf +bin/* eol=lf +bindings/* eol=lf +tests/* eol=lf diff --git a/dotfiles/common/.tmux/plugins/tpm/.gitignore b/dotfiles/common/.tmux/plugins/tpm/.gitignore new file mode 100644 index 0000000..8a94156 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/.gitignore @@ -0,0 +1,4 @@ +**/.vagrant/ +run_tests +tests/run_tests_in_isolation +tests/helpers/helpers.sh diff --git a/dotfiles/common/.tmux/plugins/tpm/.gitmodules b/dotfiles/common/.tmux/plugins/tpm/.gitmodules new file mode 100644 index 0000000..5e44e3c --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/tmux-test"] + path = lib/tmux-test + url = https://github.com/tmux-plugins/tmux-test.git diff --git a/dotfiles/common/.tmux/plugins/tpm/.travis.yml b/dotfiles/common/.tmux/plugins/tpm/.travis.yml new file mode 100644 index 0000000..ac45d8b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/.travis.yml @@ -0,0 +1,19 @@ +# generic packages and tmux +before_install: + - sudo apt-get update + - sudo apt-get install -y git-core expect + - sudo apt-get install -y python-software-properties software-properties-common + - sudo apt-get install -y libevent-dev libncurses-dev + - git clone https://github.com/tmux/tmux.git + - cd tmux + - git checkout 2.0 + - sh autogen.sh + - ./configure && make && sudo make install + +install: + - git fetch --unshallow --recurse-submodules || git fetch --recurse-submodules + # manual `git clone` required for testing `tmux-test` plugin itself + - git clone https://github.com/tmux-plugins/tmux-test lib/tmux-test; true + - lib/tmux-test/setup + +script: ./tests/run_tests_in_isolation diff --git a/dotfiles/common/.tmux/plugins/tpm/CHANGELOG.md b/dotfiles/common/.tmux/plugins/tpm/CHANGELOG.md new file mode 100644 index 0000000..a9ce81e --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/CHANGELOG.md @@ -0,0 +1,86 @@ +# Changelog + +### master + +### v3.1.0, 2023-01-03 +- upgrade to new version of `tmux-test` +- bug: when using `emacs` copy mode, Enter does not quit screen after tpm + installation/update. Fix by making `Escape` the key for emacs mode. +- add a doc with troubleshooting instructions +- add `.gitattributes` file that forces linefeed characters (classic `\n`) as + line endings - helps with misconfigured git on windows/cygwin +- readme update: announce Cygwin support +- un-deprecate old plugin definition syntax: `set -g @tpm_plugins` +- More stuff, check `git log`. + +### v3.0.0, 2015-08-03 +- refactor `shared_set_tpm_path_constant` function +- move all instructions to `docs/` dir +- add `bin/install_plugins` cli executable script +- improved test runner function +- switch to using [tmux-test](https://github.com/tmux-plugins/tmux-test) + framework +- add `bin/update_plugins` cli executable script +- refactor test `expect` scripts, make them simpler and ensure they properly + assert expectations +- refactor code that sets 'TMUX_PLUGIN_MANAGER_PATH' global env var +- stop using global variable for 'tpm path' +- support defining plugins via `set -g @plugin` in sourced files as well + +### v2.0.0, 2015-07-07 +- enable overriding default key bindings +- start using `C-c` to clear screen +- add uninstall/clean procedure and keybinding (prefix+alt+u) (@chilicuil) +- add new `set @plugin 'repo'` plugin definition syntax (@chilicuil) +- revert back to using `-g` flag in new plugin definition syntax +- permit leading whitespace with new plugin definition syntax (thanks @chilicuil) +- make sure `TMUX_PLUGIN_MANAGER_PATH` always has trailng slash +- ensure old/deprecated plugin syntax `set -g @tpm_plugins` works alongside new + `set -g @plugin` syntax + +### v1.2.2, 2015-02-08 +- set GIT_TERMINAL_PROMPT=0 when doing `git clone`, `pull` or `submodule update` + to ensure git does not prompt for username/password in any case + +### v1.2.1, 2014-11-21 +- change the way plugin name is expanded. It now uses the http username + and password by default, like this: `https://git::@github.com/`. This prevents + username and password prompt (and subsequently tmux install hanging) with old + git versions. Fixes #7. + +### v1.2.0, 2014-11-20 +- refactor tests so they can be used on travis +- add travis.yml, add travis badge to the readme + +### v1.1.0, 2014-11-19 +- if the plugin is not downloaded do not source it +- remove `PLUGINS.md`, an obsolete list of plugins +- update readme with instructions about uninstalling plugins +- tilde char and `$HOME` in `TMUX_SHARED_MANAGER_PATH` couldn't be used because + they are just plain strings. Fixing the problem by manually expanding them. +- bugfix: fragile `*.tmux` file globbing (@majutsushi) + +### v1.0.0, 2014-08-05 +- update readme because of github organization change to + [tmux-plugins](https://github.com/tmux-plugins) +- update tests to pass +- update README to suggest different first plugin +- update list of plugins in the README +- remove README 'about' section +- move key binding to the main file. Delete `key_binding.sh`. +- rename `display_message` -> `echo_message` +- installing plugins installs just new plugins. Already installed plugins aren't + updated. +- add 'update plugin' binding and functionality +- add test for updating a plugin + +### v0.0.2, 2014-07-17 +- run all *.tmux plugin files as executables +- fix all redirects to /dev/null +- fix bug: TPM shared path is created before sync (cloning plugins from github + is done) +- add test suite running in Vagrant +- add Tmux version check. `TPM` won't run if Tmux version is less than 1.9. + +### v0.0.1, 2014-05-21 +- get TPM up and running diff --git a/dotfiles/common/.tmux/plugins/tpm/HOW_TO_PLUGIN.md b/dotfiles/common/.tmux/plugins/tpm/HOW_TO_PLUGIN.md new file mode 100644 index 0000000..9901619 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/HOW_TO_PLUGIN.md @@ -0,0 +1,2 @@ +Instructions moved to +[docs/how_to_create_plugin.md](docs/how_to_create_plugin.md). diff --git a/dotfiles/common/.tmux/plugins/tpm/LICENSE.md b/dotfiles/common/.tmux/plugins/tpm/LICENSE.md new file mode 100644 index 0000000..1222865 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/LICENSE.md @@ -0,0 +1,20 @@ +MIT license +Copyright (C) 2014 Bruno Sutic + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dotfiles/common/.tmux/plugins/tpm/README.md b/dotfiles/common/.tmux/plugins/tpm/README.md new file mode 100644 index 0000000..2371863 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/README.md @@ -0,0 +1,101 @@ +# Tmux Plugin Manager + +[![Build Status](https://travis-ci.org/tmux-plugins/tpm.svg?branch=master)](https://travis-ci.org/tmux-plugins/tpm) + +Installs and loads `tmux` plugins. + +Tested and working on Linux, OSX, and Cygwin. + +See list of plugins [here](https://github.com/tmux-plugins/list). + +### Installation + +Requirements: `tmux` version 1.9 (or higher), `git`, `bash`. + +Clone TPM: + +```bash +git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm +``` + +Put this at the bottom of `~/.tmux.conf` (`$XDG_CONFIG_HOME/tmux/tmux.conf` +works too): + +```bash +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +# Other examples: +# set -g @plugin 'github_username/plugin_name' +# set -g @plugin 'github_username/plugin_name#branch' +# set -g @plugin 'git@github.com:user/plugin' +# set -g @plugin 'git@bitbucket.com:user/plugin' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' +``` + +Reload TMUX environment so TPM is sourced: + +```bash +# type this in terminal if tmux is already running +tmux source ~/.tmux.conf +``` + +That's it! + +### Installing plugins + +1. Add new plugin to `~/.tmux.conf` with `set -g @plugin '...'` +2. Press `prefix` + I (capital i, as in **I**nstall) to fetch the plugin. + +You're good to go! The plugin was cloned to `~/.tmux/plugins/` dir and sourced. + +### Uninstalling plugins + +1. Remove (or comment out) plugin from the list. +2. Press `prefix` + alt + u (lowercase u as in **u**ninstall) to remove the plugin. + +All the plugins are installed to `~/.tmux/plugins/` so alternatively you can +find plugin directory there and remove it. + +### Key bindings + +`prefix` + I +- Installs new plugins from GitHub or any other git repository +- Refreshes TMUX environment + +`prefix` + U +- updates plugin(s) + +`prefix` + alt + u +- remove/uninstall plugins not on the plugin list + +### Docs + +- [Help, tpm not working](docs/tpm_not_working.md) - problem solutions + +More advanced features and instructions, regular users probably do not need +this: + +- [How to create a plugin](docs/how_to_create_plugin.md). It's easy. +- [Managing plugins via the command line](docs/managing_plugins_via_cmd_line.md) +- [Changing plugins install dir](docs/changing_plugins_install_dir.md) +- [Automatic TPM installation on a new machine](docs/automatic_tpm_installation.md) + +### Tests + +Tests for this project run on [Travis CI](https://travis-ci.org/tmux-plugins/tpm). + +When run locally, [vagrant](https://www.vagrantup.com/) is required. +Run tests with: + +```bash +# within project directory +./run_tests +``` + +### License + +[MIT](LICENSE.md) diff --git a/dotfiles/common/.tmux/plugins/tpm/bin/clean_plugins b/dotfiles/common/.tmux/plugins/tpm/bin/clean_plugins new file mode 100755 index 0000000..12f8730 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bin/clean_plugins @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Script intended for use via the command line. +# +# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system, +# but does not need to be started in order to run this script. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" + +main() { + "$SCRIPTS_DIR/clean_plugins.sh" # has correct exit code +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/bin/install_plugins b/dotfiles/common/.tmux/plugins/tpm/bin/install_plugins new file mode 100755 index 0000000..c66b15b --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bin/install_plugins @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# Script intended for use via the command line. +# +# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system, +# but does not need to be started in order to run this script. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" + +main() { + "$SCRIPTS_DIR/install_plugins.sh" # has correct exit code +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/bin/update_plugins b/dotfiles/common/.tmux/plugins/tpm/bin/update_plugins new file mode 100755 index 0000000..30a5646 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bin/update_plugins @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +# Script intended for use via the command line. +# +# `.tmux.conf` needs to be set for TPM. Tmux has to be installed on the system, +# but does not need to be started in order to run this script. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" +PROGRAM_NAME="$0" + +if [ $# -eq 0 ]; then + echo "usage:" + echo " $PROGRAM_NAME all update all plugins" + echo " $PROGRAM_NAME tmux-foo update plugin 'tmux-foo'" + echo " $PROGRAM_NAME tmux-bar tmux-baz update multiple plugins" + exit 1 +fi + +main() { + "$SCRIPTS_DIR/update_plugin.sh" --shell-echo "$*" # has correct exit code +} +main "$*" + diff --git a/dotfiles/common/.tmux/plugins/tpm/bindings/clean_plugins b/dotfiles/common/.tmux/plugins/tpm/bindings/clean_plugins new file mode 100755 index 0000000..9a0d5d7 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bindings/clean_plugins @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Tmux key-binding script. +# Scripts intended to be used via the command line are in `bin/` directory. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" +HELPERS_DIR="$SCRIPTS_DIR/helpers" + +source "$HELPERS_DIR/tmux_echo_functions.sh" +source "$HELPERS_DIR/tmux_utils.sh" + +main() { + reload_tmux_environment + "$SCRIPTS_DIR/clean_plugins.sh" --tmux-echo >/dev/null 2>&1 + reload_tmux_environment + end_message +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/bindings/install_plugins b/dotfiles/common/.tmux/plugins/tpm/bindings/install_plugins new file mode 100755 index 0000000..3ade3c4 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bindings/install_plugins @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# Tmux key-binding script. +# Scripts intended to be used via the command line are in `bin/` directory. + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" +HELPERS_DIR="$SCRIPTS_DIR/helpers" + +source "$HELPERS_DIR/tmux_echo_functions.sh" +source "$HELPERS_DIR/tmux_utils.sh" + +main() { + reload_tmux_environment + "$SCRIPTS_DIR/install_plugins.sh" --tmux-echo >/dev/null 2>&1 + reload_tmux_environment + end_message +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/bindings/update_plugins b/dotfiles/common/.tmux/plugins/tpm/bindings/update_plugins new file mode 100755 index 0000000..28cc281 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/bindings/update_plugins @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +# Tmux key-binding script. +# Scripts intended to be used via the command line are in `bin/` directory. + +# This script: +# - shows a list of installed plugins +# - starts a prompt to enter the name of the plugin that will be updated + +CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPTS_DIR="$CURRENT_DIR/../scripts" +HELPERS_DIR="$SCRIPTS_DIR/helpers" + +source "$HELPERS_DIR/plugin_functions.sh" +source "$HELPERS_DIR/tmux_echo_functions.sh" +source "$HELPERS_DIR/tmux_utils.sh" + +display_plugin_update_list() { + local plugins="$(tpm_plugins_list_helper)" + tmux_echo "Installed plugins:" + tmux_echo "" + + for plugin in $plugins; do + # displaying only installed plugins + if plugin_already_installed "$plugin"; then + local plugin_name="$(plugin_name_helper "$plugin")" + tmux_echo " $plugin_name" + fi + done + + tmux_echo "" + tmux_echo "Type plugin name to update it." + tmux_echo "" + tmux_echo "- \"all\" - updates all plugins" + tmux_echo "- ENTER - cancels" +} + +update_plugin_prompt() { + tmux command-prompt -p 'plugin update:' " \ + send-keys C-c; \ + run-shell '$SCRIPTS_DIR/update_plugin_prompt_handler.sh %1'" +} + +main() { + reload_tmux_environment + display_plugin_update_list + update_plugin_prompt +} +main diff --git a/dotfiles/common/.tmux/plugins/tpm/docs/automatic_tpm_installation.md b/dotfiles/common/.tmux/plugins/tpm/docs/automatic_tpm_installation.md new file mode 100644 index 0000000..630573f --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/docs/automatic_tpm_installation.md @@ -0,0 +1,12 @@ +# Automatic tpm installation + +One of the first things we do on a new machine is cloning our dotfiles. Not everything comes with them though, so for example `tpm` most likely won't be installed. + +If you want to install `tpm` and plugins automatically when tmux is started, put the following snippet in `.tmux.conf` before the final `run '~/.tmux/plugins/tpm/tpm'`: + +``` +if "test ! -d ~/.tmux/plugins/tpm" \ + "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" +``` + +This useful tip was submitted by @acr4 and narfman0. diff --git a/dotfiles/common/.tmux/plugins/tpm/docs/changing_plugins_install_dir.md b/dotfiles/common/.tmux/plugins/tpm/docs/changing_plugins_install_dir.md new file mode 100644 index 0000000..27de96d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/docs/changing_plugins_install_dir.md @@ -0,0 +1,16 @@ +# Changing plugins install dir + +By default, TPM installs plugins in a subfolder named `plugins/` inside +`$XDG_CONFIG_HOME/tmux/` if a `tmux.conf` file was found at that location, or +inside `~/.tmux/` otherwise. + +You can change the install path by putting this in `.tmux.conf`: + + set-environment -g TMUX_PLUGIN_MANAGER_PATH '/some/other/path/' + +Tmux plugin manager initialization in `.tmux.conf` should also be updated: + + # initializes TMUX plugin manager in a new path + run /some/other/path/tpm/tpm + +Please make sure that the `run` line is at the very bottom of `.tmux.conf`. diff --git a/dotfiles/common/.tmux/plugins/tpm/docs/how_to_create_plugin.md b/dotfiles/common/.tmux/plugins/tpm/docs/how_to_create_plugin.md new file mode 100644 index 0000000..f7d9c13 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/docs/how_to_create_plugin.md @@ -0,0 +1,108 @@ +# How to create Tmux plugins + +Creating a new plugin is easy. + +For demonstration purposes we'll create a simple plugin that lists all +installed TPM plugins. Yes, a plugin that lists plugins :) We'll bind that to +`prefix + T`. + +The source code for this example plugin can be found +[here](https://github.com/tmux-plugins/tmux-example-plugin). + +### 1. create a new git project + +TPM depends on git for downloading and updating plugins. + +To create a new git project: + + $ mkdir tmux_my_plugin + $ cd tmux_my_plugin + $ git init + +### 2. create a `*.tmux` plugin run file + +When it sources a plugin, TPM executes all `*.tmux` files in your plugins' +directory. That's how plugins are run. + +Create a plugin run file in plugin directory: + + $ touch my_plugin.tmux + $ chmod u+x my_plugin.tmux + +You can have more than one `*.tmux` file, and all will get executed. However, usually +you'll need just one. + +### 3. create a plugin key binding + +We want the behavior of the plugin to trigger when a user hits `prefix + T`. + +Key `T` is chosen because: + - it's "kind of" a mnemonic for `TPM` + - the key is not used by Tmux natively. Tmux man page, KEY BINDINGS section + contains a list of all the bindings Tmux uses. There's plenty of unused keys + and we don't want to override any of Tmux default key bindings. + +Open the plugin run file in your favorite text editor: + + $ vim my_plugin.tmux + # or + $ subl my_plugin.tmux + +Put the following content in the file: + + #!/usr/bin/env bash + + CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + tmux bind-key T run-shell "$CURRENT_DIR/scripts/tmux_list_plugins.sh" + +As you can see, plugin run file is a simple bash script that sets up the binding. + +When pressed, `prefix + T` will execute another shell script: +`tmux_list_plugins.sh`. That script should be in `scripts/` directory - +relative to the plugin run file. + + +### 4. listing plugins + +Now that we have the binding, let's create a script that's invoked with +`prefix + T`. + + $ mkdir scripts + $ touch scripts/tmux_list_plugins.sh + $ chmod u+x scripts/tmux_list_plugins.sh + +And here's the script content: + + #!/usr/bin/env bash + + # fetching the directory where plugins are installed + plugin_path="$(tmux show-env -g TMUX_PLUGIN_MANAGER_PATH | cut -f2 -d=)" + + # listing installed plugins + ls -1 "$plugin_path" + +### 5. try it out + +To see if this works, execute the plugin run file: + + $ ./my_plugin.tmux + +That should set up the key binding. Now hit `prefix + T` and see if it works. + +### 6. publish the plugin + +When everything is ready, push the plugin to an online git repository, +preferably GitHub. + +Other users can install your plugin by just adding plugin git URL to the +`@plugin` list in their `.tmux.conf`. + +If the plugin is on GitHub, your users will be able to use the shorthand of +`github_username/repository`. + +### Conclusion + +Hopefully, that was easy. As you can see, it's mostly shell scripting. + +You can use other scripting languages (ruby, python etc) but plain old shell +is preferred because of portability. diff --git a/dotfiles/common/.tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md b/dotfiles/common/.tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md new file mode 100644 index 0000000..7aefd7d --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/docs/managing_plugins_via_cmd_line.md @@ -0,0 +1,36 @@ +# Managing plugins via the command line + +Aside from tmux key bindings, TPM provides shell interface for managing plugins +via scripts located in [bin/](../bin/) directory. + +Tmux does not need to be started in order to run scripts (but it's okay if it +is). If you [changed tpm install dir](../docs/changing_plugins_install_dir.md) +in `.tmux.conf` that should work fine too. + +Prerequisites: + +- tmux installed on the system (doh) +- `.tmux.conf` set up for TPM + +### Installing plugins + +As usual, plugins need to be specified in `.tmux.conf`. Run the following +command to install plugins: + + ~/.tmux/plugins/tpm/bin/install_plugins + +### Updating plugins + +To update all installed plugins: + + ~/.tmux/plugins/tpm/bin/update_plugins all + +or update a single plugin: + + ~/.tmux/plugins/tpm/bin/update_plugins tmux-sensible + +### Removing plugins + +To remove plugins not on the plugin list: + + ~/.tmux/plugins/tpm/bin/clean_plugins diff --git a/dotfiles/common/.tmux/plugins/tpm/docs/tpm_not_working.md b/dotfiles/common/.tmux/plugins/tpm/docs/tpm_not_working.md new file mode 100644 index 0000000..6680291 --- /dev/null +++ b/dotfiles/common/.tmux/plugins/tpm/docs/tpm_not_working.md @@ -0,0 +1,102 @@ +# Help, tpm not working! + +Here's the list of issues users had with `tpm`: + +