Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package trytond_currency for 
openSUSE:Factory checked in at 2022-11-06 12:42:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trytond_currency (Old)
 and      /work/SRC/openSUSE:Factory/.trytond_currency.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "trytond_currency"

Sun Nov  6 12:42:55 2022 rev:14 rq:1033824 version:6.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/trytond_currency/trytond_currency.changes        
2022-03-07 17:48:47.731087711 +0100
+++ 
/work/SRC/openSUSE:Factory/.trytond_currency.new.2275/trytond_currency.changes  
    2022-11-06 12:43:24.133811715 +0100
@@ -1,0 +2,5 @@
+Sun Nov  6 09:01:58 UTC 2022 - Axel Braun <[email protected]>
+
+- Version 6.0.2 - Bugfix Release
+
+-------------------------------------------------------------------

Old:
----
  trytond_currency-6.0.1.tar.gz
  trytond_currency-6.0.1.tar.gz.asc

New:
----
  trytond_currency-6.0.2.tar.gz
  trytond_currency-6.0.2.tar.gz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ trytond_currency.spec ++++++
--- /var/tmp/diff_new_pack.XdBB6f/_old  2022-11-06 12:43:24.637814725 +0100
+++ /var/tmp/diff_new_pack.XdBB6f/_new  2022-11-06 12:43:24.641814749 +0100
@@ -19,7 +19,7 @@
 
 %define majorver 6.0
 Name:           trytond_currency
-Version:        %{majorver}.1
+Version:        %{majorver}.2
 Release:        0
 Summary:        The "currency" module for the Tryton ERP system
 License:        GPL-3.0-only

++++++ trytond_currency-6.0.1.tar.gz -> trytond_currency-6.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/.hgtags 
new/trytond_currency-6.0.2/.hgtags
--- old/trytond_currency-6.0.1/.hgtags  2021-07-01 21:45:35.000000000 +0200
+++ new/trytond_currency-6.0.2/.hgtags  2022-11-05 18:39:13.000000000 +0100
@@ -25,3 +25,4 @@
 4abee6a2b9a899db9a37b6c6f3bc2069a8e0353c 5.8.0
 3ba31ca64e5c153962ae34d09f66e7060f5eb89a 6.0.0
 799917d019ceadeba4536a05a4e29ebc5f0a52cc 6.0.1
+d9ad3c32dad4227a27c30fd9525bac442666be29 6.0.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/CHANGELOG 
new/trytond_currency-6.0.2/CHANGELOG
--- old/trytond_currency-6.0.1/CHANGELOG        2021-07-01 21:45:35.000000000 
+0200
+++ new/trytond_currency-6.0.2/CHANGELOG        2022-11-05 18:39:12.000000000 
+0100
@@ -1,3 +1,7 @@
+Version 6.0.2 - 2022-11-05
+--------------------------
+* Bug fixes (see mercurial logs for details)
+
 Version 6.0.1 - 2021-07-01
 * Bug fixes (see mercurial logs for details)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/COPYRIGHT 
new/trytond_currency-6.0.2/COPYRIGHT
--- old/trytond_currency-6.0.1/COPYRIGHT        2021-07-01 21:45:34.000000000 
+0200
+++ new/trytond_currency-6.0.2/COPYRIGHT        2022-11-05 18:39:12.000000000 
+0100
@@ -1,6 +1,6 @@
-Copyright (C) 2008-2021 C??dric Krier.
+Copyright (C) 2008-2022 C??dric Krier.
 Copyright (C) 2008-2013 Bertrand Chenal.
-Copyright (C) 2008-2021 B2CK SPRL.
+Copyright (C) 2008-2022 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/PKG-INFO 
new/trytond_currency-6.0.2/PKG-INFO
--- old/trytond_currency-6.0.1/PKG-INFO 2021-07-01 21:45:36.895418600 +0200
+++ new/trytond_currency-6.0.2/PKG-INFO 2022-11-05 18:39:15.196462600 +0100
@@ -1,26 +1,16 @@
 Metadata-Version: 2.1
 Name: trytond_currency
-Version: 6.0.1
+Version: 6.0.2
 Summary: Tryton module with currencies
 Home-page: http://www.tryton.org/
+Download-URL: http://downloads.tryton.org/6.0/
 Author: Tryton
 Author-email: [email protected]
 License: GPL-3
-Download-URL: http://downloads.tryton.org/6.0/
 Project-URL: Bug Tracker, https://bugs.tryton.org/
 Project-URL: Documentation, https://docs.tryton.org/projects/modules-currency/
 Project-URL: Forum, https://www.tryton.org/forum
 Project-URL: Source Code, https://hg.tryton.org/modules/currency
-Description: ###############
-        Currency Module
-        ###############
-        
-        The *Currency Module* defines the basics needed to work with 
currencies in
-        Tryton including a list of standard currencies.
-        It is also possible to define the rates used to convert amounts between
-        different currencies.
-        
-        
 Keywords: tryton currency
 Platform: any
 Classifier: Development Status :: 5 - Production/Stable
@@ -62,4 +52,14 @@
 Classifier: Topic :: Office/Business
 Requires-Python: >=3.6
 Provides-Extra: data
