arelle-release 2.37.53__tar.gz → 2.37.55__tar.gz

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.

Files changed (697) hide show
  1. {arelle_release-2.37.53 → arelle_release-2.37.55}/PKG-INFO +1 -1
  2. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrCmdLine.py +11 -36
  3. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrWinMain.py +56 -33
  4. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelDocument.py +4 -1
  5. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Validate.py +3 -0
  6. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinDTS.py +4 -1
  7. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/_version.py +3 -3
  8. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/report/ReportPackage.py +15 -6
  9. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/report/ReportPackageConst.py +0 -1
  10. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/inlineXbrlDocumentSet.py +18 -2
  11. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/Constants.py +37 -0
  12. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/ControllerPluginData.py +8 -0
  13. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/ManifestInstance.py +1 -1
  14. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +89 -5
  15. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +11 -0
  16. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/__init__.py +5 -0
  17. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/gfm.py +29 -0
  18. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/upload.py +141 -0
  19. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/EntryPointDetection.py +63 -3
  20. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/PluginHooks.py +94 -0
  21. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/ValidationPlugin.py +21 -1
  22. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/PKG-INFO +1 -1
  23. {arelle_release-2.37.53 → arelle_release-2.37.55}/.gitignore +0 -0
  24. {arelle_release-2.37.53 → arelle_release-2.37.55}/CONTRIBUTING.md +0 -0
  25. {arelle_release-2.37.53 → arelle_release-2.37.55}/COPYRIGHT.md +0 -0
  26. {arelle_release-2.37.53 → arelle_release-2.37.55}/LICENSE.md +0 -0
  27. {arelle_release-2.37.53 → arelle_release-2.37.55}/MANIFEST.in +0 -0
  28. {arelle_release-2.37.53 → arelle_release-2.37.55}/README.md +0 -0
  29. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Aspect.py +0 -0
  30. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/BetaFeatures.py +0 -0
  31. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Cntlr.py +0 -0
  32. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrComServer.py +0 -0
  33. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrProfiler.py +0 -0
  34. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrQuickBooks.py +0 -0
  35. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrWebMain.py +0 -0
  36. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/CntlrWinTooltip.py +0 -0
  37. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogAbout.py +0 -0
  38. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogArcroleGroup.py +0 -0
  39. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogFind.py +0 -0
  40. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogFormulaParameters.py +0 -0
  41. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogLanguage.py +0 -0
  42. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogNewFactItem.py +0 -0
  43. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogOpenArchive.py +0 -0
  44. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogPackageManager.py +0 -0
  45. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogPluginManager.py +0 -0
  46. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogRssWatch.py +0 -0
  47. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogURL.py +0 -0
  48. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DialogUserPassword.py +0 -0
  49. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/DisclosureSystem.py +0 -0
  50. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ErrorManager.py +0 -0
  51. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FileSource.py +0 -0
  52. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionCustom.py +0 -0
  53. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionFn.py +0 -0
  54. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionIxt.py +0 -0
  55. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionUtil.py +0 -0
  56. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionXfi.py +0 -0
  57. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/FunctionXs.py +0 -0
  58. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/HashUtil.py +0 -0
  59. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/HtmlUtil.py +0 -0
  60. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/InstanceAspectsEvaluator.py +0 -0
  61. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/LeiUtil.py +0 -0
  62. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/LinkbaseType.py +0 -0
  63. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/LocalViewer.py +0 -0
  64. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Locale.py +0 -0
  65. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelDtsObject.py +0 -0
  66. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelFormulaObject.py +0 -0
  67. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelInstanceObject.py +0 -0
  68. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelManager.py +0 -0
  69. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelObject.py +0 -0
  70. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelObjectFactory.py +0 -0
  71. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelRelationshipSet.py +0 -0
  72. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelRenderingObject.py +0 -0
  73. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelRssItem.py +0 -0
  74. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelRssObject.py +0 -0
  75. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelTestcaseObject.py +0 -0
  76. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelValue.py +0 -0
  77. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelVersObject.py +0 -0
  78. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelVersReport.py +0 -0
  79. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ModelXbrl.py +0 -0
  80. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PackageManager.py +0 -0
  81. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PluginManager.py +0 -0
  82. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PluginUtils.py +0 -0
  83. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PrototypeDtsObject.py +0 -0
  84. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PrototypeInstanceObject.py +0 -0
  85. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/PythonUtil.py +0 -0
  86. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/RuntimeOptions.py +0 -0
  87. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/SocketUtils.py +0 -0
  88. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/SystemInfo.py +0 -0
  89. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/TableStructure.py +0 -0
  90. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/TkTableWrapper.py +0 -0
  91. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/UITkTable.py +0 -0
  92. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/UiUtil.py +0 -0
  93. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Updater.py +0 -0
  94. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/UrlUtil.py +0 -0
  95. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateDuplicateFacts.py +0 -0
  96. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateFilingText.py +0 -0
  97. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateInfoset.py +0 -0
  98. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateUtr.py +0 -0
  99. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateVersReport.py +0 -0
  100. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateXbrl.py +0 -0
  101. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateXbrlCalcs.py +0 -0
  102. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateXbrlDTS.py +0 -0
  103. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ValidateXbrlDimensions.py +0 -0
  104. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/Version.py +0 -0
  105. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFile.py +0 -0
  106. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileConcepts.py +0 -0
  107. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileDTS.py +0 -0
  108. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileFactList.py +0 -0
  109. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileFactTable.py +0 -0
  110. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileFormulae.py +0 -0
  111. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRelationshipSet.py +0 -0
  112. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRenderedGrid.py +0 -0
  113. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRenderedLayout.py +0 -0
  114. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRenderedStructure.py +0 -0
  115. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRoleTypes.py +0 -0
  116. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileRssFeed.py +0 -0
  117. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewFileTests.py +0 -0
  118. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewUtil.py +0 -0
  119. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewUtilFormulae.py +0 -0
  120. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinConcepts.py +0 -0
  121. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinDiffs.py +0 -0
  122. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinFactGrid.py +0 -0
  123. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinFactList.py +0 -0
  124. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinFactTable.py +0 -0
  125. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinFormulae.py +0 -0
  126. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinGrid.py +0 -0
  127. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinList.py +0 -0
  128. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinPane.py +0 -0
  129. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinProperties.py +0 -0
  130. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinRelationshipSet.py +0 -0
  131. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinRenderedGrid.py +0 -0
  132. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinRoleTypes.py +0 -0
  133. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinRssFeed.py +0 -0
  134. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinTests.py +0 -0
  135. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinTkTable.py +0 -0
  136. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinTree.py +0 -0
  137. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinTupleGrid.py +0 -0
  138. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinVersReport.py +0 -0
  139. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/ViewWinXml.py +0 -0
  140. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/WatchRss.py +0 -0
  141. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/WebCache.py +0 -0
  142. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XbrlConst.py +0 -0
  143. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XbrlUtil.py +0 -0
  144. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XhtmlValidate.py +0 -0
  145. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XmlUtil.py +0 -0
  146. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XmlValidate.py +0 -0
  147. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XmlValidateConst.py +0 -0
  148. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XmlValidateParticles.py +0 -0
  149. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/XmlValidateSchema.py +0 -0
  150. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/__init__.py +0 -0
  151. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/api/Session.py +0 -0
  152. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/creationSoftwareNames.json +0 -0
  153. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/disclosuresystems.xml +0 -0
  154. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/disclosuresystems.xsd +0 -0
  155. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/edbody.dtd +0 -0
  156. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/empty-instance.xml +0 -0
  157. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/erxl.xsd +0 -0
  158. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/mappings.xml +0 -0
  159. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/mappings.xsd +0 -0
  160. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/sbr-text-formatting.xsd +0 -0
  161. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xbrlschemafiles.xml +0 -0
  162. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xhtml-lat1.ent +0 -0
  163. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xhtml-special.ent +0 -0
  164. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xhtml-symbol.ent +0 -0
  165. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xhtml1-strict-ix.dtd +0 -0
  166. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
  167. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/conformance/CSVTestcaseLoader.py +0 -0
  168. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/doc/messagesCatalog.xml +0 -0
  169. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/doc/messagesCatalog.xsd +0 -0
  170. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/FactAspectsCache.py +0 -0
  171. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/FormulaConsisAsser.py +0 -0
  172. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/FormulaEvaluator.py +0 -0
  173. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/ValidateFormula.py +0 -0
  174. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/XPathContext.py +0 -0
  175. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/XPathParser.py +0 -0
  176. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/formula/__init__.py +0 -0
  177. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle-full-word.ico +0 -0
  178. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle-mac-icon-4.gif +0 -0
  179. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle-rtd.png +0 -0
  180. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle-word-only.ico +0 -0
  181. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle.gif +0 -0
  182. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle.icns +0 -0
  183. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle.icns.zip +0 -0
  184. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle.ico +0 -0
  185. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle.xbm +0 -0
  186. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle128.psd +0 -0
  187. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle16.psd +0 -0
  188. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle16x16and32x32.ico +0 -0
  189. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/arelle32.gif +0 -0
  190. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/columnSortDown.gif +0 -0
  191. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/columnSortUp.gif +0 -0
  192. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/dmg_background.png +0 -0
  193. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/favicon.ico +0 -0
  194. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/octocat.png +0 -0
  195. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/python-clear.png +0 -0
  196. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
  197. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarClose.gif +0 -0
  198. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarCompare.gif +0 -0
  199. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarDelete.gif +0 -0
  200. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarFindMenu.gif +0 -0
  201. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
  202. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarLogClear-orig.gif +0 -0
  203. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarLogClear.gif +0 -0
  204. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarNewFile.gif +0 -0
  205. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarOpenDatabase.gif +0 -0
  206. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarOpenFile.gif +0 -0
  207. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarOpenWeb.gif +0 -0
  208. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarProperties.gif +0 -0
  209. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarQuit.gif +0 -0
  210. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarReopen.gif +0 -0
  211. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarSaveFile.gif +0 -0
  212. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/toolbarValidate.gif +0 -0
  213. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl.gif +0 -0
  214. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl.psd +0 -0
  215. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl128-2.gif +0 -0
  216. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl128.gif +0 -0
  217. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl16.ico +0 -0
  218. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/images/xbrl32.ico +0 -0
  219. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
  220. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
  221. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
  222. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
  223. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
  224. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/messages.mo +0 -0
  225. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/messages.pot +0 -0
  226. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
  227. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
  228. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/formatters/LogFormatter.py +0 -0
  229. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
  230. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
  231. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
  232. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
  233. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
  234. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/model/CommentBase.py +0 -0
  235. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/model/ElementBase.py +0 -0
  236. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/model/PIBase.py +0 -0
  237. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/model/__init__.py +0 -0
  238. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/oim/Load.py +0 -0
  239. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/oim/Validate.py +0 -0
  240. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/oim/xml/Save.py +0 -0
  241. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/PackageConst.py +0 -0
  242. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/PackageType.py +0 -0
  243. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/PackageUtils.py +0 -0
  244. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/PackageValidation.py +0 -0
  245. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/report/DetectReportPackage.py +0 -0
  246. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/packages/report/ReportPackageValidator.py +0 -0
  247. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/CacheBuilder.py +0 -0
  248. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/EdgarRendererAllReports.py +0 -0
  249. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
  250. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
  251. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
  252. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
  253. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
  254. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
  255. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
  256. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
  257. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
  258. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
  259. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
  260. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
  261. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
  262. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
  263. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
  264. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
  265. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
  266. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
  267. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
  268. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
  269. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
  270. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
  271. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
  272. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
  273. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
  274. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
  275. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
  276. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
  277. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
  278. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
  279. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
  280. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
  281. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/TDnetLoader.py +0 -0
  282. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
  283. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/formulaLoader.py +0 -0
  284. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/formulaSaver.py +0 -0
  285. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/formulaXPathChecker.py +0 -0
  286. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/functionsMath.py +0 -0
  287. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
  288. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
  289. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
  290. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
  291. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
  292. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
  293. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
  294. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
  295. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/loadFromExcel.py +0 -0
  296. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/loadFromOIM.py +0 -0
  297. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/logging/dpmSignature.py +0 -0
  298. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/logging/dqcParameters.py +0 -0
  299. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/logging/saveMessages.py +0 -0
  300. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/profileCmdLine.py +0 -0
  301. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/profileFormula.py +0 -0
  302. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveCHComponentFile.py +0 -0
  303. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveDTS.py +0 -0
  304. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveHtmlEBAtables.py +0 -0
  305. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveLoadableExcel.py +0 -0
  306. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveLoadableOIM.py +0 -0
  307. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveOIMTaxonomy.py +0 -0
  308. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveSKOS.py +0 -0
  309. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/saveSampleInstance.py +0 -0
  310. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/security/cryptAES_CBC.py +0 -0
  311. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/security/cryptAES_EAX.py +0 -0
  312. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/streamingExtensions.py +0 -0
  313. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/systemInfo.py +0 -0
  314. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/transforms/tester.py +0 -0
  315. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/unpackSecEisFile.py +0 -0
  316. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/CIPC/Const.py +0 -0
  317. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/CIPC/__init__.py +0 -0
  318. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/CIPC/config.xml +0 -0
  319. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
  320. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -0
  321. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
  322. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/__init__.py +0 -0
  323. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
  324. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
  325. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
  326. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
  327. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/th.py +0 -0
  328. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
  329. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
  330. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EBA/__init__.py +0 -0
  331. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EBA/config.xml +0 -0
  332. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
  333. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/ReportFolderType.py +0 -0
  334. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/Statement.py +0 -0
  335. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/UploadContents.py +0 -0
  336. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/resources/config.xml +0 -0
  337. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
  338. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
  339. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/contexts.py +0 -0
  340. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/edinet.py +0 -0
  341. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/frta.py +0 -0
  342. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
  343. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/Const.py +0 -0
  344. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
  345. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
  346. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
  347. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +0 -0
  348. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
  349. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
  350. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +0 -0
  351. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
  352. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/Util.py +0 -0
  353. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/__init__.py +0 -0
  354. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
  355. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
  356. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/FERC/__init__.py +0 -0
  357. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/FERC/config.xml +0 -0
  358. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
  359. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
  360. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +0 -0
  361. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
  362. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/__init__.py +0 -0
  363. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/resources/config.xml +0 -0
  364. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
  365. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
  366. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
  367. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
  368. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/fr_nl.py +0 -0
  369. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
  370. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
  371. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
  372. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
  373. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/__init__.py +0 -0
  374. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/config.xml +0 -0
  375. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
  376. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
  377. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/ROS/rules/ros.py +0 -0
  378. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/UK/ValidateUK.py +0 -0
  379. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/UK/__init__.py +0 -0
  380. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/UK/config.xml +0 -0
  381. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
  382. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
  383. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
  384. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
  385. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
  386. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
  387. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
  388. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
  389. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
  390. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
  391. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
  392. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/__init__.py +0 -0
  393. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
  394. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/ext/china.py +0 -0
  395. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
  396. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
  397. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
  398. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
  399. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
  400. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
  401. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
  402. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
  403. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
  404. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
  405. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
  406. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
  407. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
  408. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
  409. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
  410. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
  411. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
  412. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/plugin/xuleSaver.py +0 -0
  413. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/rendering/RenderingEvaluator.py +0 -0
  414. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/rendering/RenderingLayout.py +0 -0
  415. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/rendering/RenderingResolution.py +0 -0
  416. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
  417. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
  418. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
  419. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
  420. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
  421. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
  422. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
  423. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
  424. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
  425. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
  426. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
  427. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
  428. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
  429. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
  430. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
  431. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
  432. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
  433. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
  434. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
  435. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
  436. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
  437. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
  438. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
  439. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
  440. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
  441. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
  442. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  443. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  444. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
  445. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
  446. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
  447. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
  448. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
  449. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
  450. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
  451. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
  452. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
  453. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  454. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  455. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
  456. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
  457. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
  458. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
  459. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
  460. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
  461. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
  462. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
  463. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
  464. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
  465. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
  466. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
  467. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
  468. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
  469. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
  470. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
  471. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
  472. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
  473. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
  474. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
  475. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
  476. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
  477. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
  478. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
  479. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
  480. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
  481. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
  482. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
  483. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
  484. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
  485. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
  486. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
  487. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  488. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
  489. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
  490. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
  491. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
  492. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
  493. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
  494. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
  495. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
  496. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  497. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
  498. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
  499. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
  500. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
  501. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
  502. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
  503. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
  504. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
  505. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
  506. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
  507. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
  508. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
  509. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
  510. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
  511. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
  512. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
  513. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
  514. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
  515. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
  516. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
  517. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
  518. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
  519. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
  520. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
  521. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
  522. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
  523. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
  524. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
  525. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
  526. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
  527. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  528. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  529. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
  530. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
  531. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
  532. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
  533. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
  534. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
  535. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
  536. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
  537. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
  538. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  539. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  540. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
  541. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
  542. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
  543. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
  544. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
  545. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
  546. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
  547. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
  548. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
  549. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
  550. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
  551. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
  552. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
  553. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
  554. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
  555. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
  556. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
  557. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
  558. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
  559. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
  560. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
  561. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
  562. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
  563. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
  564. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
  565. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
  566. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
  567. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
  568. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
  569. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
  570. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
  571. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
  572. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  573. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
  574. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
  575. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
  576. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
  577. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
  578. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
  579. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
  580. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
  581. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  582. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
  583. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
  584. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
  585. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
  586. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
  587. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
  588. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
  589. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
  590. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
  591. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
  592. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
  593. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
  594. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
  595. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
  596. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
  597. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
  598. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
  599. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
  600. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
  601. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
  602. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
  603. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
  604. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
  605. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
  606. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
  607. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
  608. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
  609. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
  610. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
  611. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
  612. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
  613. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
  614. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
  615. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
  616. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
  617. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
  618. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
  619. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
  620. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
  621. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
  622. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
  623. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
  624. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
  625. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
  626. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
  627. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
  628. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
  629. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
  630. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
  631. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
  632. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
  633. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
  634. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
  635. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
  636. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
  637. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
  638. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
  639. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
  640. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
  641. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
  642. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
  643. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
  644. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
  645. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
  646. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
  647. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
  648. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
  649. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
  650. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +0 -0
  651. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +0 -0
  652. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
  653. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
  654. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
  655. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
  656. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
  657. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
  658. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
  659. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
  660. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
  661. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
  662. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
  663. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
  664. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
  665. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
  666. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
  667. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
  668. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
  669. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
  670. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
  671. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
  672. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
  673. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
  674. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
  675. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
  676. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
  677. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/typing.py +0 -0
  678. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/Contexts.py +0 -0
  679. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/Equivalence.py +0 -0
  680. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/PluginData.py +0 -0
  681. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/Units.py +0 -0
  682. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/__init__.py +0 -0
  683. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/Decorator.py +0 -0
  684. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
  685. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/ESEFImage.py +0 -0
  686. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/Validation.py +0 -0
  687. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/ValidationUtil.py +0 -0
  688. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/utils/validate/__init__.py +0 -0
  689. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/webserver/__init__.py +0 -0
  690. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle/webserver/bottle.py +0 -0
  691. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/SOURCES.txt +0 -0
  692. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/dependency_links.txt +0 -0
  693. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/entry_points.txt +0 -0
  694. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/requires.txt +0 -0
  695. {arelle_release-2.37.53 → arelle_release-2.37.55}/arelle_release.egg-info/top_level.txt +0 -0
  696. {arelle_release-2.37.53 → arelle_release-2.37.55}/pyproject.toml +0 -0
  697. {arelle_release-2.37.53 → arelle_release-2.37.55}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.53
