diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_eu_service/models | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/l10n_eu_service/models')
| -rw-r--r-- | addons/l10n_eu_service/models/__init__.py | 8 | ||||
| -rw-r--r-- | addons/l10n_eu_service/models/chart_template.py | 15 | ||||
| -rw-r--r-- | addons/l10n_eu_service/models/eu_service_tax_rate.py | 12 | ||||
| -rw-r--r-- | addons/l10n_eu_service/models/eu_tax_map.py | 2042 | ||||
| -rw-r--r-- | addons/l10n_eu_service/models/res_company.py | 111 | ||||
| -rw-r--r-- | addons/l10n_eu_service/models/res_config_settings.py | 19 |
6 files changed, 2207 insertions, 0 deletions
diff --git a/addons/l10n_eu_service/models/__init__.py b/addons/l10n_eu_service/models/__init__.py new file mode 100644 index 00000000..52904aa1 --- /dev/null +++ b/addons/l10n_eu_service/models/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import chart_template +from . import eu_service_tax_rate +from . import eu_tax_map +from . import res_company +from . import res_config_settings diff --git a/addons/l10n_eu_service/models/chart_template.py b/addons/l10n_eu_service/models/chart_template.py new file mode 100644 index 00000000..019d5f76 --- /dev/null +++ b/addons/l10n_eu_service/models/chart_template.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + +class AccountChartTemplate(models.Model): + _inherit = 'account.chart.template' + + def _load(self, sale_tax_rate, purchase_tax_rate, company): + rslt = super()._load( sale_tax_rate, purchase_tax_rate, company) + + if company.account_tax_fiscal_country_id in self.env.ref('base.europe').country_ids: + company._map_eu_taxes() + + return rslt diff --git a/addons/l10n_eu_service/models/eu_service_tax_rate.py b/addons/l10n_eu_service/models/eu_service_tax_rate.py new file mode 100644 index 00000000..ab92ee89 --- /dev/null +++ b/addons/l10n_eu_service/models/eu_service_tax_rate.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class ServiceTaxRate(models.Model): + _name = "l10n_eu_service.service_tax_rate" + _description = "EU Service Tax Rate" + + country_id = fields.Many2one('res.country', string='Country') + rate = fields.Float(string="VAT Rate") diff --git a/addons/l10n_eu_service/models/eu_tax_map.py b/addons/l10n_eu_service/models/eu_tax_map.py new file mode 100644 index 00000000..1b2f7132 --- /dev/null +++ b/addons/l10n_eu_service/models/eu_tax_map.py @@ -0,0 +1,2042 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +""" +The EU_TAX_MAP dictionary contains a basic Tax Mapping for EU countries. It answers the question: +for an X% tax rate in the domestic country, what is the corresponding rate in a foreign EU country? + +it takes the form tuple: rate, where + (Fiscal Country Code, Domestic Tax Rate, Foreign Country Code): Foreign Tax Rate +""" + +EU_TAX_MAP = { + ('AT', 10.0, 'BE'): 6.0, + ('AT', 10.0, 'BG'): 20.0, + ('AT', 10.0, 'CY'): 5.0, + ('AT', 10.0, 'CZ'): 15.0, + ('AT', 10.0, 'DE'): 7.0, + ('AT', 10.0, 'DK'): 25.0, + ('AT', 10.0, 'EE'): 9.0, + ('AT', 10.0, 'ES'): 10.0, + ('AT', 10.0, 'FI'): 10.0, + ('AT', 10.0, 'FR'): 5.5, + ('AT', 10.0, 'GR'): 13.0, + ('AT', 10.0, 'HR'): 5.0, + ('AT', 10.0, 'HU'): 5.0, + ('AT', 10.0, 'IE'): 13.5, + ('AT', 10.0, 'IT'): 4.0, + ('AT', 10.0, 'LT'): 5.0, + ('AT', 10.0, 'LU'): 8.0, + ('AT', 10.0, 'LV'): 12.0, + ('AT', 10.0, 'MT'): 5.0, + ('AT', 10.0, 'NL'): 9.0, + ('AT', 10.0, 'PL'): 8.0, + ('AT', 10.0, 'PT'): 6.0, + ('AT', 10.0, 'RO'): 5.0, + ('AT', 10.0, 'SE'): 6.0, + ('AT', 10.0, 'SI'): 9.5, + ('AT', 10.0, 'SK'): 10.0, + ('AT', 13.0, 'BE'): 21.0, + ('AT', 13.0, 'BG'): 20.0, + ('AT', 13.0, 'CY'): 19.0, + ('AT', 13.0, 'CZ'): 21.0, + ('AT', 13.0, 'DE'): 19.0, + ('AT', 13.0, 'DK'): 25.0, + ('AT', 13.0, 'EE'): 20.0, + ('AT', 13.0, 'ES'): 21.0, + ('AT', 13.0, 'FI'): 24.0, + ('AT', 13.0, 'FR'): 20.0, + ('AT', 13.0, 'GR'): 24.0, + ('AT', 13.0, 'HR'): 25.0, + ('AT', 13.0, 'HU'): 27.0, + ('AT', 13.0, 'IE'): 23.0, + ('AT', 13.0, 'IT'): 22.0, + ('AT', 13.0, 'LT'): 21.0, + ('AT', 13.0, 'LU'): 17.0, + ('AT', 13.0, 'LV'): 21.0, + ('AT', 13.0, 'MT'): 18.0, + ('AT', 13.0, 'NL'): 21.0, + ('AT', 13.0, 'PL'): 23.0, + ('AT', 13.0, 'PT'): 23.0, + ('AT', 13.0, 'RO'): 19.0, + ('AT', 13.0, 'SE'): 25.0, + ('AT', 13.0, 'SI'): 22.0, + ('AT', 13.0, 'SK'): 20.0, + ('AT', 20.0, 'BE'): 21.0, + ('AT', 20.0, 'BG'): 20.0, + ('AT', 20.0, 'CY'): 19.0, + ('AT', 20.0, 'CZ'): 21.0, + ('AT', 20.0, 'DE'): 19.0, + ('AT', 20.0, 'DK'): 25.0, + ('AT', 20.0, 'EE'): 20.0, + ('AT', 20.0, 'ES'): 21.0, + ('AT', 20.0, 'FI'): 24.0, + ('AT', 20.0, 'FR'): 20.0, + ('AT', 20.0, 'GR'): 24.0, + ('AT', 20.0, 'HR'): 25.0, + ('AT', 20.0, 'HU'): 27.0, + ('AT', 20.0, 'IE'): 23.0, + ('AT', 20.0, 'IT'): 22.0, + ('AT', 20.0, 'LT'): 21.0, + ('AT', 20.0, 'LU'): 17.0, + ('AT', 20.0, 'LV'): 21.0, + ('AT', 20.0, 'MT'): 18.0, + ('AT', 20.0, 'NL'): 21.0, + ('AT', 20.0, 'PL'): 23.0, + ('AT', 20.0, 'PT'): 23.0, + ('AT', 20.0, 'RO'): 19.0, + ('AT', 20.0, 'SE'): 25.0, + ('AT', 20.0, 'SI'): 22.0, + ('AT', 20.0, 'SK'): 20.0, + ('BE', 12.0, 'AT'): 20.0, + ('BE', 12.0, 'BG'): 20.0, + ('BE', 12.0, 'CY'): 19.0, + ('BE', 12.0, 'CZ'): 21.0, + ('BE', 12.0, 'DE'): 19.0, + ('BE', 12.0, 'DK'): 25.0, + ('BE', 12.0, 'EE'): 20.0, + ('BE', 12.0, 'ES'): 21.0, + ('BE', 12.0, 'FI'): 24.0, + ('BE', 12.0, 'FR'): 20.0, + ('BE', 12.0, 'GR'): 24.0, + ('BE', 12.0, 'HR'): 25.0, + ('BE', 12.0, 'HU'): 27.0, + ('BE', 12.0, 'IE'): 23.0, + ('BE', 12.0, 'IT'): 22.0, + ('BE', 12.0, 'LT'): 21.0, + ('BE', 12.0, 'LU'): 17.0, + ('BE', 12.0, 'LV'): 21.0, + ('BE', 12.0, 'MT'): 18.0, + ('BE', 12.0, 'NL'): 21.0, + ('BE', 12.0, 'PL'): 23.0, + ('BE', 12.0, 'PT'): 23.0, + ('BE', 12.0, 'RO'): 19.0, + ('BE', 12.0, 'SE'): 25.0, + ('BE', 12.0, 'SI'): 22.0, + ('BE', 12.0, 'SK'): 20.0, + ('BE', 21.0, 'AT'): 20.0, + ('BE', 21.0, 'BG'): 20.0, + ('BE', 21.0, 'CY'): 19.0, + ('BE', 21.0, 'CZ'): 21.0, + ('BE', 21.0, 'DE'): 19.0, + ('BE', 21.0, 'DK'): 25.0, + ('BE', 21.0, 'EE'): 20.0, + ('BE', 21.0, 'ES'): 21.0, + ('BE', 21.0, 'FI'): 24.0, + ('BE', 21.0, 'FR'): 20.0, + ('BE', 21.0, 'GR'): 24.0, + ('BE', 21.0, 'HR'): 25.0, + ('BE', 21.0, 'HU'): 27.0, + ('BE', 21.0, 'IE'): 23.0, + ('BE', 21.0, 'IT'): 22.0, + ('BE', 21.0, 'LT'): 21.0, + ('BE', 21.0, 'LU'): 17.0, + ('BE', 21.0, 'LV'): 21.0, + ('BE', 21.0, 'MT'): 18.0, + ('BE', 21.0, 'NL'): 21.0, + ('BE', 21.0, 'PL'): 23.0, + ('BE', 21.0, 'PT'): 23.0, + ('BE', 21.0, 'RO'): 19.0, + ('BE', 21.0, 'SE'): 25.0, + ('BE', 21.0, 'SI'): 22.0, + ('BE', 21.0, 'SK'): 20.0, + ('BE', 6.0, 'AT'): 10.0, + ('BE', 6.0, 'BG'): 20.0, + ('BE', 6.0, 'CY'): 5.0, + ('BE', 6.0, 'CZ'): 15.0, + ('BE', 6.0, 'DE'): 7.0, + ('BE', 6.0, 'DK'): 25.0, + ('BE', 6.0, 'EE'): 9.0, + ('BE', 6.0, 'ES'): 10.0, + ('BE', 6.0, 'FI'): 10.0, + ('BE', 6.0, 'FR'): 5.5, + ('BE', 6.0, 'GR'): 13.0, + ('BE', 6.0, 'HR'): 5.0, + ('BE', 6.0, 'HU'): 5.0, + ('BE', 6.0, 'IE'): 13.5, + ('BE', 6.0, 'IT'): 4.0, + ('BE', 6.0, 'LT'): 5.0, + ('BE', 6.0, 'LU'): 8.0, + ('BE', 6.0, 'LV'): 12.0, + ('BE', 6.0, 'MT'): 5.0, + ('BE', 6.0, 'NL'): 9.0, + ('BE', 6.0, 'PL'): 8.0, + ('BE', 6.0, 'PT'): 6.0, + ('BE', 6.0, 'RO'): 5.0, + ('BE', 6.0, 'SE'): 6.0, + ('BE', 6.0, 'SI'): 9.5, + ('BE', 6.0, 'SK'): 10.0, + ('BG', 20.0, 'AT'): 20.0, + ('BG', 20.0, 'BE'): 21.0, + ('BG', 20.0, 'CY'): 19.0, + ('BG', 20.0, 'CZ'): 21.0, + ('BG', 20.0, 'DE'): 19.0, + ('BG', 20.0, 'DK'): 25.0, + ('BG', 20.0, 'EE'): 20.0, + ('BG', 20.0, 'ES'): 21.0, + ('BG', 20.0, 'FI'): 24.0, + ('BG', 20.0, 'FR'): 20.0, + ('BG', 20.0, 'GR'): 24.0, + ('BG', 20.0, 'HR'): 25.0, + ('BG', 20.0, 'HU'): 27.0, + ('BG', 20.0, 'IE'): 23.0, + ('BG', 20.0, 'IT'): 22.0, + ('BG', 20.0, 'LT'): 21.0, + ('BG', 20.0, 'LU'): 17.0, + ('BG', 20.0, 'LV'): 21.0, + ('BG', 20.0, 'MT'): 18.0, + ('BG', 20.0, 'NL'): 21.0, + ('BG', 20.0, 'PL'): 23.0, + ('BG', 20.0, 'PT'): 23.0, + ('BG', 20.0, 'RO'): 19.0, + ('BG', 20.0, 'SE'): 25.0, + ('BG', 20.0, 'SI'): 22.0, + ('BG', 20.0, 'SK'): 20.0, + ('BG', 9.0, 'AT'): 10.0, + ('BG', 9.0, 'BE'): 6.0, + ('BG', 9.0, 'CY'): 5.0, + ('BG', 9.0, 'CZ'): 15.0, + ('BG', 9.0, 'DE'): 7.0, + ('BG', 9.0, 'DK'): 25.0, + ('BG', 9.0, 'EE'): 9.0, + ('BG', 9.0, 'ES'): 10.0, + ('BG', 9.0, 'FI'): 10.0, + ('BG', 9.0, 'FR'): 5.5, + ('BG', 9.0, 'GR'): 13.0, + ('BG', 9.0, 'HR'): 5.0, + ('BG', 9.0, 'HU'): 5.0, + ('BG', 9.0, 'IE'): 13.5, + ('BG', 9.0, 'IT'): 4.0, + ('BG', 9.0, 'LT'): 5.0, + ('BG', 9.0, 'LU'): 8.0, + ('BG', 9.0, 'LV'): 12.0, + ('BG', 9.0, 'MT'): 5.0, + ('BG', 9.0, 'NL'): 9.0, + ('BG', 9.0, 'PL'): 8.0, + ('BG', 9.0, 'PT'): 6.0, + ('BG', 9.0, 'RO'): 5.0, + ('BG', 9.0, 'SE'): 6.0, + ('BG', 9.0, 'SI'): 9.5, + ('BG', 9.0, 'SK'): 10.0, + ('CY', 19.0, 'AT'): 20.0, + ('CY', 19.0, 'BE'): 21.0, + ('CY', 19.0, 'BG'): 20.0, + ('CY', 19.0, 'CZ'): 21.0, + ('CY', 19.0, 'DE'): 19.0, + ('CY', 19.0, 'DK'): 25.0, + ('CY', 19.0, 'EE'): 20.0, + ('CY', 19.0, 'ES'): 21.0, + ('CY', 19.0, 'FI'): 24.0, + ('CY', 19.0, 'FR'): 20.0, + ('CY', 19.0, 'GR'): 24.0, + ('CY', 19.0, 'HR'): 25.0, + ('CY', 19.0, 'HU'): 27.0, + ('CY', 19.0, 'IE'): 23.0, + ('CY', 19.0, 'IT'): 22.0, + ('CY', 19.0, 'LT'): 21.0, + ('CY', 19.0, 'LU'): 17.0, + ('CY', 19.0, 'LV'): 21.0, + ('CY', 19.0, 'MT'): 18.0, + ('CY', 19.0, 'NL'): 21.0, + ('CY', 19.0, 'PL'): 23.0, + ('CY', 19.0, 'PT'): 23.0, + ('CY', 19.0, 'RO'): 19.0, + ('CY', 19.0, 'SE'): 25.0, + ('CY', 19.0, 'SI'): 22.0, + ('CY', 19.0, 'SK'): 20.0, + ('CY', 5.0, 'AT'): 10.0, + ('CY', 5.0, 'BE'): 6.0, + ('CY', 5.0, 'BG'): 20.0, + ('CY', 5.0, 'CZ'): 15.0, + ('CY', 5.0, 'DE'): 7.0, + ('CY', 5.0, 'DK'): 25.0, + ('CY', 5.0, 'EE'): 9.0, + ('CY', 5.0, 'ES'): 10.0, + ('CY', 5.0, 'FI'): 10.0, + ('CY', 5.0, 'FR'): 5.5, + ('CY', 5.0, 'GR'): 13.0, + ('CY', 5.0, 'HR'): 5.0, + ('CY', 5.0, 'HU'): 5.0, + ('CY', 5.0, 'IE'): 13.5, + ('CY', 5.0, 'IT'): 4.0, + ('CY', 5.0, 'LT'): 5.0, + ('CY', 5.0, 'LU'): 8.0, + ('CY', 5.0, 'LV'): 12.0, + ('CY', 5.0, 'MT'): 5.0, + ('CY', 5.0, 'NL'): 9.0, + ('CY', 5.0, 'PL'): 8.0, + ('CY', 5.0, 'PT'): 6.0, + ('CY', 5.0, 'RO'): 5.0, + ('CY', 5.0, 'SE'): 6.0, + ('CY', 5.0, 'SI'): 9.5, + ('CY', 5.0, 'SK'): 10.0, + ('CY', 9.0, 'AT'): 10.0, + ('CY', 9.0, 'BE'): 6.0, + ('CY', 9.0, 'BG'): 20.0, + ('CY', 9.0, 'CZ'): 15.0, + ('CY', 9.0, 'DE'): 7.0, + ('CY', 9.0, 'DK'): 25.0, + ('CY', 9.0, 'EE'): 9.0, + ('CY', 9.0, 'ES'): 10.0, + ('CY', 9.0, 'FI'): 10.0, + ('CY', 9.0, 'FR'): 5.5, + ('CY', 9.0, 'GR'): 13.0, + ('CY', 9.0, 'HR'): 13.0, + ('CY', 9.0, 'HU'): 5.0, + ('CY', 9.0, 'IE'): 13.5, + ('CY', 9.0, 'IT'): 10.0, + ('CY', 9.0, 'LT'): 5.0, + ('CY', 9.0, 'LU'): 8.0, + ('CY', 9.0, 'LV'): 12.0, + ('CY', 9.0, 'MT'): 5.0, + ('CY', 9.0, 'NL'): 9.0, + ('CY', 9.0, 'PL'): 8.0, + ('CY', 9.0, 'PT'): 6.0, + ('CY', 9.0, 'RO'): 5.0, + ('CY', 9.0, 'SE'): 6.0, + ('CY', 9.0, 'SI'): 9.5, + ('CY', 9.0, 'SK'): 10.0, + ('CZ', 10.0, 'AT'): 10.0, + ('CZ', 10.0, 'BE'): 6.0, + ('CZ', 10.0, 'BG'): 20.0, + ('CZ', 10.0, 'CY'): 5.0, + ('CZ', 10.0, 'DE'): 7.0, + ('CZ', 10.0, 'DK'): 25.0, + ('CZ', 10.0, 'EE'): 9.0, + ('CZ', 10.0, 'ES'): 10.0, + ('CZ', 10.0, 'FI'): 10.0, + ('CZ', 10.0, 'FR'): 5.5, + ('CZ', 10.0, 'GR'): 13.0, + ('CZ', 10.0, 'HR'): 5.0, + ('CZ', 10.0, 'HU'): 5.0, + ('CZ', 10.0, 'IE'): 13.5, + ('CZ', 10.0, 'IT'): 4.0, + ('CZ', 10.0, 'LT'): 5.0, + ('CZ', 10.0, 'LU'): 8.0, + ('CZ', 10.0, 'LV'): 12.0, + ('CZ', 10.0, 'MT'): 5.0, + ('CZ', 10.0, 'NL'): 9.0, + ('CZ', 10.0, 'PL'): 8.0, + ('CZ', 10.0, 'PT'): 6.0, + ('CZ', 10.0, 'RO'): 5.0, + ('CZ', 10.0, 'SE'): 6.0, + ('CZ', 10.0, 'SI'): 9.5, + ('CZ', 10.0, 'SK'): 10.0, + ('CZ', 15.0, 'AT'): 10.0, + ('CZ', 15.0, 'BE'): 6.0, + ('CZ', 15.0, 'BG'): 20.0, + ('CZ', 15.0, 'CY'): 5.0, + ('CZ', 15.0, 'DE'): 7.0, + ('CZ', 15.0, 'DK'): 25.0, + ('CZ', 15.0, 'EE'): 9.0, + ('CZ', 15.0, 'ES'): 10.0, + ('CZ', 15.0, 'FI'): 10.0, + ('CZ', 15.0, 'FR'): 5.5, + ('CZ', 15.0, 'GR'): 13.0, + ('CZ', 15.0, 'HR'): 13.0, + ('CZ', 15.0, 'HU'): 5.0, + ('CZ', 15.0, 'IE'): 13.5, + ('CZ', 15.0, 'IT'): 10.0, + ('CZ', 15.0, 'LT'): 5.0, + ('CZ', 15.0, 'LU'): 8.0, + ('CZ', 15.0, 'LV'): 12.0, + ('CZ', 15.0, 'MT'): 5.0, + ('CZ', 15.0, 'NL'): 9.0, + ('CZ', 15.0, 'PL'): 8.0, + ('CZ', 15.0, 'PT'): 6.0, + ('CZ', 15.0, 'RO'): 5.0, + ('CZ', 15.0, 'SE'): 6.0, + ('CZ', 15.0, 'SI'): 9.5, + ('CZ', 15.0, 'SK'): 10.0, + ('CZ', 21.0, 'AT'): 20.0, + ('CZ', 21.0, 'BE'): 21.0, + ('CZ', 21.0, 'BG'): 20.0, + ('CZ', 21.0, 'CY'): 19.0, + ('CZ', 21.0, 'DE'): 19.0, + ('CZ', 21.0, 'DK'): 25.0, + ('CZ', 21.0, 'EE'): 20.0, + ('CZ', 21.0, 'ES'): 21.0, + ('CZ', 21.0, 'FI'): 24.0, + ('CZ', 21.0, 'FR'): 20.0, + ('CZ', 21.0, 'GR'): 24.0, + ('CZ', 21.0, 'HR'): 25.0, + ('CZ', 21.0, 'HU'): 27.0, + ('CZ', 21.0, 'IE'): 23.0, + ('CZ', 21.0, 'IT'): 22.0, + ('CZ', 21.0, 'LT'): 21.0, + ('CZ', 21.0, 'LU'): 17.0, + ('CZ', 21.0, 'LV'): 21.0, + ('CZ', 21.0, 'MT'): 18.0, + ('CZ', 21.0, 'NL'): 21.0, + ('CZ', 21.0, 'PL'): 23.0, + ('CZ', 21.0, 'PT'): 23.0, + ('CZ', 21.0, 'RO'): 19.0, + ('CZ', 21.0, 'SE'): 25.0, + ('CZ', 21.0, 'SI'): 22.0, + ('CZ', 21.0, 'SK'): 20.0, + ('DE', 19.0, 'AT'): 20.0, + ('DE', 19.0, 'BE'): 21.0, + ('DE', 19.0, 'BG'): 20.0, + ('DE', 19.0, 'CY'): 19.0, + ('DE', 19.0, 'CZ'): 21.0, + ('DE', 19.0, 'DK'): 25.0, + ('DE', 19.0, 'EE'): 20.0, + ('DE', 19.0, 'ES'): 21.0, + ('DE', 19.0, 'FI'): 24.0, + ('DE', 19.0, 'FR'): 20.0, + ('DE', 19.0, 'GR'): 24.0, + ('DE', 19.0, 'HR'): 25.0, + ('DE', 19.0, 'HU'): 27.0, + ('DE', 19.0, 'IE'): 23.0, + ('DE', 19.0, 'IT'): 22.0, + ('DE', 19.0, 'LT'): 21.0, + ('DE', 19.0, 'LU'): 17.0, + ('DE', 19.0, 'LV'): 21.0, + ('DE', 19.0, 'MT'): 18.0, + ('DE', 19.0, 'NL'): 21.0, + ('DE', 19.0, 'PL'): 23.0, + ('DE', 19.0, 'PT'): 23.0, + ('DE', 19.0, 'RO'): 19.0, + ('DE', 19.0, 'SE'): 25.0, + ('DE', 19.0, 'SI'): 22.0, + ('DE', 19.0, 'SK'): 20.0, + ('DE', 7.0, 'AT'): 10.0, + ('DE', 7.0, 'BE'): 6.0, + ('DE', 7.0, 'BG'): 20.0, + ('DE', 7.0, 'CY'): 5.0, + ('DE', 7.0, 'CZ'): 15.0, + ('DE', 7.0, 'DK'): 25.0, + ('DE', 7.0, 'EE'): 9.0, + ('DE', 7.0, 'ES'): 10.0, + ('DE', 7.0, 'FI'): 10.0, + ('DE', 7.0, 'FR'): 5.5, + ('DE', 7.0, 'GR'): 13.0, + ('DE', 7.0, 'HR'): 5.0, + ('DE', 7.0, 'HU'): 5.0, + ('DE', 7.0, 'IE'): 13.5, + ('DE', 7.0, 'IT'): 4.0, + ('DE', 7.0, 'LT'): 5.0, + ('DE', 7.0, 'LU'): 8.0, + ('DE', 7.0, 'LV'): 12.0, + ('DE', 7.0, 'MT'): 5.0, + ('DE', 7.0, 'NL'): 9.0, + ('DE', 7.0, 'PL'): 8.0, + ('DE', 7.0, 'PT'): 6.0, + ('DE', 7.0, 'RO'): 5.0, + ('DE', 7.0, 'SE'): 6.0, + ('DE', 7.0, 'SI'): 9.5, + ('DE', 7.0, 'SK'): 10.0, + ('DK', 25.0, 'AT'): 20.0, + ('DK', 25.0, 'BE'): 21.0, + ('DK', 25.0, 'BG'): 20.0, + ('DK', 25.0, 'CY'): 19.0, + ('DK', 25.0, 'CZ'): 21.0, + ('DK', 25.0, 'DE'): 19.0, + ('DK', 25.0, 'EE'): 20.0, + ('DK', 25.0, 'ES'): 21.0, + ('DK', 25.0, 'FI'): 24.0, + ('DK', 25.0, 'FR'): 20.0, + ('DK', 25.0, 'GR'): 24.0, + ('DK', 25.0, 'HR'): 25.0, + ('DK', 25.0, 'HU'): 27.0, + ('DK', 25.0, 'IE'): 23.0, + ('DK', 25.0, 'IT'): 22.0, + ('DK', 25.0, 'LT'): 21.0, + ('DK', 25.0, 'LU'): 17.0, + ('DK', 25.0, 'LV'): 21.0, + ('DK', 25.0, 'MT'): 18.0, + ('DK', 25.0, 'NL'): 21.0, + ('DK', 25.0, 'PL'): 23.0, + ('DK', 25.0, 'PT'): 23.0, + ('DK', 25.0, 'RO'): 19.0, + ('DK', 25.0, 'SE'): 25.0, + ('DK', 25.0, 'SI'): 22.0, + ('DK', 25.0, 'SK'): 20.0, + ('EE', 20.0, 'AT'): 20.0, + ('EE', 20.0, 'BE'): 21.0, + ('EE', 20.0, 'BG'): 20.0, + ('EE', 20.0, 'CY'): 19.0, + ('EE', 20.0, 'CZ'): 21.0, + ('EE', 20.0, 'DE'): 19.0, + ('EE', 20.0, 'DK'): 25.0, + ('EE', 20.0, 'ES'): 21.0, + ('EE', 20.0, 'FI'): 24.0, + ('EE', 20.0, 'FR'): 20.0, + ('EE', 20.0, 'GR'): 24.0, + ('EE', 20.0, 'HR'): 25.0, + ('EE', 20.0, 'HU'): 27.0, + ('EE', 20.0, 'IE'): 23.0, + ('EE', 20.0, 'IT'): 22.0, + ('EE', 20.0, 'LT'): 21.0, + ('EE', 20.0, 'LU'): 17.0, + ('EE', 20.0, 'LV'): 21.0, + ('EE', 20.0, 'MT'): 18.0, + ('EE', 20.0, 'NL'): 21.0, + ('EE', 20.0, 'PL'): 23.0, + ('EE', 20.0, 'PT'): 23.0, + ('EE', 20.0, 'RO'): 19.0, + ('EE', 20.0, 'SE'): 25.0, + ('EE', 20.0, 'SI'): 22.0, + ('EE', 20.0, 'SK'): 20.0, + ('EE', 9.0, 'AT'): 10.0, + ('EE', 9.0, 'BE'): 6.0, + ('EE', 9.0, 'BG'): 20.0, + ('EE', 9.0, 'CY'): 5.0, + ('EE', 9.0, 'CZ'): 15.0, + ('EE', 9.0, 'DE'): 7.0, + ('EE', 9.0, 'DK'): 25.0, + ('EE', 9.0, 'ES'): 10.0, + ('EE', 9.0, 'FI'): 10.0, + ('EE', 9.0, 'FR'): 5.5, + ('EE', 9.0, 'GR'): 13.0, + ('EE', 9.0, 'HR'): 5.0, + ('EE', 9.0, 'HU'): 5.0, + ('EE', 9.0, 'IE'): 13.5, + ('EE', 9.0, 'IT'): 4.0, + ('EE', 9.0, 'LT'): 5.0, + ('EE', 9.0, 'LU'): 8.0, + ('EE', 9.0, 'LV'): 12.0, + ('EE', 9.0, 'MT'): 5.0, + ('EE', 9.0, 'NL'): 9.0, + ('EE', 9.0, 'PL'): 8.0, + ('EE', 9.0, 'PT'): 6.0, + ('EE', 9.0, 'RO'): 5.0, + ('EE', 9.0, 'SE'): 6.0, + ('EE', 9.0, 'SI'): 9.5, + ('EE', 9.0, 'SK'): 10.0, + ('ES', 10.0, 'AT'): 10.0, + ('ES', 10.0, 'BE'): 6.0, + ('ES', 10.0, 'BG'): 20.0, + ('ES', 10.0, 'CY'): 5.0, + ('ES', 10.0, 'CZ'): 15.0, + ('ES', 10.0, 'DE'): 7.0, + ('ES', 10.0, 'DK'): 25.0, + ('ES', 10.0, 'EE'): 9.0, + ('ES', 10.0, 'FI'): 10.0, + ('ES', 10.0, 'FR'): 5.5, + ('ES', 10.0, 'GR'): 13.0, + ('ES', 10.0, 'HR'): 13.0, + ('ES', 10.0, 'HU'): 5.0, + ('ES', 10.0, 'IE'): 13.5, + ('ES', 10.0, 'IT'): 10.0, + ('ES', 10.0, 'LT'): 5.0, + ('ES', 10.0, 'LU'): 8.0, + ('ES', 10.0, 'LV'): 12.0, + ('ES', 10.0, 'MT'): 5.0, + ('ES', 10.0, 'NL'): 9.0, + ('ES', 10.0, 'PL'): 8.0, + ('ES', 10.0, 'PT'): 6.0, + ('ES', 10.0, 'RO'): 5.0, + ('ES', 10.0, 'SE'): 6.0, + ('ES', 10.0, 'SI'): 9.5, + ('ES', 10.0, 'SK'): 10.0, + ('ES', 21.0, 'AT'): 20.0, + ('ES', 21.0, 'BE'): 21.0, + ('ES', 21.0, 'BG'): 20.0, + ('ES', 21.0, 'CY'): 19.0, + ('ES', 21.0, 'CZ'): 21.0, + ('ES', 21.0, 'DE'): 19.0, + ('ES', 21.0, 'DK'): 25.0, + ('ES', 21.0, 'EE'): 20.0, + ('ES', 21.0, 'FI'): 24.0, + ('ES', 21.0, 'FR'): 20.0, + ('ES', 21.0, 'GR'): 24.0, + ('ES', 21.0, 'HR'): 25.0, + ('ES', 21.0, 'HU'): 27.0, + ('ES', 21.0, 'IE'): 23.0, + ('ES', 21.0, 'IT'): 22.0, + ('ES', 21.0, 'LT'): 21.0, + ('ES', 21.0, 'LU'): 17.0, + ('ES', 21.0, 'LV'): 21.0, + ('ES', 21.0, 'MT'): 18.0, + ('ES', 21.0, 'NL'): 21.0, + ('ES', 21.0, 'PL'): 23.0, + ('ES', 21.0, 'PT'): 23.0, + ('ES', 21.0, 'RO'): 19.0, + ('ES', 21.0, 'SE'): 25.0, + ('ES', 21.0, 'SI'): 22.0, + ('ES', 21.0, 'SK'): 20.0, + ('ES', 4.0, 'AT'): 10.0, + ('ES', 4.0, 'BE'): 6.0, + ('ES', 4.0, 'BG'): 20.0, + ('ES', 4.0, 'CY'): 5.0, + ('ES', 4.0, 'CZ'): 15.0, + ('ES', 4.0, 'DE'): 7.0, + ('ES', 4.0, 'DK'): 25.0, + ('ES', 4.0, 'EE'): 9.0, + ('ES', 4.0, 'FI'): 10.0, + ('ES', 4.0, 'FR'): 5.5, + ('ES', 4.0, 'GR'): 13.0, + ('ES', 4.0, 'HR'): 5.0, + ('ES', 4.0, 'HU'): 5.0, + ('ES', 4.0, 'IE'): 4.8, + ('ES', 4.0, 'IT'): 4.0, + ('ES', 4.0, 'LT'): 5.0, + ('ES', 4.0, 'LU'): 8.0, + ('ES', 4.0, 'LV'): 12.0, + ('ES', 4.0, 'MT'): 5.0, + ('ES', 4.0, 'NL'): 9.0, + ('ES', 4.0, 'PL'): 8.0, + ('ES', 4.0, 'PT'): 6.0, + ('ES', 4.0, 'RO'): 5.0, + ('ES', 4.0, 'SE'): 6.0, + ('ES', 4.0, 'SI'): 9.5, + ('ES', 4.0, 'SK'): 10.0, + ('FI', 10.0, 'AT'): 10.0, + ('FI', 10.0, 'BE'): 6.0, + ('FI', 10.0, 'BG'): 20.0, + ('FI', 10.0, 'CY'): 5.0, + ('FI', 10.0, 'CZ'): 15.0, + ('FI', 10.0, 'DE'): 7.0, + ('FI', 10.0, 'DK'): 25.0, + ('FI', 10.0, 'EE'): 9.0, + ('FI', 10.0, 'ES'): 10.0, + ('FI', 10.0, 'FR'): 5.5, + ('FI', 10.0, 'GR'): 13.0, + ('FI', 10.0, 'HR'): 5.0, + ('FI', 10.0, 'HU'): 5.0, + ('FI', 10.0, 'IE'): 13.5, + ('FI', 10.0, 'IT'): 4.0, + ('FI', 10.0, 'LT'): 5.0, + ('FI', 10.0, 'LU'): 8.0, + ('FI', 10.0, 'LV'): 12.0, + ('FI', 10.0, 'MT'): 5.0, + ('FI', 10.0, 'NL'): 9.0, + ('FI', 10.0, 'PL'): 8.0, + ('FI', 10.0, 'PT'): 6.0, + ('FI', 10.0, 'RO'): 5.0, + ('FI', 10.0, 'SE'): 6.0, + ('FI', 10.0, 'SI'): 9.5, + ('FI', 10.0, 'SK'): 10.0, + ('FI', 14.0, 'AT'): 10.0, + ('FI', 14.0, 'BE'): 6.0, + ('FI', 14.0, 'BG'): 20.0, + ('FI', 14.0, 'CY'): 5.0, + ('FI', 14.0, 'CZ'): 15.0, + ('FI', 14.0, 'DE'): 7.0, + ('FI', 14.0, 'DK'): 25.0, + ('FI', 14.0, 'EE'): 9.0, + ('FI', 14.0, 'ES'): 10.0, + ('FI', 14.0, 'FR'): 5.5, + ('FI', 14.0, 'GR'): 13.0, + ('FI', 14.0, 'HR'): 13.0, + ('FI', 14.0, 'HU'): 5.0, + ('FI', 14.0, 'IE'): 13.5, + ('FI', 14.0, 'IT'): 10.0, + ('FI', 14.0, 'LT'): 5.0, + ('FI', 14.0, 'LU'): 8.0, + ('FI', 14.0, 'LV'): 12.0, + ('FI', 14.0, 'MT'): 5.0, + ('FI', 14.0, 'NL'): 9.0, + ('FI', 14.0, 'PL'): 8.0, + ('FI', 14.0, 'PT'): 6.0, + ('FI', 14.0, 'RO'): 5.0, + ('FI', 14.0, 'SE'): 6.0, + ('FI', 14.0, 'SI'): 9.5, + ('FI', 14.0, 'SK'): 10.0, + ('FI', 24.0, 'AT'): 20.0, + ('FI', 24.0, 'BE'): 21.0, + ('FI', 24.0, 'BG'): 20.0, + ('FI', 24.0, 'CY'): 19.0, + ('FI', 24.0, 'CZ'): 21.0, + ('FI', 24.0, 'DE'): 19.0, + ('FI', 24.0, 'DK'): 25.0, + ('FI', 24.0, 'EE'): 20.0, + ('FI', 24.0, 'ES'): 21.0, + ('FI', 24.0, 'FR'): 20.0, + ('FI', 24.0, 'GR'): 24.0, + ('FI', 24.0, 'HR'): 25.0, + ('FI', 24.0, 'HU'): 27.0, + ('FI', 24.0, 'IE'): 23.0, + ('FI', 24.0, 'IT'): 22.0, + ('FI', 24.0, 'LT'): 21.0, + ('FI', 24.0, 'LU'): 17.0, + ('FI', 24.0, 'LV'): 21.0, + ('FI', 24.0, 'MT'): 18.0, + ('FI', 24.0, 'NL'): 21.0, + ('FI', 24.0, 'PL'): 23.0, + ('FI', 24.0, 'PT'): 23.0, + ('FI', 24.0, 'RO'): 19.0, + ('FI', 24.0, 'SE'): 25.0, + ('FI', 24.0, 'SI'): 22.0, + ('FI', 24.0, 'SK'): 20.0, + ('FR', 10.0, 'AT'): 10.0, + ('FR', 10.0, 'BE'): 6.0, + ('FR', 10.0, 'BG'): 20.0, + ('FR', 10.0, 'CY'): 5.0, + ('FR', 10.0, 'CZ'): 15.0, + ('FR', 10.0, 'DE'): 7.0, + ('FR', 10.0, 'DK'): 25.0, + ('FR', 10.0, 'EE'): 9.0, + ('FR', 10.0, 'ES'): 10.0, + ('FR', 10.0, 'FI'): 10.0, + ('FR', 10.0, 'GR'): 13.0, + ('FR', 10.0, 'HR'): 13.0, + ('FR', 10.0, 'HU'): 5.0, + ('FR', 10.0, 'IE'): 13.5, + ('FR', 10.0, 'IT'): 10.0, + ('FR', 10.0, 'LT'): 5.0, + ('FR', 10.0, 'LU'): 8.0, + ('FR', 10.0, 'LV'): 12.0, + ('FR', 10.0, 'MT'): 5.0, + ('FR', 10.0, 'NL'): 9.0, + ('FR', 10.0, 'PL'): 8.0, + ('FR', 10.0, 'PT'): 6.0, + ('FR', 10.0, 'RO'): 5.0, + ('FR', 10.0, 'SE'): 6.0, + ('FR', 10.0, 'SI'): 9.5, + ('FR', 10.0, 'SK'): 10.0, + ('FR', 2.1, 'AT'): 10.0, + ('FR', 2.1, 'BE'): 6.0, + ('FR', 2.1, 'BG'): 20.0, + ('FR', 2.1, 'CY'): 5.0, + ('FR', 2.1, 'CZ'): 15.0, + ('FR', 2.1, 'DE'): 7.0, + ('FR', 2.1, 'DK'): 25.0, + ('FR', 2.1, 'EE'): 9.0, + ('FR', 2.1, 'ES'): 4.0, + ('FR', 2.1, 'FI'): 10.0, + ('FR', 2.1, 'GR'): 13.0, + ('FR', 2.1, 'HR'): 5.0, + ('FR', 2.1, 'HU'): 5.0, + ('FR', 2.1, 'IE'): 4.8, + ('FR', 2.1, 'IT'): 4.0, + ('FR', 2.1, 'LT'): 5.0, + ('FR', 2.1, 'LU'): 8.0, + ('FR', 2.1, 'LV'): 12.0, + ('FR', 2.1, 'MT'): 5.0, + ('FR', 2.1, 'NL'): 9.0, + ('FR', 2.1, 'PL'): 8.0, + ('FR', 2.1, 'PT'): 6.0, + ('FR', 2.1, 'RO'): 5.0, + ('FR', 2.1, 'SE'): 6.0, + ('FR', 2.1, 'SI'): 9.5, + ('FR', 2.1, 'SK'): 10.0, + ('FR', 20.0, 'AT'): 20.0, + ('FR', 20.0, 'BE'): 21.0, + ('FR', 20.0, 'BG'): 20.0, + ('FR', 20.0, 'CY'): 19.0, + ('FR', 20.0, 'CZ'): 21.0, + ('FR', 20.0, 'DE'): 19.0, + ('FR', 20.0, 'DK'): 25.0, + ('FR', 20.0, 'EE'): 20.0, + ('FR', 20.0, 'ES'): 21.0, + ('FR', 20.0, 'FI'): 24.0, + ('FR', 20.0, 'GR'): 24.0, + ('FR', 20.0, 'HR'): 25.0, + ('FR', 20.0, 'HU'): 27.0, + ('FR', 20.0, 'IE'): 23.0, + ('FR', 20.0, 'IT'): 22.0, + ('FR', 20.0, 'LT'): 21.0, + ('FR', 20.0, 'LU'): 17.0, + ('FR', 20.0, 'LV'): 21.0, + ('FR', 20.0, 'MT'): 18.0, + ('FR', 20.0, 'NL'): 21.0, + ('FR', 20.0, 'PL'): 23.0, + ('FR', 20.0, 'PT'): 23.0, + ('FR', 20.0, 'RO'): 19.0, + ('FR', 20.0, 'SE'): 25.0, + ('FR', 20.0, 'SI'): 22.0, + ('FR', 20.0, 'SK'): 20.0, + ('FR', 5.5, 'AT'): 10.0, + ('FR', 5.5, 'BE'): 6.0, + ('FR', 5.5, 'BG'): 20.0, + ('FR', 5.5, 'CY'): 5.0, + ('FR', 5.5, 'CZ'): 15.0, + ('FR', 5.5, 'DE'): 7.0, + ('FR', 5.5, 'DK'): 25.0, + ('FR', 5.5, 'EE'): 9.0, + ('FR', 5.5, 'ES'): 10.0, + ('FR', 5.5, 'FI'): 10.0, + ('FR', 5.5, 'GR'): 13.0, + ('FR', 5.5, 'HR'): 5.0, + ('FR', 5.5, 'HU'): 5.0, + ('FR', 5.5, 'IE'): 13.5, + ('FR', 5.5, 'IT'): 4.0, + ('FR', 5.5, 'LT'): 5.0, + ('FR', 5.5, 'LU'): 8.0, + ('FR', 5.5, 'LV'): 12.0, + ('FR', 5.5, 'MT'): 5.0, + ('FR', 5.5, 'NL'): 9.0, + ('FR', 5.5, 'PL'): 8.0, + ('FR', 5.5, 'PT'): 6.0, + ('FR', 5.5, 'RO'): 5.0, + ('FR', 5.5, 'SE'): 6.0, + ('FR', 5.5, 'SI'): 9.5, + ('FR', 5.5, 'SK'): 10.0, + ('GR', 13.0, 'AT'): 10.0, + ('GR', 13.0, 'BE'): 6.0, + ('GR', 13.0, 'BG'): 20.0, + ('GR', 13.0, 'CY'): 5.0, + ('GR', 13.0, 'CZ'): 15.0, + ('GR', 13.0, 'DE'): 7.0, + ('GR', 13.0, 'DK'): 25.0, + ('GR', 13.0, 'EE'): 9.0, + ('GR', 13.0, 'ES'): 10.0, + ('GR', 13.0, 'FI'): 10.0, + ('GR', 13.0, 'FR'): 5.5, + ('GR', 13.0, 'HR'): 13.0, + ('GR', 13.0, 'HU'): 5.0, + ('GR', 13.0, 'IE'): 13.5, + ('GR', 13.0, 'IT'): 10.0, + ('GR', 13.0, 'LT'): 5.0, + ('GR', 13.0, 'LU'): 8.0, + ('GR', 13.0, 'LV'): 12.0, + ('GR', 13.0, 'MT'): 5.0, + ('GR', 13.0, 'NL'): 9.0, + ('GR', 13.0, 'PL'): 8.0, + ('GR', 13.0, 'PT'): 6.0, + ('GR', 13.0, 'RO'): 5.0, + ('GR', 13.0, 'SE'): 6.0, + ('GR', 13.0, 'SI'): 9.5, + ('GR', 13.0, 'SK'): 10.0, + ('GR', 24.0, 'AT'): 20.0, + ('GR', 24.0, 'BE'): 21.0, + ('GR', 24.0, 'BG'): 20.0, + ('GR', 24.0, 'CY'): 19.0, + ('GR', 24.0, 'CZ'): 21.0, + ('GR', 24.0, 'DE'): 19.0, + ('GR', 24.0, 'DK'): 25.0, + ('GR', 24.0, 'EE'): 20.0, + ('GR', 24.0, 'ES'): 21.0, + ('GR', 24.0, 'FI'): 24.0, + ('GR', 24.0, 'FR'): 20.0, + ('GR', 24.0, 'HR'): 25.0, + ('GR', 24.0, 'HU'): 27.0, + ('GR', 24.0, 'IE'): 23.0, + ('GR', 24.0, 'IT'): 22.0, + ('GR', 24.0, 'LT'): 21.0, + ('GR', 24.0, 'LU'): 17.0, + ('GR', 24.0, 'LV'): 21.0, + ('GR', 24.0, 'MT'): 18.0, + ('GR', 24.0, 'NL'): 21.0, + ('GR', 24.0, 'PL'): 23.0, + ('GR', 24.0, 'PT'): 23.0, + ('GR', 24.0, 'RO'): 19.0, + ('GR', 24.0, 'SE'): 25.0, + ('GR', 24.0, 'SI'): 22.0, + ('GR', 24.0, 'SK'): 20.0, + ('GR', 6.0, 'AT'): 10.0, + ('GR', 6.0, 'BE'): 6.0, + ('GR', 6.0, 'BG'): 20.0, + ('GR', 6.0, 'CY'): 5.0, + ('GR', 6.0, 'CZ'): 15.0, + ('GR', 6.0, 'DE'): 7.0, + ('GR', 6.0, 'DK'): 25.0, + ('GR', 6.0, 'EE'): 9.0, + ('GR', 6.0, 'ES'): 10.0, + ('GR', 6.0, 'FI'): 10.0, + ('GR', 6.0, 'FR'): 5.5, + ('GR', 6.0, 'HR'): 5.0, + ('GR', 6.0, 'HU'): 5.0, + ('GR', 6.0, 'IE'): 13.5, + ('GR', 6.0, 'IT'): 4.0, + ('GR', 6.0, 'LT'): 5.0, + ('GR', 6.0, 'LU'): 8.0, + ('GR', 6.0, 'LV'): 12.0, + ('GR', 6.0, 'MT'): 5.0, + ('GR', 6.0, 'NL'): 9.0, + ('GR', 6.0, 'PL'): 8.0, + ('GR', 6.0, 'PT'): 6.0, + ('GR', 6.0, 'RO'): 5.0, + ('GR', 6.0, 'SE'): 6.0, + ('GR', 6.0, 'SI'): 9.5, + ('GR', 6.0, 'SK'): 10.0, + ('HR', 13.0, 'AT'): 10.0, + ('HR', 13.0, 'BE'): 6.0, + ('HR', 13.0, 'BG'): 20.0, + ('HR', 13.0, 'CY'): 5.0, + ('HR', 13.0, 'CZ'): 15.0, + ('HR', 13.0, 'DE'): 7.0, + ('HR', 13.0, 'DK'): 25.0, + ('HR', 13.0, 'EE'): 9.0, + ('HR', 13.0, 'ES'): 10.0, + ('HR', 13.0, 'FI'): 10.0, + ('HR', 13.0, 'FR'): 5.5, + ('HR', 13.0, 'GR'): 13.0, + ('HR', 13.0, 'HU'): 5.0, + ('HR', 13.0, 'IE'): 13.5, + ('HR', 13.0, 'IT'): 10.0, + ('HR', 13.0, 'LT'): 5.0, + ('HR', 13.0, 'LU'): 8.0, + ('HR', 13.0, 'LV'): 12.0, + ('HR', 13.0, 'MT'): 5.0, + ('HR', 13.0, 'NL'): 9.0, + ('HR', 13.0, 'PL'): 8.0, + ('HR', 13.0, 'PT'): 6.0, + ('HR', 13.0, 'RO'): 5.0, + ('HR', 13.0, 'SE'): 6.0, + ('HR', 13.0, 'SI'): 9.5, + ('HR', 13.0, 'SK'): 10.0, + ('HR', 25.0, 'AT'): 20.0, + ('HR', 25.0, 'BE'): 21.0, + ('HR', 25.0, 'BG'): 20.0, + ('HR', 25.0, 'CY'): 19.0, + ('HR', 25.0, 'CZ'): 21.0, + ('HR', 25.0, 'DE'): 19.0, + ('HR', 25.0, 'DK'): 25.0, + ('HR', 25.0, 'EE'): 20.0, + ('HR', 25.0, 'ES'): 21.0, + ('HR', 25.0, 'FI'): 24.0, + ('HR', 25.0, 'FR'): 20.0, + ('HR', 25.0, 'GR'): 24.0, + ('HR', 25.0, 'HU'): 27.0, + ('HR', 25.0, 'IE'): 23.0, + ('HR', 25.0, 'IT'): 22.0, + ('HR', 25.0, 'LT'): 21.0, + ('HR', 25.0, 'LU'): 17.0, + ('HR', 25.0, 'LV'): 21.0, + ('HR', 25.0, 'MT'): 18.0, + ('HR', 25.0, 'NL'): 21.0, + ('HR', 25.0, 'PL'): 23.0, + ('HR', 25.0, 'PT'): 23.0, + ('HR', 25.0, 'RO'): 19.0, + ('HR', 25.0, 'SE'): 25.0, + ('HR', 25.0, 'SI'): 22.0, + ('HR', 25.0, 'SK'): 20.0, + ('HR', 5.0, 'AT'): 10.0, + ('HR', 5.0, 'BE'): 6.0, + ('HR', 5.0, 'BG'): 20.0, + ('HR', 5.0, 'CY'): 5.0, + ('HR', 5.0, 'CZ'): 15.0, + ('HR', 5.0, 'DE'): 7.0, + ('HR', 5.0, 'DK'): 25.0, + ('HR', 5.0, 'EE'): 9.0, + ('HR', 5.0, 'ES'): 10.0, + ('HR', 5.0, 'FI'): 10.0, + ('HR', 5.0, 'FR'): 5.5, + ('HR', 5.0, 'GR'): 13.0, + ('HR', 5.0, 'HU'): 5.0, + ('HR', 5.0, 'IE'): 13.5, + ('HR', 5.0, 'IT'): 4.0, + ('HR', 5.0, 'LT'): 5.0, + ('HR', 5.0, 'LU'): 8.0, + ('HR', 5.0, 'LV'): 12.0, + ('HR', 5.0, 'MT'): 5.0, + ('HR', 5.0, 'NL'): 9.0, + ('HR', 5.0, 'PL'): 8.0, + ('HR', 5.0, 'PT'): 6.0, + ('HR', 5.0, 'RO'): 5.0, + ('HR', 5.0, 'SE'): 6.0, + ('HR', 5.0, 'SI'): 9.5, + ('HR', 5.0, 'SK'): 10.0, + ('HU', 18.0, 'AT'): 10.0, + ('HU', 18.0, 'BE'): 6.0, + ('HU', 18.0, 'BG'): 20.0, + ('HU', 18.0, 'CY'): 5.0, + ('HU', 18.0, 'CZ'): 15.0, + ('HU', 18.0, 'DE'): 7.0, + ('HU', 18.0, 'DK'): 25.0, + ('HU', 18.0, 'EE'): 9.0, + ('HU', 18.0, 'ES'): 10.0, + ('HU', 18.0, 'FI'): 10.0, + ('HU', 18.0, 'FR'): 5.5, + ('HU', 18.0, 'GR'): 13.0, + ('HU', 18.0, 'HR'): 13.0, + ('HU', 18.0, 'IE'): 13.5, + ('HU', 18.0, 'IT'): 10.0, + ('HU', 18.0, 'LT'): 5.0, + ('HU', 18.0, 'LU'): 8.0, + ('HU', 18.0, 'LV'): 12.0, + ('HU', 18.0, 'MT'): 5.0, + ('HU', 18.0, 'NL'): 9.0, + ('HU', 18.0, 'PL'): 8.0, + ('HU', 18.0, 'PT'): 6.0, + ('HU', 18.0, 'RO'): 5.0, + ('HU', 18.0, 'SE'): 6.0, + ('HU', 18.0, 'SI'): 9.5, + ('HU', 18.0, 'SK'): 10.0, + ('HU', 27.0, 'AT'): 20.0, + ('HU', 27.0, 'BE'): 21.0, + ('HU', 27.0, 'BG'): 20.0, + ('HU', 27.0, 'CY'): 19.0, + ('HU', 27.0, 'CZ'): 21.0, + ('HU', 27.0, 'DE'): 19.0, + ('HU', 27.0, 'DK'): 25.0, + ('HU', 27.0, 'EE'): 20.0, + ('HU', 27.0, 'ES'): 21.0, + ('HU', 27.0, 'FI'): 24.0, + ('HU', 27.0, 'FR'): 20.0, + ('HU', 27.0, 'GR'): 24.0, + ('HU', 27.0, 'HR'): 25.0, + ('HU', 27.0, 'IE'): 23.0, + ('HU', 27.0, 'IT'): 22.0, + ('HU', 27.0, 'LT'): 21.0, + ('HU', 27.0, 'LU'): 17.0, + ('HU', 27.0, 'LV'): 21.0, + ('HU', 27.0, 'MT'): 18.0, + ('HU', 27.0, 'NL'): 21.0, + ('HU', 27.0, 'PL'): 23.0, + ('HU', 27.0, 'PT'): 23.0, + ('HU', 27.0, 'RO'): 19.0, + ('HU', 27.0, 'SE'): 25.0, + ('HU', 27.0, 'SI'): 22.0, + ('HU', 27.0, 'SK'): 20.0, + ('HU', 5.0, 'AT'): 10.0, + ('HU', 5.0, 'BE'): 6.0, + ('HU', 5.0, 'BG'): 20.0, + ('HU', 5.0, 'CY'): 5.0, + ('HU', 5.0, 'CZ'): 15.0, + ('HU', 5.0, 'DE'): 7.0, + ('HU', 5.0, 'DK'): 25.0, + ('HU', 5.0, 'EE'): 9.0, + ('HU', 5.0, 'ES'): 10.0, + ('HU', 5.0, 'FI'): 10.0, + ('HU', 5.0, 'FR'): 5.5, + ('HU', 5.0, 'GR'): 13.0, + ('HU', 5.0, 'HR'): 5.0, + ('HU', 5.0, 'IE'): 13.5, + ('HU', 5.0, 'IT'): 4.0, + ('HU', 5.0, 'LT'): 5.0, + ('HU', 5.0, 'LU'): 8.0, + ('HU', 5.0, 'LV'): 12.0, + ('HU', 5.0, 'MT'): 5.0, + ('HU', 5.0, 'NL'): 9.0, + ('HU', 5.0, 'PL'): 8.0, + ('HU', 5.0, 'PT'): 6.0, + ('HU', 5.0, 'RO'): 5.0, + ('HU', 5.0, 'SE'): 6.0, + ('HU', 5.0, 'SI'): 9.5, + ('HU', 5.0, 'SK'): 10.0, + ('IE', 13.5, 'AT'): 20.0, + ('IE', 13.5, 'BE'): 21.0, + ('IE', 13.5, 'BG'): 20.0, + ('IE', 13.5, 'CY'): 19.0, + ('IE', 13.5, 'CZ'): 21.0, + ('IE', 13.5, 'DE'): 19.0, + ('IE', 13.5, 'DK'): 25.0, + ('IE', 13.5, 'EE'): 20.0, + ('IE', 13.5, 'ES'): 21.0, + ('IE', 13.5, 'FI'): 24.0, + ('IE', 13.5, 'FR'): 20.0, + ('IE', 13.5, 'GR'): 24.0, + ('IE', 13.5, 'HR'): 25.0, + ('IE', 13.5, 'HU'): 27.0, + ('IE', 13.5, 'IE'): 23.0, + ('IE', 13.5, 'IT'): 22.0, + ('IE', 13.5, 'LT'): 21.0, + ('IE', 13.5, 'LU'): 17.0, + ('IE', 13.5, 'LV'): 21.0, + ('IE', 13.5, 'MT'): 18.0, + ('IE', 13.5, 'NL'): 21.0, + ('IE', 13.5, 'PL'): 23.0, + ('IE', 13.5, 'PT'): 23.0, + ('IE', 13.5, 'RO'): 19.0, + ('IE', 13.5, 'SE'): 25.0, + ('IE', 13.5, 'SI'): 22.0, + ('IE', 13.5, 'SK'): 20.0, + ('IE', 23.0, 'AT'): 20.0, + ('IE', 23.0, 'BE'): 21.0, + ('IE', 23.0, 'BG'): 20.0, + ('IE', 23.0, 'CY'): 19.0, + ('IE', 23.0, 'CZ'): 21.0, + ('IE', 23.0, 'DE'): 19.0, + ('IE', 23.0, 'DK'): 25.0, + ('IE', 23.0, 'EE'): 20.0, + ('IE', 23.0, 'ES'): 21.0, + ('IE', 23.0, 'FI'): 24.0, + ('IE', 23.0, 'FR'): 20.0, + ('IE', 23.0, 'GR'): 24.0, + ('IE', 23.0, 'HR'): 25.0, + ('IE', 23.0, 'HU'): 27.0, + ('IE', 23.0, 'IT'): 22.0, + ('IE', 23.0, 'LT'): 21.0, + ('IE', 23.0, 'LU'): 17.0, + ('IE', 23.0, 'LV'): 21.0, + ('IE', 23.0, 'MT'): 18.0, + ('IE', 23.0, 'NL'): 21.0, + ('IE', 23.0, 'PL'): 23.0, + ('IE', 23.0, 'PT'): 23.0, + ('IE', 23.0, 'RO'): 19.0, + ('IE', 23.0, 'SE'): 25.0, + ('IE', 23.0, 'SI'): 22.0, + ('IE', 23.0, 'SK'): 20.0, + ('IE', 4.8, 'AT'): 10.0, + ('IE', 4.8, 'BE'): 6.0, + ('IE', 4.8, 'BG'): 20.0, + ('IE', 4.8, 'CY'): 5.0, + ('IE', 4.8, 'CZ'): 15.0, + ('IE', 4.8, 'DE'): 7.0, + ('IE', 4.8, 'DK'): 25.0, + ('IE', 4.8, 'EE'): 9.0, + ('IE', 4.8, 'ES'): 4.0, + ('IE', 4.8, 'FI'): 10.0, + ('IE', 4.8, 'FR'): 5.5, + ('IE', 4.8, 'GR'): 13.0, + ('IE', 4.8, 'HR'): 5.0, + ('IE', 4.8, 'HU'): 5.0, + ('IE', 4.8, 'IT'): 4.0, + ('IE', 4.8, 'LT'): 5.0, + ('IE', 4.8, 'LU'): 8.0, + ('IE', 4.8, 'LV'): 12.0, + ('IE', 4.8, 'MT'): 5.0, + ('IE', 4.8, 'NL'): 9.0, + ('IE', 4.8, 'PL'): 8.0, + ('IE', 4.8, 'PT'): 6.0, + ('IE', 4.8, 'RO'): 5.0, + ('IE', 4.8, 'SE'): 6.0, + ('IE', 4.8, 'SI'): 9.5, + ('IE', 4.8, 'SK'): 10.0, + ('IE', 9.0, 'AT'): 10.0, + ('IE', 9.0, 'BE'): 6.0, + ('IE', 9.0, 'BG'): 20.0, + ('IE', 9.0, 'CY'): 5.0, + ('IE', 9.0, 'CZ'): 15.0, + ('IE', 9.0, 'DE'): 7.0, + ('IE', 9.0, 'DK'): 25.0, + ('IE', 9.0, 'EE'): 9.0, + ('IE', 9.0, 'ES'): 10.0, + ('IE', 9.0, 'FI'): 10.0, + ('IE', 9.0, 'FR'): 5.5, + ('IE', 9.0, 'GR'): 13.0, + ('IE', 9.0, 'HR'): 5.0, + ('IE', 9.0, 'HU'): 5.0, + ('IE', 9.0, 'IT'): 10.0, + ('IE', 9.0, 'LT'): 5.0, + ('IE', 9.0, 'LU'): 8.0, + ('IE', 9.0, 'LV'): 12.0, + ('IE', 9.0, 'MT'): 5.0, + ('IE', 9.0, 'NL'): 9.0, + ('IE', 9.0, 'PL'): 8.0, + ('IE', 9.0, 'PT'): 6.0, + ('IE', 9.0, 'RO'): 5.0, + ('IE', 9.0, 'SE'): 6.0, + ('IE', 9.0, 'SI'): 9.5, + ('IE', 9.0, 'SK'): 10.0, + ('IT', 10.0, 'AT'): 10.0, + ('IT', 10.0, 'BE'): 6.0, + ('IT', 10.0, 'BG'): 20.0, + ('IT', 10.0, 'CY'): 5.0, + ('IT', 10.0, 'CZ'): 15.0, + ('IT', 10.0, 'DE'): 7.0, + ('IT', 10.0, 'DK'): 25.0, + ('IT', 10.0, 'EE'): 9.0, + ('IT', 10.0, 'ES'): 10.0, + ('IT', 10.0, 'FI'): 10.0, + ('IT', 10.0, 'FR'): 5.5, + ('IT', 10.0, 'GR'): 13.0, + ('IT', 10.0, 'HR'): 13.0, + ('IT', 10.0, 'HU'): 5.0, + ('IT', 10.0, 'IE'): 13.5, + ('IT', 10.0, 'LT'): 5.0, + ('IT', 10.0, 'LU'): 8.0, + ('IT', 10.0, 'LV'): 12.0, + ('IT', 10.0, 'MT'): 5.0, + ('IT', 10.0, 'NL'): 9.0, + ('IT', 10.0, 'PL'): 8.0, + ('IT', 10.0, 'PT'): 6.0, + ('IT', 10.0, 'RO'): 5.0, + ('IT', 10.0, 'SE'): 6.0, + ('IT', 10.0, 'SI'): 9.5, + ('IT', 10.0, 'SK'): 10.0, + ('IT', 22.0, 'AT'): 20.0, + ('IT', 22.0, 'BE'): 21.0, + ('IT', 22.0, 'BG'): 20.0, + ('IT', 22.0, 'CY'): 19.0, + ('IT', 22.0, 'CZ'): 21.0, + ('IT', 22.0, 'DE'): 19.0, + ('IT', 22.0, 'DK'): 25.0, + ('IT', 22.0, 'EE'): 20.0, + ('IT', 22.0, 'ES'): 21.0, + ('IT', 22.0, 'FI'): 24.0, + ('IT', 22.0, 'FR'): 20.0, + ('IT', 22.0, 'GR'): 24.0, + ('IT', 22.0, 'HR'): 25.0, + ('IT', 22.0, 'HU'): 27.0, + ('IT', 22.0, 'IE'): 23.0, + ('IT', 22.0, 'LT'): 21.0, + ('IT', 22.0, 'LU'): 17.0, + ('IT', 22.0, 'LV'): 21.0, + ('IT', 22.0, 'MT'): 18.0, + ('IT', 22.0, 'NL'): 21.0, + ('IT', 22.0, 'PL'): 23.0, + ('IT', 22.0, 'PT'): 23.0, + ('IT', 22.0, 'RO'): 19.0, + ('IT', 22.0, 'SE'): 25.0, + ('IT', 22.0, 'SI'): 22.0, + ('IT', 22.0, 'SK'): 20.0, + ('IT', 4.0, 'AT'): 10.0, + ('IT', 4.0, 'BE'): 6.0, + ('IT', 4.0, 'BG'): 20.0, + ('IT', 4.0, 'CY'): 5.0, + ('IT', 4.0, 'CZ'): 15.0, + ('IT', 4.0, 'DE'): 7.0, + ('IT', 4.0, 'DK'): 25.0, + ('IT', 4.0, 'EE'): 9.0, + ('IT', 4.0, 'ES'): 4.0, + ('IT', 4.0, 'FI'): 10.0, + ('IT', 4.0, 'FR'): 5.5, + ('IT', 4.0, 'GR'): 13.0, + ('IT', 4.0, 'HR'): 5.0, + ('IT', 4.0, 'HU'): 5.0, + ('IT', 4.0, 'IE'): 4.8, + ('IT', 4.0, 'LT'): 5.0, + ('IT', 4.0, 'LU'): 8.0, + ('IT', 4.0, 'LV'): 12.0, + ('IT', 4.0, 'MT'): 5.0, + ('IT', 4.0, 'NL'): 9.0, + ('IT', 4.0, 'PL'): 8.0, + ('IT', 4.0, 'PT'): 6.0, + ('IT', 4.0, 'RO'): 5.0, + ('IT', 4.0, 'SE'): 6.0, + ('IT', 4.0, 'SI'): 9.5, + ('IT', 4.0, 'SK'): 10.0, + ('IT', 5.0, 'AT'): 10.0, + ('IT', 5.0, 'BE'): 6.0, + ('IT', 5.0, 'BG'): 20.0, + ('IT', 5.0, 'CY'): 5.0, + ('IT', 5.0, 'CZ'): 15.0, + ('IT', 5.0, 'DE'): 7.0, + ('IT', 5.0, 'DK'): 25.0, + ('IT', 5.0, 'EE'): 9.0, + ('IT', 5.0, 'ES'): 10.0, + ('IT', 5.0, 'FI'): 10.0, + ('IT', 5.0, 'FR'): 5.5, + ('IT', 5.0, 'GR'): 13.0, + ('IT', 5.0, 'HR'): 5.0, + ('IT', 5.0, 'HU'): 5.0, + ('IT', 5.0, 'IE'): 13.5, + ('IT', 5.0, 'LT'): 5.0, + ('IT', 5.0, 'LU'): 8.0, + ('IT', 5.0, 'LV'): 12.0, + ('IT', 5.0, 'MT'): 5.0, + ('IT', 5.0, 'NL'): 9.0, + ('IT', 5.0, 'PL'): 8.0, + ('IT', 5.0, 'PT'): 6.0, + ('IT', 5.0, 'RO'): 5.0, + ('IT', 5.0, 'SE'): 6.0, + ('IT', 5.0, 'SI'): 9.5, + ('IT', 5.0, 'SK'): 10.0, + ('LT', 21.0, 'AT'): 20.0, + ('LT', 21.0, 'BE'): 21.0, + ('LT', 21.0, 'BG'): 20.0, + ('LT', 21.0, 'CY'): 19.0, + ('LT', 21.0, 'CZ'): 21.0, + ('LT', 21.0, 'DE'): 19.0, + ('LT', 21.0, 'DK'): 25.0, + ('LT', 21.0, 'EE'): 20.0, + ('LT', 21.0, 'ES'): 21.0, + ('LT', 21.0, 'FI'): 24.0, + ('LT', 21.0, 'FR'): 20.0, + ('LT', 21.0, 'GR'): 24.0, + ('LT', 21.0, 'HR'): 25.0, + ('LT', 21.0, 'HU'): 27.0, + ('LT', 21.0, 'IE'): 23.0, + ('LT', 21.0, 'IT'): 22.0, + ('LT', 21.0, 'LU'): 17.0, + ('LT', 21.0, 'LV'): 21.0, + ('LT', 21.0, 'MT'): 18.0, + ('LT', 21.0, 'NL'): 21.0, + ('LT', 21.0, 'PL'): 23.0, + ('LT', 21.0, 'PT'): 23.0, + ('LT', 21.0, 'RO'): 19.0, + ('LT', 21.0, 'SE'): 25.0, + ('LT', 21.0, 'SI'): 22.0, + ('LT', 21.0, 'SK'): 20.0, + ('LT', 5.0, 'AT'): 10.0, + ('LT', 5.0, 'BE'): 6.0, + ('LT', 5.0, 'BG'): 20.0, + ('LT', 5.0, 'CY'): 5.0, + ('LT', 5.0, 'CZ'): 15.0, + ('LT', 5.0, 'DE'): 7.0, + ('LT', 5.0, 'DK'): 25.0, + ('LT', 5.0, 'EE'): 9.0, + ('LT', 5.0, 'ES'): 10.0, + ('LT', 5.0, 'FI'): 10.0, + ('LT', 5.0, 'FR'): 5.5, + ('LT', 5.0, 'GR'): 13.0, + ('LT', 5.0, 'HR'): 5.0, + ('LT', 5.0, 'HU'): 5.0, + ('LT', 5.0, 'IE'): 13.5, + ('LT', 5.0, 'IT'): 4.0, + ('LT', 5.0, 'LU'): 8.0, + ('LT', 5.0, 'LV'): 12.0, + ('LT', 5.0, 'MT'): 5.0, + ('LT', 5.0, 'NL'): 9.0, + ('LT', 5.0, 'PL'): 8.0, + ('LT', 5.0, 'PT'): 6.0, + ('LT', 5.0, 'RO'): 5.0, + ('LT', 5.0, 'SE'): 6.0, + ('LT', 5.0, 'SI'): 9.5, + ('LT', 5.0, 'SK'): 10.0, + ('LT', 9.0, 'AT'): 10.0, + ('LT', 9.0, 'BE'): 6.0, + ('LT', 9.0, 'BG'): 20.0, + ('LT', 9.0, 'CY'): 5.0, + ('LT', 9.0, 'CZ'): 15.0, + ('LT', 9.0, 'DE'): 7.0, + ('LT', 9.0, 'DK'): 25.0, + ('LT', 9.0, 'EE'): 9.0, + ('LT', 9.0, 'ES'): 10.0, + ('LT', 9.0, 'FI'): 10.0, + ('LT', 9.0, 'FR'): 5.5, + ('LT', 9.0, 'GR'): 13.0, + ('LT', 9.0, 'HR'): 13.0, + ('LT', 9.0, 'HU'): 5.0, + ('LT', 9.0, 'IE'): 13.5, + ('LT', 9.0, 'IT'): 10.0, + ('LT', 9.0, 'LU'): 8.0, + ('LT', 9.0, 'LV'): 12.0, + ('LT', 9.0, 'MT'): 5.0, + ('LT', 9.0, 'NL'): 9.0, + ('LT', 9.0, 'PL'): 8.0, + ('LT', 9.0, 'PT'): 6.0, + ('LT', 9.0, 'RO'): 5.0, + ('LT', 9.0, 'SE'): 6.0, + ('LT', 9.0, 'SI'): 9.5, + ('LT', 9.0, 'SK'): 10.0, + ('LU', 14.0, 'AT'): 20.0, + ('LU', 14.0, 'BE'): 21.0, + ('LU', 14.0, 'BG'): 20.0, + ('LU', 14.0, 'CY'): 19.0, + ('LU', 14.0, 'CZ'): 21.0, + ('LU', 14.0, 'DE'): 19.0, + ('LU', 14.0, 'DK'): 25.0, + ('LU', 14.0, 'EE'): 20.0, + ('LU', 14.0, 'ES'): 21.0, + ('LU', 14.0, 'FI'): 24.0, + ('LU', 14.0, 'FR'): 20.0, + ('LU', 14.0, 'GR'): 24.0, + ('LU', 14.0, 'HR'): 25.0, + ('LU', 14.0, 'HU'): 27.0, + ('LU', 14.0, 'IE'): 23.0, + ('LU', 14.0, 'IT'): 22.0, + ('LU', 14.0, 'LT'): 21.0, + ('LU', 14.0, 'LV'): 21.0, + ('LU', 14.0, 'MT'): 18.0, + ('LU', 14.0, 'NL'): 21.0, + ('LU', 14.0, 'PL'): 23.0, + ('LU', 14.0, 'PT'): 23.0, + ('LU', 14.0, 'RO'): 21.0, + ('LU', 14.0, 'SE'): 18.0, + ('LU', 14.0, 'SI'): 21.0, + ('LU', 14.0, 'SK'): 23.0, + ('LU', 17.0, 'AT'): 20.0, + ('LU', 17.0, 'BE'): 21.0, + ('LU', 17.0, 'BG'): 20.0, + ('LU', 17.0, 'CY'): 19.0, + ('LU', 17.0, 'CZ'): 21.0, + ('LU', 17.0, 'DE'): 19.0, + ('LU', 17.0, 'DK'): 25.0, + ('LU', 17.0, 'EE'): 20.0, + ('LU', 17.0, 'ES'): 21.0, + ('LU', 17.0, 'FI'): 24.0, + ('LU', 17.0, 'FR'): 20.0, + ('LU', 17.0, 'GR'): 24.0, + ('LU', 17.0, 'HR'): 25.0, + ('LU', 17.0, 'HU'): 27.0, + ('LU', 17.0, 'IE'): 23.0, + ('LU', 17.0, 'IT'): 22.0, + ('LU', 17.0, 'LT'): 21.0, + ('LU', 17.0, 'LV'): 21.0, + ('LU', 17.0, 'MT'): 18.0, + ('LU', 17.0, 'NL'): 21.0, + ('LU', 17.0, 'PL'): 23.0, + ('LU', 17.0, 'PT'): 23.0, + ('LU', 17.0, 'RO'): 19.0, + ('LU', 17.0, 'SE'): 25.0, + ('LU', 17.0, 'SI'): 22.0, + ('LU', 17.0, 'SK'): 20.0, + ('LU', 3.0, 'AT'): 10.0, + ('LU', 3.0, 'BE'): 6.0, + ('LU', 3.0, 'BG'): 20.0, + ('LU', 3.0, 'CY'): 5.0, + ('LU', 3.0, 'CZ'): 15.0, + ('LU', 3.0, 'DE'): 7.0, + ('LU', 3.0, 'DK'): 25.0, + ('LU', 3.0, 'EE'): 9.0, + ('LU', 3.0, 'ES'): 4.0, + ('LU', 3.0, 'FI'): 10.0, + ('LU', 3.0, 'FR'): 5.5, + ('LU', 3.0, 'GR'): 13.0, + ('LU', 3.0, 'HR'): 5.0, + ('LU', 3.0, 'HU'): 5.0, + ('LU', 3.0, 'IE'): 4.8, + ('LU', 3.0, 'IT'): 4.0, + ('LU', 3.0, 'LT'): 5.0, + ('LU', 3.0, 'LV'): 12.0, + ('LU', 3.0, 'MT'): 5.0, + ('LU', 3.0, 'NL'): 9.0, + ('LU', 3.0, 'PL'): 8.0, + ('LU', 3.0, 'PT'): 6.0, + ('LU', 3.0, 'RO'): 5.0, + ('LU', 3.0, 'SE'): 6.0, + ('LU', 3.0, 'SI'): 9.5, + ('LU', 3.0, 'SK'): 10.0, + ('LU', 8.0, 'AT'): 10.0, + ('LU', 8.0, 'BE'): 6.0, + ('LU', 8.0, 'BG'): 20.0, + ('LU', 8.0, 'CY'): 5.0, + ('LU', 8.0, 'CZ'): 15.0, + ('LU', 8.0, 'DE'): 7.0, + ('LU', 8.0, 'DK'): 25.0, + ('LU', 8.0, 'EE'): 9.0, + ('LU', 8.0, 'ES'): 10.0, + ('LU', 8.0, 'FI'): 10.0, + ('LU', 8.0, 'FR'): 5.5, + ('LU', 8.0, 'GR'): 13.0, + ('LU', 8.0, 'HR'): 5.0, + ('LU', 8.0, 'HU'): 5.0, + ('LU', 8.0, 'IE'): 13.5, + ('LU', 8.0, 'IT'): 10.0, + ('LU', 8.0, 'LT'): 5.0, + ('LU', 8.0, 'LV'): 12.0, + ('LU', 8.0, 'MT'): 5.0, + ('LU', 8.0, 'NL'): 9.0, + ('LU', 8.0, 'PL'): 8.0, + ('LU', 8.0, 'PT'): 6.0, + ('LU', 8.0, 'RO'): 5.0, + ('LU', 8.0, 'SE'): 6.0, + ('LU', 8.0, 'SI'): 9.5, + ('LU', 8.0, 'SK'): 10.0, + ('LV', 12.0, 'AT'): 10.0, + ('LV', 12.0, 'BE'): 6.0, + ('LV', 12.0, 'BG'): 20.0, + ('LV', 12.0, 'CY'): 5.0, + ('LV', 12.0, 'CZ'): 15.0, + ('LV', 12.0, 'DE'): 7.0, + ('LV', 12.0, 'DK'): 25.0, + ('LV', 12.0, 'EE'): 9.0, + ('LV', 12.0, 'ES'): 10.0, + ('LV', 12.0, 'FI'): 10.0, + ('LV', 12.0, 'FR'): 5.5, + ('LV', 12.0, 'GR'): 13.0, + ('LV', 12.0, 'HR'): 13.0, + ('LV', 12.0, 'HU'): 5.0, + ('LV', 12.0, 'IE'): 13.5, + ('LV', 12.0, 'IT'): 10.0, + ('LV', 12.0, 'LT'): 5.0, + ('LV', 12.0, 'LU'): 8.0, + ('LV', 12.0, 'MT'): 5.0, + ('LV', 12.0, 'NL'): 9.0, + ('LV', 12.0, 'PL'): 8.0, + ('LV', 12.0, 'PT'): 6.0, + ('LV', 12.0, 'RO'): 5.0, + ('LV', 12.0, 'SE'): 6.0, + ('LV', 12.0, 'SI'): 9.5, + ('LV', 12.0, 'SK'): 10.0, + ('LV', 21.0, 'AT'): 20.0, + ('LV', 21.0, 'BE'): 21.0, + ('LV', 21.0, 'BG'): 20.0, + ('LV', 21.0, 'CY'): 19.0, + ('LV', 21.0, 'CZ'): 21.0, + ('LV', 21.0, 'DE'): 19.0, + ('LV', 21.0, 'DK'): 25.0, + ('LV', 21.0, 'EE'): 20.0, + ('LV', 21.0, 'ES'): 21.0, + ('LV', 21.0, 'FI'): 24.0, + ('LV', 21.0, 'FR'): 20.0, + ('LV', 21.0, 'GR'): 24.0, + ('LV', 21.0, 'HR'): 25.0, + ('LV', 21.0, 'HU'): 27.0, + ('LV', 21.0, 'IE'): 23.0, + ('LV', 21.0, 'IT'): 22.0, + ('LV', 21.0, 'LT'): 21.0, + ('LV', 21.0, 'LU'): 17.0, + ('LV', 21.0, 'MT'): 18.0, + ('LV', 21.0, 'NL'): 21.0, + ('LV', 21.0, 'PL'): 23.0, + ('LV', 21.0, 'PT'): 23.0, + ('LV', 21.0, 'RO'): 19.0, + ('LV', 21.0, 'SE'): 25.0, + ('LV', 21.0, 'SI'): 22.0, + ('LV', 21.0, 'SK'): 20.0, + ('LV', 5.0, 'AT'): 10.0, + ('LV', 5.0, 'BE'): 6.0, + ('LV', 5.0, 'BG'): 20.0, + ('LV', 5.0, 'CY'): 5.0, + ('LV', 5.0, 'CZ'): 15.0, + ('LV', 5.0, 'DE'): 7.0, + ('LV', 5.0, 'DK'): 25.0, + ('LV', 5.0, 'EE'): 9.0, + ('LV', 5.0, 'ES'): 10.0, + ('LV', 5.0, 'FI'): 10.0, + ('LV', 5.0, 'FR'): 5.5, + ('LV', 5.0, 'GR'): 13.0, + ('LV', 5.0, 'HR'): 5.0, + ('LV', 5.0, 'HU'): 5.0, + ('LV', 5.0, 'IE'): 13.5, + ('LV', 5.0, 'IT'): 4.0, + ('LV', 5.0, 'LT'): 5.0, + ('LV', 5.0, 'LU'): 8.0, + ('LV', 5.0, 'MT'): 5.0, + ('LV', 5.0, 'NL'): 9.0, + ('LV', 5.0, 'PL'): 8.0, + ('LV', 5.0, 'PT'): 6.0, + ('LV', 5.0, 'RO'): 5.0, + ('LV', 5.0, 'SE'): 6.0, + ('LV', 5.0, 'SI'): 9.5, + ('LV', 5.0, 'SK'): 10.0, + ('MT', 18.0, 'AT'): 20.0, + ('MT', 18.0, 'BE'): 21.0, + ('MT', 18.0, 'BG'): 20.0, + ('MT', 18.0, 'CY'): 19.0, + ('MT', 18.0, 'CZ'): 21.0, + ('MT', 18.0, 'DE'): 19.0, + ('MT', 18.0, 'DK'): 25.0, + ('MT', 18.0, 'EE'): 20.0, + ('MT', 18.0, 'ES'): 21.0, + ('MT', 18.0, 'FI'): 24.0, + ('MT', 18.0, 'FR'): 20.0, + ('MT', 18.0, 'GR'): 24.0, + ('MT', 18.0, 'HR'): 25.0, + ('MT', 18.0, 'HU'): 27.0, + ('MT', 18.0, 'IE'): 23.0, + ('MT', 18.0, 'IT'): 22.0, + ('MT', 18.0, 'LT'): 21.0, + ('MT', 18.0, 'LU'): 17.0, + ('MT', 18.0, 'LV'): 21.0, + ('MT', 18.0, 'NL'): 21.0, + ('MT', 18.0, 'PL'): 23.0, + ('MT', 18.0, 'PT'): 23.0, + ('MT', 18.0, 'RO'): 19.0, + ('MT', 18.0, 'SE'): 25.0, + ('MT', 18.0, 'SI'): 22.0, + ('MT', 18.0, 'SK'): 20.0, + ('MT', 5.0, 'AT'): 10.0, + ('MT', 5.0, 'BE'): 6.0, + ('MT', 5.0, 'BG'): 20.0, + ('MT', 5.0, 'CY'): 5.0, + ('MT', 5.0, 'CZ'): 15.0, + ('MT', 5.0, 'DE'): 7.0, + ('MT', 5.0, 'DK'): 25.0, + ('MT', 5.0, 'EE'): 9.0, + ('MT', 5.0, 'ES'): 10.0, + ('MT', 5.0, 'FI'): 10.0, + ('MT', 5.0, 'FR'): 5.5, + ('MT', 5.0, 'GR'): 13.0, + ('MT', 5.0, 'HR'): 5.0, + ('MT', 5.0, 'HU'): 5.0, + ('MT', 5.0, 'IE'): 13.5, + ('MT', 5.0, 'IT'): 4.0, + ('MT', 5.0, 'LT'): 5.0, + ('MT', 5.0, 'LU'): 8.0, + ('MT', 5.0, 'LV'): 12.0, + ('MT', 5.0, 'NL'): 9.0, + ('MT', 5.0, 'PL'): 8.0, + ('MT', 5.0, 'PT'): 6.0, + ('MT', 5.0, 'RO'): 5.0, + ('MT', 5.0, 'SE'): 6.0, + ('MT', 5.0, 'SI'): 9.5, + ('MT', 5.0, 'SK'): 10.0, + ('MT', 7.0, 'AT'): 10.0, + ('MT', 7.0, 'BE'): 6.0, + ('MT', 7.0, 'BG'): 20.0, + ('MT', 7.0, 'CY'): 5.0, + ('MT', 7.0, 'CZ'): 15.0, + ('MT', 7.0, 'DE'): 7.0, + ('MT', 7.0, 'DK'): 25.0, + ('MT', 7.0, 'EE'): 9.0, + ('MT', 7.0, 'ES'): 10.0, + ('MT', 7.0, 'FI'): 10.0, + ('MT', 7.0, 'FR'): 5.5, + ('MT', 7.0, 'GR'): 13.0, + ('MT', 7.0, 'HR'): 5.0, + ('MT', 7.0, 'HU'): 5.0, + ('MT', 7.0, 'IE'): 13.5, + ('MT', 7.0, 'IT'): 10.0, + ('MT', 7.0, 'LT'): 5.0, + ('MT', 7.0, 'LU'): 8.0, + ('MT', 7.0, 'LV'): 12.0, + ('MT', 7.0, 'NL'): 9.0, + ('MT', 7.0, 'PL'): 8.0, + ('MT', 7.0, 'PT'): 6.0, + ('MT', 7.0, 'RO'): 5.0, + ('MT', 7.0, 'SE'): 6.0, + ('MT', 7.0, 'SI'): 9.5, + ('MT', 7.0, 'SK'): 10.0, + ('NL', 21.0, 'AT'): 20.0, + ('NL', 21.0, 'BE'): 21.0, + ('NL', 21.0, 'BG'): 20.0, + ('NL', 21.0, 'CY'): 19.0, + ('NL', 21.0, 'CZ'): 21.0, + ('NL', 21.0, 'DE'): 19.0, + ('NL', 21.0, 'DK'): 25.0, + ('NL', 21.0, 'EE'): 20.0, + ('NL', 21.0, 'ES'): 21.0, + ('NL', 21.0, 'FI'): 24.0, + ('NL', 21.0, 'FR'): 20.0, + ('NL', 21.0, 'GR'): 24.0, + ('NL', 21.0, 'HR'): 25.0, + ('NL', 21.0, 'HU'): 27.0, + ('NL', 21.0, 'IE'): 23.0, + ('NL', 21.0, 'IT'): 22.0, + ('NL', 21.0, 'LT'): 21.0, + ('NL', 21.0, 'LU'): 17.0, + ('NL', 21.0, 'LV'): 21.0, + ('NL', 21.0, 'MT'): 18.0, + ('NL', 21.0, 'PL'): 23.0, + ('NL', 21.0, 'PT'): 23.0, + ('NL', 21.0, 'RO'): 19.0, + ('NL', 21.0, 'SE'): 25.0, + ('NL', 21.0, 'SI'): 22.0, + ('NL', 21.0, 'SK'): 20.0, + ('NL', 9.0, 'AT'): 10.0, + ('NL', 9.0, 'BE'): 6.0, + ('NL', 9.0, 'BG'): 20.0, + ('NL', 9.0, 'CY'): 5.0, + ('NL', 9.0, 'CZ'): 15.0, + ('NL', 9.0, 'DE'): 7.0, + ('NL', 9.0, 'DK'): 25.0, + ('NL', 9.0, 'EE'): 9.0, + ('NL', 9.0, 'ES'): 10.0, + ('NL', 9.0, 'FI'): 10.0, + ('NL', 9.0, 'FR'): 5.5, + ('NL', 9.0, 'GR'): 13.0, + ('NL', 9.0, 'HR'): 5.0, + ('NL', 9.0, 'HU'): 5.0, + ('NL', 9.0, 'IE'): 13.5, + ('NL', 9.0, 'IT'): 4.0, + ('NL', 9.0, 'LT'): 5.0, + ('NL', 9.0, 'LU'): 8.0, + ('NL', 9.0, 'LV'): 12.0, + ('NL', 9.0, 'MT'): 5.0, + ('NL', 9.0, 'PL'): 8.0, + ('NL', 9.0, 'PT'): 6.0, + ('NL', 9.0, 'RO'): 5.0, + ('NL', 9.0, 'SE'): 6.0, + ('NL', 9.0, 'SI'): 9.5, + ('NL', 9.0, 'SK'): 10.0, + ('PL', 23.0, 'AT'): 20.0, + ('PL', 23.0, 'BE'): 21.0, + ('PL', 23.0, 'BG'): 20.0, + ('PL', 23.0, 'CY'): 19.0, + ('PL', 23.0, 'CZ'): 21.0, + ('PL', 23.0, 'DE'): 19.0, + ('PL', 23.0, 'DK'): 25.0, + ('PL', 23.0, 'EE'): 20.0, + ('PL', 23.0, 'ES'): 21.0, + ('PL', 23.0, 'FI'): 24.0, + ('PL', 23.0, 'FR'): 20.0, + ('PL', 23.0, 'GR'): 24.0, + ('PL', 23.0, 'HR'): 25.0, + ('PL', 23.0, 'HU'): 27.0, + ('PL', 23.0, 'IE'): 23.0, + ('PL', 23.0, 'IT'): 22.0, + ('PL', 23.0, 'LT'): 21.0, + ('PL', 23.0, 'LU'): 17.0, + ('PL', 23.0, 'LV'): 21.0, + ('PL', 23.0, 'MT'): 18.0, + ('PL', 23.0, 'NL'): 21.0, + ('PL', 23.0, 'PT'): 23.0, + ('PL', 23.0, 'RO'): 19.0, + ('PL', 23.0, 'SE'): 25.0, + ('PL', 23.0, 'SI'): 22.0, + ('PL', 23.0, 'SK'): 20.0, + ('PL', 5.0, 'AT'): 10.0, + ('PL', 5.0, 'BE'): 6.0, + ('PL', 5.0, 'BG'): 20.0, + ('PL', 5.0, 'CY'): 5.0, + ('PL', 5.0, 'CZ'): 15.0, + ('PL', 5.0, 'DE'): 7.0, + ('PL', 5.0, 'DK'): 25.0, + ('PL', 5.0, 'EE'): 9.0, + ('PL', 5.0, 'ES'): 10.0, + ('PL', 5.0, 'FI'): 10.0, + ('PL', 5.0, 'FR'): 5.5, + ('PL', 5.0, 'GR'): 13.0, + ('PL', 5.0, 'HR'): 5.0, + ('PL', 5.0, 'HU'): 5.0, + ('PL', 5.0, 'IE'): 13.5, + ('PL', 5.0, 'IT'): 4.0, + ('PL', 5.0, 'LT'): 5.0, + ('PL', 5.0, 'LU'): 8.0, + ('PL', 5.0, 'LV'): 12.0, + ('PL', 5.0, 'MT'): 5.0, + ('PL', 5.0, 'NL'): 9.0, + ('PL', 5.0, 'PT'): 6.0, + ('PL', 5.0, 'RO'): 5.0, + ('PL', 5.0, 'SE'): 6.0, + ('PL', 5.0, 'SI'): 9.5, + ('PL', 5.0, 'SK'): 10.0, + ('PL', 8.0, 'AT'): 10.0, + ('PL', 8.0, 'BE'): 6.0, + ('PL', 8.0, 'BG'): 20.0, + ('PL', 8.0, 'CY'): 5.0, + ('PL', 8.0, 'CZ'): 15.0, + ('PL', 8.0, 'DE'): 7.0, + ('PL', 8.0, 'DK'): 25.0, + ('PL', 8.0, 'EE'): 9.0, + ('PL', 8.0, 'ES'): 10.0, + ('PL', 8.0, 'FI'): 10.0, + ('PL', 8.0, 'FR'): 5.5, + ('PL', 8.0, 'GR'): 13.0, + ('PL', 8.0, 'HR'): 5.0, + ('PL', 8.0, 'HU'): 5.0, + ('PL', 8.0, 'IE'): 13.5, + ('PL', 8.0, 'IT'): 10.0, + ('PL', 8.0, 'LT'): 5.0, + ('PL', 8.0, 'LU'): 8.0, + ('PL', 8.0, 'LV'): 12.0, + ('PL', 8.0, 'MT'): 5.0, + ('PL', 8.0, 'NL'): 9.0, + ('PL', 8.0, 'PT'): 6.0, + ('PL', 8.0, 'RO'): 5.0, + ('PL', 8.0, 'SE'): 6.0, + ('PL', 8.0, 'SI'): 9.5, + ('PL', 8.0, 'SK'): 10.0, + ('PT', 13.0, 'AT'): 20.0, + ('PT', 13.0, 'BE'): 21.0, + ('PT', 13.0, 'BG'): 20.0, + ('PT', 13.0, 'CY'): 19.0, + ('PT', 13.0, 'CZ'): 21.0, + ('PT', 13.0, 'DE'): 19.0, + ('PT', 13.0, 'DK'): 25.0, + ('PT', 13.0, 'EE'): 20.0, + ('PT', 13.0, 'ES'): 21.0, + ('PT', 13.0, 'FI'): 24.0, + ('PT', 13.0, 'FR'): 20.0, + ('PT', 13.0, 'GR'): 24.0, + ('PT', 13.0, 'HR'): 25.0, + ('PT', 13.0, 'HU'): 27.0, + ('PT', 13.0, 'IE'): 23.0, + ('PT', 13.0, 'IT'): 22.0, + ('PT', 13.0, 'LT'): 21.0, + ('PT', 13.0, 'LU'): 17.0, + ('PT', 13.0, 'LV'): 21.0, + ('PT', 13.0, 'MT'): 18.0, + ('PT', 13.0, 'NL'): 21.0, + ('PT', 13.0, 'PL'): 23.0, + ('PT', 13.0, 'RO'): 21.0, + ('PT', 13.0, 'SE'): 18.0, + ('PT', 13.0, 'SI'): 21.0, + ('PT', 13.0, 'SK'): 23.0, + ('PT', 23.0, 'AT'): 20.0, + ('PT', 23.0, 'BE'): 21.0, + ('PT', 23.0, 'BG'): 20.0, + ('PT', 23.0, 'CY'): 19.0, + ('PT', 23.0, 'CZ'): 21.0, + ('PT', 23.0, 'DE'): 19.0, + ('PT', 23.0, 'DK'): 25.0, + ('PT', 23.0, 'EE'): 20.0, + ('PT', 23.0, 'ES'): 21.0, + ('PT', 23.0, 'FI'): 24.0, + ('PT', 23.0, 'FR'): 20.0, + ('PT', 23.0, 'GR'): 24.0, + ('PT', 23.0, 'HR'): 25.0, + ('PT', 23.0, 'HU'): 27.0, + ('PT', 23.0, 'IE'): 23.0, + ('PT', 23.0, 'IT'): 22.0, + ('PT', 23.0, 'LT'): 21.0, + ('PT', 23.0, 'LU'): 17.0, + ('PT', 23.0, 'LV'): 21.0, + ('PT', 23.0, 'MT'): 18.0, + ('PT', 23.0, 'NL'): 21.0, + ('PT', 23.0, 'PL'): 23.0, + ('PT', 23.0, 'RO'): 19.0, + ('PT', 23.0, 'SE'): 25.0, + ('PT', 23.0, 'SI'): 22.0, + ('PT', 23.0, 'SK'): 20.0, + ('PT', 6.0, 'AT'): 10.0, + ('PT', 6.0, 'BE'): 6.0, + ('PT', 6.0, 'BG'): 20.0, + ('PT', 6.0, 'CY'): 5.0, + ('PT', 6.0, 'CZ'): 15.0, + ('PT', 6.0, 'DE'): 7.0, + ('PT', 6.0, 'DK'): 25.0, + ('PT', 6.0, 'EE'): 9.0, + ('PT', 6.0, 'ES'): 10.0, + ('PT', 6.0, 'FI'): 10.0, + ('PT', 6.0, 'FR'): 5.5, + ('PT', 6.0, 'GR'): 13.0, + ('PT', 6.0, 'HR'): 5.0, + ('PT', 6.0, 'HU'): 5.0, + ('PT', 6.0, 'IE'): 13.5, + ('PT', 6.0, 'IT'): 4.0, + ('PT', 6.0, 'LT'): 5.0, + ('PT', 6.0, 'LU'): 8.0, + ('PT', 6.0, 'LV'): 12.0, + ('PT', 6.0, 'MT'): 5.0, + ('PT', 6.0, 'NL'): 9.0, + ('PT', 6.0, 'PL'): 8.0, + ('PT', 6.0, 'RO'): 5.0, + ('PT', 6.0, 'SE'): 6.0, + ('PT', 6.0, 'SI'): 9.5, + ('PT', 6.0, 'SK'): 10.0, + ('RO', 19.0, 'AT'): 20.0, + ('RO', 19.0, 'BE'): 21.0, + ('RO', 19.0, 'BG'): 20.0, + ('RO', 19.0, 'CY'): 19.0, + ('RO', 19.0, 'CZ'): 21.0, + ('RO', 19.0, 'DE'): 19.0, + ('RO', 19.0, 'DK'): 25.0, + ('RO', 19.0, 'EE'): 20.0, + ('RO', 19.0, 'ES'): 21.0, + ('RO', 19.0, 'FI'): 24.0, + ('RO', 19.0, 'FR'): 20.0, + ('RO', 19.0, 'GR'): 24.0, + ('RO', 19.0, 'HR'): 25.0, + ('RO', 19.0, 'HU'): 27.0, + ('RO', 19.0, 'IE'): 23.0, + ('RO', 19.0, 'IT'): 22.0, + ('RO', 19.0, 'LT'): 21.0, + ('RO', 19.0, 'LU'): 17.0, + ('RO', 19.0, 'LV'): 21.0, + ('RO', 19.0, 'MT'): 18.0, + ('RO', 19.0, 'NL'): 21.0, + ('RO', 19.0, 'PL'): 23.0, + ('RO', 19.0, 'PT'): 23.0, + ('RO', 19.0, 'SE'): 25.0, + ('RO', 19.0, 'SI'): 22.0, + ('RO', 19.0, 'SK'): 20.0, + ('RO', 5.0, 'AT'): 10.0, + ('RO', 5.0, 'BE'): 6.0, + ('RO', 5.0, 'BG'): 20.0, + ('RO', 5.0, 'CY'): 5.0, + ('RO', 5.0, 'CZ'): 15.0, + ('RO', 5.0, 'DE'): 7.0, + ('RO', 5.0, 'DK'): 25.0, + ('RO', 5.0, 'EE'): 9.0, + ('RO', 5.0, 'ES'): 10.0, + ('RO', 5.0, 'FI'): 10.0, + ('RO', 5.0, 'FR'): 5.5, + ('RO', 5.0, 'GR'): 13.0, + ('RO', 5.0, 'HR'): 5.0, + ('RO', 5.0, 'HU'): 5.0, + ('RO', 5.0, 'IE'): 13.5, + ('RO', 5.0, 'IT'): 4.0, + ('RO', 5.0, 'LT'): 5.0, + ('RO', 5.0, 'LU'): 8.0, + ('RO', 5.0, 'LV'): 12.0, + ('RO', 5.0, 'MT'): 5.0, + ('RO', 5.0, 'NL'): 9.0, + ('RO', 5.0, 'PL'): 8.0, + ('RO', 5.0, 'PT'): 6.0, + ('RO', 5.0, 'SE'): 6.0, + ('RO', 5.0, 'SI'): 9.5, + ('RO', 5.0, 'SK'): 10.0, + ('RO', 9.0, 'AT'): 10.0, + ('RO', 9.0, 'BE'): 6.0, + ('RO', 9.0, 'BG'): 20.0, + ('RO', 9.0, 'CY'): 5.0, + ('RO', 9.0, 'CZ'): 15.0, + ('RO', 9.0, 'DE'): 7.0, + ('RO', 9.0, 'DK'): 25.0, + ('RO', 9.0, 'EE'): 9.0, + ('RO', 9.0, 'ES'): 10.0, + ('RO', 9.0, 'FI'): 10.0, + ('RO', 9.0, 'FR'): 5.5, + ('RO', 9.0, 'GR'): 13.0, + ('RO', 9.0, 'HR'): 13.0, + ('RO', 9.0, 'HU'): 5.0, + ('RO', 9.0, 'IE'): 13.5, + ('RO', 9.0, 'IT'): 10.0, + ('RO', 9.0, 'LT'): 5.0, + ('RO', 9.0, 'LU'): 8.0, + ('RO', 9.0, 'LV'): 12.0, + ('RO', 9.0, 'MT'): 5.0, + ('RO', 9.0, 'NL'): 9.0, + ('RO', 9.0, 'PL'): 8.0, + ('RO', 9.0, 'PT'): 6.0, + ('RO', 9.0, 'SE'): 6.0, + ('RO', 9.0, 'SI'): 9.5, + ('RO', 9.0, 'SK'): 10.0, + ('SE', 12.0, 'AT'): 10.0, + ('SE', 12.0, 'BE'): 6.0, + ('SE', 12.0, 'BG'): 20.0, + ('SE', 12.0, 'CY'): 5.0, + ('SE', 12.0, 'CZ'): 15.0, + ('SE', 12.0, 'DE'): 7.0, + ('SE', 12.0, 'DK'): 25.0, + ('SE', 12.0, 'EE'): 9.0, + ('SE', 12.0, 'ES'): 10.0, + ('SE', 12.0, 'FI'): 10.0, + ('SE', 12.0, 'FR'): 5.5, + ('SE', 12.0, 'GR'): 13.0, + ('SE', 12.0, 'HR'): 13.0, + ('SE', 12.0, 'HU'): 5.0, + ('SE', 12.0, 'IE'): 13.5, + ('SE', 12.0, 'IT'): 10.0, + ('SE', 12.0, 'LT'): 5.0, + ('SE', 12.0, 'LU'): 8.0, + ('SE', 12.0, 'LV'): 12.0, + ('SE', 12.0, 'MT'): 5.0, + ('SE', 12.0, 'NL'): 9.0, + ('SE', 12.0, 'PL'): 8.0, + ('SE', 12.0, 'PT'): 6.0, + ('SE', 12.0, 'RO'): 5.0, + ('SE', 12.0, 'SI'): 9.5, + ('SE', 12.0, 'SK'): 10.0, + ('SE', 25.0, 'AT'): 20.0, + ('SE', 25.0, 'BE'): 21.0, + ('SE', 25.0, 'BG'): 20.0, + ('SE', 25.0, 'CY'): 19.0, + ('SE', 25.0, 'CZ'): 21.0, + ('SE', 25.0, 'DE'): 19.0, + ('SE', 25.0, 'DK'): 25.0, + ('SE', 25.0, 'EE'): 20.0, + ('SE', 25.0, 'ES'): 21.0, + ('SE', 25.0, 'FI'): 24.0, + ('SE', 25.0, 'FR'): 20.0, + ('SE', 25.0, 'GR'): 24.0, + ('SE', 25.0, 'HR'): 25.0, + ('SE', 25.0, 'HU'): 27.0, + ('SE', 25.0, 'IE'): 23.0, + ('SE', 25.0, 'IT'): 22.0, + ('SE', 25.0, 'LT'): 21.0, + ('SE', 25.0, 'LU'): 17.0, + ('SE', 25.0, 'LV'): 21.0, + ('SE', 25.0, 'MT'): 18.0, + ('SE', 25.0, 'NL'): 21.0, + ('SE', 25.0, 'PL'): 23.0, + ('SE', 25.0, 'PT'): 23.0, + ('SE', 25.0, 'RO'): 19.0, + ('SE', 25.0, 'SI'): 22.0, + ('SE', 25.0, 'SK'): 20.0, + ('SE', 6.0, 'AT'): 10.0, + ('SE', 6.0, 'BE'): 6.0, + ('SE', 6.0, 'BG'): 20.0, + ('SE', 6.0, 'CY'): 5.0, + ('SE', 6.0, 'CZ'): 15.0, + ('SE', 6.0, 'DE'): 7.0, + ('SE', 6.0, 'DK'): 25.0, + ('SE', 6.0, 'EE'): 9.0, + ('SE', 6.0, 'ES'): 10.0, + ('SE', 6.0, 'FI'): 10.0, + ('SE', 6.0, 'FR'): 5.5, + ('SE', 6.0, 'GR'): 13.0, + ('SE', 6.0, 'HR'): 5.0, + ('SE', 6.0, 'HU'): 5.0, + ('SE', 6.0, 'IE'): 13.5, + ('SE', 6.0, 'IT'): 4.0, + ('SE', 6.0, 'LT'): 5.0, + ('SE', 6.0, 'LU'): 8.0, + ('SE', 6.0, 'LV'): 12.0, + ('SE', 6.0, 'MT'): 5.0, + ('SE', 6.0, 'NL'): 9.0, + ('SE', 6.0, 'PL'): 8.0, + ('SE', 6.0, 'PT'): 6.0, + ('SE', 6.0, 'RO'): 5.0, + ('SE', 6.0, 'SI'): 9.5, + ('SE', 6.0, 'SK'): 10.0, + ('SI', 22.0, 'AT'): 20.0, + ('SI', 22.0, 'BE'): 21.0, + ('SI', 22.0, 'BG'): 20.0, + ('SI', 22.0, 'CY'): 19.0, + ('SI', 22.0, 'CZ'): 21.0, + ('SI', 22.0, 'DE'): 19.0, + ('SI', 22.0, 'DK'): 25.0, + ('SI', 22.0, 'EE'): 20.0, + ('SI', 22.0, 'ES'): 21.0, + ('SI', 22.0, 'FI'): 24.0, + ('SI', 22.0, 'FR'): 20.0, + ('SI', 22.0, 'GR'): 24.0, + ('SI', 22.0, 'HR'): 25.0, + ('SI', 22.0, 'HU'): 27.0, + ('SI', 22.0, 'IE'): 23.0, + ('SI', 22.0, 'IT'): 22.0, + ('SI', 22.0, 'LT'): 21.0, + ('SI', 22.0, 'LU'): 17.0, + ('SI', 22.0, 'LV'): 21.0, + ('SI', 22.0, 'MT'): 18.0, + ('SI', 22.0, 'NL'): 21.0, + ('SI', 22.0, 'PL'): 23.0, + ('SI', 22.0, 'PT'): 23.0, + ('SI', 22.0, 'RO'): 19.0, + ('SI', 22.0, 'SE'): 25.0, + ('SI', 22.0, 'SK'): 20.0, + ('SI', 5.0, 'AT'): 10.0, + ('SI', 5.0, 'BE'): 6.0, + ('SI', 5.0, 'BG'): 20.0, + ('SI', 5.0, 'CY'): 5.0, + ('SI', 5.0, 'CZ'): 15.0, + ('SI', 5.0, 'DE'): 7.0, + ('SI', 5.0, 'DK'): 25.0, + ('SI', 5.0, 'EE'): 9.0, + ('SI', 5.0, 'ES'): 10.0, + ('SI', 5.0, 'FI'): 10.0, + ('SI', 5.0, 'FR'): 5.5, + ('SI', 5.0, 'GR'): 13.0, + ('SI', 5.0, 'HR'): 5.0, + ('SI', 5.0, 'HU'): 5.0, + ('SI', 5.0, 'IE'): 13.5, + ('SI', 5.0, 'IT'): 4.0, + ('SI', 5.0, 'LT'): 5.0, + ('SI', 5.0, 'LU'): 8.0, + ('SI', 5.0, 'LV'): 12.0, + ('SI', 5.0, 'MT'): 5.0, + ('SI', 5.0, 'NL'): 9.0, + ('SI', 5.0, 'PL'): 8.0, + ('SI', 5.0, 'PT'): 6.0, + ('SI', 5.0, 'RO'): 5.0, + ('SI', 5.0, 'SE'): 6.0, + ('SI', 5.0, 'SK'): 10.0, + ('SI', 9.5, 'AT'): 10.0, + ('SI', 9.5, 'BE'): 6.0, + ('SI', 9.5, 'BG'): 20.0, + ('SI', 9.5, 'CY'): 5.0, + ('SI', 9.5, 'CZ'): 15.0, + ('SI', 9.5, 'DE'): 7.0, + ('SI', 9.5, 'DK'): 25.0, + ('SI', 9.5, 'EE'): 9.0, + ('SI', 9.5, 'ES'): 10.0, + ('SI', 9.5, 'FI'): 10.0, + ('SI', 9.5, 'FR'): 5.5, + ('SI', 9.5, 'GR'): 13.0, + ('SI', 9.5, 'HR'): 13.0, + ('SI', 9.5, 'HU'): 5.0, + ('SI', 9.5, 'IE'): 13.5, + ('SI', 9.5, 'IT'): 10.0, + ('SI', 9.5, 'LT'): 5.0, + ('SI', 9.5, 'LU'): 8.0, + ('SI', 9.5, 'LV'): 12.0, + ('SI', 9.5, 'MT'): 5.0, + ('SI', 9.5, 'NL'): 9.0, + ('SI', 9.5, 'PL'): 8.0, + ('SI', 9.5, 'PT'): 6.0, + ('SI', 9.5, 'RO'): 5.0, + ('SI', 9.5, 'SE'): 6.0, + ('SI', 9.5, 'SK'): 10.0, + ('SK', 10.0, 'AT'): 10.0, + ('SK', 10.0, 'BE'): 6.0, + ('SK', 10.0, 'BG'): 20.0, + ('SK', 10.0, 'CY'): 5.0, + ('SK', 10.0, 'CZ'): 15.0, + ('SK', 10.0, 'DE'): 7.0, + ('SK', 10.0, 'DK'): 25.0, + ('SK', 10.0, 'EE'): 9.0, + ('SK', 10.0, 'ES'): 10.0, + ('SK', 10.0, 'FI'): 10.0, + ('SK', 10.0, 'FR'): 5.5, + ('SK', 10.0, 'GR'): 13.0, + ('SK', 10.0, 'HR'): 5.0, + ('SK', 10.0, 'HU'): 5.0, + ('SK', 10.0, 'IE'): 13.5, + ('SK', 10.0, 'IT'): 4.0, + ('SK', 10.0, 'LT'): 5.0, + ('SK', 10.0, 'LU'): 8.0, + ('SK', 10.0, 'LV'): 12.0, + ('SK', 10.0, 'MT'): 5.0, + ('SK', 10.0, 'NL'): 9.0, + ('SK', 10.0, 'PL'): 8.0, + ('SK', 10.0, 'PT'): 6.0, + ('SK', 10.0, 'RO'): 5.0, + ('SK', 10.0, 'SE'): 6.0, + ('SK', 10.0, 'SI'): 9.5, + ('SK', 20.0, 'AT'): 20.0, + ('SK', 20.0, 'BE'): 21.0, + ('SK', 20.0, 'BG'): 20.0, + ('SK', 20.0, 'CY'): 19.0, + ('SK', 20.0, 'CZ'): 21.0, + ('SK', 20.0, 'DE'): 19.0, + ('SK', 20.0, 'DK'): 25.0, + ('SK', 20.0, 'EE'): 20.0, + ('SK', 20.0, 'ES'): 21.0, + ('SK', 20.0, 'FI'): 24.0, + ('SK', 20.0, 'FR'): 20.0, + ('SK', 20.0, 'GR'): 24.0, + ('SK', 20.0, 'HR'): 25.0, + ('SK', 20.0, 'HU'): 27.0, + ('SK', 20.0, 'IE'): 23.0, + ('SK', 20.0, 'IT'): 22.0, + ('SK', 20.0, 'LT'): 21.0, + ('SK', 20.0, 'LU'): 17.0, + ('SK', 20.0, 'LV'): 21.0, + ('SK', 20.0, 'MT'): 18.0, + ('SK', 20.0, 'NL'): 21.0, + ('SK', 20.0, 'PL'): 23.0, + ('SK', 20.0, 'PT'): 23.0, + ('SK', 20.0, 'RO'): 19.0, + ('SK', 20.0, 'SE'): 25.0, + ('SK', 20.0, 'SI'): 22.0, +} diff --git a/addons/l10n_eu_service/models/res_company.py b/addons/l10n_eu_service/models/res_company.py new file mode 100644 index 00000000..1c4d7b05 --- /dev/null +++ b/addons/l10n_eu_service/models/res_company.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ +from .eu_tax_map import EU_TAX_MAP + + +class Company(models.Model): + _inherit = 'res.company' + + @api.model + def _map_all_eu_companies_taxes(self): + ''' Identifies EU companies and calls the _map_eu_taxes function + ''' + eu_countries = self.env.ref('base.europe').country_ids + companies = self.search([('account_tax_fiscal_country_id','in', eu_countries.ids)]) + companies._map_eu_taxes() + + def _map_eu_taxes(self): + '''Creates or updates Fiscal Positions for each EU country excluding the company's account_tax_fiscal_country_id + ''' + eu_countries = self.env.ref('base.europe').country_ids + oss_tax_groups = self.env['ir.model.data'].search([ + ('module', '=', 'l10n_eu_service'), + ('model', '=', 'account.tax.group')]) + for company in self: + invoice_repartition_lines, refund_repartition_lines = company._get_repartition_lines_oss() + taxes = self.env['account.tax'].search([ + ('type_tax_use', '=', 'sale'), + ('amount_type', '=', 'percent'), + ('company_id','=', company.id), + ('tax_group_id', 'not in', oss_tax_groups.mapped('res_id'))]) + for country in eu_countries - company.account_tax_fiscal_country_id: + mapping = [] + fpos = self.env['account.fiscal.position'].search([ + ('country_id', '=', country.id), + ('company_id', '=', company.id), + ('auto_apply', '=', True), + ('vat_required', '=', False)], limit=1) + if not fpos: + fpos = self.env['account.fiscal.position'].create({ + 'name': 'OSS B2C %s' % country.name, + 'country_id': country.id, + 'company_id': company.id, + 'auto_apply': True, + }) + + foreign_taxes = {tax.amount: tax for tax in fpos.tax_ids.tax_dest_id if tax.amount_type == 'percent'} + + for domestic_tax in taxes: + tax_amount = EU_TAX_MAP.get((company.account_tax_fiscal_country_id.code, domestic_tax.amount, country.code), False) + if tax_amount and domestic_tax not in fpos.tax_ids.tax_src_id: + if not foreign_taxes.get(tax_amount, False): + if not self.env['ir.model.data'].xmlid_to_object('l10n_eu_service.oss_tax_group_%s' % str(tax_amount).replace('.','_')): + self.env['ir.model.data'].create({ + 'name': 'oss_tax_group_%s' % str(tax_amount).replace('.','_'), + 'module': 'l10n_eu_service', + 'model': 'account.tax.group', + 'res_id': self.env['account.tax.group'].create({'name': 'OSS %s%%' % tax_amount}).id, + 'noupdate': True, + }) + foreign_taxes[tax_amount] = self.env['account.tax'].create({ + 'name': '%(rate)s%% %(country)s %(label)s' % {'rate': tax_amount, 'country': country.code, 'label': country.vat_label}, + 'amount': tax_amount, + 'invoice_repartition_line_ids': invoice_repartition_lines, + 'refund_repartition_line_ids': refund_repartition_lines, + 'type_tax_use': 'sale', + 'description': "%s%%" % tax_amount, + 'tax_group_id': self.env.ref('l10n_eu_service.oss_tax_group_%s' % str(tax_amount).replace('.','_')).id, + 'sequence': 1000, + 'company_id': company.id, + }) + mapping.append((0, 0, {'tax_src_id': domestic_tax.id, 'tax_dest_id': foreign_taxes[tax_amount].id})) + if mapping: + fpos.write({ + 'tax_ids': mapping + }) + + def _get_repartition_lines_oss(self): + self.ensure_one() + defaults = self.env['account.tax'].with_company(self).default_get(['invoice_repartition_line_ids', 'refund_repartition_line_ids']) + oss_account = self._get_oss_account() + if oss_account: + defaults['invoice_repartition_line_ids'][1][2]['account_id'] = oss_account.id + defaults['refund_repartition_line_ids'][1][2]['account_id'] = oss_account.id + return defaults['invoice_repartition_line_ids'], defaults['refund_repartition_line_ids'] + + def _get_oss_account(self): + self.ensure_one() + if not self.env['ir.model.data'].xmlid_to_object('l10n_eu_service.oss_tax_account_company_%s' % self.id): + sales_tax_accounts = self.env['account.tax'].search([ + ('type_tax_use', '=', 'sale'), + ('company_id', '=', self.id) + ]).invoice_repartition_line_ids.mapped('account_id') + if not sales_tax_accounts: + return False + new_code = self.env['account.account']._search_new_account_code(self, len(sales_tax_accounts[0].code), sales_tax_accounts[0].code[:-2]) + oss_account = self.env['account.account'].create({ + 'name': '%s OSS' % sales_tax_accounts[0].name, + 'code': new_code, + 'user_type_id': sales_tax_accounts[0].user_type_id.id, + 'company_id': self.id, + }) + self.env['ir.model.data'].create({ + 'name': 'oss_tax_account_company_%s' % self.id, + 'module': 'l10n_eu_service', + 'model': 'account.account', + 'res_id': oss_account.id, + 'noupdate': True, + }) + return self.env.ref('l10n_eu_service.oss_tax_account_company_%s' % self.id) diff --git a/addons/l10n_eu_service/models/res_config_settings.py b/addons/l10n_eu_service/models/res_config_settings.py new file mode 100644 index 00000000..05ef7b46 --- /dev/null +++ b/addons/l10n_eu_service/models/res_config_settings.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + l10n_eu_services_eu_country = fields.Boolean('Is European country?', compute='_compute_l10n_eu_services_european_country') + + def refresh_eu_tax_mapping(self): + self.env.companies._map_eu_taxes() + + @api.depends('company_id') + def _compute_l10n_eu_services_european_country(self): + european_countries = self.env.ref('base.europe').country_ids + for record in self: + record.l10n_eu_services_eu_country = record.company_id.account_tax_fiscal_country_id in european_countries |