-Provides-Extra: ecb_rate
+License-File: LICENSE
+
+###############
+Currency Module
+###############
+
+The *Currency Module* defines the basics needed to work with currencies in
+Tryton including a list of standard currencies.
+It is also possible to define the rates used to convert amounts between
+different currencies.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/currency.py 
new/trytond_currency-6.0.2/currency.py
--- old/trytond_currency-6.0.1/currency.py      2021-06-23 22:48:22.000000000 
+0200
+++ new/trytond_currency-6.0.2/currency.py      2022-10-30 10:31:55.000000000 
+0100
@@ -10,12 +10,6 @@
 from sql import Window
 from sql.functions import NthValue
 
-try:
-    from forex_python.converter import CurrencyRates, RatesNotAvailableError
-    get_rates = CurrencyRates(force_decimal=True).get_rates
-except ImportError:
-    CurrencyRates = get_rates = None
-
 from trytond.i18n import gettext
 from trytond.model import (
     ModelView, ModelSQL, DeactivableMixin, fields, Unique, Check, SymbolMixin)
@@ -24,6 +18,7 @@
 from trytond.rpc import RPC
 from trytond.pyson import Eval, If
 
+from .ecb import RatesNotAvailableError, get_rates
 from .exceptions import RateError
 from .ir import rate_decimal
 