3
+ Version: 2.37.55
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -57,8 +57,7 @@ from arelle.RuntimeOptions import RuntimeOptions, RuntimeOptionsException
57
57
  from arelle.SocketUtils import INTERNET_CONNECTIVITY, OFFLINE
58
58
  from arelle.SystemInfo import PlatformOS, getSystemInfo, getSystemWordSize, hasWebServer, isCGI, isGAE
59
59
  from arelle.typing import TypeGetText
60
- from arelle.UrlUtil import isHttpUrl
61
- from arelle.utils.EntryPointDetection import filesourceEntrypointFiles
60
+ from arelle.utils.EntryPointDetection import parseEntrypointFileInput
62
61
  from arelle.ValidateXbrlDTS import ValidateBaseTaxonomiesMode
63
62
  from arelle.WebCache import proxyTuple
64
63
 
@@ -978,41 +977,12 @@ class CntlrCmdLine(Cntlr.Cntlr):
978
977
  if not (options.entrypointFile or sourceZipStream):
979
978
  return True # success
980
979
 
980
+ entrypointParseResult = parseEntrypointFileInput(self, options.entrypointFile, sourceZipStream)
981
+ if not entrypointParseResult.success:
982
+ return False
983
+ filesource = entrypointParseResult.filesource
984
+ _entrypointFiles = entrypointParseResult.entrypointFiles
981
985
  success = True
