arelle-release 2.36.38__py3-none-any.whl → 2.36.40__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 CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.36.38'
21
- __version_tuple__ = version_tuple = (2, 36, 38)
20
+ __version__ = version = '2.36.40'
21
+ __version_tuple__ = version_tuple = (2, 36, 40)
@@ -39,7 +39,8 @@ def logRefsFileLines(refs: list[dict[str, Any]]) -> str:
39
39
  for ref in refs:
40
40
  href = ref.get("href")
41
41
  if href:
42
- fileLines[href.partition("#")[0]].add(ref.get("sourceLine") or 0)
42
+ hrefWithoutFakeIxdsPrefix = href.rpartition("_IXDS#?#")[2]
43
+ fileLines[hrefWithoutFakeIxdsPrefix.partition("#")[0]].add(ref.get("sourceLine") or 0)
43
44
  return ", ".join(file + " " + ', '.join(str(line)
44
45
  for line in sorted(lines, key=lambda l: l)
45
46
  if line)
@@ -19,91 +19,141 @@ manifest file (such as JP FSA) that identifies inline XBRL documents.
19
19
 
20
20
  ### Command Line Usage
21
21
 
22
- - **Loading Inline XBRL Documents from a Zip File**:
22
+ - **Load from a ZIP file**:
23
+
24
+ Simple:
25
+ ```bash
26
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip
27
+ ```
28
+
29
+ Verbose:
30
+ ```bash
31
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}]}]'
32
+ ```
33
+
34
+ - **Load from a directory**:
35
+
36
+ Simple:
23
37
  ```bash
24
- python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "filing-documents.zip"}]}]'
38
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file filing-documents-directory
25
39
  ```
26
- This command loads all inline XBRL documents within a zip file as an Inline XBRL Document Set.
27
40
 
28
- - **Loading Inline XBRL Documents from a Directory**:
41
+ Verbose:
29
42
  ```bash
30
43
  python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "filing-documents-directory"}]}]'
31
44
  ```
32
- This command loads all inline XBRL documents within a specified directory.
33
45
 
34
- - **Loading with Default Target Document**:
46
+ - **Load multiple documents**:
47
+
48
+ Simple:
35
49
  ```bash
36
- python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file1": "document-1.html", "file2": "document-2.html"}]}]'
50
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file 'document-1.html|document-2.html'
37
51
  ```
38
- Load two inline XBRL documents using the default Target Document.
39
52
 
40
- - **Specifying a Different Target Document**:
53
+ Verbose:
41
54
  ```bash
42
- python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file1": "document-1.html", "file2": "document-2.html"}], "ixdsTarget": "DKGAAP"}]'
55
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file1": "document-1.html", "file2": "document-2.html"}]}]'
43
56
  ```
44
- Load two inline XBRL documents using the `DKGAAP` Target Document.
45
57
 
46
- - **Loading Multiple Document Sets**:
58
+ - **Specify target document**:
59
+
60
+ - **Default target**:
61
+
62
+ Simple:
63
+ ```bash
64
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip --inlineTarget "(default)"
65
+ ```
66
+
67
+ Verbose:
68
+ ```bash
69
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}], "ixdsTarget": "(default)"}]'
70
+ ```
71
+
72
+ - **Named target (e.g., DKGAAP)**:
73
+
74
+ Simple:
75
+ ```bash
76
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip --inlineTarget DKGAAP
77
+ ```
78
+
79
+ Verbose:
80
+ ```bash
81
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}], "ixdsTarget": "DKGAAP"}]'
82
+ ```
83
+
84
+ - **Load multiple IXDS sets**:
85
+
47
86
  ```bash
48
- python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "filing-documents-1.zip"}]}, {"ixds": [{"file": "filing-documents-2.zip"}]}]'
87
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report-1.zip"}]}, {"ixds": [{"file": "report-2.zip"}]}]'
49
88
  ```
50
- Load two separate Inline XBRL Document Sets.
51
89
 
52
- - **Extracting and Saving XML Instance**:
90
+ - **Extract XML instance**:
91
+
53
92
  ```bash
54
- python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "filing-documents.zip"}]}] --saveInstance'
93
+ python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file reports/report.html --saveInstance
55
94
  ```
56
- Extract and save the XML Instance of the default Target Document from an Inline XBRL Document Set.
57
95
 
58
96
  ### GUI Usage
59
97
 
60
- - **Loading Inline Documents as an IXDS**:
61
- 1. Navigate to the `File` menu.
62
- 2. Select `Open File Inline Doc Set`.
63
- 3. Command/Control select multiple files to load them as an Inline XBRL Document Set.
98
+ - **Load IXDS documents**:
99
+
100
+ 1. Go to the File menu.
101
+ 2. Select "Open File Inline Doc Set".
102
+ 3. Ctrl/Cmd-click to select multiple files as an IXDS.
103
+
104
+ - **Save XML instance**:
64
105
 
65
- - **Extracting and Saving XML Instance**:
66
- 1. Load the Inline XBRL Document Set.
67
- 2. Navigate to `Tools` in the menu.
68
- 3. Select `Save target document` to save the XML Instance.
106
+ 1. Load the IXDS.
107
+ 2. Open the Tools menu.
108
+ 3. Select "Save target document" to export the XML instance.
69
109
 
70
110
  ## Additional Notes
71
111
 
72
- - Windows users must escape quotes and backslashes within the JSON file parameter structure:
73
- `.\\arelleCmdLine.exe --plugins inlineXbrlDocumentSet --file "[{""ixds"":[{""file"":""C:\\\\filing-documents.zip""}], ""ixdsTarget"":""DKGAAP""}]" --package "C:\\taxonomy-package.zip"`
74
- - If a JSON structure is specified in the `--file` option without an `ixdsTarget`, the default target is assumed.
75
- - To specify a non-default target in the absence of a JSON file argument, use the formula parameter `ixdsTarget`.
76
- - For EDGAR style encoding of non-ASCII characters, use the `--encodeSavedXmlChars` argument.
77
- - Extracted XML instance is saved to the same directory as the IXDS with the suffix `_extracted.xbrl`.
112
+ - On Windows, escape quotes and backslashes when using verbose JSON:
113
+ ```pwsh
114
+ .\\arelleCmdLine.exe --plugins inlineXbrlDocumentSet --file
115
+ "[{""ixds"":[{""file"":""C:\\\\report.zip""}], ""ixdsTarget"":""DKGAAP""}]"
116
+ ```
117
+ - If no "ixdsTarget" is specified in JSON, all targets are loaded.
118
+ - "(default)" matches the default IXDS target (i.e., no target defined in the instance).
119
+ - Use "--encodeSavedXmlChars" to apply EDGAR-style encoding to non-ASCII characters.
120
+ - The extracted XML instance is saved in the same directory with the suffix "_extracted.xbrl".
78
121
  """
79
122
  from __future__ import annotations
80
123
 
124
+ import os
125
+ import zipfile
126
+ from collections import defaultdict
127
+ from optparse import SUPPRESS_HELP
81
128
  from typing import BinaryIO
82
129
 
83
- from arelle import FileSource, ModelXbrl, ValidateXbrlDimensions, XbrlConst, ValidateDuplicateFacts
84
- from arelle.RuntimeOptions import RuntimeOptions
85
- from arelle.ValidateDuplicateFacts import DeduplicationType
130
+ import regex as re
131
+ from lxml.etree import XML, XMLSyntaxError
86
132
 
87
- DialogURL = None # dynamically imported when first used
133
+ from arelle import FileSource, ModelXbrl, ValidateDuplicateFacts, ValidateXbrlDimensions, XbrlConst
88
134
  from arelle.CntlrCmdLine import filesourceEntrypointFiles
89
- from arelle.PrototypeDtsObject import LocPrototype, ArcPrototype
90
135
  from arelle.FileSource import archiveFilenameParts, archiveFilenameSuffixes
136
+ from arelle.ModelDocument import ModelDocument, ModelDocumentReference, Type, create, inlineIxdsDiscover, load
91
137
  from arelle.ModelInstanceObject import ModelInlineFootnote
92
138
  from arelle.ModelObject import ModelObject
93
- from arelle.ModelDocument import ModelDocument, ModelDocumentReference, Type, load, create, inlineIxdsDiscover
94
139
  from arelle.ModelValue import INVALIDixVALUE, qname
95
140
  from arelle.PluginManager import pluginClassMethods
141
+ from arelle.PrototypeDtsObject import ArcPrototype, LocPrototype
96
142
  from arelle.PythonUtil import attrdict
143
+ from arelle.RuntimeOptions import RuntimeOptions
97
144
  from arelle.UrlUtil import isHttpUrl
145
+ from arelle.ValidateDuplicateFacts import DeduplicationType
98
146
  from arelle.ValidateFilingText import CDATApattern
99
147
  from arelle.Version import authorLabel, copyrightLabel
100
- from arelle.XmlUtil import addChild, copyIxFootnoteHtml, elementFragmentIdentifier, elementChildSequence, xmlnsprefix, setXmlns
101
- from arelle.XmlValidate import validate as xmlValidate, VALID, NONE
102
- import os, zipfile
103
- import regex as re
104
- from optparse import SUPPRESS_HELP
105
- from lxml.etree import XML, XMLSyntaxError
106
- from collections import defaultdict
148
+ from arelle.XmlUtil import (
149
+ addChild,
150
+ copyIxFootnoteHtml,
151
+ elementFragmentIdentifier,
152
+ setXmlns,
153
+ xmlnsprefix,
154
+ )
155
+ from arelle.XmlValidate import NONE, VALID
156
+ from arelle.XmlValidate import validate as xmlValidate
107
157
 
108
158
  DEFAULT_TARGET = "(default)"
109
159
  IXDS_SURROGATE = "_IXDS#?#" # surrogate (fake) file name for inline XBRL doc set (IXDS)
@@ -469,9 +519,6 @@ def discoverInlineXbrlDocumentSet(modelDocument, *args, **kwargs):
469
519
  return False # not discoverable by this plug-in
470
520
 
471
521
  def fileOpenMenuEntender(cntlr, menu, *args, **kwargs):
472
- # install DialogURL for GUI menu operation of runOpenWebInlineDocumentSetMenuCommand
473
- global DialogURL
474
- from arelle import DialogURL
475
522
  # Extend menu with an item for the savedts plugin
476
523
  menu.insert_command(2, label="Open Web Inline Doc Set",
477
524
  underline=0,
@@ -496,6 +543,7 @@ def runOpenFileInlineDocumentSetMenuCommand(cntlr, runInBackground=False, saveTa
496
543
  runOpenInlineDocumentSetMenuCommand(cntlr, filenames, runInBackground, saveTargetFiling)
497
544
 
498
545
  def runOpenWebInlineDocumentSetMenuCommand(cntlr, runInBackground=False, saveTargetFiling=False):
546
+ from arelle import DialogURL
499
547
  url = DialogURL.askURL(cntlr.parent, buttonSEC=True, buttonRSS=True)
500
548
  if url:
501
549
  runOpenInlineDocumentSetMenuCommand(cntlr, re.split(r",\s*|\s+", url), runInBackground, saveTargetFiling)
@@ -682,10 +730,29 @@ def commandLineOptionExtender(parser, *args, **kwargs):
682
730
  choices=[a.value for a in ValidateDuplicateFacts.DeduplicationType],
683
731
  dest="deduplicateIxbrlFacts",
684
732
  help=SUPPRESS_HELP)
733
+ parser.add_option("--inlineTarget",
734
+ action="store",
735
+ dest="inlineTarget",
736
+ help=_("Specify an inline target to load. By default, all targets are loaded. Use '{}' to select the default target.").format(DEFAULT_TARGET),
737
+ type="string")
685
738
 
686
739
  def commandLineFilingStart(cntlr, options, filesource, entrypointFiles, *args, **kwargs):
687
740
  global skipExpectedInstanceComparison
688
741
  skipExpectedInstanceComparison = getattr(options, "skipExpectedInstanceComparison", False)
742
+ inlineTarget = getattr(options, "inlineTarget", None)
743
+ if inlineTarget:
744
+ if isinstance(entrypointFiles, dict):
745
+ entrypointFiles = [entrypointFiles]
746
+ if isinstance(entrypointFiles, list):
747
+ for i, entry in enumerate(entrypointFiles):
748
+ entryTarget = entry.get("ixdsTarget")
749
+ if entryTarget and entryTarget != inlineTarget:
750
+ raise RuntimeError(_("Conflicting ixds targets specified: inlineTarget '{}', ixdsTarget '{}'").format(inlineTarget, entryTarget))
751
+ ixds = entry.get("ixds")
752
+ if ixds is None:
753
+ entry = {"ixds": [entry]}
754
+ entrypointFiles[i] = entry
755
+ entry["ixdsTarget"] = inlineTarget
689
756
  if isinstance(entrypointFiles, list):
690
757
  # check for any inlineDocumentSet in list
691
758
  for entrypointFile in entrypointFiles:
@@ -845,7 +912,7 @@ def discoverIxdsDts(modelXbrl):
845
912
 
846
913
  class TargetChoiceDialog:
847
914
  def __init__(self,parent, choices):
848
- from tkinter import Toplevel, Label, Listbox, StringVar
915
+ from tkinter import Listbox, StringVar, Toplevel
849
916
  parentGeometry = re.match(r"(\d+)x(\d+)[+]?([-]?\d+)[+]?([-]?\d+)", parent.geometry())
850
917
  dialogX = int(parentGeometry.group(3))
851
918
  dialogY = int(parentGeometry.group(4))
@@ -151,7 +151,6 @@ def resolveTableAxesStructure(view, strctMdlTable, tblBrkdnRelSet):
151
151
  view.dataRows += strctMdlBreakdown.leafNodeCount
152
152
  elif axis == "z":
153
153
  view.zAxisBreakdowns = len(axisBrkdnRels)
154
- break # 2nd and following breakdown nodes resolved by cartesianProductExpander within resolveDefinition
155
154
  if not axisBrkdnRels: # no breakdown rels
156
155
  strctMdlBreakdown = resolveDefinition(view, strctMdlTable, None, 1, facts, 0, axisBrkdnRels, axis=axis)
157
156
  strctMdlBreakdown.setHasOpenNode()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.36.38
3
+ Version: 2.36.40
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License: Apache-2.0
@@ -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=sZAy8AmcBgunxVPN9fYWYjWDD_AHGookdwWSsQ_snyw,515
126
+ arelle/_version.py,sha256=hgthf8XNOi-RSg8qhbjpBzxfrpMrmaWCPsI9vsJzSyE,515
127
127
  arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
128
128
  arelle/api/Session.py,sha256=O8zpg7MJys9uxwwHf8OsSlZxpPdq7A3ONyY39Q4A3Kc,6218
129
129
  arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
@@ -284,7 +284,7 @@ arelle/locale/fr/LC_MESSAGES/arelle.mo,sha256=HsXvnKEsnhqJqH6H9SlGBy451fnQTaizbZ
284
284
  arelle/locale/fr/LC_MESSAGES/fr.po,sha256=D2WHLI9NktcxgmGx91fRLNLoVjvO3Z0jjS9AJlroOCE,168077
285
285
  arelle/locale/ru/LC_MESSAGES/arelle.mo,sha256=i004xdiJMpXus5DnSz2y708H5vPt78Pu5ApkrdC9Fqw,375378
286
286
  arelle/locale/ru/LC_MESSAGES/ru.po,sha256=pPACN6dXlimkr2KJ5l-B0fv4PhlijWAz3fVYJ5h3SaM,449579
287
- arelle/logging/formatters/LogFormatter.py,sha256=bKZjW-HGhN6vaNvqyEHFaLIQjlnDgo1cBSZgl13H2c0,1876
287
+ arelle/logging/formatters/LogFormatter.py,sha256=emXkUWLRZ65-qu9K-BcYrT2ueR8R-YchA8bwPY3yA60,1968
288
288
  arelle/logging/handlers/LogHandlerWithXml.py,sha256=xj-m6aNh4gksxP9AjN0xkECxVdx9m7ElCC0lXkhFcUQ,4318
289
289
  arelle/logging/handlers/LogToBufferHandler.py,sha256=tTzHRw9tn1Osrpc5rcKxk2iTEE3uIq5wb792z5RVYAs,612
290
290
  arelle/logging/handlers/LogToPrintHandler.py,sha256=iT5eTZx5MXJRhI-vZjlenNOSDRgiNXSQhh398Njbje0,1299
@@ -314,7 +314,7 @@ arelle/plugin/formulaLoader.py,sha256=_pPZQPAZeNjGj85rvH7QRl4gEjYD7Yhxl1JhuV9wOo
314
314
  arelle/plugin/formulaSaver.py,sha256=STlKyDA-pVUxZoEW57MSu74RdpyHVTxaHvOZyOt0cyg,31385
315
315
  arelle/plugin/formulaXPathChecker.py,sha256=sEEeLHx17XSj8eOgFdzYLBp9ZFk2UUYLOEKtaF_pq34,18795
316
316
  arelle/plugin/functionsMath.py,sha256=Z8N7ok3w1aOusCQA9QvqYwQ8W1j80bb-_4lVclBnNQM,9037
317
- arelle/plugin/inlineXbrlDocumentSet.py,sha256=OeV3xs3qnIm2YiN2BSGITsuVV181QoisoZCdG_OcHT4,54228
317
+ arelle/plugin/inlineXbrlDocumentSet.py,sha256=FGGjjt69N3Rl28ZUo35s8sCheYLrtNbcbVROeAx5_W4,55208
318
318
  arelle/plugin/loadFromExcel.py,sha256=SebeGTf0tBKv-0fSxAYEFLlh3Olly4x-6XTeh20SymM,124402
319
319
  arelle/plugin/loadFromOIM.py,sha256=dJHnX56bmuY40f6vRMsQ7pJmIWcB5N_3jmYWGGnZSdM,903
320
320
  arelle/plugin/profileCmdLine.py,sha256=uLL0fGshpiwtzyLKAtW0WuXAvcRtZgxQG6swM0e4BHA,2370
@@ -431,7 +431,7 @@ arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl,sha256=DYBE4m2gSp-2
431
431
  arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl,sha256=TRb4zLoXUGKkBU1ZR5KCpMLBpujtNiL_WDdnv4DfBL0,726301
432
432
  arelle/rendering/RenderingEvaluator.py,sha256=suQhQsx5KD1QJMGxIiPXGbUOKQMTwg1oSSJlgl8J8kk,17781
433
433
  arelle/rendering/RenderingLayout.py,sha256=XSrKiHOBZL-z4qvChpepjh3loxz8G84MCBRXozPxGrE,31082
434
- arelle/rendering/RenderingResolution.py,sha256=W21PdF7UTmL546Hbtycaf2semGWOPNrpETDeQR9elnA,54553
434
+ arelle/rendering/RenderingResolution.py,sha256=dKz6pxjnGeMHIeX2gcAJHlMjuVp5Vu4P1AHQizg_dKA,54437
435
435
  arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd,sha256=BfDzYGRz5zofzjnvVP_ZdTVtddxKdsrYfjZ3dK_hJIQ,1243
436
436
  arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd,sha256=52ehWcF5vW5NwrrCpjpi9Qy9An7BnWtcyescLzPgyy4,87677
437
437
  arelle/resources/cache/http/www.w3.org/2001/xml.xsd,sha256=YZYPsxMeOAIsqtU2Di8zozgleKs8gM1YvXQyDt5hsgw,8836
@@ -706,7 +706,7 @@ arelle/utils/validate/ValidationPlugin.py,sha256=_WeRPXZUTCcSN3FLbFwiAe_2pAUTxZZ
706
706
  arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
707
707
  arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
708
708
  arelle/webserver/bottle.py,sha256=676nP8SOB42QscV0WIbXoSV9MwdgvbrzeIApxr6mlUI,171255
709
- arelle_release-2.36.38.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
709
+ arelle_release-2.36.40.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
710
710
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
711
711
  tests/integration_tests/download_cache.py,sha256=jVMIVICsZjcVc9DCPPu3fCjF9_cWSS3tqSynhFs3oAM,4097
712
712
  tests/integration_tests/integration_test_util.py,sha256=H7mncbv0T9ZeVyrtk9Hohe3k6jgcYykHkt-LGE-Q9aQ,10270
@@ -1554,8 +1554,8 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
1554
1554
  tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
1555
1555
  tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
1556
1556
  tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
1557
- arelle_release-2.36.38.dist-info/METADATA,sha256=15bU0khPJ2yhjrC7NA6Mrh7k44oRA_M9B8MvW7BuD_Y,9032
1558
- arelle_release-2.36.38.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1559
- arelle_release-2.36.38.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1560
- arelle_release-2.36.38.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1561
- arelle_release-2.36.38.dist-info/RECORD,,
1557
+ arelle_release-2.36.40.dist-info/METADATA,sha256=akTrKgQGYl0Uek8ViYdXszy53h_iiI0MUSvTXwsQDUs,9032
1558
+ arelle_release-2.36.40.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1559
+ arelle_release-2.36.40.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1560
+ arelle_release-2.36.40.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1561
+ arelle_release-2.36.40.dist-info/RECORD,,