@@ -299,7 +294,8 @@
     __name__ = 'currency.cron'
 
     source = fields.Selection(
-        [], "Source", required=True,
+        [('ecb', "European Central Bank")],
+        "Source", required=True,
         help="The external source for rates.")
     frequency = fields.Selection([
             ('daily', "Daily"),
@@ -339,8 +335,6 @@
         cls._buttons.update({
                 'run': {},
                 })
-        if CurrencyRates:
-            cls.source.selection.append(('ecb', "European Central Bank"))
 
     @classmethod
     def default_frequency(cls):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/ecb.py 
new/trytond_currency-6.0.2/ecb.py
--- old/trytond_currency-6.0.1/ecb.py   1970-01-01 01:00:00.000000000 +0100
+++ new/trytond_currency-6.0.2/ecb.py   2022-10-30 10:31:55.000000000 +0100
@@ -0,0 +1,98 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+import datetime as dt
+import ssl
+import sys
+
+try:
+    from lxml import etree as ET
+except ImportError:
+    try:
+        import xml.etree.cElementTree as ET
+    except ImportError:
+        import xml.etree.ElementTree as ET
+
+from decimal import Decimal
+from urllib.error import HTTPError
+from urllib.request import urlopen
+
+_URL = 'https://www.ecb.europa.eu/stats/eurofxref/'
+_URL_TODAY = _URL + 'eurofxref-daily.xml'
+_URL_90 = _URL + 'eurofxref-hist-90d.xml'
+_URL_HIST = _URL + 'eurofxref-hist.xml'
+_START_DATE = dt.date(1999, 1, 4)
+_CUBE_TAG = '{http://www.ecb.int/vocabulary/2002-08-01/eurofxref}Cube'
+
+
+class RatesNotAvailableError(Exception):
+    pass
+
+
+class UnsupportedCurrencyError(Exception):
+    pass
+
+
+def _parse_time(time):
+    return dt.datetime.strptime(time, '%Y-%m-%d').date()
+
+
+def _find_time(source, time=None):
+    for _, element in ET.iterparse(source):
+        if element.tag == _CUBE_TAG and 'time' in element.attrib:
+            if time and _parse_time(element.attrib.get('time')) <= time:
+                return element
+            elif time is None:
+                return element
+            element.clear()
+
+
+def get_rates(currency='EUR', date=None):
+    if date is None:
+        date = dt.date.today()
+    if date < _START_DATE:
+        date = _START_DATE
+    context = ssl.create_default_context()
+    try:
+        with urlopen(_URL_TODAY, context=context) as response:
+            element = _find_time(response)
+            last_date = _parse_time(element.attrib['time'])
+            if last_date < date:
+                raise RatesNotAvailableError()
+            elif last_date == date:
+                return _compute_rates(element, currency, date)
+
+        if last_date - date < dt.timedelta(days=90):
+            url = _URL_90
+        else:
+            url = _URL_HIST
+        with urlopen(url, context=context) as response:
+            element = _find_time(response, date)
+            return _compute_rates(element, currency, date)
+    except HTTPError as e:
+        raise RatesNotAvailableError() from e
+
+
+def _compute_rates(element, currency, date):
+    currencies = {}
+    for cur in element:
+        currencies[cur.attrib['currency']] = Decimal(cur.attrib['rate'])
+    if currency != 'EUR':
+        currencies['EUR'] = Decimal(1)
+        try:
+            base_rate = currencies.pop(currency)
+        except KeyError:
+            raise UnsupportedCurrencyError(f'{currency} is not available')
+        for cur, rate in currencies.items():
+            currencies[cur] = (rate / base_rate).quantize(Decimal('.0001'))
+    return currencies
+
+
+if __name__ == '__main__':
+    currency = 'EUR'
+    if len(sys.argv) > 1:
+        currency = sys.argv[1]
+    date = None
+    if len(sys.argv) > 2:
+        date = dt.datetime.strptime(sys.argv[2], '%Y-%m-%d').date()
+    print(get_rates(currency, date))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/scripts/import_currencies.py 
new/trytond_currency-6.0.2/scripts/import_currencies.py
--- old/trytond_currency-6.0.1/scripts/import_currencies.py     2021-06-23 
22:47:18.000000000 +0200
+++ new/trytond_currency-6.0.2/scripts/import_currencies.py     2022-10-30 
10:31:55.000000000 +0100
@@ -7,7 +7,6 @@
 from argparse import ArgumentParser
 
 import pycountry
-from forex_python.converter import CurrencyCodes
 
 try:
     from progressbar import ProgressBar, Bar, ETA, SimpleProgress
@@ -53,7 +52,6 @@
 def update_currencies(currencies):
     print("Update currencies", file=sys.stderr)
     Currency = Model.get('currency.currency')
-    codes = CurrencyCodes()
 
     records = []
     for currency in _progress(pycountry.currencies):
@@ -61,10 +59,11 @@
         if code in currencies:
             record = currencies[code]
         else:
-            record = Currency(code=code)
+            record = Currency(code=code, symbol=None)
         record.name = _remove_forbidden_chars(currency.name)
         record.numeric_code = currency.numeric
-        record.symbol = codes.get_symbol(currency.alpha_3) or currency.alpha_3
+        if not record.symbol:
+            record.symbol = currency.alpha_3
         records.append(record)
 
     Currency.save(records)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/setup.py 
new/trytond_currency-6.0.2/setup.py
--- old/trytond_currency-6.0.1/setup.py 2021-06-23 22:47:18.000000000 +0200
+++ new/trytond_currency-6.0.2/setup.py 2022-10-30 10:31:55.000000000 +0100
@@ -66,7 +66,7 @@
         requires.append(get_require_version('trytond_%s' % dep))
 requires.append(get_require_version('trytond'))
 
-tests_require = [get_require_version('proteus'), 'pycountry', 'forex-python']
+tests_require = [get_require_version('proteus'), 'pycountry']
 dependency_links = []
 if minor_version % 2:
     dependency_links.append(
@@ -143,9 +143,7 @@
     python_requires='>=3.6',
     install_requires=requires,
     extras_require={
-        'data': [
-            'pycountry', 'forex-python', get_require_version('proteus')],
-        'ecb_rate': ['forex-python'],
+        'data': ['pycountry', get_require_version('proteus')],
         },
     dependency_links=dependency_links,
     zip_safe=False,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/tests/test_currency.py 
new/trytond_currency-6.0.2/tests/test_currency.py
--- old/trytond_currency-6.0.1/tests/test_currency.py   2021-06-23 
22:47:18.000000000 +0200
+++ new/trytond_currency-6.0.2/tests/test_currency.py   2022-10-30 
10:31:55.000000000 +0100
@@ -5,6 +5,8 @@
 import unittest
 from decimal import Decimal
 import trytond.tests.test_tryton
+from trytond.modules.currency.ecb import (
+    RatesNotAvailableError, UnsupportedCurrencyError, get_rates)
 from trytond.transaction import Transaction
 from trytond.tests.test_tryton import ModuleTestCase, with_transaction
 from trytond.tests.test_tryton import doctest_teardown
@@ -368,10 +370,81 @@
         self.assertSetEqual(data, result)
 
 
+class ECBtestCase(unittest.TestCase):
+
+    def test_rate_EUR_week_ago(self):
+        "Fetch EUR rates a week ago"
+        week_ago = datetime.date.today() - datetime.timedelta(days=7)
+
+        rates = get_rates('EUR', week_ago)
+
+        self.assertNotIn('EUR', rates)
+        self.assertIn('USD', rates)
+
+    def test_rate_USD_week_ago(self):
+        "Fetch USD rates a week ago"
+        week_ago = datetime.date.today() - datetime.timedelta(days=7)
+
+        rates = get_rates('USD', week_ago)
+
+        self.assertIn('EUR', rates)
+        self.assertNotIn('USD', rates)
+
+    def test_rate_EUR_on_weekend(self):
+        "Fetch EUR rates on weekend"
+
+        rates_fr = get_rates('EUR', datetime.date(2022, 9, 30))
+        rates_sa = get_rates('EUR', datetime.date(2022, 10, 2))
+        rates_su = get_rates('EUR', datetime.date(2022, 10, 2))
+
+        self.assertEqual(rates_sa, rates_fr)
+        self.assertEqual(rates_su, rates_fr)
+
+    def test_rate_USD_on_weekend(self):
+        "Fetch USD rates on weekend"
+
+        rates_fr = get_rates('USD', datetime.date(2022, 9, 30))
+        rates_sa = get_rates('USD', datetime.date(2022, 10, 2))
+        rates_su = get_rates('USD', datetime.date(2022, 10, 2))
+
+        self.assertEqual(rates_sa, rates_fr)
+        self.assertEqual(rates_su, rates_fr)
+
+    def test_rate_EUR_start_date(self):
+        "Fetch EUR rates at start date"
+
+        rates = get_rates('EUR', datetime.date(1999, 1, 4))
+
+        self.assertEqual(rates['USD'], Decimal('1.1789'))
+
+    def test_rate_USD_start_date(self):
+        "Fetch USD rates at start date"
+
+        rates = get_rates('USD', datetime.date(1999, 1, 4))
+
+        self.assertEqual(rates['EUR'], Decimal('0.8482'))
+
+    def test_rate_in_future(self):
+        "Fetch rate in future raise an error"
+        future = datetime.date.today() + datetime.timedelta(days=2)
+
+        with self.assertRaises(RatesNotAvailableError):
+            get_rates('USD', future)
+
+    def test_rate_unsupported_currency(self):
+        "Fetch rate for unsupported currency"
+        date = datetime.date.today() - datetime.timedelta(days=2)
+
+        with self.assertRaises(UnsupportedCurrencyError):
+            get_rates('XXX', date)
+
+
 def suite():
     suite = trytond.tests.test_tryton.suite()
     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
             CurrencyTestCase))
+    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
+            ECBtestCase))
     suite.addTests(doctest.DocFileSuite(
             'scenario_currency_compute.rst',
             tearDown=doctest_teardown, encoding='utf-8',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trytond_currency-6.0.1/tryton.cfg 
new/trytond_currency-6.0.2/tryton.cfg
--- old/trytond_currency-6.0.1/tryton.cfg       2021-06-23 22:47:18.000000000 
+0200
+++ new/trytond_currency-6.0.2/tryton.cfg       2021-07-01 21:45:43.000000000 
+0200
@@ -1,5 +1,5 @@
 [tryton]
-version=6.0.1
+version=6.0.2
 depends:
     ir
     res
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/trytond_currency-6.0.1/trytond_currency.egg-info/PKG-INFO 
new/trytond_currency-6.0.2/trytond_currency.egg-info/PKG-INFO
--- old/trytond_currency-6.0.1/trytond_currency.egg-info/PKG-INFO       
2021-07-01 21:45:36.000000000 +0200
+++ new/trytond_currency-6.0.2/trytond_currency.egg-info/PKG-INFO       
2022-11-05 18:39:14.000000000 +0100
@@ -1,26 +1,16 @@
 Metadata-Version: 2.1
 Name: trytond-currency
-Version: 6.0.1
+Version: 6.0.2
 Summary: Tryton module with currencies
 Home-page: http://www.tryton.org/
+Download-URL: http://downloads.tryton.org/6.0/
 Author: Tryton
 Author-email: [email protected]
 License: GPL-3
-Download-URL: http://downloads.tryton.org/6.0/
 Project-URL: Bug Tracker, https://bugs.tryton.org/
 Project-URL: Documentation, https://docs.tryton.org/projects/modules-currency/
 Project-URL: Forum, https://www.tryton.org/forum
 Project-URL: Source Code, https://hg.tryton.org/modules/currency
-Description: ###############
-        Currency Module
-        ###############
-        
-        The *Currency Module* defines the basics needed to work with 
currencies in
-        Tryton including a list of standard currencies.
-        It is also possible to define the rates used to convert amounts between
-        different currencies.
-        
-        
 Keywords: tryton currency
 Platform: any
 Classifier: Development Status :: 5 - Production/Stable
@@ -62,4 +52,14 @@
 Classifier: Topic :: Office/Business
 Requires-Python: >=3.6
 Provides-Extra: data
-Provides-Extra: ecb_rate
+License-File: LICENSE
+
+###############
+Currency Module
+###############
+
+The *Currency Module* defines the basics needed to work with currencies in
+Tryton including a list of standard currencies.
+It is also possible to define the rates used to convert amounts between
+different currencies.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/trytond_currency-6.0.1/trytond_currency.egg-info/SOURCES.txt 
new/trytond_currency-6.0.2/trytond_currency.egg-info/SOURCES.txt
--- old/trytond_currency-6.0.1/trytond_currency.egg-info/SOURCES.txt    
2021-07-01 21:45:36.000000000 +0200
+++ new/trytond_currency-6.0.2/trytond_currency.egg-info/SOURCES.txt    
2022-11-05 18:39:15.000000000 +0100
@@ -9,6 +9,7 @@
 __init__.py
 currency.py
 currency.xml
+ecb.py
 exceptions.py
 ir.py
 message.xml
@@ -18,6 +19,7 @@
 ./__init__.py
 ./currency.py
 ./currency.xml
+./ecb.py
 ./exceptions.py
 ./ir.py
 ./message.xml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/trytond_currency-6.0.1/trytond_currency.egg-info/entry_points.txt 
new/trytond_currency-6.0.2/trytond_currency.egg-info/entry_points.txt
--- old/trytond_currency-6.0.1/trytond_currency.egg-info/entry_points.txt       
2021-07-01 21:45:36.000000000 +0200
+++ new/trytond_currency-6.0.2/trytond_currency.egg-info/entry_points.txt       
2022-11-05 18:39:14.000000000 +0100
@@ -1,6 +1,5 @@
+[console_scripts]
+trytond_import_currencies = 
trytond.modules.currency.scripts.import_currencies:run [data]
 
-    [trytond.modules]
-    currency = trytond.modules.currency
-    [console_scripts]
-    trytond_import_currencies = 
trytond.modules.currency.scripts.import_currencies:run [data]
-    
\ No newline at end of file
+[trytond.modules]
+currency = trytond.modules.currency
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/trytond_currency-6.0.1/trytond_currency.egg-info/requires.txt 
new/trytond_currency-6.0.2/trytond_currency.egg-info/requires.txt
--- old/trytond_currency-6.0.1/trytond_currency.egg-info/requires.txt   
2021-07-01 21:45:36.000000000 +0200
+++ new/trytond_currency-6.0.2/trytond_currency.egg-info/requires.txt   
2022-11-05 18:39:14.000000000 +0100
@@ -4,8 +4,4 @@
 
 [data]
 pycountry
-forex-python
 proteus<6.1,>=6.0
-
-[ecb_rate]
-forex-python

++++++ trytond_currency.keyring ++++++
--- /var/tmp/diff_new_pack.XdBB6f/_old  2022-11-06 12:43:24.773815537 +0100
+++ /var/tmp/diff_new_pack.XdBB6f/_new  2022-11-06 12:43:24.773815537 +0100
@@ -14,124 +14,124 @@
 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
-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
+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
-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
+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
-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
-Ccrl4p6GykuYzR5Rvxbg0XRoY0uoTQPhMQbBMBqF+ELMDeXvJdpDZfrIbNGbGKts
-Rsizp03ixISq6tp2OaHaYE0ZUDCwGkMMGzxTrOtA4qw0k29HEWs8B+sII99fU52n
-dGT2y7uCZv572GcDdJ37SWiARK27qV0Hl3LM2OpR/6Y3dY2Xd7Wx2pcXkRk+xbAI
-hlMsPLgQr+KWaWBQnhiT2q99AegLda4zzfOPx1OYwHkdybUexJTDiy8KlgIQ75j1
-pkLeTKfu7MNZmZel7cxoDtuJUCPEbaARIdVrDK43L57uf+5kjtcHc+PplGMbCH8U
-O8hj3o7LzHTfDPkxqfVhj8CmYvK8WrHwYwqiRq3VzQVGb8Op4cTDMWv0+a8Ix4KX
-orUcU+hBFao4TfgiXnaKqkVcjpJ7CxXSw1vIIyjDTG8/MkSYoJAox4j6DYYTkNKG
-ohPCXrIyd1o/gG7voe3P6yHQiLJpA0dO5X/EeykYktRqaMyDXDU7L5gLmgO0HEPD
+AgEAAh4BAheAFiEEfFpDYPbfgaupH9VNb/UK/gNIkTAFAmGZE+gFCRFbFGwACgkQ
+b/UK/gNIkTC+fhAAsLgQmprtG3LuKZeOCNAIy+yivfFtYrWQFoOKmFRdH93GVGkO
+10jbuZOzr4iLyAaV04TvPOVGP2xmBPr1L+XLon6Y5f5sF9qSc4LvyJb2WwjLz+Na
+OeB0B/IM7l3/Y0lYsonwZ1u/D61GeA6rRGDbuWGDIek+x24E7g2GJMW9K3VdS0BR
+WqQ3V5aeq1H9eGBtLukmyyqTvWqvlTaIPsTuaAN7LTlCbZCGrUvZIQnxOHqVsYg1
+NFtOjcYTTVsRCS0tTbsHLryzoJxYT71LoXEcP7qgSxYXHTxWlyGNxjBVFRbwIhF/
+czJQm7tTpg9sS00FDWocOQKJ5otqwSMzVOBBBKYE1mYhWLaiO8Vxjjs2AHPchcdP
+QyZ9jnh6QpFogsCkyXamDq27LyATtnkNQj6A0OmldmtJY/fsSAUWiFd1lkw4oQA9
+Y184ubBVRf61lce/YNh+iq3KEYW2lnz+86ZNVOkmwz++BwMkeoSCCv4rZvaQD6f0
+4xMyetLjxL11x6Cctp3bR1KKFf7IRnSiPn0WpLhi0sLn7+ZKZ9zdNFoWM1tdHXsT
+2+eT9bHq2PJgfha/7krqCyCWsgppDe4cFHHUqy+XlhYRj3Nc/Wu1rLXbfHFZ2ZjP
+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
-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
+CAsFFgMCAQACHgECF4AWIQR8WkNg9t+Bq6kf1U1v9Qr+A0iRMAUCYZkT6AUJEVsU
+bAAKCRBv9Qr+A0iRMPsxD/oCa6QePpGckyB2bUhMLcwhJoYBvYx/QJ1Kr0lY9yC6
+w96cwscKvoQ6otIziDbUssDG1h+Sso+zHL2wQLSJe4Muny2TsVeGgyRvpgil6GZL
+CF5Q1UlBDm2JCadmJPtRBqEuvcaQYpdsRlveSEkFagCBDZWUE/tnO3SPUOE9Gbnz
+I5t22zsMk1S9/5fq2h/0MmkFzEvz9QWJmLur8DV+yWd4RqBGoEmz2AORDHE5/buF
+pZs+iFftRavwvg+wHX/DjGorvXziHAUHrQiCDBElsKnMEuYN/ifA4EZf1PLCuWsa
+lfb/fMN3kCo+x5euJgWdNTx14emrGpS36iAtlZzKFqNEmpOWgEIJKE8eXjYBCoyF
+JWW0+9MgOzxhzZTRmOLDADocnYoFsW8sG2/P3oeN2GjqBRQ3a+2aKBP6BcmTG0VS
+0d0drGVvuy8fjjq0tV78kgWVSHepcTKapz9lyq/y5RNyinZg9a3iFO/DbObZSClO
+fIURX0ci53GLQZLxdlIaor+2p/qKRJy524ofSqYM/2AHQbfFU0R095QM2ZgicsfF
+XiLFO+T8yAkQ8LvvhQAauhymksXioZkWR5r47rv824Ei+kvI2exHrrvT4ChSKcnG
+wK/lzOvORO6YI0vxxF3d+MbauoHRMZeWi+Wh4euDd/5+fev93dyueqvONlX6dIFY
+hbQfQ8OpZHJpYyBLcmllciA8Y2Vka0BnZW50b28ub3JnPokCVAQTAQgAPgIbAwUL
+CQgHAwUVCgkICwUWAwIBAAIeAQIXgBYhBHxaQ2D234GrqR/VTW/1Cv4DSJEwBQJh
+mRPoBQkRWxRsAAoJEG/1Cv4DSJEwoy0P/iJ66pln8ZsQe15wzdiB9Zx7s0uJjbbf
+H+8/KYfxe4UiK/agE0h5XQeKPa01pVSoZ6lqh1IWbjYJiBAqeXe0Yf7YqzK1aHRu
+8Klt2wfv7QEbOA9oQ6PeGsGaADDQ8MnuZnWpXxN9iF+dVl3ELHcMn4RrKW0em6sn
+5IKT79hIAGq/kizQJc+OpSNyHnNTkAj+4QGCFTzukSzW9ccrwWeBT53qwZuk37O8
+w9H8QTPWgm4dAw4b2nh1JhbhKXiY8F8SeTtZ4tkE6PUkcwSJ/4wXj7ze0c5RINj+
+DMU70JzTB0Am8xmXXtJqIoM5tZum04a/ptM/LXJUISXUl3ml8YbnSIOffIO+MaQh
+II9abtCD4VcqMhECCaRAP9fUi6+/yzm2XkfS7GKx21pHPXA9hqS+/f4b5z2y3MDg
+tckq7bKUEgfz+EyP+97IKuGgbpR+ayUi4fcEQUumJPRbxwARKtRYaz2nhB6k3naL
+W0FwnTVnWLeJkdtxhAwbx9ijgk/ri+O7CQa9s1ZoBrNIzMREQSB2J9TehoNM2DbU
+BgpmOt2VOL9MFmPZeBJWpPFbOUaknWW0wsncKiVONk/f4S6CVLyOJpMKJL1fGGhw
+rrZbXylVZW4tCqp+K4lWhZi9gnbiPx34G65Io7b4M+RTgBY+gD/5KboHM8RfXo7E
+TnsqnjkQVKsXtC9rZXliYXNlLmlvL2NlZHJpY2tyaWVyIDxjZWRyaWNrcmllckBr
 ZXliYXNlLmlvPokCSgQTAQgANAIbAwMLCQcDFQoIAh4BAheAFiEEfFpDYPbfgaup
-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
+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
-AQIXgBYhBHxaQ2D234GrqR/VTW/1Cv4DSJEwBQJe9uu+BQkOuOxBAAoJEG/1Cv4D
-SJEwnz8P/0Xh/7WKRrZYPf9tPorDMkOu9nIw0XuuOzc7+qHDzw7MVO1VFNDQa/Ri
-dhnlHh+06gknMvEh8l55nYhmIYKyZD6RlIuQaAhHxjmqxeP4v+3Gv07FZ5hRusCt
-x3+rMpHwEDXgMlj3UAk3UZdW+6JHMuLQN6eEx8j12X239ZKtGHZBsMhnhHZoIS7j
-ixH3sJ1z3MweFiKzSsupSq26dN8YC7epP103X22u95XQhSZ7PCIoQBlyouw9Quob
-USG0ouQ+1xBAVIHHFx/mv3wySDByIZYK231ljIdGp6mK2byczsQeKshTLwFdxLBb
-uwMM3nRkGY3iIPdP6mOKKJoAkGsfXpySbGtBtodc7182kF/XMDAEwcA4utGnjUDt
-4ByNfEybXk89MCrvgk2Wgplv1mB6F/qr1DuXOb9s7HutWXj3geHk1pdiAeUTrOsn
-9F+uTmTjZcBeVfyyT3UmT4/XzdXNvBppKZi4dJ/rzXHSKf0clAY6mZXoqznQIs0L
-7BU7aqJc3zaHAdjgbdITuWF+LF9+uX+NFClDQQ0SFJ5yNvxpmJJGAH/sS3kg2dd7
-CmCihvoPqU2ibG9GRcqFUfdBVrCrw++qkwCnX9/ZDOE1KKY9tnW8VhHMx17a4Ty+
-bfF7iQwi1/NV8bFcEw04OvijahqdW8A5UHwLugHBStAPMgRFMRiutB9Dw6lkcmlj
+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
-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
+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
-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
+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
@@ -142,178 +142,45 @@
 wsz+ErIhjbEF12sl1Q9eUPFrC4VtdmaN2PD/eN36OLTbQGjsDe3onWvP0+IMp0ru
 BkF+ngvjM676PC9iePdxZfoAcENV2zahI1v+zJ/iCkYxjEMp6tY7Fhrd8P+4qbqu
 fSAiBb4NJpEo0MLGlY25A8h92HgaW0hBTCCGNVTUSVimF+rHW2X4NBipdGpesOsA
-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
-zSbRs7nlht45Bqpc9qfCy6ZAhMXioV9dPNS5Ks7ptlXI/KPnzQjXIstXNokC5QQY
-AQgADwUCVOCIEQIbAgUJAeEzgADKCRBv9Qr+A0iRML8gBBkRCABmBQJU4IgRXxSA
-AAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9wZW5wZ3AuZmlmdGhob3JzZW1h
-bi5uZXQ2NjkwRjMzNkFGOEVCMUNBMEU4RjQ5MzJEQTYyQzFGQjRDNUEyODU1AAoJ
-ENpiwftMWihVypABAPqcuF+W4D+kJu9hfw0iSEe/mKPBb+psiu6sc+DUO1pdAP9o
-IICFihOdlol3DJtdLbXP+CpEF7LxkSjnKUYyoM8hyLS1D/0elCJIOD7JU5k3mDQI
-H7HyhPYANC9MG4Y4fbB8/P+LCshbPVhmk54FSLDuysSdwJPQKs623uMcZmuLS6gQ
-ULFVntV44Gd/AwyFeeIFyylUHDAD52s5ZGG7gQVp69jYWOX8uXKCeedJz0+DUarw
-w7OX42QYZ+BPY3lAfqxjeEsTUMM4KjHXPOpVygpKzCuE0gbBVlpLS0kTcPLbHW1W
-Qp66OAvMx3oEYvYmUNPFkI1vhmmFhpg7uxSTx6dM25H1KHmgKCJTx7oHwUxCvYqV
-DItQaaT2uCWasPx8OB7j5FxIG89+hoVKPo3gSWrX37cqLOHDod2e9XM6cNrSyOk/
-OiThb2gSc8A4f0JxdlW1VXbpZj6eBdA4teLSqPWzbJPy00REbh2WOqMqRgmMPle9
-rhbDAPfOeLJ1yk0vS57nrCW9oy73Ftrprmd6eEJKX/UPt1hwJdqWISSosyJrCR9u
-CnqXcrZkTq0cSfAYwzP/KLHHbwUG+OZ5VrB8ryfI/SXTvfeF5ZGyXfkziSdL7pcv
-+k7K62hrok+F7Asz4bMO3dAmuAMX+RJGve7JLRAWYo/cDHfeWrbmE/aamBAGr+hH
-V7HoSlziWIPtWihqNSNBOrlVQGFvLp4taHfgYCO8EIBfWN6DiLSK3BEyx+k8t/hF
-MZG8xDK+qz1tlkYak0IEzHg+47kDLgRWviSIEQgA/TRS8Ajg/OqhxyG5O23bSIQ3
-XIH8eoXMzqRKXb4S/9dUUhrsZWNHWRH+E1Z6OQNHSPaisnEbhZogcEzhEF154ZAy
-EPKU7xWthXWC7cy3+bZFmQofyOLOb0tMl04oa+aacVOFQKTJFmvzswbqoL/9cF2O
-Ti44W7KqlGFd5ggCeiOGOX+zbkhQciGOjZg3de3oPB0V5m4qlzy5KUc33lL9A+OE
-DkGCqyjkt20bU1TWQY2uhG713iXzydrdmFwksOlPKhvHnkN4gZaaARdtQXMEHUlC
-lhW3WgynZbq7LKqXWCRds8dQaDQFoVWvCb1MZBPhKejMrKx9mgpk1/lFoXRoYwEA
-8MKpZioBJ+YAiGciT+CSw6KyluQcSAGxPeaT5/IPAaUH/2GRKcZY37Wja97T+vin
-eL0m07ddk316Qv0VfyuNopt0+q1VqBkNr1CFWARSrULbGCy/2kyhBeDPcrtcoLOe
-yjjgnxzZ8Wral0iEEIx/r5Pd9fwPrEWWVEsoolb4+hdkHsqvWNH73NEQ5oh87zS1
-8GVl08jZiz+nqviYPbBZoW2A4MeM7U6GRRHPVeNsRpz0b6LABK/oYueFEg2Wqum1
-31bRakELThcFQ/rYi1KFMY+IDszem9ykRNdNn8IK4zWs37gX5tq3NbW+B4JTb5kH
-DLO3V9WXK+lSNkSGjB8vrbph+gyNcd5ECI6ZTa4infDHck7Yvq25wwoImp142kVV
-ZvQIAN0MZ0xI5WNHjCUUAyqHjJA1TxbxM5eD9+VRgIg6x4O10n5YXnyOW4QQp8Vt
-h8WhZaWeG6L9vfnK8dS5Rsem2U2rFYQgEUwjV9ekR7HB0mX995EzzmIxQBktTR68
-mCtTxR6Kxl9eT83OsJ3MV4Pk7ARSYYLLD0FAEYLHD1YzWlEy1Jt0O0G4wa65lMF4
-d5AVk6Fz4YK3AD4tLRxXWJN46muH9yiLm37M1DDzcObAXze1dTs2Ehq9UETK2FuM
-GPvXXq4Ua9OC9JySR4fNMROeVcT3GMr8qhD+reBm44kUjsZT0adLOcgULGCroGhb
-SxrWW8db+FfwXdI0Gf8PPQCbwV2JAjYEKAEIACAWIQR8WkNg9t+Bq6kf1U1v9Qr+
-A0iRMAUCXPE/BAIdAwAKCRBv9Qr+A0iRMJMKEACeAaL28CAyGEMDKoZd0TH05MVg
-pmwBrxpkiNi/b3mxoQ/tiGaszN1sDGRzrEtNHBIhnxFEjif5XtWIToAcFQvRS8BE
-yVvj1ct499JJfUSibGIYBxnqk0IDip8qAL8tfnTN7hBRFYhGVPU9zuFrmchLN8aQ
-EfYqUC5JGPJc5sMONc0xu6osycr7Xn5Ycjwa37ICDIPqpxEHPuXMe/qub8fV/rEQ
-nWAZmw3I9+EAhSeh5v2BBrBY+fs9faAujlPIY3e2d2c7wrPIRYe1NY0d1164+LXV
-0FNoMU5MWZCdRbZLkZSDmphm7wk/zZQS/SMW/IAHqUs+1zcAnhMqI50qA10dd4TG
-XikNhk5IAuhKfDseREh1nHhJnY+k9ozzZarmszB2+z0/McBQmfbynelfo89YVtAY
-Zk6ZOVESiVQHN/LxjRX0ctYJP69Fc5Tk/yQiW9+at1cZIlURZso0DhkQos/D8mYe
-20BDeABoqffRjx6iBr9+HWK0RHe3VGIlZ+y9ZbUXIrGf9EoxgBp++ykR1p8/tegP
-o6WXCuEIyt2sZles4XIjeF/XNldFSBmn01uUgtRo/5wsBOhqHNlh6ZLyrtihZixJ
-qYjSiqBVAdNL9cLQ7msCpyDMObCpf1wxKh7FQFZLyVu+L5V5yQcYiRGcOvRZ50Ta
-2NMsGQuWQpsZ1etVJYkC5QQYAQgADwUCVr4kiAIbAgUJAeEzgADKCRBv9Qr+A0iR
-ML8gBBkRCABmBQJWviSIXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
-ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwQ0ZGMEI4RDVFNTI1N0Y2OEYwODZEQzlC
-N0RBNjFERUVERjA1RENGAAoJELfaYd7t8F3PGiAA/0UvuFWmNbLBknpWgTffqnxk
-WpatW+XtYwx2/X5Er2kiAP9up6jG4J3MDMlfoeeOCpGA94PotVfd9JDC3iwFl/e5
-GmOkD/9ocQpOdU9/f15rWe0W6WoVEoAH5pgdUKpdFPkCQ3T8DbIR1MluZx6GHpK+
-HaPwXHJAMm96pznuqDwYQQaoMpPxCXd7m85LTCLWGEvJWJg+TNAd2TRO0JsQaISp
-ppScX6KHt6h6dF2ZTpTVStF9FX3F5jpNPaBU9TU/bh7ikz4RJgL7I+tuAVR6m1k1
-FGFhTwtNqT3Vy9Ne4sgxTq+8Ia3V5WVaR7In+BUXLuRE80zWetj5O6h6bfdr0mRv
-vwgXp1v6SjPWM/aye5KwdjtKEg+933xFQS9+7ArZVfxMtwu8tj2iRsx1D8Ku3S4G
-BAwpl3TdunjBEnlBUC4z4ftPoRt3lqoROsJWVn0lEEpVZLyd2zmgJvb+DxAgD+iD
-OiONRMjyffhK5FDv9OxZ0Q6ZrSWVcP2UjmJUInel9LnV+QfisTQQxZojiUA1GW8V
-BOJYc+UgExZGA02dggvQf2hJEVZYes/TYkUTNF9biprAuKA/KpMEauCXE/Rj1+CQ
-xGmOUI6F5UxVC7cCcD133mrXcFEvr5HoU2ro7z5NgMiUt9pTCwrC9swUNWsPsQMJ
-TVu/T4lbs+IfeCl8HAZJ6EqnKq2ZhYwT1Mx0wnh9G7hEFym3qG3Z71uo36oj0jEk
-KSPNuajmHLZKghn+AogNf1MrhclVhYzmSy2JwHpi7Ve5viWE9A==
-=wmme
+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
+o6gpfk7rYtA=
+=Wn5f
 -----END PGP PUBLIC KEY BLOCK-----
 

Reply via email to