982
- # entrypointFile may be absent (if input is a POSTED zip or file name ending in .zip)
983
- # or may be a | separated set of file names
984
- _entryPoints = []
985
- _checkIfXmlIsEis = self.modelManager.disclosureSystem and self.modelManager.disclosureSystem.validationType == "EFM"
986
- if options.entrypointFile:
987
- _f = options.entrypointFile
988
- try: # may be a json list
989
- _entryPoints = json.loads(_f)
990
- _checkIfXmlIsEis = False # json entry objects never specify an xml EIS archive
991
- except ValueError as e:
992
- # is it malformed json?
993
- if _f.startswith("[{") or _f.endswith("]}") or '"file:"' in _f:
994
- self.addToLog(_("File name parameter appears to be malformed JSON: {}\n{}").format(e, _f),
995
- messageCode="FileNameFormatError",
996
- level=logging.ERROR)
997
- success = False
998
- else: # try as file names separated by '|'
999
- for f in (_f or '').split('|'):
1000
- if not sourceZipStream and not isHttpUrl(f) and not os.path.isabs(f):
1001
- f = os.path.normpath(os.path.join(os.getcwd(), f)) # make absolute normed path
1002
- _entryPoints.append({"file":f})
1003
- filesource = None # file source for all instances if not None
1004
- if sourceZipStream:
1005
- filesource = FileSource.openFileSource(None, self, sourceZipStream)
1006
- elif len(_entryPoints) == 1 and "file" in _entryPoints[0]: # check if an archive and need to discover entry points (and not IXDS)
1007
- entryPath = PackageManager.mappedUrl(_entryPoints[0]["file"])
1008
- filesource = FileSource.openFileSource(entryPath, self, checkIfXmlIsEis=_checkIfXmlIsEis)
1009
- _entrypointFiles = _entryPoints
1010
- if filesource and not filesource.selection and not (sourceZipStream and len(_entrypointFiles) > 0):
1011
- try:
1012
- filesourceEntrypointFiles(filesource, _entrypointFiles)
1013
- except Exception as err:
1014
- self.addToLog(str(err), messageCode="error", level=logging.ERROR)
1015
- return False
1016
986
 
