iOpenPod 2.0.4__tar.gz → 2.0.6__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.
Files changed (2050) hide show
  1. iopenpod-2.0.6/CONTEXT.md +772 -0
  2. iopenpod-2.0.6/GLOSSARY.md +258 -0
  3. iopenpod-2.0.6/PKG-INFO +336 -0
  4. iopenpod-2.0.6/README.md +289 -0
  5. iopenpod-2.0.6/TODO.md +25 -0
  6. iopenpod-2.0.6/docs/adr/0030-bind-library-file-transactions-to-issued-reviews.md +46 -0
  7. iopenpod-2.0.6/docs/adr/0061-support-late-ipod-library-artifact-sets.md +69 -0
  8. iopenpod-2.0.6/docs/adr/0075-publish-lyrics-with-media-file-tags.md +66 -0
  9. iopenpod-2.0.6/docs/adr/0076-execute-reviewed-sync-through-storage.md +131 -0
  10. iopenpod-2.0.6/docs/adr/0115-treat-sysinfo-files-as-optional-metadata.md +41 -0
  11. iopenpod-2.0.6/docs/adr/0116-retain-bounded-unknown-data-with-log-only-diagnostics.md +34 -0
  12. iopenpod-2.0.6/docs/adr/0117-spill-prepared-library-content-to-host-storage.md +41 -0
  13. iopenpod-2.0.6/docs/adr/0118-write-application-artwork-for-non-cover-devices.md +44 -0
  14. iopenpod-2.0.6/docs/adr/0119-compare-track-tags-and-artwork-after-host-file-changes.md +77 -0
  15. iopenpod-2.0.6/docs/adr/0120-separate-track-payload-replacement-from-tag-and-artwork-updates.md +83 -0
  16. iopenpod-2.0.6/docs/adr/0121-preserve-retained-f1061-raster-height.md +44 -0
  17. iopenpod-2.0.6/docs/adr/0122-match-original-signing-behavior.md +43 -0
  18. iopenpod-2.0.6/docs/adr/README.md +197 -0
  19. iopenpod-2.0.6/docs/host-media-tags.md +84 -0
  20. iopenpod-2.0.6/docs/ipoddb-editing.md +154 -0
  21. iopenpod-2.0.6/docs/library-writing.md +773 -0
  22. iopenpod-2.0.6/docs/packaging.md +547 -0
  23. iopenpod-2.0.6/docs/research/itunescdb-and-sqlite-library.md +99 -0
  24. iopenpod-2.0.6/docs/source_architecture.md +2598 -0
  25. iopenpod-2.0.6/packaging/linux/io.github.therealsavi.iOpenPod.metainfo.xml +18 -0
  26. iopenpod-2.0.6/packaging/macos/dmg-artwork.md +26 -0
  27. iopenpod-2.0.6/packaging/macos/dmg-backdrop.png +0 -0
  28. iopenpod-2.0.6/packaging/macos/dmg-background.png +0 -0
  29. iopenpod-2.0.6/packaging/macos/dmg-background.svg +71 -0
  30. iopenpod-2.0.6/packaging/macos/dmg-layout.applescript +39 -0
  31. iopenpod-2.0.6/packaging/windows/store/listing.md +230 -0
  32. iopenpod-2.0.6/packaging/windows/store/submission-fields.json +163 -0
  33. iopenpod-2.0.6/pyproject.toml +214 -0
  34. iopenpod-2.0.6/scripts/render_macos_dmg_background.py +54 -0
  35. iopenpod-2.0.6/src/device_registry/data/catalog.py +1112 -0
  36. iopenpod-2.0.6/src/device_registry/models.py +400 -0
  37. iopenpod-2.0.6/src/iOpenPod/GUI/dialogs/metadata_editor.py +879 -0
  38. iopenpod-2.0.6/src/iOpenPod/GUI/main_window.py +2123 -0
  39. iopenpod-2.0.6/src/iOpenPod/GUI/pages/settings_page.py +1035 -0
  40. iopenpod-2.0.6/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.qm +0 -0
  41. iopenpod-2.0.6/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.ts +10160 -0
  42. iopenpod-2.0.6/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.qm +0 -0
  43. iopenpod-2.0.6/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.ts +10160 -0
  44. iopenpod-2.0.6/src/iOpenPod/GUI/presentation/theme/stylesheet.py +2372 -0
  45. iopenpod-2.0.6/src/iOpenPod/GUI/sync_workspace.py +804 -0
  46. iopenpod-2.0.6/src/iOpenPod/GUI/widgets/media_tools_settings.py +152 -0
  47. iopenpod-2.0.6/src/iOpenPod/GUI/widgets/metadata_field_editor.py +427 -0
  48. iopenpod-2.0.6/src/iOpenPod/GUI/widgets/sync_storage_bar.py +242 -0
  49. iopenpod-2.0.6/src/iOpenPod/GUI/widgets/track_actions.py +865 -0
  50. iopenpod-2.0.6/src/iOpenPod/app/artwork_policy.py +99 -0
  51. iopenpod-2.0.6/src/iOpenPod/app/core/logging.py +71 -0
  52. iopenpod-2.0.6/src/iOpenPod/app/core/version.py +14 -0
  53. iopenpod-2.0.6/src/iOpenPod/app/export_tagging.py +413 -0
  54. iopenpod-2.0.6/src/iOpenPod/app/host_media_controller.py +299 -0
  55. iopenpod-2.0.6/src/iOpenPod/app/host_media_library.py +2625 -0
  56. iopenpod-2.0.6/src/iOpenPod/app/library_sync_helper.py +1187 -0
  57. iopenpod-2.0.6/src/iOpenPod/app/library_tag_updates.py +74 -0
  58. iopenpod-2.0.6/src/iOpenPod/app/library_write.py +144 -0
  59. iopenpod-2.0.6/src/iOpenPod/app/library_write_controller.py +610 -0
  60. iopenpod-2.0.6/src/iOpenPod/app/library_write_inspection.py +428 -0
  61. iopenpod-2.0.6/src/iOpenPod/app/lyrics_controller.py +141 -0
  62. iopenpod-2.0.6/src/iOpenPod/app/lyrics_work.py +44 -0
  63. iopenpod-2.0.6/src/iOpenPod/app/media/importing.py +252 -0
  64. iopenpod-2.0.6/src/iOpenPod/app/media/lyrics.py +149 -0
  65. iopenpod-2.0.6/src/iOpenPod/app/media/transcoding.py +1082 -0
  66. iopenpod-2.0.6/src/iOpenPod/app/models/library_filter_models.py +425 -0
  67. iopenpod-2.0.6/src/iOpenPod/app/models/sync_plan_table_model.py +410 -0
  68. iopenpod-2.0.6/src/iOpenPod/app/models/sync_selection.py +278 -0
  69. iopenpod-2.0.6/src/iOpenPod/app/scrobbling/clients.py +375 -0
  70. iopenpod-2.0.6/src/iOpenPod/app/services/device_coordinator.py +4192 -0
  71. iopenpod-2.0.6/src/iOpenPod/app/services/library_resources.py +813 -0
  72. iopenpod-2.0.6/src/iOpenPod/app/services/media_tools.py +287 -0
  73. iopenpod-2.0.6/src/iOpenPod/app/sync_execution.py +2650 -0
  74. iopenpod-2.0.6/src/iOpenPod/app/sync_plan.py +825 -0
  75. iopenpod-2.0.6/src/iOpenPod/app/sync_storage.py +233 -0
  76. iopenpod-2.0.6/src/iOpenPod/app/sync_track_details.py +107 -0
  77. iopenpod-2.0.6/src/iOpenPod/app/synesthesia/_rhythm.py +170 -0
  78. iopenpod-2.0.6/src/iOpenPod/app/synesthesia/_signals.py +228 -0
  79. iopenpod-2.0.6/src/iOpenPod/assets/glyphs/heart.svg +3 -0
  80. iopenpod-2.0.6/src/iPodDB/ArtworkDB/parser/mhod_parsers/container_mhod.py +53 -0
  81. iopenpod-2.0.6/src/iPodDB/ArtworkDB/parser/mhod_parsers/opaque_mhod.py +18 -0
  82. iopenpod-2.0.6/src/iPodDB/ArtworkDB/parser/mhod_parsers/string_mhod.py +42 -0
  83. iopenpod-2.0.6/src/iPodDB/ArtworkDB/parser/parse_ArtworkDB.py +16 -0
  84. iopenpod-2.0.6/src/iPodDB/PhotosDB/parser/mhod_parsers/container_mhod.py +53 -0
  85. iopenpod-2.0.6/src/iPodDB/PhotosDB/parser/mhod_parsers/opaque_mhod.py +18 -0
  86. iopenpod-2.0.6/src/iPodDB/PhotosDB/parser/mhod_parsers/string_mhod.py +42 -0
  87. iopenpod-2.0.6/src/iPodDB/PhotosDB/parser/parse_PhotosDB.py +16 -0
  88. iopenpod-2.0.6/src/iPodDB/SQLiteDB/checksum.py +83 -0
  89. iopenpod-2.0.6/src/iPodDB/SQLiteDB/database.py +1126 -0
  90. iopenpod-2.0.6/src/iPodDB/iTunesDB/cdb.py +164 -0
  91. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/chapter_data_mhod.py +329 -0
  92. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/contextual_100_mhod.py +19 -0
  93. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/library_index_mhod.py +34 -0
  94. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/library_jump_table_mhod.py +39 -0
  95. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/opaque_mhod.py +20 -0
  96. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/plist_mhod.py +59 -0
  97. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/settings_mhod.py +34 -0
  98. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_prefs_mhod.py +19 -0
  99. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_rules_mhod.py +196 -0
  100. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/string_mhod.py +50 -0
  101. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/mhod_parsers/video_details_mhod.py +19 -0
  102. iopenpod-2.0.6/src/iPodDB/iTunesDB/parser/parse_iTunesDB.py +25 -0
  103. iopenpod-2.0.6/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/chapter_data_mhod.py +95 -0
  104. iopenpod-2.0.6/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/contextual_100_mhod.py +28 -0
  105. iopenpod-2.0.6/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/smart_prefs_mhod.py +30 -0
  106. iopenpod-2.0.6/src/iPodDB/iTunesDB/writer/mhod_encoder.py +607 -0
  107. iopenpod-2.0.6/src/iPodDB/iTunesDB/writer/signature.py +327 -0
  108. iopenpod-2.0.6/src/iPodDB/library/__init__.py +234 -0
  109. iopenpod-2.0.6/src/iPodDB/library/_artwork_verification.py +189 -0
  110. iopenpod-2.0.6/src/iPodDB/library/_artwork_writing.py +710 -0
  111. iopenpod-2.0.6/src/iPodDB/library/_photo_resources.py +230 -0
  112. iopenpod-2.0.6/src/iPodDB/library/_reconcile.py +598 -0
  113. iopenpod-2.0.6/src/iPodDB/library/_track_writing.py +461 -0
  114. iopenpod-2.0.6/src/iPodDB/library/_write_analysis.py +445 -0
  115. iopenpod-2.0.6/src/iPodDB/library/_write_effects.py +371 -0
  116. iopenpod-2.0.6/src/iPodDB/library/_write_logging.py +202 -0
  117. iopenpod-2.0.6/src/iPodDB/library/_write_preparation.py +1087 -0
  118. iopenpod-2.0.6/src/iPodDB/library/_write_verification.py +145 -0
  119. iopenpod-2.0.6/src/iPodDB/library/database.py +421 -0
  120. iopenpod-2.0.6/src/iPodDB/library/editing.py +116 -0
  121. iopenpod-2.0.6/src/iPodDB/library/file_content.py +84 -0
  122. iopenpod-2.0.6/src/iPodDB/library/signing.py +75 -0
  123. iopenpod-2.0.6/src/iPodDB/library/writing.py +324 -0
  124. iopenpod-2.0.6/src/iPodDB/shared/chunk.py +417 -0
  125. iopenpod-2.0.6/src/iPodDB/shared/chunk_reader.py +492 -0
  126. iopenpod-2.0.6/src/iPodDB/shared/chunk_writer.py +353 -0
  127. iopenpod-2.0.6/src/iPodDB/shared/diagnostics.py +94 -0
  128. iopenpod-2.0.6/src/iPodDB/shared/errors.py +46 -0
  129. iopenpod-2.0.6/src/iPodDB/sidecars/codec.py +248 -0
  130. iopenpod-2.0.6/src/iPodDB/sidecars/models.py +65 -0
  131. iopenpod-2.0.6/src/iPodDB/sidecars/remapping.py +64 -0
  132. iopenpod-2.0.6/src/storage/content_workspace.py +232 -0
  133. iopenpod-2.0.6/src/storage/media_processing.py +546 -0
  134. iopenpod-2.0.6/src/storage/platform/linux.py +668 -0
  135. iopenpod-2.0.6/tests/device_registry/test_artwork_profiles.py +75 -0
  136. iopenpod-2.0.6/tests/device_registry/test_registry.py +392 -0
  137. iopenpod-2.0.6/tests/iOpenPod/GUI/test_media_tools_settings.py +186 -0
  138. iopenpod-2.0.6/tests/iOpenPod/GUI/test_metadata_actions.py +1194 -0
  139. iopenpod-2.0.6/tests/iOpenPod/GUI/test_settings_tabs.py +366 -0
  140. iopenpod-2.0.6/tests/iOpenPod/GUI/test_sync_plan_page.py +814 -0
  141. iopenpod-2.0.6/tests/iOpenPod/GUI/test_sync_storage_bar.py +87 -0
  142. iopenpod-2.0.6/tests/iOpenPod/app/media/test_photo_sync.py +522 -0
  143. iopenpod-2.0.6/tests/iOpenPod/app/services/test_device_coordinator.py +2430 -0
  144. iopenpod-2.0.6/tests/iOpenPod/app/services/test_library_lyrics.py +361 -0
  145. iopenpod-2.0.6/tests/iOpenPod/app/services/test_library_resources.py +706 -0
  146. iopenpod-2.0.6/tests/iOpenPod/app/synesthesia/conftest.py +67 -0
  147. iopenpod-2.0.6/tests/iOpenPod/app/test_artwork_policy.py +66 -0
  148. iopenpod-2.0.6/tests/iOpenPod/app/test_export_tagging.py +202 -0
  149. iopenpod-2.0.6/tests/iOpenPod/app/test_host_media_library.py +1546 -0
  150. iopenpod-2.0.6/tests/iOpenPod/app/test_library_edit_tags.py +276 -0
  151. iopenpod-2.0.6/tests/iOpenPod/app/test_library_sync_helper.py +854 -0
  152. iopenpod-2.0.6/tests/iOpenPod/app/test_lyrics_controller.py +154 -0
  153. iopenpod-2.0.6/tests/iOpenPod/app/test_media_lyrics.py +207 -0
  154. iopenpod-2.0.6/tests/iOpenPod/app/test_media_tools_setup.py +282 -0
  155. iopenpod-2.0.6/tests/iOpenPod/app/test_metadata_editing.py +333 -0
  156. iopenpod-2.0.6/tests/iOpenPod/app/test_music_import.py +360 -0
  157. iopenpod-2.0.6/tests/iOpenPod/app/test_pypi_updates.py +280 -0
  158. iopenpod-2.0.6/tests/iOpenPod/app/test_python_installation.py +331 -0
  159. iopenpod-2.0.6/tests/iOpenPod/app/test_python_update_helper.py +485 -0
  160. iopenpod-2.0.6/tests/iOpenPod/app/test_scrobbling.py +599 -0
  161. iopenpod-2.0.6/tests/iOpenPod/app/test_scrobbling_clients.py +335 -0
  162. iopenpod-2.0.6/tests/iOpenPod/app/test_sync_controller.py +606 -0
  163. iopenpod-2.0.6/tests/iOpenPod/app/test_sync_execution.py +2437 -0
  164. iopenpod-2.0.6/tests/iOpenPod/app/test_sync_plan.py +774 -0
  165. iopenpod-2.0.6/tests/iOpenPod/app/test_sync_storage.py +261 -0
  166. iopenpod-2.0.6/tests/iOpenPod/app/test_sync_updates.py +336 -0
  167. iopenpod-2.0.6/tests/iOpenPod/app/test_transcoding.py +587 -0
  168. iopenpod-2.0.6/tests/iOpenPod/app/version_fixtures.py +30 -0
  169. iopenpod-2.0.6/tests/iPodDB/ArtworkDB/test_parser.py +1092 -0
  170. iopenpod-2.0.6/tests/iPodDB/SQLiteDB/test_database.py +681 -0
  171. iopenpod-2.0.6/tests/iPodDB/binary_fixtures.py +129 -0
  172. iopenpod-2.0.6/tests/iPodDB/iTunesDB/test_cdb.py +53 -0
  173. iopenpod-2.0.6/tests/iPodDB/iTunesDB/test_definition_driven_parser.py +374 -0
  174. iopenpod-2.0.6/tests/iPodDB/iTunesDB/test_remaining_mhod_parsers.py +714 -0
  175. iopenpod-2.0.6/tests/iPodDB/iTunesDB/test_signatures.py +116 -0
  176. iopenpod-2.0.6/tests/iPodDB/library/test_artwork_creation.py +318 -0
  177. iopenpod-2.0.6/tests/iPodDB/library/test_artwork_format_repair.py +419 -0
  178. iopenpod-2.0.6/tests/iPodDB/library/test_artwork_native_verification.py +146 -0
  179. iopenpod-2.0.6/tests/iPodDB/library/test_file_content.py +49 -0
  180. iopenpod-2.0.6/tests/iPodDB/library/test_write_artwork.py +367 -0
  181. iopenpod-2.0.6/tests/iPodDB/library/test_write_resolution.py +466 -0
  182. iopenpod-2.0.6/tests/iPodDB/library/test_writing.py +551 -0
  183. iopenpod-2.0.6/tests/iPodDB/sidecars/test_playback_sidecars.py +57 -0
  184. iopenpod-2.0.6/tests/iPodDB/sidecars/test_sidecar_readers.py +199 -0
  185. iopenpod-2.0.6/tests/iPodDB/test_unknown_data_preservation.py +313 -0
  186. iopenpod-2.0.6/tests/storage/test_content_workspace.py +113 -0
  187. iopenpod-2.0.6/tests/storage/test_media_processing.py +475 -0
  188. iopenpod-2.0.6/tests/storage/test_platform_facts.py +490 -0
  189. iopenpod-2.0.6/tests/test_packaging.py +617 -0
  190. iopenpod-2.0.6/uv.lock +2228 -0
  191. iopenpod-2.0.6/website/_config.yml +41 -0
  192. iopenpod-2.0.6/website/robots.txt +4 -0
  193. iopenpod-2.0.4/CONTEXT.md +0 -729
  194. iopenpod-2.0.4/GLOSSARY.md +0 -258
  195. iopenpod-2.0.4/PKG-INFO +0 -327
  196. iopenpod-2.0.4/README.md +0 -280
  197. iopenpod-2.0.4/TODO.md +0 -25
  198. iopenpod-2.0.4/docs/adr/0030-bind-library-file-transactions-to-issued-reviews.md +0 -45
  199. iopenpod-2.0.4/docs/adr/0061-support-late-ipod-library-artifact-sets.md +0 -68
  200. iopenpod-2.0.4/docs/adr/0075-publish-lyrics-with-media-file-tags.md +0 -28
  201. iopenpod-2.0.4/docs/adr/0076-execute-reviewed-sync-through-storage.md +0 -130
  202. iopenpod-2.0.4/docs/adr/README.md +0 -189
  203. iopenpod-2.0.4/docs/host-media-tags.md +0 -83
  204. iopenpod-2.0.4/docs/ipoddb-editing.md +0 -134
  205. iopenpod-2.0.4/docs/library-writing.md +0 -737
  206. iopenpod-2.0.4/docs/packaging.md +0 -536
  207. iopenpod-2.0.4/docs/research/itunescdb-and-sqlite-library.md +0 -65
  208. iopenpod-2.0.4/docs/source_architecture.md +0 -2545
  209. iopenpod-2.0.4/packaging/linux/io.github.therealsavi.iOpenPod.metainfo.xml +0 -18
  210. iopenpod-2.0.4/packaging/macos/dmg-background.png +0 -0
  211. iopenpod-2.0.4/packaging/macos/dmg-background.svg +0 -24
  212. iopenpod-2.0.4/packaging/macos/dmg-layout.applescript +0 -36
  213. iopenpod-2.0.4/packaging/windows/store/listing.md +0 -208
  214. iopenpod-2.0.4/packaging/windows/store/submission-fields.json +0 -163
  215. iopenpod-2.0.4/pyproject.toml +0 -216
  216. iopenpod-2.0.4/src/device_registry/data/catalog.py +0 -1115
  217. iopenpod-2.0.4/src/device_registry/models.py +0 -403
  218. iopenpod-2.0.4/src/iOpenPod/GUI/dialogs/metadata_editor.py +0 -819
  219. iopenpod-2.0.4/src/iOpenPod/GUI/main_window.py +0 -2069
  220. iopenpod-2.0.4/src/iOpenPod/GUI/pages/settings_page.py +0 -950
  221. iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.qm +0 -0
  222. iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_de.ts +0 -10060
  223. iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.qm +0 -0
  224. iopenpod-2.0.4/src/iOpenPod/GUI/presentation/i18n/translations/iopenpod_es.ts +0 -10060
  225. iopenpod-2.0.4/src/iOpenPod/GUI/presentation/theme/stylesheet.py +0 -2322
  226. iopenpod-2.0.4/src/iOpenPod/GUI/sync_workspace.py +0 -795
  227. iopenpod-2.0.4/src/iOpenPod/GUI/widgets/media_tools_settings.py +0 -145
  228. iopenpod-2.0.4/src/iOpenPod/GUI/widgets/metadata_field_editor.py +0 -416
  229. iopenpod-2.0.4/src/iOpenPod/GUI/widgets/sync_storage_bar.py +0 -241
  230. iopenpod-2.0.4/src/iOpenPod/GUI/widgets/track_actions.py +0 -861
  231. iopenpod-2.0.4/src/iOpenPod/app/core/logging.py +0 -63
  232. iopenpod-2.0.4/src/iOpenPod/app/core/version.py +0 -14
  233. iopenpod-2.0.4/src/iOpenPod/app/export_tagging.py +0 -301
  234. iopenpod-2.0.4/src/iOpenPod/app/host_media_controller.py +0 -250
  235. iopenpod-2.0.4/src/iOpenPod/app/host_media_library.py +0 -2396
  236. iopenpod-2.0.4/src/iOpenPod/app/library_sync_helper.py +0 -1108
  237. iopenpod-2.0.4/src/iOpenPod/app/library_write.py +0 -130
  238. iopenpod-2.0.4/src/iOpenPod/app/library_write_controller.py +0 -608
  239. iopenpod-2.0.4/src/iOpenPod/app/library_write_inspection.py +0 -424
  240. iopenpod-2.0.4/src/iOpenPod/app/lyrics_controller.py +0 -161
  241. iopenpod-2.0.4/src/iOpenPod/app/media/importing.py +0 -252
  242. iopenpod-2.0.4/src/iOpenPod/app/media/lyrics.py +0 -143
  243. iopenpod-2.0.4/src/iOpenPod/app/media/transcoding.py +0 -1031
  244. iopenpod-2.0.4/src/iOpenPod/app/models/library_filter_models.py +0 -425
  245. iopenpod-2.0.4/src/iOpenPod/app/models/sync_plan_table_model.py +0 -383
  246. iopenpod-2.0.4/src/iOpenPod/app/models/sync_selection.py +0 -274
  247. iopenpod-2.0.4/src/iOpenPod/app/scrobbling/clients.py +0 -373
  248. iopenpod-2.0.4/src/iOpenPod/app/services/device_coordinator.py +0 -4175
  249. iopenpod-2.0.4/src/iOpenPod/app/services/library_resources.py +0 -677
  250. iopenpod-2.0.4/src/iOpenPod/app/services/media_tools.py +0 -273
  251. iopenpod-2.0.4/src/iOpenPod/app/sync_execution.py +0 -2319
  252. iopenpod-2.0.4/src/iOpenPod/app/sync_plan.py +0 -680
  253. iopenpod-2.0.4/src/iOpenPod/app/sync_storage.py +0 -131
  254. iopenpod-2.0.4/src/iOpenPod/app/synesthesia/_rhythm.py +0 -167
  255. iopenpod-2.0.4/src/iOpenPod/app/synesthesia/_signals.py +0 -226
  256. iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/container_mhod.py +0 -38
  257. iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/opaque_mhod.py +0 -12
  258. iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/mhod_parsers/string_mhod.py +0 -33
  259. iopenpod-2.0.4/src/iPodDB/ArtworkDB/parser/parse_ArtworkDB.py +0 -14
  260. iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/container_mhod.py +0 -38
  261. iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/opaque_mhod.py +0 -12
  262. iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/mhod_parsers/string_mhod.py +0 -33
  263. iopenpod-2.0.4/src/iPodDB/PhotosDB/parser/parse_PhotosDB.py +0 -14
  264. iopenpod-2.0.4/src/iPodDB/SQLiteDB/checksum.py +0 -68
  265. iopenpod-2.0.4/src/iPodDB/SQLiteDB/database.py +0 -1089
  266. iopenpod-2.0.4/src/iPodDB/iTunesDB/cdb.py +0 -136
  267. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/chapter_data_mhod.py +0 -327
  268. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/contextual_100_mhod.py +0 -17
  269. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/library_index_mhod.py +0 -31
  270. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/library_jump_table_mhod.py +0 -36
  271. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/opaque_mhod.py +0 -14
  272. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/plist_mhod.py +0 -52
  273. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/settings_mhod.py +0 -28
  274. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_prefs_mhod.py +0 -17
  275. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/smart_rules_mhod.py +0 -180
  276. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/string_mhod.py +0 -40
  277. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/mhod_parsers/video_details_mhod.py +0 -16
  278. iopenpod-2.0.4/src/iPodDB/iTunesDB/parser/parse_iTunesDB.py +0 -23
  279. iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/chapter_data_mhod.py +0 -93
  280. iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/contextual_100_mhod.py +0 -28
  281. iopenpod-2.0.4/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/smart_prefs_mhod.py +0 -28
  282. iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/mhod_encoder.py +0 -607
  283. iopenpod-2.0.4/src/iPodDB/iTunesDB/writer/signature.py +0 -291
  284. iopenpod-2.0.4/src/iPodDB/library/__init__.py +0 -218
  285. iopenpod-2.0.4/src/iPodDB/library/_artwork_verification.py +0 -171
  286. iopenpod-2.0.4/src/iPodDB/library/_artwork_writing.py +0 -652
  287. iopenpod-2.0.4/src/iPodDB/library/_photo_resources.py +0 -238
  288. iopenpod-2.0.4/src/iPodDB/library/_reconcile.py +0 -597
  289. iopenpod-2.0.4/src/iPodDB/library/_track_writing.py +0 -467
  290. iopenpod-2.0.4/src/iPodDB/library/_write_analysis.py +0 -415
  291. iopenpod-2.0.4/src/iPodDB/library/_write_effects.py +0 -363
  292. iopenpod-2.0.4/src/iPodDB/library/_write_logging.py +0 -201
  293. iopenpod-2.0.4/src/iPodDB/library/_write_preparation.py +0 -1052
  294. iopenpod-2.0.4/src/iPodDB/library/_write_verification.py +0 -147
  295. iopenpod-2.0.4/src/iPodDB/library/database.py +0 -414
  296. iopenpod-2.0.4/src/iPodDB/library/editing.py +0 -114
  297. iopenpod-2.0.4/src/iPodDB/library/signing.py +0 -64
  298. iopenpod-2.0.4/src/iPodDB/library/writing.py +0 -305
  299. iopenpod-2.0.4/src/iPodDB/shared/chunk.py +0 -408
  300. iopenpod-2.0.4/src/iPodDB/shared/chunk_reader.py +0 -433
  301. iopenpod-2.0.4/src/iPodDB/shared/chunk_writer.py +0 -325
  302. iopenpod-2.0.4/src/iPodDB/shared/errors.py +0 -42
  303. iopenpod-2.0.4/src/iPodDB/sidecars/codec.py +0 -225
  304. iopenpod-2.0.4/src/iPodDB/sidecars/models.py +0 -63
  305. iopenpod-2.0.4/src/iPodDB/sidecars/remapping.py +0 -64
  306. iopenpod-2.0.4/src/storage/media_processing.py +0 -527
  307. iopenpod-2.0.4/src/storage/platform/linux.py +0 -619
  308. iopenpod-2.0.4/tests/device_registry/test_artwork_profiles.py +0 -68
  309. iopenpod-2.0.4/tests/device_registry/test_registry.py +0 -391
  310. iopenpod-2.0.4/tests/iOpenPod/GUI/test_media_tools_settings.py +0 -163
  311. iopenpod-2.0.4/tests/iOpenPod/GUI/test_metadata_actions.py +0 -1156
  312. iopenpod-2.0.4/tests/iOpenPod/GUI/test_settings_tabs.py +0 -274
  313. iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_plan_page.py +0 -676
  314. iopenpod-2.0.4/tests/iOpenPod/GUI/test_sync_storage_bar.py +0 -87
  315. iopenpod-2.0.4/tests/iOpenPod/app/media/test_photo_sync.py +0 -454
  316. iopenpod-2.0.4/tests/iOpenPod/app/services/test_device_coordinator.py +0 -2158
  317. iopenpod-2.0.4/tests/iOpenPod/app/services/test_library_lyrics.py +0 -203
  318. iopenpod-2.0.4/tests/iOpenPod/app/services/test_library_resources.py +0 -610
  319. iopenpod-2.0.4/tests/iOpenPod/app/synesthesia/conftest.py +0 -61
  320. iopenpod-2.0.4/tests/iOpenPod/app/test_export_tagging.py +0 -140
  321. iopenpod-2.0.4/tests/iOpenPod/app/test_host_media_library.py +0 -1209
  322. iopenpod-2.0.4/tests/iOpenPod/app/test_library_sync_helper.py +0 -676
  323. iopenpod-2.0.4/tests/iOpenPod/app/test_lyrics_controller.py +0 -131
  324. iopenpod-2.0.4/tests/iOpenPod/app/test_media_lyrics.py +0 -193
  325. iopenpod-2.0.4/tests/iOpenPod/app/test_media_tools_setup.py +0 -281
  326. iopenpod-2.0.4/tests/iOpenPod/app/test_metadata_editing.py +0 -317
  327. iopenpod-2.0.4/tests/iOpenPod/app/test_music_import.py +0 -347
  328. iopenpod-2.0.4/tests/iOpenPod/app/test_pypi_updates.py +0 -273
  329. iopenpod-2.0.4/tests/iOpenPod/app/test_python_installation.py +0 -328
  330. iopenpod-2.0.4/tests/iOpenPod/app/test_python_update_helper.py +0 -484
  331. iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling.py +0 -598
  332. iopenpod-2.0.4/tests/iOpenPod/app/test_scrobbling_clients.py +0 -328
  333. iopenpod-2.0.4/tests/iOpenPod/app/test_sync_controller.py +0 -548
  334. iopenpod-2.0.4/tests/iOpenPod/app/test_sync_execution.py +0 -1915
  335. iopenpod-2.0.4/tests/iOpenPod/app/test_sync_plan.py +0 -518
  336. iopenpod-2.0.4/tests/iOpenPod/app/test_sync_storage.py +0 -178
  337. iopenpod-2.0.4/tests/iOpenPod/app/test_transcoding.py +0 -551
  338. iopenpod-2.0.4/tests/iPodDB/ArtworkDB/test_parser.py +0 -1146
  339. iopenpod-2.0.4/tests/iPodDB/SQLiteDB/test_database.py +0 -563
  340. iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_cdb.py +0 -58
  341. iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_definition_driven_parser.py +0 -339
  342. iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_remaining_mhod_parsers.py +0 -734
  343. iopenpod-2.0.4/tests/iPodDB/iTunesDB/test_signatures.py +0 -91
  344. iopenpod-2.0.4/tests/iPodDB/library/test_artwork_creation.py +0 -317
  345. iopenpod-2.0.4/tests/iPodDB/library/test_artwork_format_repair.py +0 -315
  346. iopenpod-2.0.4/tests/iPodDB/library/test_artwork_native_verification.py +0 -145
  347. iopenpod-2.0.4/tests/iPodDB/library/test_write_artwork.py +0 -364
  348. iopenpod-2.0.4/tests/iPodDB/library/test_write_resolution.py +0 -382
  349. iopenpod-2.0.4/tests/iPodDB/library/test_writing.py +0 -517
  350. iopenpod-2.0.4/tests/iPodDB/sidecars/test_playback_sidecars.py +0 -59
  351. iopenpod-2.0.4/tests/iPodDB/sidecars/test_sidecar_readers.py +0 -201
  352. iopenpod-2.0.4/tests/storage/test_media_processing.py +0 -450
  353. iopenpod-2.0.4/tests/storage/test_platform_facts.py +0 -366
  354. iopenpod-2.0.4/tests/test_packaging.py +0 -573
  355. iopenpod-2.0.4/uv.lock +0 -2228
  356. iopenpod-2.0.4/website/_config.yml +0 -41
  357. iopenpod-2.0.4/website/robots.txt +0 -4
  358. {iopenpod-2.0.4 → iopenpod-2.0.6}/.editorconfig +0 -0
  359. {iopenpod-2.0.4 → iopenpod-2.0.6}/.gitattributes +0 -0
  360. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/FUNDING.yml +0 -0
  361. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  362. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  363. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/workflows/flatpak.yml +0 -0
  364. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/workflows/health.yml +0 -0
  365. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/workflows/pages.yml +0 -0
  366. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/workflows/release.yml +0 -0
  367. {iopenpod-2.0.4 → iopenpod-2.0.6}/.github/workflows/update-feed.yml +0 -0
  368. {iopenpod-2.0.4 → iopenpod-2.0.6}/.gitignore +0 -0
  369. {iopenpod-2.0.4 → iopenpod-2.0.6}/.hallmark/log.json +0 -0
  370. {iopenpod-2.0.4 → iopenpod-2.0.6}/.hallmark/preflight-web.json +0 -0
  371. {iopenpod-2.0.4 → iopenpod-2.0.6}/.hallmark/preflight.json +0 -0
  372. {iopenpod-2.0.4 → iopenpod-2.0.6}/.python-version +0 -0
  373. {iopenpod-2.0.4 → iopenpod-2.0.6}/.vscode/extensions.json +0 -0
  374. {iopenpod-2.0.4 → iopenpod-2.0.6}/.vscode/settings.json +0 -0
  375. {iopenpod-2.0.4 → iopenpod-2.0.6}/.vscode/tasks.json +0 -0
  376. {iopenpod-2.0.4 → iopenpod-2.0.6}/ACKNOWLEDGEMENTS.md +0 -0
  377. {iopenpod-2.0.4 → iopenpod-2.0.6}/AGENTS.md +0 -0
  378. {iopenpod-2.0.4 → iopenpod-2.0.6}/COPYING.md +0 -0
  379. {iopenpod-2.0.4 → iopenpod-2.0.6}/LICENSE +0 -0
  380. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/README.md +0 -0
  381. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0001-use-python-3-12-and-uv.md +0 -0
  382. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0002-separate-the-four-primary-subsystems.md +0 -0
  383. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0003-share-quality-configuration-between-cli-and-vs-code.md +0 -0
  384. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0004-use-original-iopenpod-as-the-compatibility-baseline.md +0 -0
  385. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0005-use-one-active-ipod-and-user-directed-sync.md +0 -0
  386. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0006-require-lossless-ipoddb-round-trips.md +0 -0
  387. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0007-ship-one-application-with-branded-package-names.md +0 -0
  388. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0008-require-one-definition-driven-ipoddb-path.md +0 -0
  389. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0009-use-qt-logical-pixels-and-native-display-metrics.md +0 -0
  390. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0010-resolve-ranked-device-evidence-in-the-device-registry.md +0 -0
  391. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0011-bind-storage-access-to-connection-generations.md +0 -0
  392. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0012-load-artwork-lazily-across-existing-boundaries.md +0 -0
  393. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0013-reconcile-device-metadata-across-existing-boundaries.md +0 -0
  394. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0014-persist-global-settings-through-storage.md +0 -0
  395. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0015-isolate-iopenpod-2-settings-from-original-iopenpod.md +0 -0
  396. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0016-qualify-device-candidates-and-correlate-macos-hardware.md +0 -0
  397. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0017-stream-playback-through-a-replaceable-backend.md +0 -0
  398. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0018-publish-playback-through-optional-system-media-sessions.md +0 -0
  399. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0019-project-databases-through-a-common-library-contract.md +0 -0
  400. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0020-project-playlists-and-isolate-session-edits.md +0 -0
  401. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0021-prepare-library-drafts-over-retained-documents.md +0 -0
  402. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0022-apply-and-save-playlist-drafts.md +0 -0
  403. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0023-capture-write-requests-and-inspect-them-without-replay.md +0 -0
  404. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0024-reconcile-and-verify-playlists-by-dataset.md +0 -0
  405. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0025-resolve-library-edits-before-reconciliation.md +0 -0
  406. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0026-share-one-library-workspace-for-metadata-and-playlists.md +0 -0
  407. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0027-restore-the-previously-selected-ipod.md +0 -0
  408. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0028-record-library-write-debug-diagnostics.md +0 -0
  409. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0029-publish-file-transactions-with-retained-recovery.md +0 -0
  410. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0031-inspect-captured-host-media-before-planning-imports.md +0 -0
  411. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0032-add-inspected-music-through-library-reviews.md +0 -0
  412. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0033-create-artworkdb-from-catalog-capabilities.md +0 -0
  413. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0034-bind-media-replacement-intent-to-library-drafts.md +0 -0
  414. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0035-author-evidence-backed-smart-playlist-choices.md +0 -0
  415. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0036-reclassify-retained-media-without-replacement.md +0 -0
  416. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0037-persist-a-device-aware-podcast-catalog.md +0 -0
  417. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0038-preserve-the-original-backup-archive-contract.md +0 -0
  418. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0039-use-backup-format-v4-and-bounded-restore-recovery.md +0 -0
  419. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0040-identify-backups-by-serial-with-a-best-effort-fallback.md +0 -0
  420. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0041-allow-foreground-reads-during-backup-capture.md +0 -0
  421. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0042-analyze-audio-into-ephemeral-world-scores.md +0 -0
  422. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0043-render-synesthesia-as-one-continuous-world.md +0 -0
  423. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0044-make-synesthesia-topology-and-biography-authoritative.md +0 -0
  424. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0045-drive-synesthesia-through-one-coupled-field.md +0 -0
  425. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0046-preserve-musical-context-in-synesthesia-evidence.md +0 -0
  426. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0047-map-track-analysis-into-one-expressive-field.md +0 -0
  427. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0048-direct-synesthesia-through-mood-selected-scenes.md +0 -0
  428. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0049-choreograph-synesthesia-scenes-as-music-driven-journeys.md +0 -0
  429. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0050-compose-synesthesia-camera-shots-inside-scenes.md +0 -0
  430. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0051-make-player-transport-authoritative-for-synesthesia.md +0 -0
  431. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0052-model-photosdb-as-a-distinct-artifact.md +0 -0
  432. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0053-project-photos-into-library-drafts.md +0 -0
  433. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0054-browse-photos-through-a-lazy-three-pane-ui.md +0 -0
  434. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0055-export-photos-through-the-active-filesystem-session.md +0 -0
  435. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0056-preview-retained-full-resolution-photos-safely.md +0 -0
  436. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0057-manage-photo-album-membership-through-collection-cards.md +0 -0
  437. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0058-create-empty-photo-albums-through-library-drafts.md +0 -0
  438. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0059-delete-photos-through-library-drafts.md +0 -0
  439. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0060-use-native-safe-removal-services.md +0 -0
  440. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0062-assign-matched-original-backups-to-native-identities.md +0 -0
  441. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0063-scan-host-media-into-common-library-snapshots.md +0 -0
  442. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0064-browse-host-and-ipod-library-sources-independently.md +0 -0
  443. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0065-index-ipod-media-for-sync-correlation.md +0 -0
  444. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0066-prepare-sync-plans-from-correlated-media.md +0 -0
  445. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0067-present-host-media-inside-the-sync-workspace.md +0 -0
  446. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0068-render-synesthesia-before-track-analysis-completes.md +0 -0
  447. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0069-refresh-devices-while-the-picker-is-open.md +0 -0
  448. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0070-select-sync-actions-in-grouped-review.md +0 -0
  449. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0071-restore-the-remembered-ipod-at-startup.md +0 -0
  450. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0072-open-sync-collections-as-detail-pages.md +0 -0
  451. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0073-apply-library-changes-automatically-by-default.md +0 -0
  452. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0074-constrain-host-playlist-references-through-storage.md +0 -0
  453. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0077-hold-synesthesia-scenes-across-short-sections.md +0 -0
  454. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0078-prepare-the-next-synesthesia-playback-entry.md +0 -0
  455. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0079-prepare-native-packages-with-explicit-store-gates.md +0 -0
  456. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0080-distribute-iopenpod-under-gplv3-or-later.md +0 -0
  457. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0081-require-user-installed-media-tools.md +0 -0
  458. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0082-tolerate-host-media-scan-source-churn.md +0 -0
  459. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0083-tolerate-host-native-media-variants.md +0 -0
  460. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0084-keep-optional-media-analysis-out-of-sync-gates.md +0 -0
  461. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0085-preserve-positional-playback-sidecars-during-sync.md +0 -0
  462. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0086-prepare-bounded-stills-for-oversized-photos.md +0 -0
  463. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0087-report-concurrent-host-preparation-progress.md +0 -0
  464. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0088-edit-track-classification-in-the-metadata-editor.md +0 -0
  465. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0089-make-interrupted-sync-recovery-a-device-scoped-choice.md +0 -0
  466. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0090-derive-volume-presentation-from-the-saved-ipod.md +0 -0
  467. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0091-sync-podcasts-through-shared-media-publication.md +0 -0
  468. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0092-enforce-podcast-and-video-playback-options.md +0 -0
  469. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0093-complete-terminal-transaction-cleanup-automatically.md +0 -0
  470. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0094-target-macos-12-3-with-platform-specific-native-dependencies.md +0 -0
  471. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0095-convert-a-complete-album-to-one-chaptered-track.md +0 -0
  472. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0096-publish-status-progress-and-actions-as-source-owned-data.md +0 -0
  473. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0097-model-preferences-as-a-lossless-flat-document.md +0 -0
  474. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0098-capture-device-time-context-for-library-dates.md +0 -0
  475. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0099-share-native-host-tag-interpretation.md +0 -0
  476. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0100-reconcile-firmware-playback-sidecars-on-device-selection.md +0 -0
  477. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0101-retain-account-scoped-scrobble-delivery-on-the-host.md +0 -0
  478. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0102-adjust-old-lastfm-submission-dates.md +0 -0
  479. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0103-offer-native-media-tool-installation.md +0 -0
  480. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0104-publish-validated-tagged-github-releases.md +0 -0
  481. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0105-route-application-updates-by-install-channel.md +0 -0
  482. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0106-run-health-only-on-explicit-dispatch.md +0 -0
  483. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0107-publish-only-native-release-archives.md +0 -0
  484. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0108-bundle-windows-as-one-executable.md +0 -0
  485. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0109-authenticate-and-isolate-github-application-updates.md +0 -0
  486. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0110-offer-macos-drag-to-applications-disk-images.md +0 -0
  487. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0111-correct-evidenced-artwork-format-sizes-during-preparation.md +0 -0
  488. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0112-publish-python-distributions-with-github-releases.md +0 -0
  489. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0113-update-installed-python-packages-through-pypi.md +0 -0
  490. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/adr/0114-distinguish-install-downloads-from-update-archives.md +0 -0
  491. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/agents/domain.md +0 -0
  492. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/agents/issue-tracker.md +0 -0
  493. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/agents/triage-labels.md +0 -0
  494. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/app-updates.md +0 -0
  495. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/eta.md +0 -0
  496. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/gui-design-language.md +0 -0
  497. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/ipod-preferences.md +0 -0
  498. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/ipod-time.md +0 -0
  499. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/library-contract.md +0 -0
  500. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/library-writing-audit-2026-09-11.md +0 -0
  501. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/licensing.md +0 -0
  502. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/media-tools.md +0 -0
  503. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/playback-sidecars.md +0 -0
  504. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/artworkdb-format.md +0 -0
  505. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/ipod-preferences.md +0 -0
  506. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/ipod-time-reconciliation.md +0 -0
  507. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/ithmb-uyvy-format.md +0 -0
  508. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/itunesdb-lyrics.md +0 -0
  509. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/itunesdb-sort-36.md +0 -0
  510. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/macos-catalina-compatibility.md +0 -0
  511. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/macos-compatibility.md +0 -0
  512. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/photosdb-format.md +0 -0
  513. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/safe-native-eject.md +0 -0
  514. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/synesthesia-coupled-field.md +0 -0
  515. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/synesthesia-world-architecture.md +0 -0
  516. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/research/windows-store-requirements.md +0 -0
  517. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/scrobbling.md +0 -0
  518. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/sync-media-policy.md +0 -0
  519. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/sync-validation.md +0 -0
  520. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/sync-workflow-audit-2026-09-26.md +0 -0
  521. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/synesthesia_backend.md +0 -0
  522. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/synesthesia_visual_direction.md +0 -0
  523. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/translations.md +0 -0
  524. {iopenpod-2.0.4 → iopenpod-2.0.6}/docs/volume-presentation.md +0 -0
  525. {iopenpod-2.0.4 → iopenpod-2.0.6}/main.py +0 -0
  526. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/github-release.md +0 -0
  527. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/hooks/hook-PySide6.QtGui.py +0 -0
  528. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/hooks/hook-sklearn.py +0 -0
  529. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/iOpenPod.spec +0 -0
  530. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/linux/flatpak.json +0 -0
  531. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/linux/io.github.therealsavi.iOpenPod.desktop +0 -0
  532. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/linux/snapcraft.yaml +0 -0
  533. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/macos/app-store.entitlements.plist +0 -0
  534. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/macos/helper.entitlements.plist +0 -0
  535. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/macos/update_bridge.m +0 -0
  536. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/Microsoft-runtime-NOTICE.txt +0 -0
  537. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/Python-Windows-Binary-LICENSE.txt +0 -0
  538. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/README.md +0 -0
  539. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/libsndfile-no-version-resource.patch +0 -0
  540. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/native-build-tools.json +0 -0
  541. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/native-evidence.json +0 -0
  542. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/audioread-3.1.0-NOTICES.txt +0 -0
  543. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/bzip2-1.0.8-NOTICES.txt +0 -0
  544. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/certifi-2026.7.22-NOTICES.txt +0 -0
  545. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/cffi-2.1.1-NOTICES.txt +0 -0
  546. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/charset-normalizer-3.5.1-NOTICES.txt +0 -0
  547. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/cloudpickle-3.1.2-NOTICES.txt +0 -0
  548. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/colorama-0.4.6-NOTICES.txt +0 -0
  549. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/cpython-3.12-3.12.14-NOTICES.txt +0 -0
  550. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/decorator-5.3.1-NOTICES.txt +0 -0
  551. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/expat-2.8.3-NOTICES.txt +0 -0
  552. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/feedparser-6.0.14-NOTICES.txt +0 -0
  553. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/feedparser-sgmllib-2.1.0-NOTICES.txt +0 -0
  554. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/ffmpeg-7.1.5-NOTICES.txt +0 -0
  555. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/hashab-f80d46432204c6238cad7d8ca3b3dd52ea66836b-NOTICES.txt +0 -0
  556. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/idna-3.19-NOTICES.txt +0 -0
  557. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/importlib-resources-7.1.0-NOTICES.txt +0 -0
  558. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/joblib-1.6.0-NOTICES.txt +0 -0
  559. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/lazy-loader-0.5-NOTICES.txt +0 -0
  560. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/libffi-3.4.8-NOTICES.txt +0 -0
  561. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/librosa-0.11.0-NOTICES.txt +0 -0
  562. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/libsndfile-1.2.2-NOTICES.txt +0 -0
  563. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/llvm-llvmlite-22.1.0-NOTICES.txt +0 -0
  564. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/llvm-mesa-3.6.2-NOTICES.txt +0 -0
  565. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/llvmlite-0.49.0-NOTICES.txt +0 -0
  566. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/mesa-11.2.2-NOTICES.txt +0 -0
  567. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/mpdecimal-4.0.0-NOTICES.txt +0 -0
  568. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/msgpack-1.2.2-NOTICES.txt +0 -0
  569. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/mutagen-1.48.1-NOTICES.txt +0 -0
  570. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/narwhals-2.26.0-NOTICES.txt +0 -0
  571. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/numba-0.67.0-NOTICES.txt +0 -0
  572. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/numpy-2.5.3-NOTICES.txt +0 -0
  573. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/openblas-numpy-446c436e10450c348169808f1a6b3fae0925c9f7-NOTICES.txt +0 -0
  574. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/openblas-numpy-build-v0.3.34.106.0-NOTICES.txt +0 -0
  575. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/openblas-scipy-5ffbf38b41a1fe494d038efcb09cf22f4d527c22-NOTICES.txt +0 -0
  576. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/openblas-scipy-build-v0.3.31.22.0-NOTICES.txt +0 -0
  577. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/openssl-3.5-3.5.8-NOTICES.txt +0 -0
  578. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/packaging-26.3-NOTICES.txt +0 -0
  579. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pillow-12.3.0-NOTICES.txt +0 -0
  580. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pillow-build-12.3.0-NOTICES.txt +0 -0
  581. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/platformdirs-4.11.8-NOTICES.txt +0 -0
  582. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pooch-1.9.0-NOTICES.txt +0 -0
  583. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/provenance.json +0 -0
  584. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pycparser-3.0-NOTICES.txt +0 -0
  585. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pycryptodome-3.23.0-NOTICES.txt +0 -0
  586. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pyinstaller-6.22.3-NOTICES.txt +0 -0
  587. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pyside-setup-6.11.2-NOTICES.txt +0 -0
  588. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/python-build-standalone-20260825-NOTICES.txt +0 -0
  589. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/pywinrt-3.2.1-NOTICES.txt +0 -0
  590. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtbase-6.11.2-NOTICES.txt +0 -0
  591. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtdeclarative-6.11.2-NOTICES.txt +0 -0
  592. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtimageformats-6.11.2-NOTICES.txt +0 -0
  593. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtmultimedia-6.11.2-NOTICES.txt +0 -0
  594. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtshadertools-6.11.2-NOTICES.txt +0 -0
  595. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qtsvg-6.11.2-NOTICES.txt +0 -0
  596. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qttools-6.11.2-NOTICES.txt +0 -0
  597. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/qttranslations-6.11.2-NOTICES.txt +0 -0
  598. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/requests-2.34.2-NOTICES.txt +0 -0
  599. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-addr2line-0.24.1-NOTICES.txt +0 -0
  600. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-addr2line-0.25.0-NOTICES.txt +0 -0
  601. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-adler2-2.0.0-NOTICES.txt +0 -0
  602. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-aes-0.8.4-NOTICES.txt +0 -0
  603. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-aho-corasick-1.0.2-NOTICES.txt +0 -0
  604. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-allocator-api2-0.2.20-NOTICES.txt +0 -0
  605. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ambient-authority-0.0.2-NOTICES.txt +0 -0
  606. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-android_system_properties-0.1.5-NOTICES.txt +0 -0
  607. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anes-0.1.6-NOTICES.txt +0 -0
  608. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anstream-0.6.15-NOTICES.txt +0 -0
  609. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anstyle-1.0.8-NOTICES.txt +0 -0
  610. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anstyle-parse-0.2.1-NOTICES.txt +0 -0
  611. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anstyle-query-1.1.2-NOTICES.txt +0 -0
  612. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anstyle-wincon-3.0.4-NOTICES.txt +0 -0
  613. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-anyhow-1.0.93-NOTICES.txt +0 -0
  614. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-arbitrary-1.4.1-NOTICES.txt +0 -0
  615. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-arbtest-0.3.1-NOTICES.txt +0 -0
  616. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-arrayvec-0.7.6-NOTICES.txt +0 -0
  617. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-async-trait-0.1.71-NOTICES.txt +0 -0
  618. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-autocfg-1.1.0-NOTICES.txt +0 -0
  619. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-backtrace-0.3.75-NOTICES.txt +0 -0
  620. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-base64-0.22.1-NOTICES.txt +0 -0
  621. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-base64ct-1.6.0-NOTICES.txt +0 -0
  622. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-beef-0.5.2-NOTICES.txt +0 -0
  623. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bindgen-0.71.1-NOTICES.txt +0 -0
  624. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bit-set-0.5.2-NOTICES.txt +0 -0
  625. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bit-vec-0.6.3-NOTICES.txt +0 -0
  626. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bitflags-1.3.2-NOTICES.txt +0 -0
  627. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bitflags-2.6.0-NOTICES.txt +0 -0
  628. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bitmaps-2.1.0-NOTICES.txt +0 -0
  629. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-block-buffer-0.10.2-NOTICES.txt +0 -0
  630. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bstr-1.6.0-NOTICES.txt +0 -0
  631. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bumpalo-3.16.0-NOTICES.txt +0 -0
  632. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-byteorder-1.4.3-NOTICES.txt +0 -0
  633. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bytes-1.5.0-NOTICES.txt +0 -0
  634. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bytesize-2.0.1-NOTICES.txt +0 -0
  635. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bzip2-0.4.4-NOTICES.txt +0 -0
  636. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-bzip2-sys-0.1.11+1.0.8-NOTICES.txt +0 -0
  637. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-camino-1.1.4-NOTICES.txt +0 -0
  638. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-fs-ext-3.4.4-NOTICES.txt +0 -0
  639. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-net-ext-3.4.4-NOTICES.txt +0 -0
  640. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-primitives-3.4.4-NOTICES.txt +0 -0
  641. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-rand-3.4.4-NOTICES.txt +0 -0
  642. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-std-3.4.4-NOTICES.txt +0 -0
  643. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cap-time-ext-3.4.4-NOTICES.txt +0 -0
  644. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-capstone-0.13.0-NOTICES.txt +0 -0
  645. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-capstone-sys-0.17.0-NOTICES.txt +0 -0
  646. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cargo-platform-0.1.2-NOTICES.txt +0 -0
  647. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cargo_metadata-0.19.2-NOTICES.txt +0 -0
  648. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cast-0.3.0-NOTICES.txt +0 -0
  649. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cc-1.2.22-NOTICES.txt +0 -0
  650. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cexpr-0.6.0-NOTICES.txt +0 -0
  651. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cfg-if-1.0.0-NOTICES.txt +0 -0
  652. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ciborium-0.2.0-NOTICES.txt +0 -0
  653. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ciborium-io-0.2.0-NOTICES.txt +0 -0
  654. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ciborium-ll-0.2.0-NOTICES.txt +0 -0
  655. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cipher-0.4.4-NOTICES.txt +0 -0
  656. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clang-sys-1.8.1-NOTICES.txt +0 -0
  657. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clap-4.5.36-NOTICES.txt +0 -0
  658. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clap_builder-4.5.36-NOTICES.txt +0 -0
  659. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clap_complete-4.5.28-NOTICES.txt +0 -0
  660. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clap_derive-4.5.32-NOTICES.txt +0 -0
  661. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-clap_lex-0.7.4-NOTICES.txt +0 -0
  662. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cobs-0.2.3-NOTICES.txt +0 -0
  663. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-codespan-reporting-0.11.1-NOTICES.txt +0 -0
  664. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-colorchoice-1.0.0-NOTICES.txt +0 -0
  665. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-console-0.15.8-NOTICES.txt +0 -0
  666. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-constant_time_eq-0.1.5-NOTICES.txt +0 -0
  667. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-core-foundation-0.9.4-NOTICES.txt +0 -0
  668. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-core-foundation-sys-0.8.6-NOTICES.txt +0 -0
  669. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cpp_demangle-0.4.3-NOTICES.txt +0 -0
  670. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cpufeatures-0.2.7-NOTICES.txt +0 -0
  671. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crc32fast-1.3.2-NOTICES.txt +0 -0
  672. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-criterion-0.6.0-NOTICES.txt +0 -0
  673. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-criterion-plot-0.5.0-NOTICES.txt +0 -0
  674. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crossbeam-deque-0.8.1-NOTICES.txt +0 -0
  675. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crossbeam-epoch-0.9.18-NOTICES.txt +0 -0
  676. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crossbeam-utils-0.8.20-NOTICES.txt +0 -0
  677. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crunchy-0.2.2-NOTICES.txt +0 -0
  678. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-crypto-common-0.1.6-NOTICES.txt +0 -0
  679. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-cty-0.2.2-NOTICES.txt +0 -0
  680. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-debugid-0.8.0-NOTICES.txt +0 -0
  681. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-deranged-0.3.11-NOTICES.txt +0 -0
  682. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-derive_arbitrary-1.4.0-NOTICES.txt +0 -0
  683. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-digest-0.10.7-NOTICES.txt +0 -0
  684. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-directories-next-2.0.0-NOTICES.txt +0 -0
  685. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-dirs-sys-next-0.1.2-NOTICES.txt +0 -0
  686. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-displaydoc-0.2.5-NOTICES.txt +0 -0
  687. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-dlmalloc-0.2.4-NOTICES.txt +0 -0
  688. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-downcast-rs-2.0.1-NOTICES.txt +0 -0
  689. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-easy-smt-0.2.2-NOTICES.txt +0 -0
  690. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-egg-0.6.0-NOTICES.txt +0 -0
  691. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-either-1.13.0-NOTICES.txt +0 -0
  692. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-embedded-io-0.4.0-NOTICES.txt +0 -0
  693. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-encode_unicode-0.3.6-NOTICES.txt +0 -0
  694. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-encoding_rs-0.8.31-NOTICES.txt +0 -0
  695. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-env_filter-0.1.2-NOTICES.txt +0 -0
  696. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-env_logger-0.10.0-NOTICES.txt +0 -0
  697. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-env_logger-0.11.5-NOTICES.txt +0 -0
  698. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-equivalent-1.0.1-NOTICES.txt +0 -0
  699. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-errno-0.3.10-NOTICES.txt +0 -0
  700. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-escape8259-0.5.2-NOTICES.txt +0 -0
  701. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fallible-iterator-0.3.0-NOTICES.txt +0 -0
  702. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fastrand-2.3.0-NOTICES.txt +0 -0
  703. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fd-lock-4.0.2-NOTICES.txt +0 -0
  704. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-file-per-thread-logger-0.2.0-NOTICES.txt +0 -0
  705. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-filecheck-0.5.0-NOTICES.txt +0 -0
  706. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-filetime-0.2.16-NOTICES.txt +0 -0
  707. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fixedbitset-0.4.2-NOTICES.txt +0 -0
  708. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-flagset-0.4.3-NOTICES.txt +0 -0
  709. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-flate2-1.1.0-NOTICES.txt +0 -0
  710. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fnv-1.0.7-NOTICES.txt +0 -0
  711. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-foldhash-0.1.3-NOTICES.txt +0 -0
  712. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-foreign-types-0.3.2-NOTICES.txt +0 -0
  713. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-foreign-types-shared-0.1.1-NOTICES.txt +0 -0
  714. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-form_urlencoded-1.2.1-NOTICES.txt +0 -0
  715. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fs-set-times-0.20.1-NOTICES.txt +0 -0
  716. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fslock-0.2.1-NOTICES.txt +0 -0
  717. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-0.3.31-NOTICES.txt +0 -0
  718. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-channel-0.3.31-NOTICES.txt +0 -0
  719. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-core-0.3.31-NOTICES.txt +0 -0
  720. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-executor-0.3.31-NOTICES.txt +0 -0
  721. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-io-0.3.31-NOTICES.txt +0 -0
  722. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-macro-0.3.31-NOTICES.txt +0 -0
  723. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-sink-0.3.31-NOTICES.txt +0 -0
  724. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-task-0.3.31-NOTICES.txt +0 -0
  725. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-futures-util-0.3.31-NOTICES.txt +0 -0
  726. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-fxprof-processed-profile-0.8.1-NOTICES.txt +0 -0
  727. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-generic-array-0.14.5-NOTICES.txt +0 -0
  728. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-getrandom-0.2.15-NOTICES.txt +0 -0
  729. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-getrandom-0.3.1-NOTICES.txt +0 -0
  730. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-gimli-0.31.1-NOTICES.txt +0 -0
  731. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-gimli-0.32.0-NOTICES.txt +0 -0
  732. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-glob-0.3.1-NOTICES.txt +0 -0
  733. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-gzip-header-1.0.0-NOTICES.txt +0 -0
  734. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-h2-0.4.4-NOTICES.txt +0 -0
  735. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-half-1.8.2-NOTICES.txt +0 -0
  736. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-half-2.4.1-NOTICES.txt +0 -0
  737. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-hashbrown-0.12.3-NOTICES.txt +0 -0
  738. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-hashbrown-0.15.2-NOTICES.txt +0 -0
  739. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-heck-0.4.1-NOTICES.txt +0 -0
  740. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-heck-0.5.0-NOTICES.txt +0 -0
  741. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-hermit-abi-0.3.9-NOTICES.txt +0 -0
  742. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-hmac-0.12.1-NOTICES.txt +0 -0
  743. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-home-0.5.9-NOTICES.txt +0 -0
  744. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-http-1.0.0-NOTICES.txt +0 -0
  745. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-http-body-1.0.0-NOTICES.txt +0 -0
  746. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-http-body-util-0.1.0-NOTICES.txt +0 -0
  747. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-httparse-1.8.0-NOTICES.txt +0 -0
  748. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-httpdate-1.0.2-NOTICES.txt +0 -0
  749. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-humantime-2.1.0-NOTICES.txt +0 -0
  750. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-hyper-1.0.1-NOTICES.txt +0 -0
  751. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-iana-time-zone-0.1.61-NOTICES.txt +0 -0
  752. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-iana-time-zone-haiku-0.1.2-NOTICES.txt +0 -0
  753. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_collections-1.5.0-NOTICES.txt +0 -0
  754. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_locid-1.5.0-NOTICES.txt +0 -0
  755. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_locid_transform-1.5.0-NOTICES.txt +0 -0
  756. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_locid_transform_data-1.5.0-NOTICES.txt +0 -0
  757. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_normalizer-1.5.0-NOTICES.txt +0 -0
  758. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_normalizer_data-1.5.0-NOTICES.txt +0 -0
  759. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_properties-1.5.1-NOTICES.txt +0 -0
  760. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_properties_data-1.5.0-NOTICES.txt +0 -0
  761. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_provider-1.5.0-NOTICES.txt +0 -0
  762. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-icu_provider_macros-1.5.0-NOTICES.txt +0 -0
  763. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-id-arena-2.2.1-NOTICES.txt +0 -0
  764. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-idna-1.0.3-NOTICES.txt +0 -0
  765. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-idna_adapter-1.2.0-NOTICES.txt +0 -0
  766. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-im-rc-15.1.0-NOTICES.txt +0 -0
  767. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-indexmap-1.9.1-NOTICES.txt +0 -0
  768. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-indexmap-2.7.0-NOTICES.txt +0 -0
  769. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-indicatif-0.13.0-NOTICES.txt +0 -0
  770. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-inout-0.1.3-NOTICES.txt +0 -0
  771. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-instant-0.1.12-NOTICES.txt +0 -0
  772. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-io-extras-0.18.3-NOTICES.txt +0 -0
  773. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-io-lifetimes-2.0.3-NOTICES.txt +0 -0
  774. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ipnet-2.5.0-NOTICES.txt +0 -0
  775. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-is-terminal-0.4.10-NOTICES.txt +0 -0
  776. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-is_terminal_polyfill-1.70.1-NOTICES.txt +0 -0
  777. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-itertools-0.10.5-NOTICES.txt +0 -0
  778. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-itertools-0.13.0-NOTICES.txt +0 -0
  779. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-itertools-0.14.0-NOTICES.txt +0 -0
  780. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-itoa-1.0.14-NOTICES.txt +0 -0
  781. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ittapi-0.4.0-NOTICES.txt +0 -0
  782. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ittapi-sys-0.4.0-NOTICES.txt +0 -0
  783. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-jobserver-0.1.32-NOTICES.txt +0 -0
  784. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-js-sys-0.3.74-NOTICES.txt +0 -0
  785. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-json-from-wast-0.239.0-NOTICES.txt +0 -0
  786. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-lazy_static-1.4.0-NOTICES.txt +0 -0
  787. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-leb128-0.2.5-NOTICES.txt +0 -0
  788. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-leb128fmt-0.1.0-NOTICES.txt +0 -0
  789. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-libc-0.2.171-NOTICES.txt +0 -0
  790. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-libfuzzer-sys-0.4.8-NOTICES.txt +0 -0
  791. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-libloading-0.8.6-NOTICES.txt +0 -0
  792. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-libm-0.2.11-NOTICES.txt +0 -0
  793. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-libtest-mimic-0.8.1-NOTICES.txt +0 -0
  794. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-linux-raw-sys-0.4.14-NOTICES.txt +0 -0
  795. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-linux-raw-sys-0.9.3-NOTICES.txt +0 -0
  796. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-listenfd-1.0.0-NOTICES.txt +0 -0
  797. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-litemap-0.7.4-NOTICES.txt +0 -0
  798. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-log-0.4.27-NOTICES.txt +0 -0
  799. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-logos-0.14.2-NOTICES.txt +0 -0
  800. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-logos-codegen-0.14.2-NOTICES.txt +0 -0
  801. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-logos-derive-0.14.2-NOTICES.txt +0 -0
  802. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-mach2-0.4.2-NOTICES.txt +0 -0
  803. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-matchers-0.1.0-NOTICES.txt +0 -0
  804. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-matrixmultiply-0.3.9-NOTICES.txt +0 -0
  805. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-maybe-owned-0.3.4-NOTICES.txt +0 -0
  806. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-memchr-2.5.0-NOTICES.txt +0 -0
  807. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-memfd-0.6.4-NOTICES.txt +0 -0
  808. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-memmap2-0.2.3-NOTICES.txt +0 -0
  809. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-minimal-lexical-0.2.1-NOTICES.txt +0 -0
  810. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-miniz_oxide-0.8.9-NOTICES.txt +0 -0
  811. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-mio-1.0.3-NOTICES.txt +0 -0
  812. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-multi-stash-0.2.0-NOTICES.txt +0 -0
  813. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-mutatis-0.3.2-NOTICES.txt +0 -0
  814. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-native-tls-0.2.14-NOTICES.txt +0 -0
  815. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ndarray-0.15.6-NOTICES.txt +0 -0
  816. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-nom-7.1.3-NOTICES.txt +0 -0
  817. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-nu-ansi-term-0.46.0-NOTICES.txt +0 -0
  818. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-num-complex-0.4.6-NOTICES.txt +0 -0
  819. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-num-conv-0.1.0-NOTICES.txt +0 -0
  820. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-num-integer-0.1.46-NOTICES.txt +0 -0
  821. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-num-traits-0.2.19-NOTICES.txt +0 -0
  822. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-num_cpus-1.16.0-NOTICES.txt +0 -0
  823. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-number_prefix-0.3.0-NOTICES.txt +0 -0
  824. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-object-0.36.5-NOTICES.txt +0 -0
  825. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-object-0.37.3-NOTICES.txt +0 -0
  826. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ocaml-boxroot-sys-0.2.0-NOTICES.txt +0 -0
  827. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ocaml-interop-0.8.8-NOTICES.txt +0 -0
  828. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ocaml-sys-0.22.3-NOTICES.txt +0 -0
  829. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-once_cell-1.19.0-NOTICES.txt +0 -0
  830. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-oorandom-11.1.3-NOTICES.txt +0 -0
  831. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openssl-0.10.73-NOTICES.txt +0 -0
  832. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openssl-macros-0.1.1-NOTICES.txt +0 -0
  833. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openssl-probe-0.1.6-NOTICES.txt +0 -0
  834. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openssl-sys-0.9.109-NOTICES.txt +0 -0
  835. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openvino-0.9.0-NOTICES.txt +0 -0
  836. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openvino-finder-0.9.0-NOTICES.txt +0 -0
  837. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-openvino-sys-0.9.0-NOTICES.txt +0 -0
  838. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ort-2.0.0-rc.2-NOTICES.txt +0 -0
  839. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ort-sys-2.0.0-rc.2-NOTICES.txt +0 -0
  840. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-overload-0.1.1-NOTICES.txt +0 -0
  841. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-password-hash-0.4.2-NOTICES.txt +0 -0
  842. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-paste-1.0.7-NOTICES.txt +0 -0
  843. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-pbkdf2-0.11.0-NOTICES.txt +0 -0
  844. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-percent-encoding-2.3.1-NOTICES.txt +0 -0
  845. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-petgraph-0.6.5-NOTICES.txt +0 -0
  846. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-pin-project-lite-0.2.14-NOTICES.txt +0 -0
  847. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-pin-utils-0.1.0-NOTICES.txt +0 -0
  848. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-pkg-config-0.3.29-NOTICES.txt +0 -0
  849. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-postcard-1.0.8-NOTICES.txt +0 -0
  850. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-powerfmt-0.2.0-NOTICES.txt +0 -0
  851. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ppv-lite86-0.2.16-NOTICES.txt +0 -0
  852. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-prettyplease-0.2.31-NOTICES.txt +0 -0
  853. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-proc-macro2-1.0.92-NOTICES.txt +0 -0
  854. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-proptest-1.0.0-NOTICES.txt +0 -0
  855. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-quick-error-1.2.3-NOTICES.txt +0 -0
  856. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-quick-error-2.0.1-NOTICES.txt +0 -0
  857. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-quote-1.0.36-NOTICES.txt +0 -0
  858. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand-0.8.5-NOTICES.txt +0 -0
  859. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand-0.9.2-NOTICES.txt +0 -0
  860. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_chacha-0.3.1-NOTICES.txt +0 -0
  861. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_chacha-0.9.0-NOTICES.txt +0 -0
  862. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_core-0.6.3-NOTICES.txt +0 -0
  863. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_core-0.9.3-NOTICES.txt +0 -0
  864. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_xorshift-0.3.0-NOTICES.txt +0 -0
  865. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rand_xoshiro-0.6.0-NOTICES.txt +0 -0
  866. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-raw-cpuid-11.5.0-NOTICES.txt +0 -0
  867. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rawpointer-0.2.1-NOTICES.txt +0 -0
  868. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rayon-1.5.3-NOTICES.txt +0 -0
  869. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rayon-core-1.12.0-NOTICES.txt +0 -0
  870. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-redox_syscall-0.2.13-NOTICES.txt +0 -0
  871. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-redox_users-0.4.3-NOTICES.txt +0 -0
  872. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regalloc2-0.13.2-NOTICES.txt +0 -0
  873. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-1.9.1-NOTICES.txt +0 -0
  874. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-automata-0.1.10-NOTICES.txt +0 -0
  875. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-automata-0.3.3-NOTICES.txt +0 -0
  876. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-syntax-0.6.25-NOTICES.txt +0 -0
  877. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-syntax-0.7.4-NOTICES.txt +0 -0
  878. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-regex-syntax-0.8.5-NOTICES.txt +0 -0
  879. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-region-3.0.2-NOTICES.txt +0 -0
  880. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ring-0.17.14-NOTICES.txt +0 -0
  881. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustc-demangle-0.1.24-NOTICES.txt +0 -0
  882. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustc-hash-2.1.1-NOTICES.txt +0 -0
  883. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustix-0.38.43-NOTICES.txt +0 -0
  884. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustix-1.0.3-NOTICES.txt +0 -0
  885. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustix-linux-procfs-0.1.1-NOTICES.txt +0 -0
  886. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustls-0.22.4-NOTICES.txt +0 -0
  887. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustls-0.23.7-NOTICES.txt +0 -0
  888. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustls-pki-types-1.3.1-NOTICES.txt +0 -0
  889. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustls-webpki-0.102.2-NOTICES.txt +0 -0
  890. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rustversion-1.0.14-NOTICES.txt +0 -0
  891. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-rusty-fork-0.3.0-NOTICES.txt +0 -0
  892. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ryu-1.0.9-NOTICES.txt +0 -0
  893. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-safetensors-0.3.3-NOTICES.txt +0 -0
  894. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-same-file-1.0.6-NOTICES.txt +0 -0
  895. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-schannel-0.1.27-NOTICES.txt +0 -0
  896. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-security-framework-2.11.1-NOTICES.txt +0 -0
  897. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-security-framework-sys-2.14.0-NOTICES.txt +0 -0
  898. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-semver-1.0.17-NOTICES.txt +0 -0
  899. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-serde-1.0.215-NOTICES.txt +0 -0
  900. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-serde_derive-1.0.215-NOTICES.txt +0 -0
  901. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-serde_json-1.0.140-NOTICES.txt +0 -0
  902. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-serde_spanned-0.6.5-NOTICES.txt +0 -0
  903. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-serde_yaml-0.9.34+deprecated-NOTICES.txt +0 -0
  904. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-sha1-0.10.6-NOTICES.txt +0 -0
  905. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-sha2-0.10.2-NOTICES.txt +0 -0
  906. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-sharded-slab-0.1.4-NOTICES.txt +0 -0
  907. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-shlex-1.3.0-NOTICES.txt +0 -0
  908. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-shuffling-allocator-1.1.2-NOTICES.txt +0 -0
  909. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-signal-hook-registry-1.4.1-NOTICES.txt +0 -0
  910. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-similar-2.2.0-NOTICES.txt +0 -0
  911. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-sized-chunks-0.6.5-NOTICES.txt +0 -0
  912. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-slab-0.4.7-NOTICES.txt +0 -0
  913. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-smallvec-1.13.2-NOTICES.txt +0 -0
  914. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-socket2-0.5.7-NOTICES.txt +0 -0
  915. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-souper-ir-2.1.0-NOTICES.txt +0 -0
  916. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-spin-0.9.8-NOTICES.txt +0 -0
  917. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-stable_deref_trait-1.2.0-NOTICES.txt +0 -0
  918. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-static_assertions-1.1.0-NOTICES.txt +0 -0
  919. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-string-interner-0.19.0-NOTICES.txt +0 -0
  920. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-strsim-0.11.1-NOTICES.txt +0 -0
  921. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-strum-0.24.1-NOTICES.txt +0 -0
  922. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-strum_macros-0.24.3-NOTICES.txt +0 -0
  923. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-subtle-2.5.0-NOTICES.txt +0 -0
  924. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-symbolic_expressions-5.0.3-NOTICES.txt +0 -0
  925. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-syn-1.0.92-NOTICES.txt +0 -0
  926. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-syn-2.0.100-NOTICES.txt +0 -0
  927. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-synstructure-0.13.1-NOTICES.txt +0 -0
  928. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-system-interface-0.27.1-NOTICES.txt +0 -0
  929. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tar-0.4.41-NOTICES.txt +0 -0
  930. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-target-lexicon-0.13.0-NOTICES.txt +0 -0
  931. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tch-0.17.0-NOTICES.txt +0 -0
  932. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tempfile-3.21.0-NOTICES.txt +0 -0
  933. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-termcolor-1.4.1-NOTICES.txt +0 -0
  934. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-terminal_size-0.4.2-NOTICES.txt +0 -0
  935. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-test-log-0.2.11-NOTICES.txt +0 -0
  936. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-thiserror-1.0.65-NOTICES.txt +0 -0
  937. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-thiserror-2.0.12-NOTICES.txt +0 -0
  938. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-thiserror-impl-1.0.65-NOTICES.txt +0 -0
  939. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-thiserror-impl-2.0.12-NOTICES.txt +0 -0
  940. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-thread_local-1.1.4-NOTICES.txt +0 -0
  941. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-time-0.3.36-NOTICES.txt +0 -0
  942. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-time-core-0.1.2-NOTICES.txt +0 -0
  943. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tinystr-0.7.6-NOTICES.txt +0 -0
  944. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tinytemplate-1.2.1-NOTICES.txt +0 -0
  945. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tokio-1.44.2-NOTICES.txt +0 -0
  946. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tokio-macros-2.5.0-NOTICES.txt +0 -0
  947. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tokio-native-tls-0.3.1-NOTICES.txt +0 -0
  948. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tokio-rustls-0.25.0-NOTICES.txt +0 -0
  949. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tokio-util-0.7.4-NOTICES.txt +0 -0
  950. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-toml-0.8.10-NOTICES.txt +0 -0
  951. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-toml_datetime-0.6.5-NOTICES.txt +0 -0
  952. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-toml_edit-0.22.4-NOTICES.txt +0 -0
  953. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-torch-sys-0.17.0-NOTICES.txt +0 -0
  954. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tracing-0.1.37-NOTICES.txt +0 -0
  955. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tracing-attributes-0.1.26-NOTICES.txt +0 -0
  956. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tracing-core-0.1.31-NOTICES.txt +0 -0
  957. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tracing-log-0.1.3-NOTICES.txt +0 -0
  958. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-tracing-subscriber-0.3.17-NOTICES.txt +0 -0
  959. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-try-lock-0.2.4-NOTICES.txt +0 -0
  960. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-typenum-1.15.0-NOTICES.txt +0 -0
  961. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unicode-ident-1.0.8-NOTICES.txt +0 -0
  962. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unicode-segmentation-1.11.0-NOTICES.txt +0 -0
  963. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unicode-width-0.1.9-NOTICES.txt +0 -0
  964. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unicode-width-0.2.0-NOTICES.txt +0 -0
  965. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unicode-xid-0.2.3-NOTICES.txt +0 -0
  966. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-unsafe-libyaml-0.2.11-NOTICES.txt +0 -0
  967. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-untrusted-0.9.0-NOTICES.txt +0 -0
  968. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-ureq-2.10.0-NOTICES.txt +0 -0
  969. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-url-2.5.4-NOTICES.txt +0 -0
  970. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-utf16_iter-1.0.5-NOTICES.txt +0 -0
  971. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-utf8_iter-1.0.4-NOTICES.txt +0 -0
  972. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-utf8parse-0.2.1-NOTICES.txt +0 -0
  973. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-uuid-1.0.0-NOTICES.txt +0 -0
  974. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-v8-137.2.0-NOTICES.txt +0 -0
  975. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-valuable-0.1.0-NOTICES.txt +0 -0
  976. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-vcpkg-0.2.15-NOTICES.txt +0 -0
  977. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-version_check-0.9.4-NOTICES.txt +0 -0
  978. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wait-timeout-0.2.0-NOTICES.txt +0 -0
  979. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-walkdir-2.3.3-NOTICES.txt +0 -0
  980. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-want-0.3.0-NOTICES.txt +0 -0
  981. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasi-0.11.0+wasi-snapshot-preview1-NOTICES.txt +0 -0
  982. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasi-0.13.3+wasi-0.2.2-NOTICES.txt +0 -0
  983. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasi-nn-0.6.0-NOTICES.txt +0 -0
  984. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasip1-1.0.0-NOTICES.txt +0 -0
  985. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasip2-1.0.0+wasi-0.2.4-NOTICES.txt +0 -0
  986. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-bindgen-0.2.97-NOTICES.txt +0 -0
  987. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-bindgen-backend-0.2.97-NOTICES.txt +0 -0
  988. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-bindgen-macro-0.2.97-NOTICES.txt +0 -0
  989. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-bindgen-macro-support-0.2.97-NOTICES.txt +0 -0
  990. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-bindgen-shared-0.2.97-NOTICES.txt +0 -0
  991. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-compose-0.239.0-NOTICES.txt +0 -0
  992. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-encoder-0.239.0-NOTICES.txt +0 -0
  993. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-metadata-0.239.0-NOTICES.txt +0 -0
  994. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-mutate-0.239.0-NOTICES.txt +0 -0
  995. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-smith-0.239.0-NOTICES.txt +0 -0
  996. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasm-wave-0.239.0-NOTICES.txt +0 -0
  997. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmi-0.43.1-NOTICES.txt +0 -0
  998. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmi_collections-0.43.1-NOTICES.txt +0 -0
  999. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmi_core-0.43.1-NOTICES.txt +0 -0
  1000. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmi_ir-0.43.1-NOTICES.txt +0 -0
  1001. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmparser-0.227.1-NOTICES.txt +0 -0
  1002. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmparser-0.239.0-NOTICES.txt +0 -0
  1003. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wasmprinter-0.239.0-NOTICES.txt +0 -0
  1004. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wast-239.0.0-NOTICES.txt +0 -0
  1005. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wast-35.0.2-NOTICES.txt +0 -0
  1006. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wat-1.239.0-NOTICES.txt +0 -0
  1007. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-web-sys-0.3.57-NOTICES.txt +0 -0
  1008. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-webpki-roots-0.26.1-NOTICES.txt +0 -0
  1009. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-which-6.0.3-NOTICES.txt +0 -0
  1010. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winapi-0.3.9-NOTICES.txt +0 -0
  1011. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winapi-i686-pc-windows-gnu-0.4.0-NOTICES.txt +0 -0
  1012. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winapi-util-0.1.5-NOTICES.txt +0 -0
  1013. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winapi-x86_64-pc-windows-gnu-0.4.0-NOTICES.txt +0 -0
  1014. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-0.52.0-NOTICES.txt +0 -0
  1015. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-core-0.52.0-NOTICES.txt +0 -0
  1016. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-implement-0.52.0-NOTICES.txt +0 -0
  1017. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-interface-0.52.0-NOTICES.txt +0 -0
  1018. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-sys-0.52.0-NOTICES.txt +0 -0
  1019. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-sys-0.59.0-NOTICES.txt +0 -0
  1020. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-sys-0.60.2-NOTICES.txt +0 -0
  1021. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-targets-0.52.6-NOTICES.txt +0 -0
  1022. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows-targets-0.53.2-NOTICES.txt +0 -0
  1023. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_aarch64_gnullvm-0.52.6-NOTICES.txt +0 -0
  1024. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_aarch64_gnullvm-0.53.0-NOTICES.txt +0 -0
  1025. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_aarch64_msvc-0.52.6-NOTICES.txt +0 -0
  1026. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_aarch64_msvc-0.53.0-NOTICES.txt +0 -0
  1027. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_gnu-0.52.6-NOTICES.txt +0 -0
  1028. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_gnu-0.53.0-NOTICES.txt +0 -0
  1029. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_gnullvm-0.52.6-NOTICES.txt +0 -0
  1030. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_gnullvm-0.53.0-NOTICES.txt +0 -0
  1031. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_msvc-0.52.6-NOTICES.txt +0 -0
  1032. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_i686_msvc-0.53.0-NOTICES.txt +0 -0
  1033. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_gnu-0.52.6-NOTICES.txt +0 -0
  1034. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_gnu-0.53.0-NOTICES.txt +0 -0
  1035. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_gnullvm-0.52.6-NOTICES.txt +0 -0
  1036. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_gnullvm-0.53.0-NOTICES.txt +0 -0
  1037. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_msvc-0.52.6-NOTICES.txt +0 -0
  1038. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-windows_x86_64_msvc-0.53.0-NOTICES.txt +0 -0
  1039. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winnow-0.5.39-NOTICES.txt +0 -0
  1040. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winsafe-0.0.19-NOTICES.txt +0 -0
  1041. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-winx-0.36.3-NOTICES.txt +0 -0
  1042. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-0.45.1-NOTICES.txt +0 -0
  1043. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-0.46.0-NOTICES.txt +0 -0
  1044. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-core-0.46.0-NOTICES.txt +0 -0
  1045. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-rt-0.33.0-NOTICES.txt +0 -0
  1046. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-rust-0.46.0-NOTICES.txt +0 -0
  1047. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-bindgen-rust-macro-0.46.0-NOTICES.txt +0 -0
  1048. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-component-0.239.0-NOTICES.txt +0 -0
  1049. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-wit-parser-0.239.0-NOTICES.txt +0 -0
  1050. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-witx-0.9.1-NOTICES.txt +0 -0
  1051. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-write16-1.0.0-NOTICES.txt +0 -0
  1052. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-writeable-0.5.5-NOTICES.txt +0 -0
  1053. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-xattr-1.3.1-NOTICES.txt +0 -0
  1054. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-yoke-0.7.5-NOTICES.txt +0 -0
  1055. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-yoke-derive-0.7.5-NOTICES.txt +0 -0
  1056. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zerofrom-0.1.5-NOTICES.txt +0 -0
  1057. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zerofrom-derive-0.1.5-NOTICES.txt +0 -0
  1058. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zeroize-1.7.0-NOTICES.txt +0 -0
  1059. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zerovec-0.10.4-NOTICES.txt +0 -0
  1060. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zerovec-derive-0.10.3-NOTICES.txt +0 -0
  1061. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zip-0.6.6-NOTICES.txt +0 -0
  1062. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zstd-0.11.2+zstd.1.5.2-NOTICES.txt +0 -0
  1063. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zstd-0.13.0-NOTICES.txt +0 -0
  1064. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zstd-safe-5.0.2+zstd.1.5.2-NOTICES.txt +0 -0
  1065. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zstd-safe-7.0.0-NOTICES.txt +0 -0
  1066. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/rust-zstd-sys-2.0.9+zstd.1.5.5-NOTICES.txt +0 -0
  1067. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/scikit-learn-1.9.1-NOTICES.txt +0 -0
  1068. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/scipy-1.18.1-NOTICES.txt +0 -0
  1069. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/soundfile-0.14.0-NOTICES.txt +0 -0
  1070. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/soxr-1.1.0-NOTICES.txt +0 -0
  1071. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/sparkle-2.10.0-NOTICES.txt +0 -0
  1072. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/sqlite-3530100-NOTICES.txt +0 -0
  1073. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/threadpoolctl-3.6.0-NOTICES.txt +0 -0
  1074. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/tqdm-4.70.0-NOTICES.txt +0 -0
  1075. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/typing-extensions-4.16.0-NOTICES.txt +0 -0
  1076. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/urllib3-2.7.0-NOTICES.txt +0 -0
  1077. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/wasmtime-38.0.0-NOTICES.txt +0 -0
  1078. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/wasmtime-native-38.0.1-NOTICES.txt +0 -0
  1079. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-runtime-3.2.1-NOTICES.txt +0 -0
  1080. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-windows-foundation-3.2.1-NOTICES.txt +0 -0
  1081. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-windows-foundation-collections-3.2.1-NOTICES.txt +0 -0
  1082. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-windows-media-3.2.1-NOTICES.txt +0 -0
  1083. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-windows-media-interop-3.2.1-NOTICES.txt +0 -0
  1084. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/winrt-windows-storage-streams-3.2.1-NOTICES.txt +0 -0
  1085. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/xz-5.8.3-NOTICES.txt +0 -0
  1086. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/zig-runtime-0.14.1-NOTICES.txt +0 -0
  1087. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/zlib-1.3.2-NOTICES.txt +0 -0
  1088. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/notices/zlib-ffmpeg-1.3.1-NOTICES.txt +0 -0
  1089. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/third-party/sources.json +0 -0
  1090. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/update-helper.spec +0 -0
  1091. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/update-keys.json +0 -0
  1092. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/ActivatePackage.cs +0 -0
  1093. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/AppxManifest.xml.in +0 -0
  1094. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/iOpenPod.manifest.xml +0 -0
  1095. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/assets/store-logo-300.png +0 -0
  1096. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/certification-notes.md +0 -0
  1097. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/license.html +0 -0
  1098. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/license.md +0 -0
  1099. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/privacy.html +0 -0
  1100. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/privacy.md +0 -0
  1101. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/01-album-library.png +0 -0
  1102. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/02-album-details.png +0 -0
  1103. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/03-playlists.png +0 -0
  1104. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/04-photo-library.png +0 -0
  1105. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/05-sync-review.png +0 -0
  1106. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/06-about-and-credits.png +0 -0
  1107. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots/manifest.json +0 -0
  1108. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/screenshots.md +0 -0
  1109. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/support.html +0 -0
  1110. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store/support.md +0 -0
  1111. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/store-identity.toml +0 -0
  1112. {iopenpod-2.0.4 → iopenpod-2.0.6}/packaging/windows/test-installed-package.ps1 +0 -0
  1113. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/assemble_github_release.py +0 -0
  1114. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/build_windows_sndfile.py +0 -0
  1115. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/capture_store_screenshots.py +0 -0
  1116. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/check_macos_bundle.py +0 -0
  1117. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/check_macos_dmg.py +0 -0
  1118. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/check_wheel.py +0 -0
  1119. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/check_windows_bundle.py +0 -0
  1120. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/compile_synesthesia_shaders.py +0 -0
  1121. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/generate_fake_music_library.py +0 -0
  1122. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/generate_media_fixtures.py +0 -0
  1123. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/package_app.py +0 -0
  1124. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/package_updates.py +0 -0
  1125. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/prepare_release.py +0 -0
  1126. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/prepare_release_sources.py +0 -0
  1127. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/prepare_store_kit.py +0 -0
  1128. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/publish_update_feed.py +0 -0
  1129. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/sync_macos_build.py +0 -0
  1130. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/update_feed.py +0 -0
  1131. {iopenpod-2.0.4 → iopenpod-2.0.6}/scripts/update_translations.py +0 -0
  1132. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/__init__.py +0 -0
  1133. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/authority.py +0 -0
  1134. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/data/__init__.py +0 -0
  1135. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/identifiers.py +0 -0
  1136. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/metadata.py +0 -0
  1137. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/py.typed +0 -0
  1138. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/device_registry/registry.py +0 -0
  1139. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/PROTOTYPE.md +0 -0
  1140. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/album_card_delegate.py +0 -0
  1141. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/collection_card_delegate.py +0 -0
  1142. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/collection_list_delegate.py +0 -0
  1143. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/photo_album_membership_delegate.py +0 -0
  1144. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/photo_card_delegate.py +0 -0
  1145. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/podcast_delegates.py +0 -0
  1146. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/selection_group_delegate.py +0 -0
  1147. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/delegates/track_artwork_delegate.py +0 -0
  1148. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/artwork_editor.py +0 -0
  1149. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/device_picker.py +0 -0
  1150. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/external_playlist_files.py +0 -0
  1151. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/library_review.py +0 -0
  1152. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/linux_identity_setup.py +0 -0
  1153. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/media_folders.py +0 -0
  1154. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/media_tools_setup.py +0 -0
  1155. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/photo_album_editor.py +0 -0
  1156. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/photo_album_manager.py +0 -0
  1157. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/photo_metadata_editor.py +0 -0
  1158. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/playlist_editor.py +0 -0
  1159. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/playlist_export.py +0 -0
  1160. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/podcast_search.py +0 -0
  1161. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/podcast_sync_settings.py +0 -0
  1162. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/scrobble_report.py +0 -0
  1163. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/dialogs/tag_normalizer.py +0 -0
  1164. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/host_library_browser.py +0 -0
  1165. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/navigation.py +0 -0
  1166. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/backup_page.py +0 -0
  1167. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/collection_page.py +0 -0
  1168. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/library_page.py +0 -0
  1169. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/photo_page.py +0 -0
  1170. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/placeholder_page.py +0 -0
  1171. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/playlist_page.py +0 -0
  1172. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/podcast_page.py +0 -0
  1173. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/sync_execution_page.py +0 -0
  1174. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/sync_plan_page.py +0 -0
  1175. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/synesthesia_page.py +0 -0
  1176. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/pages/track_page.py +0 -0
  1177. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/application_icon.py +0 -0
  1178. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/artwork.py +0 -0
  1179. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/artwork_provider.py +0 -0
  1180. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/backup_messages.py +0 -0
  1181. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/collection_text.py +0 -0
  1182. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/device_images.py +0 -0
  1183. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/display.py +0 -0
  1184. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/eta.py +0 -0
  1185. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/i18n/manager.py +0 -0
  1186. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/i18n/text.py +0 -0
  1187. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/i18n/workflow.py +0 -0
  1188. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/icons.py +0 -0
  1189. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/image_color.py +0 -0
  1190. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/library_card.py +0 -0
  1191. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/middle_mouse_scrolling.py +0 -0
  1192. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/photo.py +0 -0
  1193. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/photo_provider.py +0 -0
  1194. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/podcast_artwork_provider.py +0 -0
  1195. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/podcast_collection_artwork.py +0 -0
  1196. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/selection_checkbox.py +0 -0
  1197. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/backup_styles.py +0 -0
  1198. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/checkbox_style.py +0 -0
  1199. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/dynamic.py +0 -0
  1200. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/manager.py +0 -0
  1201. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/podcast_styles.py +0 -0
  1202. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/theme/tokens.py +0 -0
  1203. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/presentation/track_drag_preview.py +0 -0
  1204. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/__init__.py +0 -0
  1205. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/conductor.py +0 -0
  1206. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/motion_phases.py +0 -0
  1207. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/persistent_world.py +0 -0
  1208. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/preview.py +0 -0
  1209. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/render_resolution.py +0 -0
  1210. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/renderer.py +0 -0
  1211. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/scene_director.py +0 -0
  1212. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/comets.frag +0 -0
  1213. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/comets.frag.qsb +0 -0
  1214. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/comets.vert +0 -0
  1215. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/comets.vert.qsb +0 -0
  1216. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/events.frag +0 -0
  1217. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/events.frag.qsb +0 -0
  1218. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/feedback.frag +0 -0
  1219. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/feedback.frag.qsb +0 -0
  1220. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/field_sim.comp +0 -0
  1221. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/field_sim.comp.qsb +0 -0
  1222. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.frag +0 -0
  1223. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.frag.qsb +0 -0
  1224. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.vert +0 -0
  1225. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/filaments.vert.qsb +0 -0
  1226. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/fullscreen.vert +0 -0
  1227. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/fullscreen.vert.qsb +0 -0
  1228. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/particles.frag +0 -0
  1229. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/particles.frag.qsb +0 -0
  1230. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/particles.vert +0 -0
  1231. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/particles.vert.qsb +0 -0
  1232. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/present.frag +0 -0
  1233. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/present.frag.qsb +0 -0
  1234. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/scenes.frag +0 -0
  1235. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/shader_sources/scenes.frag.qsb +0 -0
  1236. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/synesthesia/visual_style.py +0 -0
  1237. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/album_grid.py +0 -0
  1238. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/app_combo_box.py +0 -0
  1239. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/artwork_view.py +0 -0
  1240. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/browser_chrome.py +0 -0
  1241. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/collection_detail.py +0 -0
  1242. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/collection_grid.py +0 -0
  1243. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/elided_label.py +0 -0
  1244. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/equalized_grid.py +0 -0
  1245. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/eta_label.py +0 -0
  1246. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/host_media_drop.py +0 -0
  1247. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/ipod_preferences.py +0 -0
  1248. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/library_content.py +0 -0
  1249. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/library_drag_grid.py +0 -0
  1250. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/library_toolbar.py +0 -0
  1251. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/photo_album_membership_grid.py +0 -0
  1252. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/photo_grid.py +0 -0
  1253. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/photo_inspector.py +0 -0
  1254. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/playback_pane.py +0 -0
  1255. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/player_bar.py +0 -0
  1256. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/playlist_artwork_banner.py +0 -0
  1257. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/playlist_tree.py +0 -0
  1258. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/podcast_artwork.py +0 -0
  1259. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/scrobbling_settings.py +0 -0
  1260. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/search_field.py +0 -0
  1261. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/selection_grid.py +0 -0
  1262. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/selection_group_transition.py +0 -0
  1263. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/setting_group.py +0 -0
  1264. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/sidebar.py +0 -0
  1265. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/status_controls.py +0 -0
  1266. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/status_list.py +0 -0
  1267. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/sync_preparation_progress.py +0 -0
  1268. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/sync_review_group.py +0 -0
  1269. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/sync_selection_actions.py +0 -0
  1270. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/sync_settings.py +0 -0
  1271. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/themed_buttons.py +0 -0
  1272. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/track_list_header.py +0 -0
  1273. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/GUI/widgets/track_table.py +0 -0
  1274. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/__main__.py +0 -0
  1275. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/app.py +0 -0
  1276. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/artwork_controller.py +0 -0
  1277. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/artwork_import.py +0 -0
  1278. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backup_controller.py +0 -0
  1279. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/__init__.py +0 -0
  1280. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/_json.py +0 -0
  1281. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/archive.py +0 -0
  1282. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/models.py +0 -0
  1283. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/original_archive.py +0 -0
  1284. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/outcomes.py +0 -0
  1285. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/recovery.py +0 -0
  1286. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/repository.py +0 -0
  1287. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/scope.py +0 -0
  1288. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/backups/service.py +0 -0
  1289. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/chaptered_conversion.py +0 -0
  1290. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/chaptered_conversion_controller.py +0 -0
  1291. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/context.py +0 -0
  1292. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/certifi_ssl.py +0 -0
  1293. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/eta.py +0 -0
  1294. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/runtime.py +0 -0
  1295. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/settings/definitions.py +0 -0
  1296. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/settings/paths.py +0 -0
  1297. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/settings/service.py +0 -0
  1298. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/settings/stores.py +0 -0
  1299. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/settings/transcoding.py +0 -0
  1300. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/core/status.py +0 -0
  1301. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/device_controller.py +0 -0
  1302. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/display_text.py +0 -0
  1303. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/host_media_fingerprint.py +0 -0
  1304. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/host_media_folders.py +0 -0
  1305. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/host_playlists.py +0 -0
  1306. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/ipod_media_controller.py +0 -0
  1307. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/library_export.py +0 -0
  1308. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/library_export_controller.py +0 -0
  1309. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/library_workspace.py +0 -0
  1310. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/__init__.py +0 -0
  1311. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/content_type.py +0 -0
  1312. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/inspection.py +0 -0
  1313. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/lyrics_reader.py +0 -0
  1314. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/models.py +0 -0
  1315. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/music_paths.py +0 -0
  1316. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/photo_sync.py +0 -0
  1317. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/progress.py +0 -0
  1318. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/sync_artwork.py +0 -0
  1319. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media/tags.py +0 -0
  1320. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/media_tools_controller.py +0 -0
  1321. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/metadata_fields.py +0 -0
  1322. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/album_list_model.py +0 -0
  1323. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/artwork.py +0 -0
  1324. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/artwork_seed.py +0 -0
  1325. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/collection_list_model.py +0 -0
  1326. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/device.py +0 -0
  1327. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/filter_compat.py +0 -0
  1328. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/ipod_preferences.py +0 -0
  1329. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/keyed_projection.py +0 -0
  1330. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/library_drag.py +0 -0
  1331. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/photo_album_membership_model.py +0 -0
  1332. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/photo_list_model.py +0 -0
  1333. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/photos.py +0 -0
  1334. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/playback_models.py +0 -0
  1335. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/playlist_tree_model.py +0 -0
  1336. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/podcast_list_models.py +0 -0
  1337. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/selection_grouping.py +0 -0
  1338. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/track_columns.py +0 -0
  1339. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/track_order.py +0 -0
  1340. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/models/track_table_model.py +0 -0
  1341. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/music_import_controller.py +0 -0
  1342. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/photo_controller.py +0 -0
  1343. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/__init__.py +0 -0
  1344. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/_qt_io.py +0 -0
  1345. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/_qt_logging.py +0 -0
  1346. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/backend.py +0 -0
  1347. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/qt_backend.py +0 -0
  1348. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/runtime_check.py +0 -0
  1349. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/__init__.py +0 -0
  1350. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/bridge.py +0 -0
  1351. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/factory.py +0 -0
  1352. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/linux.py +0 -0
  1353. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/macos.py +0 -0
  1354. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/session.py +0 -0
  1355. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback/system_media/windows.py +0 -0
  1356. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/playback_controller.py +0 -0
  1357. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/__init__.py +0 -0
  1358. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/artwork_controller.py +0 -0
  1359. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/catalog.py +0 -0
  1360. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/controller.py +0 -0
  1361. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/documents.py +0 -0
  1362. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/feed_client.py +0 -0
  1363. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/identity.py +0 -0
  1364. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/media.py +0 -0
  1365. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/models.py +0 -0
  1366. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/store.py +0 -0
  1367. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/sync.py +0 -0
  1368. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/sync_artwork.py +0 -0
  1369. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/podcasts/sync_preparation.py +0 -0
  1370. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/__init__.py +0 -0
  1371. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/_json.py +0 -0
  1372. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/controller.py +0 -0
  1373. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/credentials.py +0 -0
  1374. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/models.py +0 -0
  1375. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/queue.py +0 -0
  1376. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/reporting.py +0 -0
  1377. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/service.py +0 -0
  1378. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/settings.py +0 -0
  1379. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/scrobbling/timestamps.py +0 -0
  1380. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/services/device_time.py +0 -0
  1381. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/services/ipod_preferences.py +0 -0
  1382. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/services/linux_identity.py +0 -0
  1383. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/services/volume_presentation.py +0 -0
  1384. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/smart_playlist_preview.py +0 -0
  1385. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/sync_controller.py +0 -0
  1386. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/__init__.py +0 -0
  1387. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/_structure.py +0 -0
  1388. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/audio.py +0 -0
  1389. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/backend.py +0 -0
  1390. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/controller.py +0 -0
  1391. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/dsp.py +0 -0
  1392. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/enrichment.py +0 -0
  1393. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/synesthesia/models.py +0 -0
  1394. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/tag_normalization_controller.py +0 -0
  1395. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/tag_normalizer.py +0 -0
  1396. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/track_conversion.py +0 -0
  1397. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/track_playback_policy.py +0 -0
  1398. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/__init__.py +0 -0
  1399. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/backend.py +0 -0
  1400. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/bootstrap.py +0 -0
  1401. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/controller.py +0 -0
  1402. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/github.py +0 -0
  1403. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/helper.py +0 -0
  1404. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/installation.py +0 -0
  1405. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/platform.py +0 -0
  1406. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/portable.py +0 -0
  1407. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/processes.py +0 -0
  1408. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/processes_windows.py +0 -0
  1409. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/pypi.py +0 -0
  1410. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/python_helper.py +0 -0
  1411. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/python_installation.py +0 -0
  1412. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/releases.py +0 -0
  1413. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/sparkle.py +0 -0
  1414. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/transport.py +0 -0
  1415. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/app/updates/windows.py +0 -0
  1416. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/README.md +0 -0
  1417. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/album.svg +0 -0
  1418. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/alert.svg +0 -0
  1419. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/bell.svg +0 -0
  1420. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/book.svg +0 -0
  1421. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/box.svg +0 -0
  1422. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/broadcast.svg +0 -0
  1423. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/check-circle.svg +0 -0
  1424. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/chevron-left.svg +0 -0
  1425. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/eject.svg +0 -0
  1426. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/film.svg +0 -0
  1427. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/folder.svg +0 -0
  1428. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/grid.svg +0 -0
  1429. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/list.svg +0 -0
  1430. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/minus.svg +0 -0
  1431. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/monitor.svg +0 -0
  1432. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/music.svg +0 -0
  1433. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/pause.svg +0 -0
  1434. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/photo.svg +0 -0
  1435. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/play-last.svg +0 -0
  1436. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/play-next.svg +0 -0
  1437. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/play.svg +0 -0
  1438. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/playlist.svg +0 -0
  1439. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/plus.svg +0 -0
  1440. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/refresh.svg +0 -0
  1441. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/search.svg +0 -0
  1442. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/settings-sliders.svg +0 -0
  1443. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/skip-back.svg +0 -0
  1444. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/skip-forward.svg +0 -0
  1445. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/smart-playlist.svg +0 -0
  1446. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/synesthesia.svg +0 -0
  1447. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/user.svg +0 -0
  1448. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/video.svg +0 -0
  1449. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/volume.svg +0 -0
  1450. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/glyphs/x.svg +0 -0
  1451. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/DJShott-icon.txt +0 -0
  1452. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/README.md +0 -0
  1453. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-128.png +0 -0
  1454. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-16.png +0 -0
  1455. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-24.png +0 -0
  1456. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-256.png +0 -0
  1457. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-32.png +0 -0
  1458. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-48.png +0 -0
  1459. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon-64.png +0 -0
  1460. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/icons/icon.ico +0 -0
  1461. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod1.png +0 -0
  1462. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod11-Black.png +0 -0
  1463. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod11-Silver.png +0 -0
  1464. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod11B-Black.png +0 -0
  1465. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Black.png +0 -0
  1466. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Blue.png +0 -0
  1467. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Green.png +0 -0
  1468. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Pink.png +0 -0
  1469. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Red.png +0 -0
  1470. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod12-Silver.png +0 -0
  1471. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Black.png +0 -0
  1472. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Blue.png +0 -0
  1473. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Green.png +0 -0
  1474. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Orange.png +0 -0
  1475. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Pink.png +0 -0
  1476. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Purple.png +0 -0
  1477. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Red.png +0 -0
  1478. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Silver.png +0 -0
  1479. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod15-Yellow.png +0 -0
  1480. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Black.png +0 -0
  1481. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Blue.png +0 -0
  1482. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Green.png +0 -0
  1483. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Orange.png +0 -0
  1484. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Pink.png +0 -0
  1485. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Purple.png +0 -0
  1486. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Red.png +0 -0
  1487. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Silver.png +0 -0
  1488. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod16-Yellow.png +0 -0
  1489. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Blue.png +0 -0
  1490. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-DarkGray.png +0 -0
  1491. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Green.png +0 -0
  1492. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Orange.png +0 -0
  1493. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Pink.png +0 -0
  1494. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Red.png +0 -0
  1495. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod17-Silver.png +0 -0
  1496. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Blue.png +0 -0
  1497. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-DarkGray.png +0 -0
  1498. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Green.png +0 -0
  1499. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Pink.png +0 -0
  1500. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Purple.png +0 -0
  1501. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Red.png +0 -0
  1502. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Silver.png +0 -0
  1503. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-SpaceGray.png +0 -0
  1504. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18-Yellow.png +0 -0
  1505. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-Blue.png +0 -0
  1506. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-Gold.png +0 -0
  1507. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-Pink.png +0 -0
  1508. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-Red.png +0 -0
  1509. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-Silver.png +0 -0
  1510. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod18A-SpaceGray.png +0 -0
  1511. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod2.png +0 -0
  1512. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3-Blue.png +0 -0
  1513. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3-Gold.png +0 -0
  1514. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3-Green.png +0 -0
  1515. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3-Pink.png +0 -0
  1516. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3-Silver.png +0 -0
  1517. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3B-Blue.png +0 -0
  1518. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3B-Green.png +0 -0
  1519. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod3B-Pink.png +0 -0
  1520. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod4-BlackRed.png +0 -0
  1521. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod4-White.png +0 -0
  1522. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod5-BlackRed.png +0 -0
  1523. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod5-White.png +0 -0
  1524. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod6-Black.png +0 -0
  1525. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod6-BlackRed.png +0 -0
  1526. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod6-White.png +0 -0
  1527. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod7-Black.png +0 -0
  1528. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod7-White.png +0 -0
  1529. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Black.png +0 -0
  1530. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Blue.png +0 -0
  1531. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Green.png +0 -0
  1532. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Pink.png +0 -0
  1533. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Red.png +0 -0
  1534. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPod9-Silver.png +0 -0
  1535. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/ipod_images/iPodGeneric.png +0 -0
  1536. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iOpenPod/assets/linux/61-iopenpod.rules +0 -0
  1537. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/builder/build_ArtworkDB.py +0 -0
  1538. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/ithmb.py +0 -0
  1539. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/ithmb_writer.py +0 -0
  1540. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/parser/mhod_payload_spec_registry.py +0 -0
  1541. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/parser/parser_definition.py +0 -0
  1542. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/artwork_index.py +0 -0
  1543. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhaf.py +0 -0
  1544. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhba.py +0 -0
  1545. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhfd.py +0 -0
  1546. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhia.py +0 -0
  1547. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhif.py +0 -0
  1548. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhii.py +0 -0
  1549. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhla.py +0 -0
  1550. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhlf.py +0 -0
  1551. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhli.py +0 -0
  1552. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhni.py +0 -0
  1553. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod.py +0 -0
  1554. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/container_mhod.py +0 -0
  1555. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +0 -0
  1556. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhod_payloads/string_mhod.py +0 -0
  1557. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/chunk_defs/mhsd.py +0 -0
  1558. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/constants.py +0 -0
  1559. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/database_definition.py +0 -0
  1560. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/shared/mhod_payload_spec_registry.py +0 -0
  1561. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/writer/mhod_encoder.py +0 -0
  1562. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/writer/mhod_serializer.py +0 -0
  1563. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/ArtworkDB/writer/write_ArtworkDB.py +0 -0
  1564. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/builder/build_PhotosDB.py +0 -0
  1565. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/parser/mhod_payload_spec_registry.py +0 -0
  1566. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/parser/parser_definition.py +0 -0
  1567. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhaf.py +0 -0
  1568. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhba.py +0 -0
  1569. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhfd.py +0 -0
  1570. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhia.py +0 -0
  1571. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhif.py +0 -0
  1572. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhii.py +0 -0
  1573. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhla.py +0 -0
  1574. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhlf.py +0 -0
  1575. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhli.py +0 -0
  1576. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhni.py +0 -0
  1577. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhod.py +0 -0
  1578. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/container_mhod.py +0 -0
  1579. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +0 -0
  1580. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhod_payloads/string_mhod.py +0 -0
  1581. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/chunk_defs/mhsd.py +0 -0
  1582. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/constants.py +0 -0
  1583. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/database_definition.py +0 -0
  1584. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/shared/mhod_payload_spec_registry.py +0 -0
  1585. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/PhotosDB/writer/write_PhotosDB.py +0 -0
  1586. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/SQLiteDB/artifacts.py +0 -0
  1587. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/device_time.py +0 -0
  1588. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/builder/build_iTunesDB.py +0 -0
  1589. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/parser/mhod_parsers/url_mhod.py +0 -0
  1590. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/parser/mhod_payload_spec_registry.py +0 -0
  1591. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/parser/parser_definition.py +0 -0
  1592. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhbd.py +0 -0
  1593. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhia.py +0 -0
  1594. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhii.py +0 -0
  1595. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhip.py +0 -0
  1596. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhit.py +0 -0
  1597. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhla.py +0 -0
  1598. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhli.py +0 -0
  1599. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhlp.py +0 -0
  1600. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhlt.py +0 -0
  1601. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod.py +0 -0
  1602. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/library_index_mhod.py +0 -0
  1603. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/library_jump_table_mhod.py +0 -0
  1604. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/opaque_mhod.py +0 -0
  1605. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/plist_mhod.py +0 -0
  1606. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/settings_mhod.py +0 -0
  1607. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/smart_rules_mhod.py +0 -0
  1608. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/string_mhod.py +0 -0
  1609. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/url_mhod.py +0 -0
  1610. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhod_payloads/video_details_mhod.py +0 -0
  1611. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhsd.py +0 -0
  1612. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/chunk_defs/mhyp.py +0 -0
  1613. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/constants.py +0 -0
  1614. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/database_definition.py +0 -0
  1615. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/device_time.py +0 -0
  1616. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/field_converters.py +0 -0
  1617. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/shared/mhod_payload_spec_registry.py +0 -0
  1618. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/writer/calcHashAB.NOTICE +0 -0
  1619. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/writer/calcHashAB.wasm.b64 +0 -0
  1620. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/iTunesDB/writer/write_iTunesDB.py +0 -0
  1621. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_album_index.py +0 -0
  1622. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_browse_groups.py +0 -0
  1623. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_browse_index.py +0 -0
  1624. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_document_edit.py +0 -0
  1625. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_field_policy.py +0 -0
  1626. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_folder_validation.py +0 -0
  1627. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_folder_writing.py +0 -0
  1628. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_group_verification.py +0 -0
  1629. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_hidden_writing.py +0 -0
  1630. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_hierarchy.py +0 -0
  1631. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_identities.py +0 -0
  1632. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_index_verification.py +0 -0
  1633. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_lyrics_resources.py +0 -0
  1634. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_native_values.py +0 -0
  1635. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_photo_analysis.py +0 -0
  1636. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_photo_projection.py +0 -0
  1637. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_photo_writing.py +0 -0
  1638. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_playlist_datasets.py +0 -0
  1639. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_playlist_projection.py +0 -0
  1640. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_playlist_verification.py +0 -0
  1641. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_playlist_writing.py +0 -0
  1642. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_podcast_writing.py +0 -0
  1643. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_projection.py +0 -0
  1644. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_resolve_write.py +0 -0
  1645. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_resolved_write.py +0 -0
  1646. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_sidecar_projection.py +0 -0
  1647. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_smart_projection.py +0 -0
  1648. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_smart_writing.py +0 -0
  1649. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_source_warnings.py +0 -0
  1650. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_time_warnings.py +0 -0
  1651. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_track_header_verification.py +0 -0
  1652. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/_track_verification.py +0 -0
  1653. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/artwork.py +0 -0
  1654. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/media.py +0 -0
  1655. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/models.py +0 -0
  1656. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/photos.py +0 -0
  1657. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/playlists.py +0 -0
  1658. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/smart_rules.py +0 -0
  1659. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/library/sqlite.py +0 -0
  1660. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/__init__.py +0 -0
  1661. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/_source.py +0 -0
  1662. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/codec.py +0 -0
  1663. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/definitions.py +0 -0
  1664. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/itunes.py +0 -0
  1665. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/itunes_definitions.py +0 -0
  1666. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/models.py +0 -0
  1667. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/preferences/timezones.py +0 -0
  1668. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/py.typed +0 -0
  1669. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/binary_struct.py +0 -0
  1670. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/chunk_builder.py +0 -0
  1671. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/chunk_field.py +0 -0
  1672. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/measure_memory.py +0 -0
  1673. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/to_json.py +0 -0
  1674. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/shared/types.py +0 -0
  1675. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/sidecars/__init__.py +0 -0
  1676. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iPodDB/tools/chunk_browser.py +0 -0
  1677. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iopenpod_launcher.py +0 -0
  1678. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/iopenpod_update_helper.py +0 -0
  1679. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/__init__.py +0 -0
  1680. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/_filesystem.py +0 -0
  1681. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/_transaction_journal.py +0 -0
  1682. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/_transactions.py +0 -0
  1683. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/_writer_lock.py +0 -0
  1684. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/device_capture.py +0 -0
  1685. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/errors.py +0 -0
  1686. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_capture.py +0 -0
  1687. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_directory.py +0 -0
  1688. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_files.py +0 -0
  1689. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_input.py +0 -0
  1690. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_installation.py +0 -0
  1691. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_tools.py +0 -0
  1692. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/host_usage.py +0 -0
  1693. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/media_probe.py +0 -0
  1694. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/models.py +0 -0
  1695. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/paths.py +0 -0
  1696. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/__init__.py +0 -0
  1697. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/base.py +0 -0
  1698. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/common.py +0 -0
  1699. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/host_install_windows.py +0 -0
  1700. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/linux_eject.py +0 -0
  1701. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/macos.py +0 -0
  1702. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/macos_eject.py +0 -0
  1703. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/macos_volume_metadata.py +0 -0
  1704. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/macos_vpd.py +0 -0
  1705. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/native.py +0 -0
  1706. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/windows.py +0 -0
  1707. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/platform/windows_eject.py +0 -0
  1708. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/portal.py +0 -0
  1709. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/py.typed +0 -0
  1710. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/scsi_vpd.py +0 -0
  1711. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/session.py +0 -0
  1712. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/testing.py +0 -0
  1713. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/transactions.py +0 -0
  1714. {iopenpod-2.0.4 → iopenpod-2.0.6}/src/storage/volume_metadata.py +0 -0
  1715. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/README.md +0 -0
  1716. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/__init__.py +0 -0
  1717. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/conftest.py +0 -0
  1718. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/device_registry/test_authority.py +0 -0
  1719. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/device_registry/test_metadata.py +0 -0
  1720. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/ArtworkDB/README.md +0 -0
  1721. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/ArtworkDB/original-empty.b64 +0 -0
  1722. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/ArtworkDB/original-with-unknown-data.b64 +0 -0
  1723. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/PhotosDB/README.md +0 -0
  1724. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/PhotosDB/original-photo-library.b64 +0 -0
  1725. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/SQLiteDB/README.md +0 -0
  1726. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/iTunesDB/README.md +0 -0
  1727. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/iTunesDB/original-empty.b64 +0 -0
  1728. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/README.md +0 -0
  1729. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/chapters-cover.m4a.b64 +0 -0
  1730. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/generator.json +0 -0
  1731. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/lossless.m4a.b64 +0 -0
  1732. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/multi-track.m4v.b64 +0 -0
  1733. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/multi-track.mov.b64 +0 -0
  1734. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/silent.mp4.b64 +0 -0
  1735. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/source.mkv.b64 +0 -0
  1736. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/surround.flac.b64 +0 -0
  1737. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/tone-vbr.mp3.b64 +0 -0
  1738. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/tone.aiff.b64 +0 -0
  1739. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/tone.m4a.b64 +0 -0
  1740. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/tone.mp3.b64 +0 -0
  1741. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/media/tone.wav.b64 +0 -0
  1742. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/normalization/original-cases.json +0 -0
  1743. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/writing/README.md +0 -0
  1744. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/writing/hash58-original.json +0 -0
  1745. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/writing/original_smart_rules.json +0 -0
  1746. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/fixtures/writing/playlists-original.json +0 -0
  1747. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/application_shell_test_support.py +0 -0
  1748. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/conftest.py +0 -0
  1749. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_artwork_provider.py +0 -0
  1750. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_collection_text.py +0 -0
  1751. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_device_images.py +0 -0
  1752. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_display.py +0 -0
  1753. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_german_catalog.py +0 -0
  1754. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_i18n_manager.py +0 -0
  1755. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_icons.py +0 -0
  1756. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_image_color.py +0 -0
  1757. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_library_card.py +0 -0
  1758. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_middle_mouse_scrolling.py +0 -0
  1759. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_model_translations.py +0 -0
  1760. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_photo_provider.py +0 -0
  1761. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_round_header_colors.py +0 -0
  1762. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_spanish_catalog.py +0 -0
  1763. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_theme_manager.py +0 -0
  1764. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/presentation/test_translation_catalog.py +0 -0
  1765. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_motion_phases.py +0 -0
  1766. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_page.py +0 -0
  1767. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_page_integration.py +0 -0
  1768. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_persistent_world.py +0 -0
  1769. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_render_resolution.py +0 -0
  1770. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_renderer_assets.py +0 -0
  1771. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_renderer_pixels.py +0 -0
  1772. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_renderer_timing.py +0 -0
  1773. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_scene_director.py +0 -0
  1774. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/synesthesia/test_shader_smoothing.py +0 -0
  1775. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_app_updates.py +0 -0
  1776. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_application_shell.py +0 -0
  1777. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_artwork_editor.py +0 -0
  1778. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_backup_messages.py +0 -0
  1779. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_backup_page.py +0 -0
  1780. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_browser_chrome.py +0 -0
  1781. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_device_auto_refresh.py +0 -0
  1782. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_eject_messages.py +0 -0
  1783. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_eta_label.py +0 -0
  1784. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_external_playlist_files_dialog.py +0 -0
  1785. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_history_track_interactions.py +0 -0
  1786. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_host_library_browser.py +0 -0
  1787. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_host_media_drop.py +0 -0
  1788. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_ipod_library_view_mode.py +0 -0
  1789. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_ipod_preferences_tab.py +0 -0
  1790. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_library_double_click.py +0 -0
  1791. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_library_grid_drag.py +0 -0
  1792. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_library_review_translations.py +0 -0
  1793. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_library_track_order.py +0 -0
  1794. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_media_folders_dialog.py +0 -0
  1795. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_media_tools_dialog.py +0 -0
  1796. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_page_count_translations.py +0 -0
  1797. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_photo_grid.py +0 -0
  1798. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_photo_page.py +0 -0
  1799. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_playback_lyrics.py +0 -0
  1800. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_playback_ui.py +0 -0
  1801. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_playlist_page.py +0 -0
  1802. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_playlist_tree.py +0 -0
  1803. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_podcast_page.py +0 -0
  1804. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_podcast_translations.py +0 -0
  1805. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_queue_actions.py +0 -0
  1806. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_scrobbling_ui.py +0 -0
  1807. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_selection_grid_gestures.py +0 -0
  1808. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_selection_group_grid.py +0 -0
  1809. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_selection_group_transition.py +0 -0
  1810. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_status_list.py +0 -0
  1811. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_collection_detail.py +0 -0
  1812. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_execution_page.py +0 -0
  1813. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_playlist_review.py +0 -0
  1814. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_recovery_choice.py +0 -0
  1815. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_scan_i18n.py +0 -0
  1816. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_selection_actions.py +0 -0
  1817. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_sync_settings.py +0 -0
  1818. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_tag_normalizer.py +0 -0
  1819. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_track_table.py +0 -0
  1820. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_track_title_bar.py +0 -0
  1821. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_widget_translations.py +0 -0
  1822. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/GUI/test_workflow_failure_translations.py +0 -0
  1823. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/__init__.py +0 -0
  1824. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_backup_service.py +0 -0
  1825. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_json.py +0 -0
  1826. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_original_import.py +0 -0
  1827. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_outcomes.py +0 -0
  1828. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_repository.py +0 -0
  1829. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/backups/test_restore_recovery.py +0 -0
  1830. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/core/settings/test_service.py +0 -0
  1831. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/core/settings/test_transcoding_settings.py +0 -0
  1832. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/core/test_eta.py +0 -0
  1833. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/core/test_logging.py +0 -0
  1834. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/core/test_status.py +0 -0
  1835. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/media/test_music_paths.py +0 -0
  1836. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_library_models.py +0 -0
  1837. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_library_search_order.py +0 -0
  1838. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_photo_album_drops.py +0 -0
  1839. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_photo_models.py +0 -0
  1840. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_playback_models.py +0 -0
  1841. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_playlist_tree_model.py +0 -0
  1842. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_podcast_list_models.py +0 -0
  1843. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/models/test_selection_grouping.py +0 -0
  1844. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/podcast_test_support.py +0 -0
  1845. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_catalog.py +0 -0
  1846. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_controller.py +0 -0
  1847. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_documents.py +0 -0
  1848. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_feed_client.py +0 -0
  1849. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_podcast_artwork_controller.py +0 -0
  1850. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_podcast_sync_artwork.py +0 -0
  1851. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_store.py +0 -0
  1852. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_sync.py +0 -0
  1853. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/podcasts/test_sync_preparation.py +0 -0
  1854. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_artwork_format_repair_save.py +0 -0
  1855. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_device_time_integration.py +0 -0
  1856. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_first_artwork_save.py +0 -0
  1857. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_ipod_preferences_inspection.py +0 -0
  1858. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_linux_identity.py +0 -0
  1859. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_sidecar_reconciliation.py +0 -0
  1860. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_sync_recovery.py +0 -0
  1861. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/services/test_volume_presentation.py +0 -0
  1862. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/sync_test_support.py +0 -0
  1863. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_analysis_core.py +0 -0
  1864. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_audio.py +0 -0
  1865. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_backend.py +0 -0
  1866. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_conductor_mapping.py +0 -0
  1867. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_conductor_reliability.py +0 -0
  1868. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_scene_calibration.py +0 -0
  1869. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/synesthesia/test_synesthesia_controller.py +0 -0
  1870. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_app.py +0 -0
  1871. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_artwork_controller.py +0 -0
  1872. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_artwork_import.py +0 -0
  1873. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_backup_controller.py +0 -0
  1874. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_chaptered_conversion.py +0 -0
  1875. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_device_controller.py +0 -0
  1876. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_display_text.py +0 -0
  1877. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_github_updates.py +0 -0
  1878. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_host_media_fingerprint.py +0 -0
  1879. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_host_media_folders.py +0 -0
  1880. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_host_metadata_tags.py +0 -0
  1881. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_host_playlists.py +0 -0
  1882. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_install_channel.py +0 -0
  1883. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_library_export.py +0 -0
  1884. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_library_export_controller.py +0 -0
  1885. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_library_write_controller.py +0 -0
  1886. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_linux_system_media.py +0 -0
  1887. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_lyrics_reader.py +0 -0
  1888. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_macos_system_media.py +0 -0
  1889. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_media_inspection.py +0 -0
  1890. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_music_import_controller.py +0 -0
  1891. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_photo_controller.py +0 -0
  1892. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_photo_workspace.py +0 -0
  1893. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_playback_controller.py +0 -0
  1894. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_playback_runtime.py +0 -0
  1895. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_playlist_workspace.py +0 -0
  1896. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_podcast_now_playing.py +0 -0
  1897. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_podcast_sync_execution.py +0 -0
  1898. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_podcast_sync_fingerprints.py +0 -0
  1899. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_podcast_sync_lifecycle.py +0 -0
  1900. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_portable_updates.py +0 -0
  1901. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_qt_playback_backend.py +0 -0
  1902. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_release_metadata.py +0 -0
  1903. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_scrobbling_credentials.py +0 -0
  1904. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_scrobbling_sync.py +0 -0
  1905. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_scrobbling_timestamps.py +0 -0
  1906. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_smart_playlist_preview.py +0 -0
  1907. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_startup_imports.py +0 -0
  1908. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_sync_artwork.py +0 -0
  1909. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_sync_playback_policy.py +0 -0
  1910. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_sync_recovery_choices.py +0 -0
  1911. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_sync_recovery_detection.py +0 -0
  1912. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_system_media_bridge.py +0 -0
  1913. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_tag_normalization_controller.py +0 -0
  1914. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_terminal_cleanup_selection.py +0 -0
  1915. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_track_conversion.py +0 -0
  1916. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_track_playback_policy.py +0 -0
  1917. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_update_bootstrap.py +0 -0
  1918. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_update_processes.py +0 -0
  1919. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_update_transport.py +0 -0
  1920. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_updates.py +0 -0
  1921. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/app/test_windows_system_media.py +0 -0
  1922. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/lyrics_test_support.py +0 -0
  1923. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/playback_test_support.py +0 -0
  1924. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/test_host_scan_storage_boundary.py +0 -0
  1925. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iOpenPod/test_library_boundary.py +0 -0
  1926. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/ArtworkDB/test_artwork_index.py +0 -0
  1927. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/ArtworkDB/test_auxiliary_mhod.py +0 -0
  1928. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/ArtworkDB/test_ithmb.py +0 -0
  1929. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/ArtworkDB/test_ithmb_writer.py +0 -0
  1930. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/PhotosDB/test_photosdb.py +0 -0
  1931. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/iTunesDB/test_device_time.py +0 -0
  1932. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_album_index.py +0 -0
  1933. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_album_write_regressions.py +0 -0
  1934. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_browse_relationships.py +0 -0
  1935. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_device_time_context.py +0 -0
  1936. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_library.py +0 -0
  1937. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_lyrics_writing.py +0 -0
  1938. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_media_content.py +0 -0
  1939. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_media_lifecycle.py +0 -0
  1940. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_media_replacement.py +0 -0
  1941. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_models.py +0 -0
  1942. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_occurrence_drafts.py +0 -0
  1943. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_photos.py +0 -0
  1944. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_playlist_datasets.py +0 -0
  1945. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_playlists.py +0 -0
  1946. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_resource_validation.py +0 -0
  1947. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_sidecar_projection.py +0 -0
  1948. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_signing.py +0 -0
  1949. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_smart_writing.py +0 -0
  1950. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_track_native_verification.py +0 -0
  1951. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_video_flags.py +0 -0
  1952. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_write_preservation.py +0 -0
  1953. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_write_progress.py +0 -0
  1954. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/library/test_write_relationships.py +0 -0
  1955. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/sidecars/test_sidecar_boundary.py +0 -0
  1956. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_binary_struct_definitions.py +0 -0
  1957. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_chunk_browser.py +0 -0
  1958. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_error_contracts.py +0 -0
  1959. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_itunes_preferences.py +0 -0
  1960. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_preferences.py +0 -0
  1961. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/iPodDB/test_type_contracts.py +0 -0
  1962. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_device_capture.py +0 -0
  1963. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_capture.py +0 -0
  1964. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_directory.py +0 -0
  1965. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_files.py +0 -0
  1966. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_input.py +0 -0
  1967. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_installation.py +0 -0
  1968. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_host_tools.py +0 -0
  1969. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_macos_kernel.py +0 -0
  1970. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_media_tool_environment.py +0 -0
  1971. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_paths.py +0 -0
  1972. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_platform_eject.py +0 -0
  1973. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_platform_volume_metadata.py +0 -0
  1974. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_portal.py +0 -0
  1975. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_private_temp_paths.py +0 -0
  1976. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_recovery.py +0 -0
  1977. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_scsi_vpd.py +0 -0
  1978. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_session.py +0 -0
  1979. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_transaction_state.py +0 -0
  1980. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_transactions.py +0 -0
  1981. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_volume_metadata.py +0 -0
  1982. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_windows_volume_identity.py +0 -0
  1983. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/storage/test_writer_lock.py +0 -0
  1984. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_github_release.py +0 -0
  1985. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_main.py +0 -0
  1986. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_native_packaging_collection.py +0 -0
  1987. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_prepare_release.py +0 -0
  1988. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_release_sources.py +0 -0
  1989. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_startup_logging.py +0 -0
  1990. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_store_kit.py +0 -0
  1991. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/test_update_publication.py +0 -0
  1992. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/website/check_seo.py +0 -0
  1993. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/website/navigation.cjs +0 -0
  1994. {iopenpod-2.0.4 → iopenpod-2.0.6}/tests/website/screenshot-viewer.cjs +0 -0
  1995. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/MacOS_Install_IMGS/macOS_Step1.webp +0 -0
  1996. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/MacOS_Install_IMGS/macOS_Step2.webp +0 -0
  1997. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/MacOS_Install_IMGS/macOS_Step3.webp +0 -0
  1998. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/MacOS_Install_IMGS/macOS_Step4.webp +0 -0
  1999. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/MacOS_Install_IMGS/macOS_Step5.webp +0 -0
  2000. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/README.md +0 -0
  2001. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/THEMES.md +0 -0
  2002. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_data/distribution.json +0 -0
  2003. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_data/faq.json +0 -0
  2004. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/download-channel.html +0 -0
  2005. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/platform-icon.html +0 -0
  2006. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/product-footer.html +0 -0
  2007. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/product-nav.html +0 -0
  2008. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/product-shot.html +0 -0
  2009. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_includes/screenshot-viewer.html +0 -0
  2010. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/_layouts/default.html +0 -0
  2011. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/apple-touch-icon.png +0 -0
  2012. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/favicon-16x16.png +0 -0
  2013. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/favicon-32x32.png +0 -0
  2014. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/favicon.ico +0 -0
  2015. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/google9044a61ef03e1fae.html +0 -0
  2016. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/index.html +0 -0
  2017. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/install-help-redirect.html +0 -0
  2018. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/install-help.html +0 -0
  2019. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/iop2.css +0 -0
  2020. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/iopenpod-icon-256.png +0 -0
  2021. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshot-viewer.js +0 -0
  2022. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/backups.webp +0 -0
  2023. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/hero.webp +0 -0
  2024. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/album-library.webp +0 -0
  2025. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/audio-transcoding-settings.webp +0 -0
  2026. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/backups.webp +0 -0
  2027. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/manifest.json +0 -0
  2028. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/media-folders.webp +0 -0
  2029. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/photo-albums.webp +0 -0
  2030. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/smart-playlist.webp +0 -0
  2031. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/sync-change-review.webp +0 -0
  2032. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/sync-media-selection.webp +0 -0
  2033. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/track-artwork.webp +0 -0
  2034. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/iop2/track-metadata.webp +0 -0
  2035. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/podcasts.webp +0 -0
  2036. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/settings.webp +0 -0
  2037. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/smartplaylists.webp +0 -0
  2038. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/syncmedia.webp +0 -0
  2039. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/syncreview.webp +0 -0
  2040. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/syncreview2.webp +0 -0
  2041. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/trackedits.webp +0 -0
  2042. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/screenshots/trackedits2.webp +0 -0
  2043. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/site.css +0 -0
  2044. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/site.min.css +0 -0
  2045. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/site.min.js +0 -0
  2046. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/theme.css +0 -0
  2047. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/theme.js +0 -0
  2048. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/theme.min.css +0 -0
  2049. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/theme.min.js +0 -0
  2050. {iopenpod-2.0.4 → iopenpod-2.0.6}/website/tokens.css +0 -0
