From 06c8cab4bf6b275c5e5518e742418e05b7d17265 Mon Sep 17 00:00:00 2001
From: "Edgar P. Burkhart"
{% blocktranslate %}Logged in as {{ user }}{% endblocktranslate %}
{% translate "No statements to show" %} {% translate "No transactions to show" %}{% translate "Statements" %}
- {% include "main/table/statement.html" %}
- {% endif %}
- {% if transactions %}
- {% translate "Transactions" %}
- {% include "main/table/transaction.html" %}
- {% translate "History" %}
- {% include "main/plot/history.html" %}
+ {% if statements %}
+ {% translate "Statements" %}
+ {% include "statement/statement_table.html" %}
+ {% endif %}
+ {% if transactions %}
+ {% translate "Transactions" %}
+ {% include "transaction/transaction_table.html" %}
+ {% translate "History" %}
+ {% include "transaction/history_plot.html" %}
+ {% endif %}
{% endif %}
{% endblock %}
diff --git a/nummi/category/templates/category/category_form.html b/nummi/category/templates/category/category_form.html
index 6223526..d995b04 100644
--- a/nummi/category/templates/category/category_form.html
+++ b/nummi/category/templates/category/category_form.html
@@ -11,10 +11,10 @@
{% block tables %}
{% if transactions %}
{% translate "Transactions" %}
- {% include "main/table/transaction.html" %}
+ {% include "transaction/transaction_table.html" %}
{% endif %}
{% if history.data %}
{% translate "History" %}
- {% include "main/plot/history.html" %}
+ {% include "transaction/history_plot.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/main/templates/main/plot/category.html b/nummi/category/templates/category/category_plot.html
similarity index 100%
rename from nummi/main/templates/main/plot/category.html
rename to nummi/category/templates/category/category_plot.html
diff --git a/nummi/main/templates/main/index.html b/nummi/main/templates/main/index.html
index b2dbbaa..9da7a05 100644
--- a/nummi/main/templates/main/index.html
+++ b/nummi/main/templates/main/index.html
@@ -24,7 +24,7 @@
{% endif %}
{% if transactions %}
{% translate "Transactions" %}
- {% include "main/table/transaction.html" %}
+ {% include "transaction/transaction_table.html" %}
{% endif %}
{% if categories %}
{% translate "Categories" %}
@@ -38,10 +38,10 @@
{% endif %}
{% if statements %}
{% translate "Statements" %}
- {% include "main/table/statement.html" %}
+ {% include "statement/statement_table.html" %}
{% endif %}
{% if history.data %}
{% translate "History" %}
- {% include "main/plot/history.html" %}
+ {% include "transaction/history_plot.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/search/forms.py b/nummi/search/forms.py
index 70d6e60..0aba785 100644
--- a/nummi/search/forms.py
+++ b/nummi/search/forms.py
@@ -3,5 +3,5 @@ from django.utils.translation import gettext_lazy as _
class SearchForm(forms.Form):
- template_name = "main/form/search.html"
+ template_name = "search/search_form.html"
search = forms.CharField(label=_("Search"), max_length=128)
diff --git a/nummi/main/templates/main/form/search.html b/nummi/search/templates/search/search_form.html
similarity index 100%
rename from nummi/main/templates/main/form/search.html
rename to nummi/search/templates/search/search_form.html
diff --git a/nummi/statement/templates/statement/statement_form.html b/nummi/statement/templates/statement/statement_form.html
index feaf251..06fe238 100644
--- a/nummi/statement/templates/statement/statement_form.html
+++ b/nummi/statement/templates/statement/statement_form.html
@@ -21,10 +21,10 @@
{% block tables %}
{% if categories %}
{% translate "Categories" %}
- {% include "main/plot/category.html" %}
+ {% include "category/category_plot.html" %}
{% endif %}
{% if not form.instance|adding %}
{% translate "Transactions" %} ({{ form.instance.sum|pmvalue }} / {{ form.instance.diff|pmvalue }})
- {% include "main/table/transaction.html" %}
+ {% include "transaction/transaction_table.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/statement/templates/statement/statement_list.html b/nummi/statement/templates/statement/statement_list.html
index f6b31a9..9522c3e 100644
--- a/nummi/statement/templates/statement/statement_list.html
+++ b/nummi/statement/templates/statement/statement_list.html
@@ -31,7 +31,7 @@
{% endif %}
{% if statements %}
{% include "main/list/pagination.html" %}
- {% include "main/table/statement.html" %}
+ {% include "statement/statement_table.html" %}
{% include "main/list/pagination.html" %}
{% else %}
{% translate "Invoices" %}
- {% include "main/table/invoice.html" %}
+ {% include "transaction/invoice_table.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/transaction/templates/transaction/transaction_list.html b/nummi/transaction/templates/transaction/transaction_list.html
index ee087e7..cc44397 100644
--- a/nummi/transaction/templates/transaction/transaction_list.html
+++ b/nummi/transaction/templates/transaction/transaction_list.html
@@ -43,7 +43,7 @@
{% endif %}
{% if transactions %}
{% include "main/list/pagination.html" %}
- {% include "main/table/transaction.html" %}
+ {% include "transaction/transaction_table.html" %}
{% include "main/list/pagination.html" %}
{% else %}
{% translate "Transactions" %}
{% include "transaction/transaction_table.html" %}
{% translate "History" %}
- {% include "transaction/history_plot.html" %}
+ {% include "history/plot.html" %}
{% endif %}
{% endif %}
{% endblock %}
diff --git a/nummi/account/views.py b/nummi/account/views.py
index a73c7a8..446ac30 100644
--- a/nummi/account/views.py
+++ b/nummi/account/views.py
@@ -1,8 +1,8 @@
from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy
+from history.utils import history
from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView
from statement.views import StatementListView
-from transaction.utils import history
from transaction.views import TransactionListView
from .forms import AccountForm
diff --git a/nummi/category/templates/category/category_form.html b/nummi/category/templates/category/category_form.html
index d995b04..b97f71b 100644
--- a/nummi/category/templates/category/category_form.html
+++ b/nummi/category/templates/category/category_form.html
@@ -15,6 +15,6 @@
{% endif %}
{% if history.data %}
{% translate "History" %}
- {% include "transaction/history_plot.html" %}
+ {% include "history/plot.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/category/views.py b/nummi/category/views.py
index 53d8609..2e2fc1c 100644
--- a/nummi/category/views.py
+++ b/nummi/category/views.py
@@ -1,7 +1,7 @@
from django.shortcuts import get_object_or_404
from django.urls import reverse_lazy
+from history.utils import history
from main.views import NummiCreateView, NummiDeleteView, NummiUpdateView
-from transaction.utils import history
from transaction.views import TransactionListView
from .forms import CategoryForm
diff --git a/nummi/history/__init__.py b/nummi/history/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/nummi/history/apps.py b/nummi/history/apps.py
new file mode 100644
index 0000000..af5c1f4
--- /dev/null
+++ b/nummi/history/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class HistoryConfig(AppConfig):
+ default_auto_field = "django.db.models.BigAutoField"
+ name = "history"
diff --git a/nummi/history/migrations/__init__.py b/nummi/history/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/nummi/transaction/templates/transaction/history_plot.html b/nummi/history/templates/history/plot.html
similarity index 100%
rename from nummi/transaction/templates/transaction/history_plot.html
rename to nummi/history/templates/history/plot.html
diff --git a/nummi/transaction/utils.py b/nummi/history/utils.py
similarity index 100%
rename from nummi/transaction/utils.py
rename to nummi/history/utils.py
diff --git a/nummi/main/templates/main/index.html b/nummi/main/templates/main/index.html
index 9da7a05..5f194d8 100644
--- a/nummi/main/templates/main/index.html
+++ b/nummi/main/templates/main/index.html
@@ -42,6 +42,6 @@
{% endif %}
{% if history.data %}
{% translate "History" %}
- {% include "transaction/history_plot.html" %}
+ {% include "history/plot.html" %}
{% endif %}
{% endblock %}
diff --git a/nummi/main/views.py b/nummi/main/views.py
index e7fbea9..8095486 100644
--- a/nummi/main/views.py
+++ b/nummi/main/views.py
@@ -10,9 +10,9 @@ from django.views.generic import (
TemplateView,
UpdateView,
)
+from history.utils import history
from statement.models import Statement
from transaction.models import Transaction
-from transaction.utils import history
class IndexView(LoginRequiredMixin, TemplateView):
diff --git a/nummi/nummi/settings.py b/nummi/nummi/settings.py
index 28af502..d1cd960 100644
--- a/nummi/nummi/settings.py
+++ b/nummi/nummi/settings.py
@@ -51,6 +51,7 @@ INSTALLED_APPS = [
"statement",
"transaction",
"search",
+ "history",
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
From 210268928bc7c6268727e07f60d3064176c56578 Mon Sep 17 00:00:00 2001
From: "Edgar P. Burkhart"
{% translate "No statements to show" %}
{% endif %} diff --git a/nummi/transaction/templates/transaction/transaction_list.html b/nummi/transaction/templates/transaction/transaction_list.html index cc44397..069e6aa 100644 --- a/nummi/transaction/templates/transaction/transaction_list.html +++ b/nummi/transaction/templates/transaction/transaction_list.html @@ -42,9 +42,9 @@ {% endif %} {% if transactions %} - {% include "main/list/pagination.html" %} + {% include "main/pagination.html" %} {% include "transaction/transaction_table.html" %} - {% include "main/list/pagination.html" %} + {% include "main/pagination.html" %} {% else %}{% translate "No transactions to show" %}
{% endif %} From 2e3d76ad19e15599e06853cb960733f4d6bfd772 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart"+ {{ account.icon|remix }}{{ account }} +
+ {% endif %} + {% if category %} ++ {{ category.icon|remix }}{{ category }} +
+ {% endif %} + {% if search %} + + {% endif %} + {% include "main/pagination.html" %} + {% block table %}{% endblock %} + {% include "main/pagination.html" %} +{% endblock %} diff --git a/nummi/statement/templates/statement/statement_list.html b/nummi/statement/templates/statement/statement_list.html index 3e4d97f..73bc595 100644 --- a/nummi/statement/templates/statement/statement_list.html +++ b/nummi/statement/templates/statement/statement_list.html @@ -1,39 +1,11 @@ -{% extends "main/base.html" %} -{% load static %} -{% load main_extras %} +{% extends "main/list.html" %} {% load i18n %} -{% block title %} +{% block name %} {% translate "Statements" %} - {% if account %}– {{ account }}{% endif %} - {% if category %}– {{ category }}{% endif %} - – Nummi {% endblock %} -{% block link %} - {{ block.super }} - - +{% block h2 %} + {% translate "Statements" %} {% endblock %} -{% block body %} -- {{ account.icon|remix }}{{ account }} -
- {% endif %} - {% if category %} -- {{ category.icon|remix }}{{ category }} -
- {% endif %} - {% if statements %} - {% include "main/pagination.html" %} - {% include "statement/statement_table.html" %} - {% include "main/pagination.html" %} - {% else %} -{% translate "No statements to show" %}
- {% endif %} +{% block table %} + {% include "statement/statement_table.html" %} {% endblock %} diff --git a/nummi/transaction/templates/transaction/transaction_list.html b/nummi/transaction/templates/transaction/transaction_list.html index 069e6aa..a7e8dea 100644 --- a/nummi/transaction/templates/transaction/transaction_list.html +++ b/nummi/transaction/templates/transaction/transaction_list.html @@ -1,51 +1,11 @@ -{% extends "main/base.html" %} -{% load static %} -{% load main_extras %} +{% extends "main/list.html" %} {% load i18n %} -{% block title %} +{% block name %} {% translate "Transactions" %} - {% if account %}– {{ account }}{% endif %} - {% if category %}– {{ category }}{% endif %} - {% if search %} - – {% translate "Search" %} - {% endif %} - – Nummi {% endblock %} -{% block link %} - {{ block.super }} - - +{% block h2 %} + {% translate "Transactions" %} {% endblock %} -{% block body %} -- {{ account.icon|remix }}{{ account }} -
- {% endif %} - {% if category %} -- {{ category.icon|remix }}{{ category }} -
- {% endif %} - {% if search %} - - {% endif %} - {% if transactions %} - {% include "main/pagination.html" %} - {% include "transaction/transaction_table.html" %} - {% include "main/pagination.html" %} - {% else %} -{% translate "No transactions to show" %}
- {% endif %} +{% block table %} + {% include "transaction/transaction_table.html" %} {% endblock %} From 2d7957b813866a0a356fc35c6e2c2d01fabdd890 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart"H*gcw^nA6$!>`>sjy)_3To@n)NiI{^qDnm}mqq zy403R$!tAl_=_`3T$shIi&X0_tQsTM%_RAn35R`+0h=|A`Gyn5-k_PS+Hys+#y7`j zEQRslU#B*l{KUa#xxX2waT$k6te4*k(T_)@)UoW^YmQt*b(X2Qt@YOXs4StDw&Pxy z)LxStu+M4y<~`x}lzr=HZ^&Oy)+I>$uVb|FgjD|#c-LMW_jL+r{u57@G0Nios?Jn3 Z^a4sfi^LU8oRO`3H;<+s7&Av<{s%ix6m|dr literal 0 HcmV?d00001 diff --git a/nummi/locale/fr_fr/LC_MESSAGES/django.po b/nummi/locale/fr_fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..4bbca6e --- /dev/null +++ b/nummi/locale/fr_fr/LC_MESSAGES/django.po @@ -0,0 +1,315 @@ +# Nummi. +# Copyright (C) 2023 +# This file is distributed under the same license as the Nummi package. +# edpibu, 2023 +# +msgid "" +msgstr "" +"Project-Id-Version: alpha\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-04-22 14:45+0200\n" +"PO-Revision-Date: 2023-04-22 14:46+0200\n" +"Last-Translator: Edgar P. Burkhart \n" +"Language-Team: \n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: .\account\models.py:11 .\account\models.py:37 .\account\models.py:45 +#: .\statement\templates\statement\statement_table.html:24 +#: .\transaction\models.py:48 +#: .\transaction\templates\transaction\transaction_table.html:35 +msgid "Account" +msgstr "Compte" + +#: .\account\models.py:11 .\category\models.py:12 .\transaction\models.py:19 +#: .\transaction\models.py:89 +#: .\transaction\templates\transaction\invoice_table.html:9 +#: .\transaction\templates\transaction\transaction_table.html:28 +msgid "Name" +msgstr "Nom" + +#: .\account\models.py:15 .\category\models.py:17 +msgid "Icon" +msgstr "Icône" + +#: .\account\models.py:17 +msgid "Default" +msgstr "Défaut" + +#: .\account\models.py:38 .\main\templates\main\index.html:16 +msgid "Accounts" +msgstr "Comptes" + +#: .\account\templates\account\account_form.html:5 +#: .\main\templates\main\base.html:50 +msgid "Create account" +msgstr "Créer un compte" + +#: .\account\templates\account\account_form.html:8 +msgid "New account" +msgstr "Nouveau compte" + +#: .\account\templates\account\account_form.html:13 +#: .\main\templates\main\base.html:38 .\main\templates\main\index.html:40 +#: .\statement\models.py:90 +#: .\statement\templates\statement\statement_list.html:4 +#: .\statement\templates\statement\statement_list.html:7 +msgid "Statements" +msgstr "Relevés" + +#: .\account\templates\account\account_form.html:15 +#: .\category\templates\category\category_form.html:12 +#: .\main\templates\main\base.html:44 .\main\templates\main\index.html:26 +#: .\statement\templates\statement\statement_form.html:27 +#: .\statement\templates\statement\statement_table.html:28 +#: .\transaction\models.py:83 +#: .\transaction\templates\transaction\transaction_list.html:4 +#: .\transaction\templates\transaction\transaction_list.html:7 +msgid "Transactions" +msgstr "Transactions" + +#: .\account\templates\account\account_form.html:18 +#: .\category\templates\category\category_form.html:15 +#: .\main\templates\main\index.html:44 +msgid "History" +msgstr "Historique" + +#: .\category\models.py:12 .\category\models.py:32 +#: .\category\templates\category\category_plot.html:14 +#: .\transaction\models.py:38 +#: .\transaction\templates\transaction\transaction_table.html:32 +msgid "Category" +msgstr "Catégorie" + +#: .\category\models.py:19 +msgid "Budget" +msgstr "Budget" + +#: .\category\models.py:33 .\main\templates\main\index.html:30 +#: .\statement\templates\statement\statement_form.html:23 +msgid "Categories" +msgstr "Catégories" + +#: .\category\templates\category\category_form.html:5 +#: .\main\templates\main\base.html:60 +msgid "Create category" +msgstr "Créer une catégorie" + +#: .\category\templates\category\category_form.html:8 +msgid "New category" +msgstr "Nouvelle catégorie" + +#: .\category\templates\category\category_plot.html:15 +#: .\history\templates\history\plot.html:16 +msgid "Expenses" +msgstr "Dépenses" + +#: .\category\templates\category\category_plot.html:16 +#: .\history\templates\history\plot.html:17 +msgid "Income" +msgstr "Revenus" + +#: .\history\templates\history\plot.html:15 +msgid "Month" +msgstr "Mois" + +#: .\main\models.py:10 +msgid "User" +msgstr "Utilisateur" + +#: .\main\templates\main\base.html:27 +msgid "Skip to main content" +msgstr "Aller au contenu principal" + +#: .\main\templates\main\base.html:33 +msgid "Home" +msgstr "Accueil" + +#: .\main\templates\main\base.html:55 +#: .\statement\templates\statement\statement_form.html:5 +#: .\statement\templates\statement\statement_table.html:5 +msgid "Create statement" +msgstr "Créer un relevé" + +#: .\main\templates\main\base.html:65 +#: .\transaction\templates\transaction\transaction_form.html:5 +#: .\transaction\templates\transaction\transaction_table.html:5 +msgid "Create transaction" +msgstr "Créer une transaction" + +#: .\main\templates\main\base.html:70 .\main\templates\main\list.html:10 +#: .\main\templates\main\list.html:36 .\search\forms.py:7 +#: .\search\templates\search\search.html:6 +#: .\search\templates\search\search.html:18 +#: .\search\templates\search\search_form.html:5 +msgid "Search" +msgstr "Rechercher" + +#: .\main\templates\main\base.html:73 +msgid "Log out" +msgstr "Se déconnecter" + +#: .\main\templates\main\base.html:78 .\main\templates\main\form\login.html:6 +#: .\main\templates\main\login.html:14 +msgid "Log in" +msgstr "Se connecter" + +#: .\main\templates\main\base.html:84 +#, python-format +msgid "Logged in as %(user)s" +msgstr "Connecté en tant que %(user)s" + +#: .\main\templates\main\confirm_delete.html:19 +#, python-format +msgid "Are you sure you want do delete %(object)s ?" +msgstr "Êtes-vous sûr de vouloir supprimer %(object)s ?" + +#: .\main\templates\main\confirm_delete.html:23 +msgid "Cancel" +msgstr "Annuler" + +#: .\main\templates\main\confirm_delete.html:24 +msgid "Confirm" +msgstr "Confirmer" + +#: .\main\templates\main\form\fileinput.html:8 .\statement\models.py:42 +#: .\transaction\models.py:94 +#: .\transaction\templates\transaction\invoice_table.html:10 +#: .\transaction\templates\transaction\invoice_table.html:20 +msgid "File" +msgstr "Fichier" + +#: .\main\templates\main\form\form_base.html:30 +#: .\transaction\templates\transaction\invoice_table.html:11 +#: .\transaction\templates\transaction\invoice_table.html:23 +msgid "Delete" +msgstr "Supprimer" + +#: .\main\templates\main\form\form_base.html:32 +msgid "Reset" +msgstr "Réinitialiser" + +#: .\main\templates\main\form\form_base.html:34 +msgid "Create" +msgstr "Créer" + +#: .\main\templates\main\form\form_base.html:36 +msgid "Save" +msgstr "Sauvegarder" + +#: .\statement\forms.py:28 +msgid "Add transactions" +msgstr "Ajouter des transactions" + +#: .\statement\models.py:15 +msgid "End date" +msgstr "Date de fin" + +#: .\statement\models.py:17 +msgid "Start date" +msgstr "Date de début" + +#: .\statement\models.py:20 +msgid "End value" +msgstr "Valeur finale" + +#: .\statement\models.py:23 +msgid "Start value" +msgstr "Valeur initiale" + +#: .\statement\models.py:29 +#: .\statement\templates\statement\statement_table.html:27 +msgid "Difference" +msgstr "Différence" + +#: .\statement\models.py:36 +msgid "Transaction difference" +msgstr "Différence des transactions" + +#: .\statement\models.py:49 +#, python-format +msgid "%(date)s statement" +msgstr "Relevé du %(date)s" + +#: .\statement\models.py:89 .\transaction\models.py:43 +msgid "Statement" +msgstr "Relevé" + +#: .\statement\templates\statement\statement_form.html:8 +msgid "New statement" +msgstr "Nouveau relevé" + +#: .\statement\templates\statement\statement_table.html:22 +#: .\transaction\models.py:25 +#: .\transaction\templates\transaction\transaction_table.html:27 +msgid "Date" +msgstr "Date" + +#: .\statement\templates\statement\statement_table.html:26 +#: .\transaction\models.py:23 +#: .\transaction\templates\transaction\transaction_table.html:29 +msgid "Value" +msgstr "Valeur" + +#: .\statement\templates\statement\statement_table.html:56 +#: .\transaction\templates\transaction\transaction_table.html:71 +msgid "No transaction" +msgstr "Aucune transaction" + +#: .\statement\templates\statement\statement_table.html:64 +msgid "View all statements" +msgstr "Voir tous les relevés" + +#: .\transaction\models.py:19 .\transaction\models.py:82 +msgid "Transaction" +msgstr "Transaction" + +#: .\transaction\models.py:21 +msgid "Description" +msgstr "Description" + +#: .\transaction\models.py:26 +msgid "Real date" +msgstr "Date réelle" + +#: .\transaction\models.py:28 +#: .\transaction\templates\transaction\transaction_table.html:30 +msgid "Trader" +msgstr "Commerçant" + +#: .\transaction\models.py:31 +msgid "Payment" +msgstr "Paiement" + +#: .\transaction\models.py:89 .\transaction\models.py:122 +msgid "Invoice" +msgstr "Facture" + +#: .\transaction\models.py:123 +#: .\transaction\templates\transaction\transaction_form.html:19 +msgid "Invoices" +msgstr "Factures" + +#: .\transaction\templates\transaction\invoice_form.html:4 +#: .\transaction\templates\transaction\invoice_table.html:35 +msgid "Create invoice" +msgstr "Créer une facture" + +#: .\transaction\templates\transaction\invoice_form.html:7 +msgid "New invoice" +msgstr "Nouvelle facture" + +#: .\transaction\templates\transaction\invoice_table.html:28 +msgid "No invoice" +msgstr "Aucune facture" + +#: .\transaction\templates\transaction\transaction_form.html:8 +msgid "New transaction" +msgstr "Nouvelle transaction" + +#: .\transaction\templates\transaction\transaction_table.html:80 +msgid "View all transactions" +msgstr "Voir toutes les transactions" diff --git a/nummi/main/locale/fr/LC_MESSAGES/django.mo b/nummi/main/locale/fr/LC_MESSAGES/django.mo deleted file mode 100644 index a7f3afafc73a0d279d3f4d0c598add86fbdc8f76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3538 zcma)-O^h5z6~~Kw@Ues#5|bE0LJ?xe#_9F!8e(U>yYbpyD=T8N+7C;>h4ysKY=@ri zNq?-p9D*Xm0mFeqq9{T_Mj%<6Z~++!5iVhba?61OLPCTSLI?>7fy5yo@%wkzd<07< zt$F>cs(w}V>b+NQ-n!?G7Y)xD