1017
987
  for pluginXbrlMethod in PluginManager.pluginClassMethods("CntlrCmdLine.Filing.Start"):
1018
988
  pluginXbrlMethod(self, options, filesource, _entrypointFiles, sourceZipStream=sourceZipStream, responseZipStream=responseZipStream)
@@ -1248,6 +1218,11 @@ class CntlrCmdLine(Cntlr.Cntlr):
1248
1218
  self.modelManager.close(modelDiffReport)
1249
1219
  elif modelXbrl:
1250
1220
  self.modelManager.close(modelXbrl)
1221
+
1222
+ if options.validate:
1223
+ for pluginXbrlMethod in PluginManager.pluginClassMethods("Validate.Complete"):
1224
+ pluginXbrlMethod(self, filesource)
1225
+
1251
1226
  if filesource is not None and not options.keepOpen:
1252
1227
  # Archive filesource potentially used by multiple reports may still be open.
1253
1228
  filesource.close()
@@ -5,11 +5,14 @@ See COPYRIGHT.md for copyright information.
5
5
  '''
6
6
  from __future__ import annotations
7
7
 
8
+ from typing import Any
9
+
8
10
  from arelle import ValidateDuplicateFacts
9
11
  import os, sys, subprocess, pickle, time, locale, fnmatch, platform, webbrowser
10
12
  import regex as re
11
13
 
12
14
  from arelle.logging.formatters.LogFormatter import logRefsFileLines
15
+ from arelle.utils.EntryPointDetection import parseEntrypointFileInput
13
16
 
14
17
  if sys.platform == 'win32' and getattr(sys, 'frozen', False):
15
18
  # need the .dll directory in path to be able to access Tk and Tcl DLLs efore importinng Tk, etc.
@@ -816,15 +819,22 @@ class CntlrWinMain (Cntlr.Cntlr):
816
819
  if filename:
817
820
  for xbrlLoadedMethod in pluginClassMethods("CntlrWinMain.Xbrl.Open"):
818
821
  filename = xbrlLoadedMethod(self, filename) # runs in GUI thread, allows mapping filename, mult return filename
819
- filesource = None
822
+ entrypointParseResult = parseEntrypointFileInput(self, filename, fallbackSelect=False)
823
+ if not entrypointParseResult.success or entrypointParseResult.filesource is None:
824
+ return
825
+ filesource = entrypointParseResult.filesource
826
+ entrypointFiles = entrypointParseResult.entrypointFiles
820
827
  # check for archive files
821
- filesource = openFileSource(filename, self,
822
- checkIfXmlIsEis=self.modelManager.disclosureSystem and
823
- self.modelManager.disclosureSystem.validationType == "EFM")
824
828
  if filesource.isArchive:
825
- if not filesource.selection and not filesource.isReportPackage: # or filesource.isRss:
829
+ if (
830
+ len(entrypointFiles) == 0 and
831
+ not filesource.selection and
832
+ not filesource.isReportPackage
833
+ ):
826
834
  from arelle import DialogOpenArchive
827
835
  filename = DialogOpenArchive.askArchiveFile(self, filesource)
836
+ if filename is not None:
837
+ entrypointFiles.append({"file": filename})
828
838
  if filename and filesource.basefile and not isHttpUrl(filesource.basefile):
829
839
  self.config["fileOpenDir"] = os.path.dirname(filesource.baseurl)
830
840
  filesource.loadTaxonomyPackageMappings() # if a package, load mappings if not loaded yet
@@ -837,7 +847,7 @@ class CntlrWinMain (Cntlr.Cntlr):
837
847
  self.updateFileHistory(filename, importToDTS)
838
848
  elif len(filename) == 1:
839
849
  self.updateFileHistory(filename[0], importToDTS)
840
- thread = threading.Thread(target=self.backgroundLoadXbrl, args=(filesource,importToDTS,selectTopView), daemon=True).start()
850
+ thread = threading.Thread(target=self.backgroundLoadXbrl, args=(filesource,entrypointFiles,importToDTS,selectTopView), daemon=True).start()
841
851
 
842
852
  def webOpen(self, *ignore):
843
853
  if not self.okayToContinue():
@@ -848,12 +858,24 @@ class CntlrWinMain (Cntlr.Cntlr):
848
858
  self.updateFileHistory(url, False)
849
859
  for xbrlLoadedMethod in pluginClassMethods("CntlrWinMain.Xbrl.Open"):
850
860
  url = xbrlLoadedMethod(self, url) # runs in GUI thread, allows mapping url, mult return url
851
- filesource = openFileSource(url,self)
852
- if filesource.isArchive and not filesource.isReportPackage and not filesource.selection: # or filesource.isRss:
853
- from arelle import DialogOpenArchive
854
- url = DialogOpenArchive.askArchiveFile(self, filesource)
855
- self.updateFileHistory(url, False)
856
- thread = threading.Thread(target=self.backgroundLoadXbrl, args=(filesource,False,False), daemon=True).start()
861
+ entrypointParseResult = parseEntrypointFileInput(self, url, fallbackSelect=False)
862
+ if not entrypointParseResult.success or entrypointParseResult.filesource is None:
863
+ return
864
+ filesource = entrypointParseResult.filesource
865
+ entrypointFiles = entrypointParseResult.entrypointFiles
866
+ if filesource.isArchive:
867
+ if (
868
+ len(entrypointFiles) == 0 and
869
+ not filesource.selection and
870
+ not filesource.isReportPackage
871
+ ):
872
+ from arelle import DialogOpenArchive
873
+ url = DialogOpenArchive.askArchiveFile(self, filesource)
874
+ if url is not None:
875
+ entrypointFiles.append({"file": url})
876
+ self.updateFileHistory(url, False)
877
+ filesource.loadTaxonomyPackageMappings()
878
+ thread = threading.Thread(target=self.backgroundLoadXbrl, args=(filesource,entrypointFiles,False,False), daemon=True).start()
857
879
 
858
880
  def importWebOpen(self, *ignore):
859
881
  if not self.modelManager.modelXbrl or self.modelManager.modelXbrl.modelDocument.type not in (
@@ -867,36 +889,37 @@ class CntlrWinMain (Cntlr.Cntlr):
867
889
  self.fileOpenFile(url, importToDTS=True)
868
890
 
869
891
 
870
- def backgroundLoadXbrl(self, filesource, importToDTS, selectTopView):
892
+ def backgroundLoadXbrl(self, filesource, entrypointFiles: list[dict[str, Any]], importToDTS, selectTopView):
871
893
  startedAt = time.time()
872
894
  loadedModels = []
873
895
  try:
874
- if importToDTS:
875
- action = _("imported")
876
- profileStat = "import"
877
- modelXbrl = self.modelManager.modelXbrl
878
- if modelXbrl:
879
- ModelDocument.load(modelXbrl, filesource.url, isSupplemental=importToDTS)
880
- modelXbrl.relationshipSets.clear() # relationships have to be re-cached
881
- loadedModels.append(modelXbrl)
882
- else:
883
- action = _("loaded")
884
- profileStat = "load"
885
- if (reportPackage := filesource.reportPackage) and "_IXDS#?#" not in filesource.url:
886
- for report in reportPackage.reports or []:
887
- if len(report.fullPathFiles) > 1:
888
- self.addToLog(_("Loading error. Inline document set encountered. Enable 'Inline XBRL Document Set' plug-in and use the Open Inline Doc Set dialog from the file menu to open this filing: {0}").format(filesource.url))
889
- continue
890
- filesource.select(report.fullPathPrimary)
891
- modelXbrl = self.modelManager.load(filesource, _("views loading"))
892
- if modelXbrl:
893
- loadedModels.append(modelXbrl)
896
+ action = _("preparing entrypoints")
897
+ for pluginXbrlMethod in pluginClassMethods("CntlrWinMain.Filing.Start"):
898
+ pluginXbrlMethod(self, filesource, entrypointFiles)
899
+ for entrypoint in entrypointFiles:
900
+ entrypointFile = entrypoint.get("file", None) if isinstance(entrypoint,dict) else entrypoint
901
+ if filesource and filesource.isArchive:
902
+ filesource.select(entrypointFile)
903
+ else:
904
+ entrypointFile = PackageManager.mappedUrl(entrypointFile)
905
+ filesource = openFileSource(entrypointFile, self)
906
+ if importToDTS:
907
+ action = _("imported")
908
+ profileStat = "import"
909
+ modelXbrl = self.modelManager.modelXbrl
910
+ if modelXbrl:
911
+ ModelDocument.load(modelXbrl, filesource.url, isSupplemental=importToDTS)
912
+ modelXbrl.relationshipSets.clear() # relationships have to be re-cached
913
+ loadedModels.append(modelXbrl)
894
914
  else:
915
+ action = _("loaded")
916
+ profileStat = "load"
895
917
  modelXbrl = self.modelManager.load(
896
918
  filesource,
897
919
  _("views loading"),
898
920
  # check modified time if GUI-loading from web
899
921
  checkModifiedTime=isHttpUrl(filesource.url),
922
+ entrypoint=entrypoint,
900
923
  )
901
924
  if modelXbrl:
902
925
  loadedModels.append(modelXbrl)
@@ -446,7 +446,7 @@ def loadSchemalocatedSchema(modelXbrl, element, relativeUrl, namespace, baseUrl)
446
446
  doc.inDTS = False
447
447
  return doc
448
448
 
449
- def create(modelXbrl, type, uri, schemaRefs=None, isEntry=False, initialXml=None, initialComment=None, base=None, discover=True, documentEncoding="utf-8", xbrliNamespacePrefix=None) -> ModelDocument:
449
+ def create(modelXbrl, type, uri, schemaRefs=None, isEntry=False, initialXml=None, initialComment=None, base=None, discover=True, documentEncoding="utf-8", xbrliNamespacePrefix=None, entrypoint=None) -> ModelDocument:
450
450
  """Returns a new modelDocument, created from scratch, with any necessary header elements
451
451
 
452
452
  (such as the schema, instance, or RSS feed top level elements)
@@ -538,6 +538,7 @@ def create(modelXbrl, type, uri, schemaRefs=None, isEntry=False, initialXml=None
538
538
  modelDocument.isQualifiedElementFormDefault = False
539
539
  modelDocument.isQualifiedAttributeFormDefault = False
540
540
  modelDocument.definesUTR = False
541
+ modelDocument.entrypoint = entrypoint
541
542
  return modelDocument
542
543
 
543
544
  class Type:
@@ -727,10 +728,12 @@ class ModelDocument:
727
728
  # The document encoding. The XML declaration is stripped from the document
728
729
  # before lxml parses the document making the lxml DocInfo encoding unreliable.
729
730
  documentEncoding: str
731
+ entrypoint: dict[str, Any] | None
730
732
  xmlRootElement: Any
731
733
  targetXbrlRootElement: ModelObject
732
734
 
733
735
  def __init__(self, modelXbrl, type, uri, filepath, xmlDocument):
736
+ self.entrypoint = None
734
737
  self.modelXbrl = modelXbrl
735
738
  self.skipDTS = modelXbrl.skipDTS
736
739
  self.type = type
@@ -304,6 +304,7 @@ class Validate:
304
304
  def _testcaseLoadReadMeFirstUri(self, testcase, modelTestcaseVariation, index, readMeFirstUri, resultIsVersioningReport, resultIsTaxonomyPackage, inputDTSes, errorCaptureLevel, baseForElement, parameters):
305
305
  preLoadingErrors = [] # accumulate pre-loading errors, such as during taxonomy package loading
306
306
  loadedModels = []
307
+ filesource = None
307
308
  readMeFirstElements = modelTestcaseVariation.readMeFirstElements
308
309
  expectTaxonomyPackage = (index < len(readMeFirstElements) and
309
310
  readMeFirstElements[index] is not None and
@@ -492,6 +493,8 @@ class Validate:
492
493
  _("Testcase variation validation exception: %(error)s, instance: %(instance)s"),
493
494
  modelXbrl=model, instance=model.modelDocument.basename, error=err, exc_info=(type(err) is not AssertionError))
494
495
  model.hasFormulae = _hasFormulae
496
+ for pluginXbrlMethod in pluginClassMethods("Validate.Complete"):
497
+ pluginXbrlMethod(self.modelXbrl.modelManager.cntlr, filesource)
495
498
  errors = [error for model in loadedModels for error in model.errors]
496
499
  for err in preLoadingErrors:
497
500
  if err not in errors:
@@ -30,7 +30,10 @@ class ViewDTS(ViewWinTree.ViewTree):
30
30
 
31
31
  def viewDtsElement(self, modelDocument, parentNode, n, parents, siblings):
32
32
  if modelDocument.type == ModelDocument.Type.INLINEXBRLDOCUMENTSET:
33
- text = modelDocument.gettype() # no file name to display
33
+ if modelDocument.entrypoint is not None and "id" in modelDocument.entrypoint:
34
+ text = f"{modelDocument.entrypoint['id']} (IXDS)"
35
+ else:
36
+ text = "Inline XBRL Document Set" # no file name or ID to display
34
37
  else:
35
38
  text = "{0} - {1}".format(os.path.basename(modelDocument.uri), modelDocument.gettype())
36
39
  node = self.treeView.insert(parentNode, "end",
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '2.37.53'
32
- __version_tuple__ = version_tuple = (2, 37, 53)
31
+ __version__ = version = '2.37.55'
32
+ __version_tuple__ = version_tuple = (2, 37, 55)
33
33
 
34
- __commit_id__ = commit_id = 'ge4044e75f'
34
+ __commit_id__ = commit_id = 'g122eb892b'
@@ -19,13 +19,22 @@ if TYPE_CHECKING:
19
19
  from arelle.FileSource import FileSource
20
20
 
21
21
 
22
+ def pathsContainReportsDirectory(paths: set[str], topLevelDir: str) -> bool:
23
+ reportDirectory = f"{topLevelDir}/{Const.REPORTS_DIRECTORY}"
24
+ if reportDirectory in paths:
25
+ return True
26
+ reportDirectory = f"{reportDirectory}/"
27
+ return any(path.startswith(reportDirectory) for path in paths)
28
+
22
29
  def getReportPackageTopLevelDirectory(filesource: FileSource) -> str | None:
23
30
  packageEntries = set(filesource.dir or [])
24
- potentialTopLevelReportDirs = {
25
- topLevelDir
26
- for topLevelDir in PackageUtils.getPackageTopLevelDirectories(filesource)
27
- if any(f"{topLevelDir}/{path}" in packageEntries for path in Const.REPORT_PACKAGE_PATHS)
28
- }
31
+ potentialTopLevelReportDirs = set()
32
+ for topLevelDir in PackageUtils.getPackageTopLevelDirectories(filesource):
33
+ if (
34
+ f"{topLevelDir}/{Const.REPORT_PACKAGE_FILE}" in packageEntries or
35
+ pathsContainReportsDirectory(packageEntries, topLevelDir)
36
+ ):
37
+ potentialTopLevelReportDirs.add(topLevelDir)
29
38
  if len(potentialTopLevelReportDirs) == 1:
30
39
  return next(iter(potentialTopLevelReportDirs))
31
40
  return None
@@ -98,7 +107,7 @@ def getAllReportEntries(filesource: FileSource, stld: str | None) -> list[Report
98
107
  if not isinstance(filesource.fs, zipfile.ZipFile):
99
108
  return None
100
109
  entries = [f.orig_filename for f in filesource.fs.infolist()]
101
- if not any(entry.startswith(f"{stld}/{Const.REPORTS_DIRECTORY}") for entry in entries):
110
+ if not pathsContainReportsDirectory(set(entries), stld):
102
111
  return None
103
112
  topReportEntries = []
104
113
  entriesBySubDir = defaultdict(list)
@@ -36,7 +36,6 @@ REPORT_PACKAGE_EXTENSIONS = frozenset(
36
36
 
37
37
  REPORT_PACKAGE_FILE = f"{META_INF_DIRECTORY}/reportPackage.json"
38
38
  REPORTS_DIRECTORY = "reports"
39
- REPORT_PACKAGE_PATHS = [REPORT_PACKAGE_FILE, f"{REPORTS_DIRECTORY}/"]
40
39
 
41
40
  XBRL_2_1_REPORT_FILE_EXTENSION = ".xbrl"
42
41
  JSON_REPORT_FILE_EXTENSION = ".json"
@@ -248,7 +248,7 @@ def inlineXbrlDocumentSetLoader(modelXbrl, normalizedUri, filepath, isEntry=Fals
248
248
  for url in modelXbrl.ixdsDocUrls:
249
249
  xml.append("<instance>{}</instance>\n".format(url))
250
250
  xml.append("</instances>\n")
251
- ixdocset = create(modelXbrl, Type.INLINEXBRLDOCUMENTSET, docsetUrl, isEntry=True, initialXml="".join(xml))
251
+ ixdocset = create(modelXbrl, Type.INLINEXBRLDOCUMENTSET, docsetUrl, isEntry=True, initialXml="".join(xml), entrypoint=kwargs.get('entrypoint'))
252
252
  ixdocset.type = Type.INLINEXBRLDOCUMENTSET
253
253
  ixdocset.targetDocumentPreferredFilename = None # possibly no inline docs in this doc set
254
254
  for i, elt in enumerate(ixdocset.xmlRootElement.iter(tag="instance")):
@@ -739,7 +739,22 @@ def commandLineOptionExtender(parser, *args, **kwargs):
739
739
  def commandLineFilingStart(cntlr, options, filesource, entrypointFiles, *args, **kwargs):
740
740
  global skipExpectedInstanceComparison
741
741
  skipExpectedInstanceComparison = getattr(options, "skipExpectedInstanceComparison", False)
742
- inlineTarget = getattr(options, "inlineTarget", None)
742
+ filingStart(
743
+ cntlr,
744
+ entrypointFiles,
745
+ getattr(options, "inlineTarget", None),
746
+ )
747
+
748
+ def guiFilingStart(cntlr, filesource, entrypointFiles, *args, **kwargs):
749
+ global skipExpectedInstanceComparison
750
+ skipExpectedInstanceComparison = False
751
+ filingStart(
752
+ cntlr,
753
+ entrypointFiles,
754
+ inlineTarget=None
755
+ )
756
+
757
+ def filingStart(cntlr, entrypointFiles, inlineTarget):
743
758
  if inlineTarget:
744
759
  if isinstance(entrypointFiles, dict):
745
760
  entrypointFiles = [entrypointFiles]
@@ -1018,6 +1033,7 @@ __pluginInfo__ = {
1018
1033
  'InlineDocumentSet.Discovery': inlineDocsetDiscovery,
1019
1034
  'InlineDocumentSet.Url.Separator': inlineDocsetUrlSeparator,
1020
1035
  'InlineDocumentSet.CreateTargetInstance': createTargetInstance,
1036
+ 'CntlrWinMain.Filing.Start': guiFilingStart,
1021
1037
  'CntlrWinMain.Menu.File.Open': fileOpenMenuEntender,
1022
1038
  'CntlrWinMain.Menu.Tools': saveTargetDocumentMenuEntender,
1023
1039
  'CntlrCmdLine.Options': commandLineOptionExtender,
@@ -39,3 +39,40 @@ qnEdinetManifestTocComposition = qname("{http://disclosure.edinet-fsa.go.jp/2013
39
39
  xhtmlDtdExtension = "xhtml1-strict-ix.dtd"
40
40
 
41
41
  COVER_PAGE_FILENAME_PREFIX = "0000000_header_"
42
+
43
+ PROHIBITED_HTML_ATTRIBUTES = frozenset({
44
+ 'onblur',
45
+ 'onchange',
46
+ 'onclick',
47
+ 'ondblclick',
48
+ 'onfocus',
49
+ 'onkeydown',
50
+ 'onkeypress',
51
+ 'onkeyup',
52
+ 'onload',
53
+ 'onmousedown',
54
+ 'onmousemove',
55
+ 'onmouseout',
56
+ 'onmouseover',
57
+ 'onmouseup',
58
+ 'onreset',
59
+ 'onselect',
60
+ 'onsubmit',
61
+ 'onunload',
62
+ })
63
+
64
+ PROHIBITED_HTML_TAGS = frozenset({
65
+ 'applet',
66
+ 'embed',
67
+ 'form',
68
+ 'frame',
69
+ 'frameset',
70
+ 'iframe',
71
+ 'input',
72
+ 'object',
73
+ 'plaintext',
74
+ 'pre',
75
+ 'script',
76
+ 'select',
77
+ 'textarea',
78
+ })
@@ -27,10 +27,12 @@ _: TypeGetText
27
27
  @dataclass
28
28
  class ControllerPluginData(PluginData):
29
29
  _manifestInstancesById: dict[str, ManifestInstance]
30
+ _usedFilepaths: set[Path]
30
31
 
31
32
  def __init__(self, name: str):
32
33
  super().__init__(name)
33
34
  self._manifestInstancesById = {}
35
+ self._usedFilepaths = set()
34
36
 
35
37
  def __hash__(self) -> int:
36
38
  return id(self)
@@ -120,6 +122,9 @@ class ControllerPluginData(PluginData):
120
122
  if not i.is_dir()
121
123
  }
122
124
 
125
+ def getUsedFilepaths(self) -> frozenset[Path]:
126
+ return frozenset(self._usedFilepaths)
127
+
123
128
  @lru_cache(1)
124
129
  def isUpload(self, fileSource: FileSource) -> bool:
125
130
  fileSource.open() # Make sure file source is open
@@ -165,6 +170,9 @@ class ControllerPluginData(PluginData):
165
170
  break
166
171
  return matchedInstance
167
172
 
173
+ def addUsedFilepath(self, path: Path) -> None:
174
+ self._usedFilepaths.add(path)
175
+
168
176
  @staticmethod
169
177
  def get(cntlr: Cntlr, name: str) -> ControllerPluginData:
170
178
  controllerPluginData = cntlr.getPluginData(name)
@@ -166,4 +166,4 @@ def parseManifests(filesource: FileSource) -> list[ManifestInstance]:
166
166
  err,
167
167
  traceback.format_exc()
168
168
  ))
169
- return instances
169
+ return sorted(instances, key=lambda i: i.id)
@@ -7,15 +7,18 @@ from collections import defaultdict
7
7
  from dataclasses import dataclass
8
8
  from decimal import Decimal
9
9
  from functools import lru_cache
10
- from lxml.etree import DTD, XML
10
+ from pathlib import Path
11
+
12
+ from lxml.etree import DTD, XML, _ElementTree, _Comment, _ProcessingInstruction
11
13
  from operator import attrgetter
12
14
  from typing import Callable, Hashable, Iterable, cast
13
15
 
14
16
  import os
15
17
  import regex
16
18
 
19
+ from arelle import UrlUtil
17
20
  from arelle.LinkbaseType import LinkbaseType
18
- from arelle.ModelDocument import Type as ModelDocumentType
21
+ from arelle.ModelDocument import Type as ModelDocumentType, ModelDocument
19
22
  from arelle.ModelDtsObject import ModelConcept
20
23
  from arelle.ModelInstanceObject import ModelFact, ModelUnit, ModelContext, ModelInlineFact
21
24
  from arelle.ModelObject import ModelObject
@@ -23,10 +26,12 @@ from arelle.ModelValue import QName, qname
23
26
  from arelle.ModelXbrl import ModelXbrl
24
27
  from arelle.PrototypeDtsObject import LinkPrototype
25
28
  from arelle.ValidateDuplicateFacts import getDeduplicatedFacts, DeduplicationType
29
+ from arelle.ValidateXbrl import ValidateXbrl
30
+ from arelle.XhtmlValidate import htmlEltUriAttrs
26
31
  from arelle.XmlValidate import VALID
27
32
  from arelle.typing import TypeGetText
28
33
  from arelle.utils.PluginData import PluginData
29
- from .Constants import CORPORATE_FORMS, FormType, xhtmlDtdExtension
34
+ from .Constants import CORPORATE_FORMS, FormType, xhtmlDtdExtension, PROHIBITED_HTML_TAGS, PROHIBITED_HTML_ATTRIBUTES
30
35
  from .ControllerPluginData import ControllerPluginData
31
36
  from .ManifestInstance import ManifestInstance
32
37
  from .Statement import Statement, STATEMENTS, BalanceSheet, StatementInstance, StatementType
@@ -37,6 +42,14 @@ _: TypeGetText
37
42
  _DEBIT_QNAME_PATTERN = regex.compile('.*(Liability|Liabilities|Equity)')
38
43
 
39
44
 
45
+ @dataclass(frozen=True)
46
+ class UriReference:
47
+ attributeName: str
48
+ attributeValue: str
49
+ document: ModelDocument
50
+ element: ModelObject
51
+
52
+
40
53
  @dataclass
41
54
  class PluginValidationDataExtension(PluginData):
42
55
  accountingStandardsDeiQn: QName
@@ -51,9 +64,9 @@ class PluginValidationDataExtension(PluginData):
51
64
 
52
65
  contextIdPattern: regex.Pattern[str]
53
66
 
54
- _primaryModelXbrl: ModelXbrl | None = None
67
+ _uriReferences: list[UriReference]
55
68
 
56
- def __init__(self, name: str):
69
+ def __init__(self, name: str, validateXbrl: ValidateXbrl):
57
70
  super().__init__(name)
58
71
  jpcrpEsrNamespace = "http://disclosure.edinet-fsa.go.jp/taxonomy/jpcrp-esr/2024-11-01/jpcrp-esr_cor"
59
72
  self.jpcrpNamespace = 'http://disclosure.edinet-fsa.go.jp/taxonomy/jpcrp/2024-11-01/jpcrp_cor'
@@ -74,6 +87,9 @@ class PluginValidationDataExtension(PluginData):
74
87
 
75
88
  self.contextIdPattern = regex.compile(r'(Prior[1-9]Year|CurrentYear|Prior[1-9]Interim|Interim)(Duration|Instant)')
76
89
 
90
+ self._uriReferences = []
91
+ self._initialize(validateXbrl.modelXbrl)
92
+
77
93
  # Identity hash for caching.
78
94
  def __hash__(self) -> int:
79
95
  return id(self)
@@ -93,6 +109,28 @@ class PluginValidationDataExtension(PluginData):
93
109
  contextIsConsolidated = memberValue != self.nonConsolidatedMemberQn
94
110
  return bool(statement.isConsolidated == contextIsConsolidated)
95
111
 
112
+ def _initialize(self, modelXbrl: ModelXbrl) -> None:
113
+ if not isinstance(modelXbrl.fileSource.basefile, str):
114
+ return
115
+ controllerPluginData = ControllerPluginData.get(modelXbrl.modelManager.cntlr, self.name)
116
+ basePath = Path(modelXbrl.fileSource.basefile)
117
+ for uri, doc in modelXbrl.urlDocs.items():
118
+ docPath = Path(uri)
119
+ if not docPath.is_relative_to(basePath):
120
+ continue
121
+ controllerPluginData.addUsedFilepath(docPath.relative_to(basePath))
122
+ for elt, name, value in self.getUriAttributeValues(doc):
123
+ self._uriReferences.append(UriReference(
124
+ attributeName=name,
125
+ attributeValue=value,
126
+ document=doc,
127
+ element=elt,
128
+ ))
129
+ fullPath = Path(doc.uri).parent / value
130
+ if fullPath.is_relative_to(basePath):
131
+ fileSourcePath = fullPath.relative_to(basePath)
132
+ controllerPluginData.addUsedFilepath(fileSourcePath)
133
+
96
134
  def _isDebitConcept(self, concept: ModelConcept) -> bool:
97
135
  """
98
136
  :return: Whether the given concept is a debit concept.
@@ -201,6 +239,10 @@ class PluginValidationDataExtension(PluginData):
201
239
  if (statementInstance := self.getStatementInstance(modelXbrl, statement)) is not None
202
240
  ]
203
241
 
242
+ @property
243
+ def uriReferences(self) -> list[UriReference]:
244
+ return self._uriReferences
245
+
204
246
  @lru_cache(1)
205
247
  def getDeduplicatedFacts(self, modelXbrl: ModelXbrl) -> list[ModelFact]:
206
248
  return getDeduplicatedFacts(modelXbrl, DeduplicationType.CONSISTENT_PAIRS)
@@ -259,6 +301,44 @@ class PluginValidationDataExtension(PluginData):
259
301
  controllerPluginData = ControllerPluginData.get(modelXbrl.modelManager.cntlr, self.name)
260
302
  return controllerPluginData.matchManifestInstance(modelXbrl.ixdsDocUrls)
261
303
 
304
+ @lru_cache(1)
305
+ def getProhibitedAttributeElements(self, modelDocument: ModelDocument) -> list[tuple[ModelObject, str]]:
306
+ results: list[tuple[ModelObject, str]] = []
307
+ if modelDocument.type not in (ModelDocumentType.INLINEXBRL, ModelDocumentType.HTML):
308
+ return results
309
+ for elt in modelDocument.xmlRootElement.iter():
310
+ if not isinstance(elt, ModelObject):
311
+ continue
312
+ for attributeName in elt.attrib.keys():
313
+ if attributeName in PROHIBITED_HTML_ATTRIBUTES:
314
+ results.append((elt, str(attributeName)))
315
+ return results
316
+
317
+ @lru_cache(1)
318
+ def getProhibitedTagElements(self, modelDocument: ModelDocument) -> list[ModelObject]:
319
+ elts: list[ModelObject] = []
320
+ if modelDocument.type not in (ModelDocumentType.INLINEXBRL, ModelDocumentType.HTML):
321
+ return elts
322
+ for elt in modelDocument.xmlRootElement.iter():
323
+ if not isinstance(elt, ModelObject):
324
+ continue
325
+ tag = elt.qname.localName
326
+ if tag in PROHIBITED_HTML_TAGS:
327
+ elts.append(elt)
328
+ return elts
329
+
330
+ @lru_cache(1)
331
+ def getUriAttributeValues(self, modelDocument: ModelDocument) -> list[tuple[ModelObject, str, str]]:
332
+ results: list[tuple[ModelObject, str, str]] = []
333
+ if modelDocument.type not in (ModelDocumentType.INLINEXBRL, ModelDocumentType.HTML):
334
+ return results
335
+ for elt in modelDocument.xmlRootElement.iter():
336
+ for name in htmlEltUriAttrs.get(elt.localName, ()):
337
+ value = elt.get(name)
338
+ if value is not None:
339
+ results.append((elt, name, value))
340
+ return results
341
+
262
342
  def hasValidNonNilFact(self, modelXbrl: ModelXbrl, qname: QName) -> bool:
263
343
  return any(True for fact in self.iterValidNonNilFacts(modelXbrl, qname))
264
344
 
@@ -270,3 +350,7 @@ class PluginValidationDataExtension(PluginData):
270
350
  for fact in facts:
271
351
  if fact.xValid >= VALID and not fact.isNil:
272
352
  yield fact
353
+
354
+ def addUsedFilepath(self, modelXbrl: ModelXbrl, path: Path) -> None:
355
+ controllerPluginData = ControllerPluginData.get(modelXbrl.modelManager.cntlr, self.name)
356
+ controllerPluginData.addUsedFilepath(path)
@@ -3,6 +3,7 @@ See COPYRIGHT.md for copyright information.
3
3
  """
4
4
  from __future__ import annotations
5
5
 
6
+ import logging
6
7
  from typing import Any
7
8
 
8
9
  from arelle.Cntlr import Cntlr
@@ -26,6 +27,15 @@ class ValidationPluginExtension(ValidationPlugin):
26
27
  if len(instances) == 0:
27
28
  return None
28
29
  assert filesource.cntlr is not None
30
+ filesource.cntlr.addToLog(
31
+ _("EDINET manifest(s) detected (%(manifests)s). Loading %(count)s instances (%(instances)s)."),
32
+ messageCode="info",
33
+ messageArgs={
34
+ "manifests": ', '.join(instance.type for instance in instances),
35
+ "count": len(instances),
36
+ "instances": ', '.join(instance.id for instance in instances),
37
+ }, level=logging.INFO
38
+ )
29
39
  pluginData = ControllerPluginData.get(filesource.cntlr, self.name)
30
40
  entrypointFiles = []
31
41
  for instance in instances:
@@ -49,4 +59,5 @@ class ValidationPluginExtension(ValidationPlugin):
49
59
  raise ValueError(f'Invalid EDINET disclosure system: {disclosureSystem}')
50
60
  return PluginValidationDataExtension(
51
61
  self.name,
62
+ validateXbrl
52
63
  )