arelle-release 2.37.31__py3-none-any.whl → 2.37.32__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arelle-release might be problematic. Click here for more details.
- arelle/_version.py +2 -2
- arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +14 -6
- arelle/plugin/validate/NL/PluginValidationDataExtension.py +3 -0
- arelle/plugin/validate/NL/ValidationPluginExtension.py +31 -2
- arelle/plugin/validate/NL/rules/nl_kvk.py +36 -1
- arelle/plugin/validate/UK/__init__.py +5 -4
- arelle/utils/validate/ESEFImage.py +16 -7
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/METADATA +1 -1
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/RECORD +13 -13
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/WHEEL +0 -0
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/entry_points.txt +0 -0
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/licenses/LICENSE.md +0 -0
- {arelle_release-2.37.31.dist-info → arelle_release-2.37.32.dist-info}/top_level.txt +0 -0
arelle/_version.py
CHANGED
|
@@ -1112,18 +1112,26 @@ def validateCssUrl(cssContent:str, normalizedUri:str, modelXbrl: ModelXbrl, val:
|
|
|
1112
1112
|
_("Fonts SHOULD be included in the XHTML document as a base64 encoded string: %(file)s."),
|
|
1113
1113
|
modelObject=elt, file=css_rule.value)
|
|
1114
1114
|
if isinstance(css_element, tinycss2.ast.QualifiedRule):
|
|
1115
|
-
validateCssUrlContent(css_element.content, normalizedUri, modelXbrl, val, elt, params)
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
def validateCssUrlContent(
|
|
1115
|
+
validateCssUrlContent(css_element.content, normalizedUri, modelXbrl, val, elt, params, css_element.prelude)
|
|
1116
|
+
|
|
1117
|
+
|
|
1118
|
+
def validateCssUrlContent(
|
|
1119
|
+
cssRules: list[Any],
|
|
1120
|
+
normalizedUri:str,
|
|
1121
|
+
modelXbrl: ModelXbrl,
|
|
1122
|
+
val: ValidateXbrl,
|
|
1123
|
+
elt: ModelObject,
|
|
1124
|
+
params: ImageValidationParameters,
|
|
1125
|
+
prelude: list[Any] | None = None,
|
|
1126
|
+
) -> None:
|
|
1119
1127
|
for css_rule in cssRules:
|
|
1120
1128
|
if isinstance(css_rule, tinycss2.ast.FunctionBlock):
|
|
1121
1129
|
if css_rule.lower_name == "url":
|
|
1122
1130
|
if len(css_rule.arguments):
|
|
1123
1131
|
css_rule_url = css_rule.arguments[0].value # url or base64
|
|
1124
1132
|
evaluatedMsg = _('On line {line}').format(line=1) #css_element.source_line)
|
|
1125
|
-
validateImageAndLog(normalizedUri, css_rule_url, modelXbrl, val, elt, evaluatedMsg, params)
|
|
1133
|
+
validateImageAndLog(normalizedUri, css_rule_url, modelXbrl, val, elt, evaluatedMsg, params, prelude)
|
|
1126
1134
|
elif isinstance(css_rule, tinycss2.ast.URLToken):
|
|
1127
1135
|
value = css_rule.value
|
|
1128
1136
|
evaluatedMsg = _('On line {line}').format(line=1) #css_element.source_line)
|
|
1129
|
-
validateImageAndLog(normalizedUri, value, modelXbrl, val, elt, evaluatedMsg, params)
|
|
1137
|
+
validateImageAndLog(normalizedUri, value, modelXbrl, val, elt, evaluatedMsg, params, prelude)
|
|
@@ -226,6 +226,9 @@ class PluginValidationDataExtension(PluginData):
|
|
|
226
226
|
financialReportingPeriodPreviousStartDateQn: QName
|
|
227
227
|
financialReportingPeriodPreviousEndDateQn: QName
|
|
228
228
|
formattedExplanationItemTypeQn: QName
|
|
229
|
+
ifrsIdentifier: str
|
|
230
|
+
permissibleGAAPRootAbstracts: frozenset[QName]
|
|
231
|
+
permissibleIFRSRootAbstracts: frozenset[QName]
|
|
229
232
|
textFormattingSchemaPath: str
|
|
230
233
|
textFormattingWrapper: str
|
|
231
234
|
|
|
@@ -22,9 +22,11 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
22
22
|
def newPluginData(self, validateXbrl: ValidateXbrl) -> PluginValidationDataExtension:
|
|
23
23
|
disclosureSystem = validateXbrl.disclosureSystem.name
|
|
24
24
|
if disclosureSystem == DISCLOSURE_SYSTEM_NT16:
|
|
25
|
+
ifrsNamespace = None
|
|
25
26
|
jenvNamespace = 'http://www.nltaxonomie.nl/nt16/jenv/20211208/dictionary/jenv-bw2-data'
|
|
26
27
|
kvkINamespace = 'http://www.nltaxonomie.nl/nt16/kvk/20211208/dictionary/kvk-data'
|
|
27
28
|
nlTypesNamespace = 'http://www.nltaxonomie.nl/nt16/sbr/20210301/dictionary/nl-types'
|
|
29
|
+
rjNamespace = None
|
|
28
30
|
entrypointRoot = 'http://www.nltaxonomie.nl/nt16/kvk/20211208/entrypoints/'
|
|
29
31
|
entrypoints = {entrypointRoot + e for e in [
|
|
30
32
|
'kvk-rpt-jaarverantwoording-2021-ifrs-full.xsd',
|
|
@@ -58,9 +60,11 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
58
60
|
'kvk-rpt-jaarverantwoording-2021-nlgaap-zorginstellingen.xsd',
|
|
59
61
|
]}
|
|
60
62
|
elif disclosureSystem == DISCLOSURE_SYSTEM_NT17:
|
|
63
|
+
ifrsNamespace = None
|
|
61
64
|
jenvNamespace = 'http://www.nltaxonomie.nl/nt17/jenv/20221214/dictionary/jenv-bw2-data'
|
|
62
65
|
kvkINamespace = 'http://www.nltaxonomie.nl/nt17/kvk/20221214/dictionary/kvk-data'
|
|
63
66
|
nlTypesNamespace = 'http://www.nltaxonomie.nl/nt17/sbr/20220301/dictionary/nl-types'
|
|
67
|
+
rjNamespace = None
|
|
64
68
|
entrypointRoot = 'http://www.nltaxonomie.nl/nt17/kvk/20221214/entrypoints/'
|
|
65
69
|
entrypoints = {entrypointRoot + e for e in [
|
|
66
70
|
'kvk-rpt-jaarverantwoording-2022-ifrs-full.xsd',
|
|
@@ -95,9 +99,11 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
95
99
|
'kvk-rpt-jaarverantwoording-2022-nlgaap-zorginstellingen.xsd',
|
|
96
100
|
]}
|
|
97
101
|
elif disclosureSystem == DISCLOSURE_SYSTEM_NT18:
|
|
102
|
+
ifrsNamespace = None
|
|
98
103
|
jenvNamespace = 'http://www.nltaxonomie.nl/nt18/jenv/20231213/dictionary/jenv-bw2-data'
|
|
99
104
|
kvkINamespace = 'http://www.nltaxonomie.nl/nt18/kvk/20231213/dictionary/kvk-data'
|
|
100
105
|
nlTypesNamespace = 'http://www.nltaxonomie.nl/nt18/sbr/20230301/dictionary/nl-types'
|
|
106
|
+
rjNamespace = None
|
|
101
107
|
entrypointRoot = 'http://www.nltaxonomie.nl/nt18/kvk/20231213/entrypoints/'
|
|
102
108
|
entrypoints = {entrypointRoot + e for e in [
|
|
103
109
|
'kvk-rpt-jaarverantwoording-2023-ifrs-full.xsd',
|
|
@@ -132,9 +138,11 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
132
138
|
'kvk-rpt-jaarverantwoording-2023-nlgaap-zorginstellingen.xsd',
|
|
133
139
|
]}
|
|
134
140
|
elif disclosureSystem == DISCLOSURE_SYSTEM_NT19:
|
|
141
|
+
ifrsNamespace = None
|
|
135
142
|
jenvNamespace = 'http://www.nltaxonomie.nl/nt19/jenv/20241211/dictionary/jenv-bw2-data'
|
|
136
143
|
kvkINamespace = 'http://www.nltaxonomie.nl/nt19/kvk/20241211/dictionary/kvk-data'
|
|
137
144
|
nlTypesNamespace = 'http://www.nltaxonomie.nl/nt19/sbr/20240301/dictionary/nl-types'
|
|
145
|
+
rjNamespace = None
|
|
138
146
|
entrypointRoot = 'http://www.nltaxonomie.nl/nt19/kvk/20241211/entrypoints/'
|
|
139
147
|
entrypoints = {entrypointRoot + e for e in [
|
|
140
148
|
'kvk-rpt-jaarverantwoording-2024-ifrs-full.xsd',
|
|
@@ -169,18 +177,22 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
169
177
|
'kvk-rpt-jaarverantwoording-2024-nlgaap-zorginstellingen.xsd',
|
|
170
178
|
]}
|
|
171
179
|
elif disclosureSystem == DISCLOSURE_SYSTEM_NL_INLINE_2024:
|
|
180
|
+
ifrsNamespace = 'https://xbrl.ifrs.org/taxonomy/2024-03-27/ifrs-full'
|
|
172
181
|
jenvNamespace = 'https://www.nltaxonomie.nl/bw2-titel9/2024-12-31/bw2-titel9-cor'
|
|
173
|
-
kvkINamespace =
|
|
182
|
+
kvkINamespace = 'https://www.nltaxonomie.nl/kvk/2024-12-31/kvk-cor'
|
|
174
183
|
nlTypesNamespace = None
|
|
184
|
+
rjNamespace = 'https://www.nltaxonomie.nl/rj/2024-12-31/rj-cor'
|
|
175
185
|
entrypointRoot = 'http://www.nltaxonomie.nl/kvk/2024-12-31/'
|
|
176
186
|
entrypoints = {entrypointRoot + e for e in [
|
|
177
187
|
'kvk-annual-report-ifrs-ext.xsd',
|
|
178
188
|
'kvk-annual-report-nlgaap-ext.xsd',
|
|
179
189
|
]}
|
|
180
190
|
elif disclosureSystem == DISCLOSURE_SYSTEM_NL_INLINE_2024_GAAP_OTHER:
|
|
191
|
+
ifrsNamespace = 'https://xbrl.ifrs.org/taxonomy/2024-03-27/ifrs-full'
|
|
181
192
|
jenvNamespace = 'https://www.nltaxonomie.nl/bw2-titel9/2024-12-31/bw2-titel9-cor'
|
|
182
|
-
kvkINamespace =
|
|
193
|
+
kvkINamespace = 'https://www.nltaxonomie.nl/kvk/2024-12-31/kvk-cor'
|
|
183
194
|
nlTypesNamespace = None
|
|
195
|
+
rjNamespace = 'https://www.nltaxonomie.nl/rj/2024-12-31/rj-cor'
|
|
184
196
|
entrypointRoot = 'http://www.nltaxonomie.nl/kvk/2024-12-31/'
|
|
185
197
|
entrypoints = {entrypointRoot + e for e in [
|
|
186
198
|
'kvk-annual-report-other-gaap.xsd',
|
|
@@ -201,6 +213,23 @@ class ValidationPluginExtension(ValidationPlugin):
|
|
|
201
213
|
financialReportingPeriodPreviousStartDateQn=qname(f'{{{jenvNamespace}}}FinancialReportingPeriodPreviousStartDate'),
|
|
202
214
|
financialReportingPeriodPreviousEndDateQn=qname(f'{{{jenvNamespace}}}FinancialReportingPeriodPreviousEndDate'),
|
|
203
215
|
formattedExplanationItemTypeQn=qname(f'{{{nlTypesNamespace}}}formattedExplanationItemType'),
|
|
216
|
+
ifrsIdentifier = 'https://xbrl.ifrs.org',
|
|
217
|
+
permissibleGAAPRootAbstracts=frozenset([
|
|
218
|
+
qname(f'{{{jenvNamespace}}}BalanceSheetTitle'),
|
|
219
|
+
qname(f'{{{jenvNamespace}}}IncomeStatementTitle'),
|
|
220
|
+
qname(f'{{{jenvNamespace}}}StatementOfComprehensiveIncomeTitle'),
|
|
221
|
+
qname(f'{{{jenvNamespace}}}EquityStatementOfChangesTitle'),
|
|
222
|
+
qname(f'{{{kvkINamespace}}}AnnualReportFilingInformationTitle'),
|
|
223
|
+
qname(f'{{{rjNamespace}}}StatementOfCashFlowsTitle'),
|
|
224
|
+
]),
|
|
225
|
+
permissibleIFRSRootAbstracts=frozenset([
|
|
226
|
+
qname(f'{{{ifrsNamespace}}}StatementOfFinancialPositionAbstract'),
|
|
227
|
+
qname(f'{{{ifrsNamespace}}}IncomeStatementAbstract'),
|
|
228
|
+
qname(f'{{{ifrsNamespace}}}StatementOfComprehensiveIncomeAbstract'),
|
|
229
|
+
qname(f'{{{ifrsNamespace}}}StatementOfCashFlowsAbstract'),
|
|
230
|
+
qname(f'{{{ifrsNamespace}}}StatementOfChangesInEquityAbstract'),
|
|
231
|
+
qname(f'{{{kvkINamespace}}}AnnualReportFilingInformationTitle'),
|
|
232
|
+
]),
|
|
204
233
|
textFormattingSchemaPath='sbr-text-formatting.xsd',
|
|
205
234
|
textFormattingWrapper='<formattedText xmlns="http://www.nltaxonomie.nl/2017/xbrl/sbr-text-formatting">{}</formattedText>',
|
|
206
235
|
)
|
|
@@ -18,7 +18,7 @@ from arelle.ModelInstanceObject import ModelInlineFact
|
|
|
18
18
|
from arelle.ModelObject import ModelObject
|
|
19
19
|
from arelle.PrototypeDtsObject import PrototypeObject
|
|
20
20
|
from arelle.ValidateDuplicateFacts import getDuplicateFactSets
|
|
21
|
-
from arelle.XbrlConst import standardLabel
|
|
21
|
+
from arelle.XbrlConst import parentChild, standardLabel
|
|
22
22
|
from arelle.XmlValidateConst import VALID
|
|
23
23
|
|
|
24
24
|
from arelle import XbrlConst, XmlUtil, ModelDocument
|
|
@@ -1798,6 +1798,41 @@ def rule_nl_kvk_6_1_1_1(
|
|
|
1798
1798
|
)
|
|
1799
1799
|
|
|
1800
1800
|
|
|
1801
|
+
@validation(
|
|
1802
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1803
|
+
disclosureSystems=NL_INLINE_GAAP_IFRS_DISCLOSURE_SYSTEMS,
|
|
1804
|
+
)
|
|
1805
|
+
def rule_nl_kvk_RTS_Annex_II_Par_1_RTS_Annex_IV_par_7(
|
|
1806
|
+
pluginData: PluginValidationDataExtension,
|
|
1807
|
+
val: ValidateXbrl,
|
|
1808
|
+
*args: Any,
|
|
1809
|
+
**kwargs: Any,
|
|
1810
|
+
) -> Iterable[Validation]:
|
|
1811
|
+
"""
|
|
1812
|
+
NL-KVK.RTS_Annex_II_Par_1_RTS_Annex_IV_par_7: Legal entities should mark all amounts in a designated currency included in a. the balance sheet, income statement, cash flow statement,
|
|
1813
|
+
statement of comprehensive income and statement of changes in equity of the (consolidated) financial statements based on NL-GAAP; or b. the statement of financial position,
|
|
1814
|
+
the income statement (separately or as part of the statement of comprehensive income), the statement of comprehensive income, the statement of changes in equity and
|
|
1815
|
+
the statement of cash flows of the (consolidated) financial statements based on IFRS.
|
|
1816
|
+
"""
|
|
1817
|
+
warnings = []
|
|
1818
|
+
permissibleAbstracts = pluginData.permissibleGAAPRootAbstracts
|
|
1819
|
+
ifrsMatch = any(k.startswith(pluginData.ifrsIdentifier) for k in val.modelXbrl.namespaceDocs.keys())
|
|
1820
|
+
if ifrsMatch:
|
|
1821
|
+
permissibleAbstracts = pluginData.permissibleIFRSRootAbstracts
|
|
1822
|
+
for ELR in val.modelXbrl.relationshipSet(parentChild).linkRoleUris:
|
|
1823
|
+
relSet = val.modelXbrl.relationshipSet(parentChild, ELR)
|
|
1824
|
+
for rootConcept in relSet.rootConcepts:
|
|
1825
|
+
if relSet.fromModelObject(rootConcept):
|
|
1826
|
+
if not rootConcept.qname in permissibleAbstracts:
|
|
1827
|
+
warnings.append(rootConcept)
|
|
1828
|
+
if len(warnings) > 0:
|
|
1829
|
+
yield Validation.warning(
|
|
1830
|
+
codes='NL.NL-KVK.RTS_Annex_II_Par_1_RTS_Annex_IV_par_7.missingRelevantPlaceholder',
|
|
1831
|
+
msg=_('A root abstract is being used that is not one of the starting abstracts defined by the regulator. Review abstracts in use and update to defined abstracts.'),
|
|
1832
|
+
modelObject=warnings
|
|
1833
|
+
)
|
|
1834
|
+
|
|
1835
|
+
|
|
1801
1836
|
@validation(
|
|
1802
1837
|
hook=ValidationHook.XBRL_FINALLY,
|
|
1803
1838
|
disclosureSystems=NL_INLINE_GAAP_IFRS_DISCLOSURE_SYSTEMS,
|
|
@@ -454,7 +454,7 @@ def validateXbrlFinally(val, *args, **kwargs):
|
|
|
454
454
|
_("Image scope must be base-64 encoded string (starting with data:image/*;base64), *=gif, jpeg or png. src disallowed: %(src)s."),
|
|
455
455
|
modelObject=elt, src=attrValue[:128])
|
|
456
456
|
for elt in rootElt.iterdescendants(tag="{http://www.w3.org/1999/xhtml}style"):
|
|
457
|
-
|
|
457
|
+
_validateStyleElement(elt, modelXbrl)
|
|
458
458
|
for elt in rootElt.xpath("//xhtml:*[@style]", namespaces={"xhtml": "http://www.w3.org/1999/xhtml"}):
|
|
459
459
|
_validateStyleAttribute(elt, modelXbrl)
|
|
460
460
|
|
|
@@ -468,7 +468,7 @@ def validateXbrlFinally(val, *args, **kwargs):
|
|
|
468
468
|
modelXbrl.modelManager.showStatus(None)
|
|
469
469
|
|
|
470
470
|
|
|
471
|
-
def
|
|
471
|
+
def _validateStyleElement(elt, modelXbrl):
|
|
472
472
|
cssElements = tinycss2.parse_stylesheet(elt.text)
|
|
473
473
|
for css_element in cssElements:
|
|
474
474
|
if isinstance(css_element, tinycss2.ast.QualifiedRule):
|
|
@@ -479,9 +479,10 @@ def _validateScriptElement(elt, modelXbrl):
|
|
|
479
479
|
elif _isExternalImageUrl(cssProperty, elem):
|
|
480
480
|
modelXbrl.error(
|
|
481
481
|
"HMRC.SG.3.8",
|
|
482
|
-
_("Style element has disallowed image reference: %(styleImage)s."),
|
|
482
|
+
_("Style element has disallowed image reference: %(cssSelectors)s, %(styleImage)s."),
|
|
483
483
|
modelObject=elt,
|
|
484
|
-
|
|
484
|
+
cssSelectors=tinycss2.serialize(css_element.prelude).strip(),
|
|
485
|
+
styleImage=elem.arguments[0].value,
|
|
485
486
|
)
|
|
486
487
|
return
|
|
487
488
|
elif isinstance(css_element, tinycss2.ast.ParseError):
|
|
@@ -5,22 +5,22 @@ from __future__ import annotations
|
|
|
5
5
|
|
|
6
6
|
import binascii
|
|
7
7
|
import os
|
|
8
|
-
|
|
8
|
+
from collections.abc import Iterable
|
|
9
9
|
from dataclasses import dataclass
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import Any, cast
|
|
11
11
|
from urllib.parse import unquote
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
from lxml.etree import _Element
|
|
13
|
+
import tinycss2 # type: ignore[import-untyped]
|
|
14
|
+
from lxml.etree import XML, XMLSyntaxError, _Element
|
|
15
15
|
|
|
16
16
|
from arelle import ModelDocument
|
|
17
17
|
from arelle.ModelObjectFactory import parser
|
|
18
18
|
from arelle.ModelXbrl import ModelXbrl
|
|
19
|
+
from arelle.typing import TypeGetText
|
|
19
20
|
from arelle.UrlUtil import decodeBase64DataImage, scheme
|
|
21
|
+
from arelle.utils.validate.Validation import Validation
|
|
20
22
|
from arelle.ValidateFilingText import parseImageDataURL, validateGraphicHeaderType
|
|
21
23
|
from arelle.ValidateXbrl import ValidateXbrl
|
|
22
|
-
from arelle.typing import TypeGetText
|
|
23
|
-
from arelle.utils.validate.Validation import Validation
|
|
24
24
|
|
|
25
25
|
_: TypeGetText # Handle gettext
|
|
26
26
|
|
|
@@ -61,7 +61,9 @@ def validateImageAndLog(
|
|
|
61
61
|
elts: _Element | list[_Element],
|
|
62
62
|
evaluatedMsg: str,
|
|
63
63
|
params: ImageValidationParameters,
|
|
64
|
+
prelude: list[Any] | None = None,
|
|
64
65
|
) -> None:
|
|
66
|
+
cssSelectors = None
|
|
65
67
|
for validation in validateImage(
|
|
66
68
|
baseUrl=baseUrl,
|
|
67
69
|
image=image,
|
|
@@ -71,7 +73,14 @@ def validateImageAndLog(
|
|
|
71
73
|
evaluatedMsg=evaluatedMsg,
|
|
72
74
|
params=params,
|
|
73
75
|
):
|
|
74
|
-
|
|
76
|
+
if cssSelectorsArg := validation.args.get("cssSelectors"):
|
|
77
|
+
raise ValueError(_("The 'cssSelectors' argument is reserved to record the CSS selector. It should not be present in the validation arguments: {}").format(cssSelectorsArg))
|
|
78
|
+
if prelude and cssSelectors is None:
|
|
79
|
+
cssSelectors = tinycss2.serialize(prelude).strip()
|
|
80
|
+
args = validation.args.copy()
|
|
81
|
+
if cssSelectors:
|
|
82
|
+
args["cssSelectors"] = cssSelectors
|
|
83
|
+
modelXbrl.log(level=validation.level.name, codes=validation.codes, msg=validation.msg, **args)
|
|
75
84
|
|
|
76
85
|
# check image contents against mime/file ext and for Steganography
|
|
77
86
|
def validateImage(
|
|
@@ -123,7 +123,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
|
|
|
123
123
|
arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
|
|
124
124
|
arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
|
|
125
125
|
arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
arelle/_version.py,sha256=
|
|
126
|
+
arelle/_version.py,sha256=m-gO1caTwfeHVfdBB-QTMwoN7CB9yG_i_tAd7ghMNoo,515
|
|
127
127
|
arelle/typing.py,sha256=PRe-Fxwr2SBqYYUVPCJ3E7ddDX0_oOISNdT5Q97EbRM,1246
|
|
128
128
|
arelle/api/Session.py,sha256=5KPjCIPiNuanKrz1MdFdKIx8Bg40Pk9sf2cL9OU4x-E,7770
|
|
129
129
|
arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
|
|
@@ -409,7 +409,7 @@ arelle/plugin/validate/ESEF/ESEF_2021/Image.py,sha256=4bnhuy5viBU0viPjb4FhcRRjVV
|
|
|
409
409
|
arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py,sha256=l4Nl-QuYJlM4WDpg87YjTwMUh05VP7tNq86gLFhWHyE,63380
|
|
410
410
|
arelle/plugin/validate/ESEF/ESEF_2021/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
411
411
|
arelle/plugin/validate/ESEF/ESEF_Current/DTS.py,sha256=epp-PBh1NJzQqgxUE6C468HmoDc2w3j54rMwfiOAry4,29334
|
|
412
|
-
arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py,sha256=
|
|
412
|
+
arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py,sha256=tGoQSorcO-lhuL37aqrfSDBBRtsMyHQuwILAiFbzwHs,73769
|
|
413
413
|
arelle/plugin/validate/ESEF/ESEF_Current/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
414
414
|
arelle/plugin/validate/ESEF/resources/authority-validations.json,sha256=JriLZ45KmUYlQiPbXJCAahobqdrst64Ay77bofZhB5Q,14940
|
|
415
415
|
arelle/plugin/validate/ESEF/resources/config.xml,sha256=t3STU_-QYM7Ay8YwZRPapnohiWVWhjfr4L2Rjx9xN9U,3902
|
|
@@ -418,8 +418,8 @@ arelle/plugin/validate/FERC/config.xml,sha256=bn9b8eCqJA1J62rYq1Nz85wJrMGAahVmmn
|
|
|
418
418
|
arelle/plugin/validate/FERC/resources/ferc-utr.xml,sha256=OCRj9IUpdXATCBXKbB71apYx9kxcNtZW-Hq4s-avsRY,2663
|
|
419
419
|
arelle/plugin/validate/NL/DisclosureSystems.py,sha256=urRmYJ8RnGPlTgSVKW7zGN4_4CtL3OVKlcI3LwTpBz4,561
|
|
420
420
|
arelle/plugin/validate/NL/LinkbaseType.py,sha256=BwRQl4XZFFCopufC2FEMLhYENNTk2JUWVQvnIUsaqtI,3108
|
|
421
|
-
arelle/plugin/validate/NL/PluginValidationDataExtension.py,sha256=
|
|
422
|
-
arelle/plugin/validate/NL/ValidationPluginExtension.py,sha256=
|
|
421
|
+
arelle/plugin/validate/NL/PluginValidationDataExtension.py,sha256=PQFQmJWLDqe4LXBMQ0u1VyaCejoUCaFzURrsyADZ-0Y,34793
|
|
422
|
+
arelle/plugin/validate/NL/ValidationPluginExtension.py,sha256=Pjg-tOTTn3qi5G-Ue1i8AmCXz5uGeFZlemdeL1O8HCA,17872
|
|
423
423
|
arelle/plugin/validate/NL/__init__.py,sha256=W-SHohiAWM7Yi77gAbt-D3vvZNAB5s1j16mHCTFta6w,3158
|
|
424
424
|
arelle/plugin/validate/NL/resources/config.xml,sha256=qBE6zywFSmemBSWonuTII5iuOCUlNb1nvkpMbsZb5PM,1853
|
|
425
425
|
arelle/plugin/validate/NL/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -427,7 +427,7 @@ arelle/plugin/validate/NL/rules/br_kvk.py,sha256=0SwKieWzTDm3YMsXPS6zTdgbk7_Z9Cz
|
|
|
427
427
|
arelle/plugin/validate/NL/rules/fg_nl.py,sha256=4Puq5wAjtK_iNd4wisH_R0Z_EKJ7MT2OCai5g4t1MPE,10714
|
|
428
428
|
arelle/plugin/validate/NL/rules/fr_kvk.py,sha256=kYqXt45S6eM32Yg9ii7pUhOMfJaHurgYqQ73FyQALs8,8171
|
|
429
429
|
arelle/plugin/validate/NL/rules/fr_nl.py,sha256=-M1WtXp06khhtkfOVPCa-b8UbC281gk4YfDhvtAVlnI,31424
|
|
430
|
-
arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=
|
|
430
|
+
arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=oDEFuHtrTsHyTFncJ0haWYifNxr6LcQ7Q4JDm0cUxWQ,90426
|
|
431
431
|
arelle/plugin/validate/ROS/DisclosureSystems.py,sha256=rJ81mwQDYTi6JecFZ_zhqjjz3VNQRgjHNSh0wcQWAQE,18
|
|
432
432
|
arelle/plugin/validate/ROS/PluginValidationDataExtension.py,sha256=IV7ILhNvgKwQXqbpSA6HRNt9kEnejCyMADI3wyyIgk0,4036
|
|
433
433
|
arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=FBhEp8t396vGdvCbMEimfcxmGiGnhXMen-yVLWnkFaI,758
|
|
@@ -437,7 +437,7 @@ arelle/plugin/validate/ROS/resources/config.xml,sha256=HXWume5HlrAqOx5AtiWWqgADb
|
|
|
437
437
|
arelle/plugin/validate/ROS/rules/__init__.py,sha256=wW7BUAIb7sRkOxC1Amc_ZKrz03FM-Qh1TyZe6wxYaAU,1567
|
|
438
438
|
arelle/plugin/validate/ROS/rules/ros.py,sha256=6DciQvv3H9QCEaDgINfHejZd196pEulUcQHk2qqMWhs,19921
|
|
439
439
|
arelle/plugin/validate/UK/ValidateUK.py,sha256=0UhSwsY1lrY-EAEBJJR9QY38YXGBZ6PEgmuC5gQfBlI,57813
|
|
440
|
-
arelle/plugin/validate/UK/__init__.py,sha256=
|
|
440
|
+
arelle/plugin/validate/UK/__init__.py,sha256=KE6s_B-EvrHDCtWQz2N_wQwyx_ZbWhYNV2GfQnluxMw,30655
|
|
441
441
|
arelle/plugin/validate/UK/config.xml,sha256=mUFhWDfBzGTn7v0ZSmf4HaweQTMJh_4ZcJmD9mzCHrA,1547
|
|
442
442
|
arelle/plugin/validate/UK/consistencyChecksByName.json,sha256=BgB9YAWzmcsX-_rU74RBkABwEsS75vrMlwBHsYCz2R0,25247
|
|
443
443
|
arelle/plugin/validate/UK/hmrc-taxonomies.xml,sha256=3lR-wb2sooAddQkVqqRzG_VqLuHq_MQ8kIaXAQs1KVk,9623
|
|
@@ -743,16 +743,16 @@ arelle/utils/PluginHooks.py,sha256=CeVxti23VjERQl4xWFucDVTW63TCG2PUdnxpjd3x_Ms,3
|
|
|
743
743
|
arelle/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
744
744
|
arelle/utils/validate/Decorator.py,sha256=8LGmA171HZgKrALtsMKyHqMNM-XCdwJOv6KpZz4pC2c,3161
|
|
745
745
|
arelle/utils/validate/DetectScriptsInXhtml.py,sha256=RFBh_Z24OjR69s71qQzSzbxdU-WCTWuvYlONN-BgpZ0,2098
|
|
746
|
-
arelle/utils/validate/ESEFImage.py,sha256=
|
|
746
|
+
arelle/utils/validate/ESEFImage.py,sha256=eEPoe8h6KYi_4YNjWXuvYHmoEvCT-JB7KQLJPDhpIgQ,15485
|
|
747
747
|
arelle/utils/validate/Validation.py,sha256=n6Ag7VeCj_VO5nqzw_P53hOfXXeT2APK0Enb3UQqBns,832
|
|
748
748
|
arelle/utils/validate/ValidationPlugin.py,sha256=_WeRPXZUTCcSN3FLbFwiAe_2pAUTxZZk1061qMoDW8w,11527
|
|
749
749
|
arelle/utils/validate/ValidationUtil.py,sha256=9vmSvShn-EdQy56dfesyV8JjSRVPj7txrxRFgh8FxIs,548
|
|
750
750
|
arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
751
751
|
arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
752
752
|
arelle/webserver/bottle.py,sha256=P-JECd9MCTNcxCnKoDUvGcoi03ezYVOgoWgv2_uH-6M,362
|
|
753
|
-
arelle_release-2.37.
|
|
754
|
-
arelle_release-2.37.
|
|
755
|
-
arelle_release-2.37.
|
|
756
|
-
arelle_release-2.37.
|
|
757
|
-
arelle_release-2.37.
|
|
758
|
-
arelle_release-2.37.
|
|
753
|
+
arelle_release-2.37.32.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
|
|
754
|
+
arelle_release-2.37.32.dist-info/METADATA,sha256=iMCJccDRHFwxm12EgJp0s1_-vKC9Z77dQUKe1Pc5MzQ,9137
|
|
755
|
+
arelle_release-2.37.32.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
756
|
+
arelle_release-2.37.32.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
|
|
757
|
+
arelle_release-2.37.32.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
|
|
758
|
+
arelle_release-2.37.32.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|