@@ -0,0 +1,772 @@
1
+ # iOpenPod Context
2
+
3
+ ## Purpose
4
+
5
+ iOpenPod is a cross-platform desktop application for managing filesystem-accessible
6
+ iPods without iTunes. The long-term product will browse and edit an iPod library,
7
+ plan and apply media synchronization, preserve device-specific database behavior,
8
+ and protect removable media from unsafe writes.
9
+
10
+ iOpenPod 2.0 is a deliberate rebuild of the Original iOpenPod. There is no reduced
11
+ "first usable version" that defines the product's final scope. Development may be
12
+ incremental, but it continues toward feature parity with the Original iOpenPod and
13
+ then beyond it.
14
+
15
+ ## Current stage
16
+
17
+ Microsoft Store installs now check for application updates at launch and expose
18
+ progress and an Update now action through the status bar. Installation waits for
19
+ unsaved Library Drafts and running workflows to be resolved, then hands consent and
20
+ package replacement to Windows. Install Channel detection and typed Update Backends
21
+ also route standalone GitHub releases through signed metadata and an independent
22
+ portable helper or Sparkle on macOS. The public trust key and repository signing
23
+ secret are configured for future releases; existing downloads still need a manual
24
+ bootstrap upgrade. Store eligibility and a full signed-release A-to-B upgrade still
25
+ require native release validation. See [Application updates](docs/app-updates.md)
26
+ and ADR-0105.
27
+ Settings > About also shows the detected Install Channel beside the version and
28
+ offers a manual check using the same update workflow. Other channels are identified
29
+ where runtime evidence permits. Mac App Store, Flatpak and Snap remain managed by
30
+ their installation source. See ADR-0109 for standalone trust and recovery policy.
31
+ Installed Python packages also check PyPI. **Update now** stages a compatible,
32
+ non-yanked stable wheel; **Restart to install** protects pending work, closes the
33
+ app, upgrades that same Python environment, verifies the runtime and relaunches.
34
+ Standard UV tool installs upgrade through UV's tool manager. Editable checkouts
35
+ are excluded. Customized UV tools, pipx, locked, externally managed and read-only
36
+ environments retain manual update guidance. See ADR-0113 for package
37
+ identity, ownership and failure limits; Python package replacement has no automatic
38
+ rollback.
39
+
40
+ Startup checks media tools and offers a skippable setup popup for missing FFmpeg,
41
+ FFprobe, or fpcalc. Settings > Media Tools shows tool and FFmpeg encoder status,
42
+ with setup offered when a tool is missing. Installation is explicitly user-directed
43
+ through WinGet, architecture-specific Homebrew, or supported Linux
44
+ package managers, with progress and subsequent executable verification. Tools stay
45
+ outside the app distribution; fpcalc remains optional. See
46
+ [Media-tool setup](docs/media-tools.md) and ADR-0103 for platform prerequisites.
47
+
48
+ Scrobbling now submits committed iPod music plays to Last.fm and ListenBrainz from
49
+ Maintenance or an optional Sync step. Account-specific Host receipts prevent
50
+ normal retries from replaying accepted listens; pending submissions survive Sync
51
+ removals. Credentials use the native OS keyring. The iPod's aggregate playback
52
+ counters remain evidence rather than per-service delivery state. See
53
+ [Scrobbling](docs/scrobbling.md) and ADR-0101 for timestamp estimates and limits.
54
+ Last.fm dates older than its backdating window are moved to the current day for
55
+ submission, with original evidence retained separately while pending (ADR-0102).
56
+
57
+ iPodDB also provides lossless typed readers/writers for firmware Preferences and
58
+ binary iTunesPrefs. They expose documented device and iTunes settings while
59
+ retaining Unknown Data. Model-specific fields require explicit caller assertions;
60
+ layout recognition remains separate from Device Identity. Companion plist modeling
61
+ and physical preferences editing remain separate work.
62
+ Library dates now use a captured Device Time Context: historical city rules or an
63
+ explicit fixed-offset fallback, UTC-only release/purchase fields, and local Mac
64
+ conversion for Photo dates. Preferences are checked again before publication;
65
+ ambiguous dates remain unavailable and losslessly retained. See ADR-0098 and
66
+ [the time contract](docs/ipod-time.md).
67
+ Settings now includes a read-only iPod Preferences tab. Device selection captures
68
+ both binary preference files through Storage and publishes display summaries with
69
+ the Active iPod; switching or disconnecting clears the previous device's values.
70
+ See [the Preferences contract](docs/ipod-preferences.md) and ADR-0097.
71
+
72
+ iOpenPod 2.0 is in its foundation and binary-format implementation stage. Current
73
+ binary-format work includes definition-driven, lossless parser/writer foundations
74
+ for iTunesDB, ArtworkDB, and PhotosDB. PhotosDB exposes the on-device Photo Database
75
+ as a root-typed artifact over the evidenced ArtworkDB-format nested Chunk and MHOD
76
+ layouts. Every database artifact uses the same mandatory, header-typed Chunk
77
+ Definition contract, one root-typed Database Definition, and the same shared
78
+ structural reader/writer path. These
79
+ foundations remain subject to review as broader application workflows establish
80
+ their stable public interfaces. The repository also contains an architecture draft
81
+ and exploratory application settings and database-definition code whose public
82
+ interfaces and internal layout are not yet settled. Treat
83
+ `docs/source_architecture.md` as the target direction and untested source as evidence
84
+ and experimentation, not as completed implementation.
85
+
86
+ This stage prioritizes shared language, documented decisions, a reproducible Python
87
+ environment, consistent verification tools, and careful implementation of the iPod
88
+ database formats as device-writing workflows become available.
89
+
90
+ Storage now has a generic mounted-volume and Filesystem Session foundation with
91
+ native snapshot discovery for Windows, macOS, and Linux, plus a virtual-volume test
92
+ adapter. It can also return generic SCSI VPD and Host property observations from an
93
+ identity-bound Physical Device without interpreting them as iPod facts. Its current
94
+ macOS adapter correlates each `diskutil` BSD whole-disk identity with generic USB
95
+ identifiers from IOKit before the Application Layer interprets that evidence. Its
96
+ mutation surface includes verified single-file operations, recoverable trash, and
97
+ ordered multi-file Storage Transactions with retained originals and durable Operation
98
+ Journals. Transactions validate unchanged dependencies, stage verified content,
99
+ publish writes before removals, and support explicit restoration after reconnecting.
100
+ Storage now also performs user-directed native safe removal through Windows Plug and
101
+ Play, macOS Disk Arbitration's `diskutil` client, and Linux UDisks2. It never forces
102
+ an unmount, preserves native refusal details, and models an unmounted-but-not-ejected
103
+ partial result by expiring the Connection Generation. Incoming-media planning/import
104
+ and event-driven connection monitoring remain prerequisites for general Sync and
105
+ destructive maintenance workflows. See ADR-0029 and ADR-0060.
106
+
107
+ The Application Layer now coordinates device discovery and selection through
108
+ `DeviceCoordinator`. It reads identity metadata and iTunesDB snapshots only through
109
+ Storage, translates generic Host observations into Device Evidence, asks Device
110
+ Registry to identify each Device Candidate, gives already-read database bytes to
111
+ iPodDB, and owns one Active iPod Filesystem Session. Discovery never writes. When the
112
+ Application Layer builds a discovery snapshot, only mounted Volumes containing the
113
+ `iPod_Control` marker become Device Candidates; ordinary removable media stays a
114
+ Storage observation and never reaches the Device Picker. When the user selects an
115
+ exactly identified iPod, a narrow metadata-reconciliation workflow
116
+ can atomically repair SysInfo, SysInfoExtended, and the version-1
117
+ iOpenPodSysInfoAuthority record on a write-safe Volume before the Library is loaded.
118
+ The repair is verified, flushed, idempotent, and does not authorize Sync or any
119
+ destructive workflow.
120
+ SysInfo and SysInfoExtended remain optional metadata, never the sole required
121
+ source of device knowledge. Signing can use current hardware evidence directly,
122
+ and every SQLite-capable profile can use the built-in Library projection without
123
+ device-supplied postprocess commands. See ADR-0115.
124
+ `DeviceController` runs discovery and selection outside the Qt GUI thread and
125
+ publishes immutable results to the shared library models. If a previous Volume
126
+ Identity is saved, startup makes one background discovery pass to restore that iPod.
127
+ On Windows, macOS, and Linux, opening the Device Picker starts discovery immediately
128
+ and repeats it two seconds after each pass while the picker stays open. Closing it
129
+ stops further picker passes. Searching feedback stays inside the picker, and
130
+ unchanged observations preserve the Active iPod and Library Draft. Native
131
+ event-driven connection monitoring remains separate future work. See ADR-0069 and
132
+ ADR-0071. After a successful selection, it stores the selected Volume Identity in
133
+ global settings. Discovery automatically restores that choice only when exactly one
134
+ matching Device Candidate is ready; the connection-scoped Device Candidate ID is
135
+ never persisted.
136
+ The GUI first opens a modal folder dialog that stages Host Media Library folders and
137
+ their recursive, per-media-type scan settings. Accepting the dialog persists that
138
+ configuration in global settings, starts a cancellable background Host Media Scan,
139
+ and opens the full-window Sync Workspace for scan progress, media selection, and
140
+ Review. The scan covers audio, video, Photos, and Playlists and projects the result
141
+ through the common Library Snapshot API,
142
+ calculates and caches bounded raw Chromaprint fingerprints for Host Tracks and
143
+ SHA-256 content fingerprints for Host Photos, discovers embedded or common
144
+ folder-level Track artwork for lazy source-validated display, and
145
+ explicitly reviews Playlist references outside the selected media catalog, including
146
+ excluded media types and subfolders. M3U/M3U8, PLS, XSPF, WPL, and ASX/WAX/WVX
147
+ documents use bounded Storage reads; only explicitly accepted local audio/video
148
+ references can extend the scan, through identity-checked private Storage captures.
149
+ Network references, nested Playlists, links, and XML entity declarations cannot
150
+ expand access. Host file and folder-artwork churn during scanning is retained as a
151
+ diagnostic instead of failing the best-effort scan; Sync revalidates current source
152
+ facts before writing. See ADR-0074 and ADR-0082. On completion,
153
+ the workspace presents a read-only, source-isolated Host browser made from the same
154
+ Album, collection, Track, Playlist, Photo, and media-category pages as the iPod
155
+ browser. The normal sidebar stays iPod-focused, and the Active iPod Library Draft is
156
+ never replaced. See ADR-0063, ADR-0064, and ADR-0067.
157
+ The main Library browser also accepts dropped Host folders, audio, video, Photos,
158
+ and Playlist files while an Active iPod is available. A drop-zone overlay marks
159
+ accepted drags; each folder opens the shared folder settings to choose recursion
160
+ and audio, video, Photo, and Playlist scanning. Drops enter the
161
+ same Sync Workspace with temporary sources and leave saved media-folder settings
162
+ unchanged. Individual files do not scan sibling media, and Playlist references
163
+ outside the dropped selection retain their explicit review step. Settings,
164
+ Backups, Podcasts management, Synesthesia, and the Sync Workspace reject these drops.
165
+ When an Active iPod is available, the pre-Sync workflow next runs an iPod Media Scan.
166
+ It reads a checksummed Library Sync Helper from
167
+ `iPod_Control/iOpenPod/library-sync-helper.json`, reuses entries whose persistent
168
+ identity and cheap device-file facts still match, and fingerprints only missing or
169
+ stale Tracks and full-resolution Photos. Newly discovered media gets no invented Sync
170
+ history; Sync Details are written only after a successful Sync commit. The
171
+ helper remains matching evidence rather than Library or mutation authority. The
172
+ pre-Review scan does not persist it; successful Sync publishes its new provenance
173
+ after the verified Library commit. The Application Layer then
174
+ prepares an immutable Sync Plan for Tracks and full-resolution Photos. Proven Host
175
+ path relationships are considered before unique content identities; current Host
176
+ size and modification time are compared with the Host facts recorded by a successful
177
+ prior Sync. With unchanged Host file facts, current iPod Track details are compared
178
+ with the committed Sync Details tag fingerprint; a difference prompts a targeted
179
+ Host reread before the plan is finalized. Artwork is checked independently so a
180
+ changed folder cover can also produce Update. Cached Acoustic Fingerprints decide
181
+ whether media must be replaced, accepting their bounded and encoding-insensitive
182
+ comparison. Tag and artwork updates retain existing payloads, with one verified
183
+ file-tag rewrite for lyrics and optional Rockbox tags. Unchanged covers retain
184
+ their iTHMB bytes. Legacy caches migrate without media rereads. When acoustic
185
+ evidence is unavailable, changed Host file facts conservatively need replacement.
186
+ Separate Host and iPod tag baselines prevent normalization from causing repeated
187
+ Updates. Photos retain the file-fact Update rule. See ADR-0120. The
188
+ initial comparison classifies Host-only media as Add and iPod-only media as Remove,
189
+ while missing or ambiguous identities remain Needs attention. The Select Media stage
190
+ defaults correlated Host items on and Host-only items off, supports aggregate Album
191
+ and collection selection,
192
+ and can group grid items as Selected, Mixed, or Deselected. Opening an Album or
193
+ collection card in Select Media replaces the browser with a full detail page,
194
+ including artwork, metadata, bulk selection, and the shared Track table with its
195
+ own search. Back returns to the retained browser; these Sync pages have no split
196
+ Track pane. The global **iPod Library View Mode** setting also offers this shared
197
+ presentation in the iPod browser as **Whole Page Table**, without Sync Selection
198
+ controls. **Split Table** remains its default. Changes apply immediately and are
199
+ saved across restarts. See ADR-0072. Review derives an
200
+ immutable selected Sync Plan in collapsible change groups; iPod-only removal
201
+ candidates start unchecked. Review can exclude individual actions or whole groups
202
+ without changing desired Host membership. Sync Selected validates that plan, checks
203
+ required media tools, prepares compatible media on the Host, and builds an isolated
204
+ Library Draft. Failed independent items are reported and excluded while successful
205
+ items can still commit. The verified Library and media publish through Storage;
206
+ successful Sync Details follow the commit. Cancellation and interrupted publication
207
+ have explicit cleanup/recovery results. See ADR-0065 through ADR-0067, ADR-0070,
208
+ and ADR-0076.
209
+ Interrupted Sync recovery is a choice for the selected iPod: restore the previous
210
+ Library or explicitly keep current contents after a warning about incomplete
211
+ changes. Recovery and cleanup are discovered from device journals, never persisted
212
+ as Host settings. Declining restoration retains recovery copies and leaves media
213
+ and databases untouched; unrelated iPods remain usable. Successful Library saves
214
+ automatically clean their committed recovery files; Sync does so after attempting
215
+ its Library Sync Helper update. Selection also cleans matching completed
216
+ transactions after checking all journals for unfinished recovery. Discovery stays
217
+ read-only, and foreign or declined journals remain untouched. Only actual cleanup
218
+ failures require a cleanup warning and retry. See ADR-0089 and ADR-0093.
219
+ Host tag interpretation now shares native ID3, MP4, Vorbis/APE, ASF, and FFprobe
220
+ aliases across scanning and import. Media classification, TV and Podcast fields,
221
+ lyrics, sorting, advisory, and normalization metadata survive Scan Cache v9.
222
+ See [Host tag coverage](docs/host-media-tags.md) and ADR-0099 for precedence and limits.
223
+
224
+ Optional acoustic analysis no longer gates readable Host media or explicit Adds.
225
+ Sync checks media tools only for incoming Tracks and preserves committed Host-path
226
+ provenance independently of Acoustic Fingerprints in Library Sync Helper v4.
227
+ Embedded artwork uses seekable reads, including for large audiobooks. Successful
228
+ FFprobe output remains usable with incidental metadata diagnostics. Preparation
229
+ reports all concurrent Tracks with separate phase progress measured from FFmpeg's
230
+ output time and speed, and groups repeated informational conversion notices.
231
+ Device selection immediately commits captured Play Counts, iTunesStats,
232
+ PlayCounts.plist, and On-The-Go Playlists before exposing the Active iPod. The
233
+ verified Storage Transaction archives consumed files as inactive `.bak` companions
234
+ and removes the active inputs. iPodDB itself retains original source bytes and
235
+ performs no file I/O. Discovery and explicit recovery reloads remain read-only
236
+ with respect to playback evidence. Invalid evidence or a failed commit stops
237
+ selection; no pending projected Library is published. Unsupported
238
+ positional data retains the conservative preservation/remapping policy. See
239
+ [the sidecar contract](docs/playback-sidecars.md) and ADR-0100.
240
+ Oversized Photo containers become bounded PNG stills, with separate Host and iPod
241
+ content digests. Publication verification and automatic recovery report their
242
+ current files; verified restoration cleanup retries do not repeat media reads.
243
+ macOS AppleDouble companions are excluded from artwork dependencies, and cleanup
244
+ tolerates entries already removed by filesystem metadata maintenance.
245
+ See ADR-0084 through ADR-0087 and `docs/sync-workflow-audit-2026-09-26.md`.
246
+ Compressed iTunesCDB and SQLite-backed iPod Library variants are selected from the
247
+ identified Device Profile. iPodDB unwraps and reproduces CDB framing and treats the
248
+ CDB as the sole readable Library authority. It generates all five SQLite databases
249
+ and the Locations checksum book from the checked CDB snapshot and supports HASH58,
250
+ HASH72, and HASHAB finalization. Selection neither requires nor reads SQLite
251
+ companions. When a CDB change is prepared, the Application Layer captures the
252
+ current companion paths as write preconditions and publishes the CDB, the complete
253
+ replacement SQLite set, and compatibility iTunesDB truncation in one recoverable
254
+ Storage Transaction. See ADR-0061.
255
+ Nano 5 now follows Original iOpenPod's HASH72 signing for both iTunesCDB and the
256
+ Locations Checksum Book. Preparation can recover missing HashInfo material from a
257
+ verified retained database or checksum book, while selection still uses only CDB
258
+ for Library state. See ADR-0122.
259
+ Recognized Device Profiles now include typed artwork formats and packaged product
260
+ images. Selection optionally loads ArtworkDB metadata, while visible album covers
261
+ are read from iTHMB ranges and decoded lazily through a generation-scoped,
262
+ memory-bounded artwork pipeline. Missing or malformed artwork falls back to the
263
+ deterministic placeholder without making an otherwise valid iPod Library unusable.
264
+ Known cover-capable Device Profiles also provide the creation policy for a first
265
+ ArtworkDB, so an empty Artwork directory needs no template database or additional
266
+ format files. Profiles without native cover support receive an iOpenPod-only
267
+ `F1060` representation for browsing; this does not claim firmware album-art
268
+ support. Preparation writes every native or application-only layout, preserves
269
+ retained variants, and supports older reverse Track links. See ADR-0033 and
270
+ ADR-0118.
271
+ With Rockbox Metadata Support enabled, Sync and ordinary Library saves embed
272
+ changed metadata and artwork in media files. Metadata-only edits preserve embedded
273
+ covers; artwork removal clears them. Non-cover profiles use a 120x120 grayscale
274
+ JPEG; this file-tag copy is separate from the iOpenPod-only ArtworkDB representation.
275
+ When preparing new cover artwork, conflicting retained MHIF image sizes are
276
+ corrected automatically when the Device Profile, retained image metadata, and
277
+ captured thumbnail ranges establish the correct size. Unverifiable conflicts
278
+ still block preparation; reads and unrelated edits remain lossless. Corrections
279
+ use the existing recoverable Storage Transaction without an additional prompt.
280
+ For F1061, consistent retained images select either 55 or 56 stored rows for
281
+ new artwork and lazy decoding. See ADR-0111 and ADR-0121.
282
+
283
+ Selection also loads an optional `Photos/Photo Database` into the common Library
284
+ Snapshot as an immutable Photo Library. The Application Layer can request a Photo
285
+ thumbnail lazily by semantic Photo identity and Device Profile format; Storage reads
286
+ only the validated range beneath `Photos/`. Malformed optional PhotosDB metadata is
287
+ reported without making an otherwise usable iPod Library unavailable.
288
+
289
+ The Photos route is a three-pane browser with Photo Albums on the left, the shared
290
+ virtualized Library card grid in the center, and a read-only Photo inspector on the
291
+ right. Selecting a Photo loads only its visible device representation through a
292
+ generation-scoped, byte-bounded worker cache. The inspector can request an exact
293
+ format copy and offers a Full res chip when the semantic Photo retains an original.
294
+ That original is read through Storage and downsampled before entering the display
295
+ cache. The inspector shows grouped semantic metadata without receiving a PhotosDB
296
+ Chunk, Mount Point, or Filesystem Session. Selected Photos export to a chosen Host
297
+ folder; Photo Albums and All Photos export into a uniquely named child folder. Readable
298
+ full-resolution files are copied byte-for-byte through Storage. Every exported Photo
299
+ gets its own folder containing that original when available and an ordinary JPEG for
300
+ each retained, supported iTHMB format. Exports never replace existing Host files,
301
+ run outside the GUI thread, and can be cancelled safely between files. See ADR-0054,
302
+ ADR-0055, and ADR-0056. The selected-Photo context menu also opens one Manage Albums
303
+ dialog. Its collection-card grid previews up to four Photos per retained user Photo
304
+ Album and overlays a large circular membership checkbox. Single and bulk membership
305
+ toggles are Library Draft edits persisted through the shared automatic or manual
306
+ review/save workflow. Dragging selected Photos from the grid onto
307
+ a user Photo Album in the sidebar adds only missing memberships through that same
308
+ draft workflow. Existing memberships remain unchanged; All Photos, stale drags, and
309
+ locked workspaces reject drops. The same context menu opens a revision-bound
310
+ Photo metadata editor for rating, original date, and taken date. Mixed values remain
311
+ unchanged unless the user edits that field, and a multi-Photo apply publishes one
312
+ atomic Library Draft revision. See ADR-0053 and ADR-0057.
313
+
314
+ Library Snapshots now use a common immutable Track contract that is constructed by
315
+ both iPod and Host Media Library Sources and can support future remote sources. iPod database translation
316
+ and lossless documents remain inside iPodDB; GUI and application models consume
317
+ semantic values rather than database flags or Chunk trees. Optional iPod Track
318
+ Details retain diagnostic values without requiring other sources to invent them.
319
+ See `docs/library-contract.md` and ADR-0019.
320
+
321
+ Library Snapshots also contain semantic Playlists, Smart Playlists, nested Playlist
322
+ Folders, and the name read from an unambiguous Master Playlist. The browser uses
323
+ saved membership and a sidebar hierarchy, while creation and editing operate on
324
+ internal Library Drafts. Editors use ordinary editing labels. The global
325
+ **Draft all changes** setting defaults to off: Library edits are automatically
326
+ prepared, accepted, and saved through the existing verified Storage Transaction,
327
+ and the sidebar hides Review Changes. On restores Review Changes and manual Save
328
+ to iPod. Turning it off also applies pending changes. Failed or blocked attempts
329
+ retain the draft and open diagnostics without repeatedly retrying that revision.
330
+ See ADR-0073. The internal workspace contracts from ADR-0020 and ADR-0026 remain.
331
+ Typed Playlist Sort Orders and per-occurrence Playlist
332
+ Positions are parsed, shown, edited, recalculated, and written through the same
333
+ lossless path. Applying changed Smart Playlist rules also updates saved matching
334
+ Tracks. Regular Playlists accept Track drags; folders retain nested
335
+ organization. The firmware-maintained Podcasts Playlist remains in the Library
336
+ Snapshot and Library Workspace for reconciliation but is omitted from the sidebar
337
+ tree. Unsaved drafts clear when the Active iPod changes or the application closes.
338
+ See ADR-0020 and ADR-0022 for hierarchy and editor behavior.
339
+
340
+ The Library Workspace retains Photos and Photo Albums in that same desired snapshot.
341
+ Retained Photo rating/dates and retained user Photo Album names, membership,
342
+ slideshow settings, and music Track references use the existing source-bound Library
343
+ Draft, review, preparation, and safe-save contract. The Photos header can create an
344
+ empty user Photo Album using the selected Device Profile's explicit MHBA type policy;
345
+ the new album uses the same automatic or manual safe-save policy. User Photo Album
346
+ deletion requires explicit omission intent. Selected Photos can also be omitted from
347
+ the Photo Library and every Photo Album as one reversible draft edit. Preparation
348
+ removes their MHII/MHIA references, while Save recoverably removes only unshared
349
+ full-resolution files beneath `Photos/Full Resolution` after PhotosDB publication.
350
+ Unused ranges in shared iTHMB files are retained. Sync can now create or replace
351
+ Photos with a captured original and every supported Device Profile thumbnail
352
+ format, including a first Photo Database where the profile declares its creation
353
+ policy. It preserves original image bytes, applies rotation and fitting to viewing
354
+ copies, and removes only fully unreferenced obsolete Photo files after publication.
355
+ Direct arbitrary Master Photo Album edits and deletion remain blocked. See
356
+ ADR-0053, ADR-0058, ADR-0059, and ADR-0076.
357
+
358
+ Library Draft preparation now compares complete desired snapshots with retained
359
+ Database Documents, maintains supported Track/Playlist/Photo/artwork relationships,
360
+ and
361
+ returns verified bytes and structured diagnostics. Preparation runs in the
362
+ background and rejects stale or cancelled results. With Draft all changes on,
363
+ Review Changes labels success Prepared for review and Save to iPod requires manual
364
+ acceptance; with it off, acceptance is automatic. Both modes commit verified
365
+ metadata, device-name, Playlist, Photo, artwork, and Track-removal changes through a
366
+ captured Storage Transaction with retained originals and a recovery journal. General Sync stays
367
+ disabled. Missing device-bound signing material, unsupported ArtworkDB signatures,
368
+ pending positional sidecars, and ambiguous affected structures block preparation.
369
+ See ADR-0021, ADR-0022, ADR-0061, and `docs/library-writing.md`.
370
+ Preparation requests capture source and workspace revisions together. Read-only
371
+ developer inspection exposes changes, requirements, observed stages, output
372
+ fingerprints, and diagnostics without exposing private document bindings or granting
373
+ save authority. See ADR-0023.
374
+ Semantic resolution now accounts for requested edits and generated consequences
375
+ before reconciliation. Explicit field ownership, independent browse-index checks,
376
+ and the existing review's resolved-value inspection strengthen that workflow without
377
+ changing the editing or saving scope. See ADR-0025.
378
+ Library Drafts also accept explicit media replacement intent when projected
379
+ metadata stays unchanged. Preparation validates the supplied media, verifies native
380
+ codec output, and returns captured file dependencies. Application replacement
381
+ capture and publication remain unfinished. See ADR-0034.
382
+
383
+ The Track context action can now turn a complete saved Music Album into one
384
+ Chaptered Track. It copies source media through Storage, encodes and checks one
385
+ Host output in the background, and stages that output with source omissions in one
386
+ reversible Library Draft revision. The ordinary Library save publishes the new
387
+ media and database before recoverably removing unshared originals. See ADR-0095.
388
+
389
+ Lyrics edits now require verified text embedded in the media file as well as the
390
+ iTunesDB presence flag. The Application Layer prepares focused lyric-tag updates;
391
+ Storage publishes them with the database in one recoverable transaction. This is
392
+ independent of optional full metadata writing for Rockbox compatibility. Rockbox-
393
+ enabled Sync also embeds captured Track artwork in prepared media files; non-cover
394
+ devices use an optimized grayscale JPEG fitting within 120x120 pixels. Unrelated
395
+ edits preserve file-only lyrics, and incoming music reads embedded lyrics into its
396
+ draft. Preparation exceeding the whole-media memory budget uses private Host disk
397
+ staging, preserving complete media and lyrics without a warning for normal overflow.
398
+ Sync Add/Update preparation prefers nonempty lyrics in the captured Host file
399
+ over older reviewed text and publishes matching media tags and iTunesDB text.
400
+ This applies with Rockbox Metadata Support on or off. Sync does not inspect
401
+ unchanged iPod media for lyric differences.
402
+ See ADR-0075 and `docs/research/itunesdb-lyrics.md`.
403
+
404
+ Artwork capture, generated artwork, and Photo batches also use private Host disk
405
+ staging when preparation memory budgets are reached. Large valid batches continue
406
+ while retaining complete content, independent
407
+ verification, and recoverable publication. See ADR-0117.
408
+
409
+ Backup Snapshots use Backup Archive format v4, continuing the Original iOpenPod v2
410
+ and v3 format sequence, with lossless
411
+ Device Paths, serial-first Backup Identifiers, checksummed catalogs, and deduplicated
412
+ Host content. A known product or transport serial identifies the iPod; otherwise a
413
+ hashed Volume Identity supplies a best-effort fallback rather than blocking backup or
414
+ restore. Capture hashes new and changed files during their single Device-to-Host
415
+ stream, reuses previously verified content when path, size, and modified time still
416
+ match, and finishes with a metadata-only tree rescan. Original iOpenPod backup formats
417
+ v2 and v3 enter only through a read-only Legacy Backup Import to v4. Restore is
418
+ authorized separately from archive location, first creates a forced Host safety
419
+ snapshot, and executes as one bounded, journaled Storage Transaction whose recovery
420
+ material remains in that Host archive. Verified completion, pre-mutation failure,
421
+ incomplete restore, and durability pending are distinct user-visible outcomes. Backup
422
+ and restore remain independent of Sync and other application workflows. Capture
423
+ blocks Application Layer device writes and Active iPod changes while allowing
424
+ foreground reads such as browsing, artwork, export, and playback; Restore remains
425
+ exclusive. An Original archive whose serial key matches the Active iPod is assigned
426
+ that iPod's native Backup Identifier and Archive Key, preventing imported and native
427
+ snapshots from splitting into separate sidebar devices; unmatched and explicitly
428
+ unstable imports retain their stricter legacy authorization. See ADR-0039, ADR-0040,
429
+ ADR-0041, and ADR-0062.
430
+
431
+ The Podcasts browser now projects a typed Podcast Snapshot from versioned
432
+ subscriptions, independent Listening History, refreshed RSS/Atom metadata, and the
433
+ current Active iPod's Podcast Tracks. Existing device Podcasts are recovered into
434
+ subscriptions automatically; enclosure-based reconciliation exposes current
435
+ on-device membership immediately, while listened state survives later Track removal
436
+ or unsubscription. The GUI can search Apple's public directory, add direct RSS
437
+ feeds, immediately refresh a show when it is opened, mark episodes listened or
438
+ unlistened, and play Tracks already on the iPod. Its All Podcasts view combines
439
+ every subscription's Episodes newest-first while retaining each Episode's source
440
+ identity; it is a runtime projection, not another persisted Podcast Subscription.
441
+ Device files use
442
+ fingerprint-checked Storage writes under
443
+ `iPod_Control/iOpenPod/Podcasts`. Podcast Episodes can be added or removed manually,
444
+ and per-show Sync settings select and retain Episodes during ordinary Sync or the
445
+ Sync Podcast and Sync Podcasts actions. These operations refresh feeds, preserve
446
+ Listening History, prepare compatible media on the Host, and publish through the
447
+ shared verified Library and Storage Transaction workflow. Failed feed refreshes
448
+ leave that show's media unchanged. Publisher covers use the shared ArtworkDB and
449
+ thumbnail preparation; Podcast Sync also fills missing covers on retained Episodes
450
+ without downloading their media again. Episode slots are an automatic filling target;
451
+ manual additions may exceed it. Episode count alone never authorizes removal.
452
+ Both Newest and Next clear by listened state or time on the iPod. Newest replaces
453
+ only clear-eligible Episodes with newer publications. Next starts after the furthest listened
454
+ publication, or with the oldest available Episode when no listened publication is
455
+ known. Replace waits for successful one-for-one replacement, including above the
456
+ target; Remove clears eligible Episodes even without replacements.
457
+ Listening History retains publication chronology and separate automatic-clear
458
+ exclusions. These exclusions prevent automatic re-addition without marking an
459
+ unlistened Episode listened; explicit additions bypass them. Pre-Sync reconciliation
460
+ saves observed history, while new exclusions commit in the same verified Storage
461
+ Transaction as successful media and Library removals. Subscription and Listening
462
+ History documents encode version 2 at their existing paths and still read version 1.
463
+ See ADR-0037 and ADR-0091.
464
+
465
+ The Library Workspace now holds Track metadata, the device name, Playlists, and
466
+ Photos in one session draft. Sidebar naming, shared Track and collection context
467
+ menus, and
468
+ a manual metadata editor apply explicit changes to this draft. Normalize Tags scans
469
+ the Library in the background using Original iOpenPod's grouping and sorting rules,
470
+ previews the results, and applies them only on request. A shared, debounced background
471
+ scan keeps the Normalize Tags Sidebar badge current with the number of suggested
472
+ tag-field edits. Opening or closing the preview reuses that scan; applying changes,
473
+ editing, locking, or switching the Active iPod invalidates old results. Mixed metadata, stale
474
+ dialogs, and cancelled scans cannot silently overwrite current edits. The save
475
+ workflow now stages artwork, Track removals, and full-resolution Photo removals
476
+ alongside database changes. Shared context menus can remove Tracks as reversible
477
+ draft edits; the Photos context menu stages confirmed Photo deletions through the
478
+ same workflow;
479
+ the Track metadata editor can choose, orient, square-crop, replace, clear, or
480
+ consolidate its selection onto one existing cover and submits that intent atomically
481
+ with metadata. Its consolidation grid combines byte-identical decoded artwork.
482
+ Application callers can also supply bounded artwork pixels. Backend music import
483
+ inspects supplied compatible songs, extracts embedded covers, and adds a reversible
484
+ draft for the existing review/save workflow. Music import has no GUI entry point,
485
+ file picker, or progress dialog. Application media replacement remains unfinished.
486
+ The Track context menu can also reclassify retained
487
+ audio or video as a Podcast without replacing its media; the existing review/save
488
+ path writes its firmware classification, playback flags, presentation fields, and
489
+ Podcasts Playlist consequences. The metadata editor's Media type selector also
490
+ reclassifies retained audio or video within its current media family, including
491
+ Movie to TV Show, atomically with explicit metadata and artwork edits. Mixed and
492
+ retained compound classifications stay unchanged until selected for replacement.
493
+ Podcasts and videos always use Remember position and Skip when shuffling in
494
+ application imports, edits, and prepared Library Drafts. Save and Sync repair
495
+ retained Tracks with those flags off. Audio and video Podcasts also enable the
496
+ native Podcast Now Playing marker. Merely loading an iPod preserves its raw
497
+ database state. See ADR-0026, ADR-0030, ADR-0032, ADR-0036, ADR-0088, and ADR-0092.
498
+
499
+ The application can now inspect real incoming audio/video files through FFprobe
500
+ over a temporary Host snapshot captured by Storage. Typed Media Inspection preserves
501
+ all streams, embedded-picture dispositions, exact rational timing, chapters, and
502
+ tags independently of Library classification. Inspection has cancellation, process
503
+ and output limits, and content fingerprints. Music import applies a bounded audio
504
+ compatibility policy and maps observed facts into native codec fields. The same
505
+ reviewed transaction stages the song, thumbnails, ArtworkDB, and iTunesDB before
506
+ publication. Sync preparation accepts Host-native path spelling, chooses marked-
507
+ default or first-probe-order streams from multi-stream video, and scopes encoder
508
+ options to the selected FFmpeg encoder while reporting those choices as warnings.
509
+ Exact gapless analysis, conversion, the Sync engine, video import, and document
510
+ inspection such as PDF/EPUB remain future work. See ADR-0031, ADR-0032, and ADR-0083.
511
+
512
+ Playback is an Application Layer workflow behind a typed, replaceable Playback
513
+ Backend. `PlaybackController` owns runtime Queue, History, current Track, and
514
+ transport policy; the GUI only sends intents and renders reported state. The
515
+ production backend adapts Qt Multimedia. It receives a seekable Playback Source
516
+ rather than a Mount Point or Host path, and each source range is read through the
517
+ Active iPod's identity-bound Filesystem Session. A changed Active iPod, Connection
518
+ Generation, or media-file identity fails closed. Queue, History, volume, and
519
+ transport state remain runtime-only. Monotonic Playback Attempt identities correlate
520
+ backend events with the active start so delayed decoder events cannot mutate a
521
+ successor Track. An optional System Media Session sits above that controller and is
522
+ independent of the Playback Backend. The macOS and Windows adapters publish Track
523
+ metadata, timeline, state, and lazily loaded album artwork through their native media
524
+ surfaces and route media commands back through the controller. Artwork remains bounded
525
+ RGB888 data until each native adapter converts and caches it. Linux publishes the
526
+ same fail-open contract through MPRIS on the desktop session bus.
527
+
528
+ The Library setting **Double click shortcut** applies immediately to Track tables,
529
+ Album cards, and collection grids and lists and persists across restarts. **Add to
530
+ queue** remains the default. **Play next** places the selection atop the Playback
531
+ Queue. **Play now** starts the first selected Track and places the remainder atop
532
+ the Queue. **Edit** opens the metadata editor for the selection. Selections retain
533
+ visible order and Playlist occurrences; explicit queue buttons keep their own
534
+ actions.
535
+
536
+ The Player's Queue/History/Lyrics slideout displays read-only lyrics for the
537
+ current Track. Known Library text appears immediately. When the Lyrics tab is
538
+ visible, a background worker checks that Track's embedded media tags through the
539
+ same identity-bound Playback Source. Nonempty file text wins for display unless
540
+ an explicit Library Draft lyrics edit exists. Reads are bounded, obsolete results
541
+ are discarded, and missing or unreadable tags fall back to Library text without
542
+ interrupting playback. The single-Track metadata editor also reads that file's
543
+ lyrics lazily. Viewing lyrics does not create a draft or device write.
544
+
545
+ Synesthesia is entered from the Player while a Track is current; it has no sidebar
546
+ entry or separate page controls. The Playback Controller and Playback Backend
547
+ remain the only owners of audio and transport, so playback continues while
548
+ Synesthesia analyzes the current Playback Entry and prepares the next entry while
549
+ the page is active. Preparation follows the Player's Queue and forward History,
550
+ retains at most one upcoming result in memory, and is promoted when that entry
551
+ becomes current. Leaving the page releases both analyses. The Qt-facing Synesthesia
552
+ Controller opens a separate,
553
+ identity-bound Playback Source, materializes its encoded bytes only in an
554
+ application-owned temporary Host file, runs one Job at a time outside the GUI
555
+ thread, rejects stale completion, and always removes that temporary copy. It
556
+ publishes one ephemeral, calibrated Track Analysis with absolute and relative
557
+ energy, rhythm, spectrum, timbre, harmony, spatial evidence, structural Sections,
558
+ musical events, and typed Sources behind one sampling interface with explicit
559
+ confidence and provenance. The Field Conductor preserves energy, spectrum, rhythm,
560
+ harmony, stereo space, Sources, and Section development as independent typed Field
561
+ Forcing.
562
+
563
+ The frontend Scene Director derives a presentation-only Mood Signature and directs
564
+ twelve procedural visual Scenes across Sections and bounded subspans. Scene changes
565
+ follow Section boundaries with a two-second minimum hold, grouping only shorter
566
+ Sections. Long Sections retain subspans of at most 22 seconds. Recent Scenes have a
567
+ cooldown, with
568
+ extra spacing for Solar Bloom and radial compositions;
569
+ contours, crystal shards, braided currents, and falling signals expand the visual
570
+ vocabulary. Scene-specific gains change which shared particle, comet, filament, and
571
+ event systems are visible. Particle density and comet visibility build gradually
572
+ with activity, leaving room for musical peaks. Each residence also receives Scene
573
+ Motion for directional travel, orbit, depth,
574
+ waveform deformation, parallax, and world scale. Inside each residence the Scene
575
+ Director composes establishing, tracking, orbital, inspection, fly-through, and
576
+ reveal Camera Shots from interval summaries, upper-transient evidence, and sparse
577
+ event density. The renderer projects both the
578
+ procedural composition and shared three-dimensional field through that directed
579
+ pose, while feedback advects retained light along the journey and erodes during
580
+ meaningful camera travel. Transitions and nearby editorial edit points are
581
+ deterministic and music-weighted rather than a random preset timer or beat-pulsed
582
+ lens. The graphics-only page observes the Playback Controller's current position
583
+ and playing state. Pause freezes the simulation; an explicit Player seek begins a
584
+ new Transport Epoch, preserves live field state, clears view-dependent feedback,
585
+ and does not replay a skipped event backlog. A Synesthesia Preview follows
586
+ the current Playback Entry immediately without reading audio. When Track Analysis
587
+ finishes, the renderer aligns with the Player clock and blends its forcing and
588
+ Scene direction into the existing field without resetting GPU state. The analysis
589
+ backend remains independent of transport and presentation policy, and no
590
+ Track-derived evidence, stems, simulation state, or feedback is persisted. See
591
+ ADR-0042, ADR-0045, ADR-0046, ADR-0047, ADR-0048, ADR-0049, ADR-0050, ADR-0051,
592
+ ADR-0068, ADR-0077, ADR-0078, `docs/synesthesia_backend.md`, and
593
+ `docs/synesthesia_visual_direction.md`.
594
+
595
+ With **Manage iPod drive appearance** enabled (the default), selecting a writable
596
+ iPod also derives desktop names and model icons from its saved
597
+ Master Playlist name and Device Profile. Renames update portable Windows, GVfs,
598
+ KDE, and macOS icon companions through the Library's recoverable save workflow.
599
+ Storage updates native volume labels and the macOS custom icon flag after file
600
+ publication. Native limitations are reported without undoing a saved Library name;
601
+ filesystem label limits never change the full iPod name. Turning this global setting
602
+ off preserves custom companions, icons, native labels, and Finder flags across
603
+ selection and saved renames. See ADR-0090 and
604
+ `docs/volume-presentation.md` for platform limits and verification status.
605
+
606
+ ## Product and compatibility target
607
+
608
+ - The Original iOpenPod is the behavioral and research baseline. Its code,
609
+ documentation, tests, fixtures, and accumulated format knowledge are evidence for
610
+ iOpenPod 2.0, not a runtime dependency or an architecture that must be copied.
611
+ - The release target is Windows, macOS, and Linux.
612
+ - The standard native macOS candidate targets 12.3 or later on Apple Silicon and
613
+ Intel with platform-specific Qt and numerical dependencies. Build selection and
614
+ binary deployment checks enforce that target; execution on macOS 12.3 on both
615
+ architectures remains an acceptance gate. See ADR-0094 and `docs/packaging.md`.
616
+ - Planned store channels are the Mac App Store, Microsoft Store, Flatpak/Flathub,
617
+ and Snap. Native packaging candidates are available; store publication remains
618
+ gated on signing, sandbox-compatible Storage access, user-installed media-tool
619
+ integration, and installed-package acceptance. FFmpeg/FFprobe and Chromaprint's
620
+ fpcalc executables are installed separately by the user; Qt's playback libraries
621
+ remain bundled. See `docs/packaging.md`, ADR-0079, and ADR-0081.
622
+ - The release target includes filesystem-accessible iPod families supported by the
623
+ Original iOpenPod: full-size iPod generations 1 through 5.5, iPod Classic, iPod
624
+ Mini, and iPod Nano across their supported generations. iPod touch and iPod
625
+ shuffle are outside this target.
626
+ - iOpenPod ships as one application and one distribution. Device Registry, iPodDB,
627
+ and Storage are internal packages, not separately released products.
628
+ - Development and automated testing use captured database fixtures, virtual device
629
+ volumes, and knowledge from the Original iOpenPod instead of writing to a physical
630
+ iPod as part of routine verification.
631
+
632
+ ## System boundaries
633
+
634
+ | Boundary | Responsibility | Must not own |
635
+ | --- | --- | --- |
636
+ | **Storage** | Safe, cross-platform access to devices, volumes, filesystems, and removable-media operations | iPod identity, database formats, application workflows, or GUI behavior |
637
+ | **Device Registry** | Identification and capability descriptions for known iPod models | OS discovery, mounting, filesystem mutation, database parsing, or GUI behavior |
638
+ | **iPodDB** | Parsing, representing, validating, and serializing iPod database formats | Device persistence, application workflows, or GUI behavior |
639
+ | **iOpenPod** | Application orchestration, state, services, and GUI behavior | Platform filesystem implementations or duplicated database-format knowledge |
640
+
641
+ The intended dependency direction is:
642
+
643
+ ```text
644
+ iOpenPod ──> Device Registry
645
+ ├─> iPodDB
646
+ └─> Storage
647
+ ```
648
+
649
+ Storage, Device Registry, and iPodDB do not depend on iOpenPod. iOpenPod coordinates
650
+ them through narrow interfaces.
651
+
652
+ ## Application operating model
653
+
654
+ - Storage may discover multiple connected iPods, but the user chooses one in the
655
+ Device Picker and iOpenPod loads only that Active iPod.
656
+ - Only one Active iPod exists in the application at a time. Selecting another iPod
657
+ ends the previous Filesystem Session and begins a new Connection Generation.
658
+ - Sync is primarily Host-to-iPod: the Host Media Library supplies the media and most
659
+ metadata used to update the iPod Library.
660
+ - iPod-to-Host behavior is also supported. This includes Back Sync of ratings and
661
+ other supported metadata, exporting iPod-only tracks, and exporting images.
662
+ - Long-running work occurs outside the GUI thread, reports progress, and supports
663
+ cancellation where stopping is safe. The exact worker mechanism is not yet fixed.
664
+ - If the Active iPod disconnects, iOpenPod invalidates its Filesystem Session and
665
+ stops issuing operations. It cannot guarantee rollback while the Volume is absent;
666
+ it must report that the operation may be incomplete and require a new selection or
667
+ reconnection before continuing.
668
+
669
+ ## Data locations
670
+
671
+ - The Host Media Library remains in the folders selected and owned by the user.
672
+ - iPod media and databases remain on the Active iPod and are accessed only through a
673
+ Filesystem Session.
674
+ - Global settings, logs, caches, and temporary files use the standard application
675
+ locations for Windows, macOS, and Linux. Global settings are one typed JSON file;
676
+ Storage resolves its Host location and atomically persists its bytes while
677
+ iOpenPod owns the settings schema. iOpenPod 2.0 uses `settings-v2.json`; it does
678
+ not read or rewrite the Original iOpenPod's `settings.json` file in the same Host
679
+ directory.
680
+ - Global settings remember the previously selected iPod by stable Volume Identity.
681
+ This behavior has no separate visible preference.
682
+ - Sync recovery records and retained originals stay on the iPod. They are
683
+ operational data and do not belong in global settings.
684
+ - Backup Snapshots use the configured backup location, with a platform-appropriate
685
+ application data location as the default.
686
+ - Device-specific settings intended to travel with an iPod are associated with its
687
+ stable Device Identity and stored in an application-owned Device Path on that iPod.
688
+ iOpenPod coordinates their access through Storage. Podcast Subscriptions and
689
+ Listening History use separate version-2 JSON documents under
690
+ `iPod_Control/iOpenPod/Podcasts/`, retaining the existing `-v1.json` filenames and
691
+ backward reads of version 1; other settings retain their own formats.
692
+
693
+ ## Core device workflow
694
+
695
+ 1. Storage detects removable Physical Devices and their Volumes.
696
+ 2. iOpenPod keeps Volumes containing `iPod_Control`, reads device metadata, and
697
+ requests identity-bound Host observations.
698
+ 3. iOpenPod passes normalized Device Evidence to Device Registry.
699
+ 4. Device Registry returns an Identification Result and, when exact, a Device
700
+ Profile with Device Capabilities.
701
+ 5. The GUI presents Device Candidates in the Device Picker.
702
+ 6. The user selects one candidate as the Active iPod, or iOpenPod restores the
703
+ previous selection when exactly one ready candidate has the remembered Volume
704
+ Identity.
705
+ 7. On a write-safe Volume, iOpenPod analyzes, atomically repairs, and verifies stale
706
+ or missing identity metadata; read-only Volumes remain loadable with an issue.
707
+ 8. iOpenPod opens a read-only Filesystem Session through Storage.
708
+ 9. iOpenPod reads database bytes through Storage and gives them to iPodDB.
709
+ 10. iPodDB parses and retains lossless Database Documents in the iPod Library Source,
710
+ then publishes a common immutable Library Snapshot.
711
+ 11. The Application Layer exposes that snapshot and application state to the GUI.
712
+
713
+ For review, iOpenPod submits a Library Draft and asks iPodDB to prepare supported
714
+ semantic changes against its retained Database Documents. Typed Chunk Selections
715
+ and the matching writers remain the one lossless path. Future physical Sync will
716
+ use a Storage Transaction to stage, verify, and commit the resulting filesystem
717
+ changes. Constructing, editing, or preparing a Library Snapshot does not authorize
718
+ or perform device writes.
719
+
720
+ Backup Snapshots are a standalone, user-controlled protection. The implemented
721
+ backup and restore workflow does not participate in Sync, Library save, or any other
722
+ device workflow; those operations retain their own Storage safety requirements.
723
+
724
+ ## Safety invariants
725
+
726
+ - A Mount Point is a temporary location, not a Device Identity.
727
+ - A Filesystem Session becomes invalid when its connection ends.
728
+ - Device-facing paths are relative, root-bound, and traversal-safe.
729
+ - iPodDB returns or consumes data and bytes; it does not mutate device files.
730
+ - Parsing and serializing an unchanged database must reproduce its original bytes
731
+ exactly, including unknown fields, unknown Chunks, ordering, and padding.
732
+ - Unknown database data is expected and preserved. It is not treated as corruption
733
+ merely because iPodDB does not understand it.
734
+ - Destructive operations are planned, validated, journaled, verified, and made
735
+ recoverable where practical.
736
+ - Obsolete files are removed only after replacement data has been verified.
737
+
738
+ ## Development constraints
739
+
740
+ - iOpenPod uses GPL-3.0-or-later, with free distribution and optional donations.
741
+ Releases must preserve third-party notices and provide corresponding source;
742
+ store compatibility remains a separate release requirement. See ADR-0080 and
743
+ `docs/licensing.md`.
744
+ - Python 3.12 is the only supported development runtime.
745
+ - UV manages Python, the environment, dependencies, the lockfile, and commands.
746
+ - VS Code and Codex Desktop are the development surfaces.
747
+ - Ruff, Mypy, Pytest, and Rumdl provide formatting, linting, type checking, and
748
+ testing from one UV-managed environment.
749
+ - `pyproject.toml`, `.editorconfig`, and `.vscode/` keep terminal and editor behavior
750
+ consistent across development machines.
751
+ - Branded names retain their established capitalization where practical, including
752
+ iOpenPod, iPodDB, iTunesDB, ArtworkDB, and iPod. Generic Python package and module
753
+ names use normal lowercase conventions.
754
+
755
+ ## Documentation map
756
+
757
+ - `GLOSSARY.md` defines canonical terms.
758
+ - `docs/source_architecture.md` describes the detailed target architecture.
759
+ - `docs/ipoddb-editing.md` defines the sole typed parse/edit/write workflow.
760
+ - `docs/adr/` records durable decisions.
761
+ - `docs/agents/` configures agent-oriented engineering workflows.
762
+ - `.scratch/` holds private, uncommitted plans and work items.
763
+
764
+ ## Open questions
765
+
766
+ - What is the smallest stable public interface for each boundary?
767
+ - Which existing exploratory modules should be retained, rewritten, or removed?
768
+ - Which Original iOpenPod behaviors should be migrated together as complete vertical
769
+ workflows, and in what order?
770
+
771
+ These questions are intentionally unresolved. Resolve them through focused design
772
+ work and ADRs before reorganizing the source tree.