katello 4.18.1 → 4.19.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (336) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/locale/bn/katello.js +56 -107
  3. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +56 -107
  4. data/app/assets/javascripts/katello/locale/ca/katello.js +56 -107
  5. data/app/assets/javascripts/katello/locale/cs/katello.js +56 -107
  6. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +57 -108
  7. data/app/assets/javascripts/katello/locale/de/katello.js +58 -109
  8. data/app/assets/javascripts/katello/locale/de_AT/katello.js +56 -107
  9. data/app/assets/javascripts/katello/locale/de_DE/katello.js +56 -107
  10. data/app/assets/javascripts/katello/locale/el/katello.js +57 -108
  11. data/app/assets/javascripts/katello/locale/en/katello.js +56 -107
  12. data/app/assets/javascripts/katello/locale/en_GB/katello.js +56 -107
  13. data/app/assets/javascripts/katello/locale/en_US/katello.js +56 -107
  14. data/app/assets/javascripts/katello/locale/es/katello.js +58 -109
  15. data/app/assets/javascripts/katello/locale/et_EE/katello.js +56 -107
  16. data/app/assets/javascripts/katello/locale/fr/katello.js +59 -110
  17. data/app/assets/javascripts/katello/locale/gl/katello.js +56 -107
  18. data/app/assets/javascripts/katello/locale/gu/katello.js +56 -107
  19. data/app/assets/javascripts/katello/locale/he_IL/katello.js +56 -107
  20. data/app/assets/javascripts/katello/locale/hi/katello.js +56 -107
  21. data/app/assets/javascripts/katello/locale/id/katello.js +56 -107
  22. data/app/assets/javascripts/katello/locale/it/katello.js +56 -107
  23. data/app/assets/javascripts/katello/locale/ja/katello.js +59 -110
  24. data/app/assets/javascripts/katello/locale/ka/katello.js +58 -109
  25. data/app/assets/javascripts/katello/locale/kn/katello.js +56 -107
  26. data/app/assets/javascripts/katello/locale/ko/katello.js +59 -110
  27. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +56 -107
  28. data/app/assets/javascripts/katello/locale/mr/katello.js +56 -107
  29. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +56 -107
  30. data/app/assets/javascripts/katello/locale/or/katello.js +56 -107
  31. data/app/assets/javascripts/katello/locale/pa/katello.js +56 -107
  32. data/app/assets/javascripts/katello/locale/pl/katello.js +56 -107
  33. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +56 -107
  34. data/app/assets/javascripts/katello/locale/pt/katello.js +56 -107
  35. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +58 -109
  36. data/app/assets/javascripts/katello/locale/ro/katello.js +56 -107
  37. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +56 -107
  38. data/app/assets/javascripts/katello/locale/ru/katello.js +57 -108
  39. data/app/assets/javascripts/katello/locale/sl/katello.js +56 -107
  40. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +56 -107
  41. data/app/assets/javascripts/katello/locale/ta/katello.js +56 -107
  42. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +56 -107
  43. data/app/assets/javascripts/katello/locale/te/katello.js +56 -107
  44. data/app/assets/javascripts/katello/locale/tr/katello.js +56 -107
  45. data/app/assets/javascripts/katello/locale/vi/katello.js +56 -107
  46. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +56 -107
  47. data/app/assets/javascripts/katello/locale/zh/katello.js +56 -107
  48. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +59 -110
  49. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +57 -108
  50. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +41 -12
  51. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  52. data/app/controllers/katello/api/v2/activation_keys_controller.rb +3 -65
  53. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
  54. data/app/controllers/katello/api/v2/content_views_controller.rb +18 -3
  55. data/app/controllers/katello/api/v2/debs_controller.rb +21 -11
  56. data/app/controllers/katello/api/v2/docker_tags_controller.rb +7 -0
  57. data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +21 -19
  58. data/app/controllers/katello/api/v2/host_debs_controller.rb +16 -1
  59. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +3 -60
  60. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +10 -53
  61. data/app/controllers/katello/api/v2/repositories_controller.rb +0 -1
  62. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +3 -0
  63. data/app/lib/actions/candlepin/activation_key/create.rb +0 -2
  64. data/app/lib/actions/candlepin/activation_key/update.rb +0 -2
  65. data/app/lib/actions/candlepin/product/content_create.rb +3 -5
  66. data/app/lib/actions/candlepin/product/content_update.rb +2 -3
  67. data/app/lib/actions/helpers/rolling_cv_repos.rb +1 -1
  68. data/app/lib/actions/katello/activation_key/create.rb +0 -1
  69. data/app/lib/actions/katello/activation_key/update.rb +0 -2
  70. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -6
  71. data/app/lib/actions/katello/content_credential/update.rb +1 -1
  72. data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +18 -24
  73. data/app/lib/actions/katello/content_view/create.rb +9 -4
  74. data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +6 -1
  75. data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +16 -11
  76. data/app/lib/actions/katello/content_view/update.rb +34 -7
  77. data/app/lib/actions/katello/product/content_create.rb +2 -2
  78. data/app/lib/actions/katello/product/content_destroy.rb +1 -1
  79. data/app/lib/actions/katello/repository/check_matching_content.rb +1 -1
  80. data/app/lib/actions/katello/repository/clone_contents.rb +1 -1
  81. data/app/lib/actions/katello/repository/create.rb +1 -1
  82. data/app/lib/actions/katello/repository/destroy.rb +4 -4
  83. data/app/lib/actions/katello/repository/finish_upload.rb +1 -1
  84. data/app/lib/actions/katello/repository/sync.rb +1 -1
  85. data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +2 -2
  86. data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +1 -1
  87. data/app/lib/actions/pulp3/orchestration/repository/multi_copy_all_units.rb +1 -1
  88. data/app/lib/actions/pulp3/repository/save_publication.rb +3 -1
  89. data/app/lib/actions/pulp3/repository/save_version.rb +45 -24
  90. data/app/lib/actions/pulp3/repository/save_versions.rb +2 -1
  91. data/app/lib/katello/resources/candlepin/activation_key.rb +3 -4
  92. data/app/lib/katello/resources/candlepin/upstream_job.rb +9 -1
  93. data/app/lib/katello/resources/candlepin.rb +4 -0
  94. data/app/models/katello/authorization/repository.rb +17 -4
  95. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -7
  96. data/app/models/katello/content_view_deb_filter.rb +10 -0
  97. data/app/models/katello/content_view_deb_filter_rule.rb +7 -0
  98. data/app/models/katello/deb.rb +10 -10
  99. data/app/models/katello/erratum.rb +1 -1
  100. data/app/models/katello/glue/provider.rb +14 -3
  101. data/app/models/katello/host/content_facet.rb +1 -1
  102. data/app/models/katello/host/subscription_facet.rb +1 -7
  103. data/app/models/katello/product_content.rb +2 -2
  104. data/app/models/katello/repository.rb +4 -23
  105. data/app/models/katello/root_repository.rb +2 -5
  106. data/app/services/katello/candlepin/event_handler.rb +0 -33
  107. data/app/services/katello/candlepin/message_handler.rb +0 -41
  108. data/app/services/katello/content_unit_indexer.rb +59 -13
  109. data/app/services/katello/product_content_finder.rb +5 -4
  110. data/app/services/katello/pulp3/alternate_content_source.rb +2 -2
  111. data/app/services/katello/pulp3/ansible_collection.rb +1 -0
  112. data/app/services/katello/pulp3/api/content_guard.rb +5 -5
  113. data/app/services/katello/pulp3/api/core.rb +10 -0
  114. data/app/services/katello/pulp3/deb.rb +1 -0
  115. data/app/services/katello/pulp3/docker_manifest.rb +1 -0
  116. data/app/services/katello/pulp3/docker_manifest_list.rb +1 -0
  117. data/app/services/katello/pulp3/docker_tag.rb +1 -0
  118. data/app/services/katello/pulp3/file_unit.rb +1 -0
  119. data/app/services/katello/pulp3/generic_content_unit.rb +1 -0
  120. data/app/services/katello/pulp3/module_stream.rb +1 -0
  121. data/app/services/katello/pulp3/package_group.rb +1 -0
  122. data/app/services/katello/pulp3/repository/apt.rb +30 -13
  123. data/app/services/katello/pulp3/repository.rb +59 -10
  124. data/app/services/katello/pulp3/rpm.rb +3 -2
  125. data/app/services/katello/pulp3/srpm.rb +3 -2
  126. data/app/services/katello/pulp3/task_group.rb +1 -1
  127. data/app/services/katello/registration_manager.rb +19 -17
  128. data/app/services/katello/repository_type_manager.rb +7 -5
  129. data/app/services/katello/smart_proxy_helper.rb +1 -6
  130. data/app/views/foreman/job_templates/upload_profile.erb +5 -0
  131. data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -1
  132. data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
  133. data/app/views/katello/api/v2/debs/thindex.json.rabl +6 -0
  134. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +32 -0
  135. data/app/views/katello/api/v2/docker_tags/show.json.rabl +0 -5
  136. data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +6 -0
  137. data/app/views/katello/api/v2/host_debs/installed_debs.json.rabl +6 -0
  138. data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +1 -1
  139. data/app/views/katello/api/v2/hosts_bulk_actions/applicable_erratum.json.rabl +9 -0
  140. data/app/views/katello/api/v2/hosts_bulk_actions/installable_errata.json.rabl +1 -1
  141. data/app/views/katello/api/v2/hosts_bulk_actions/{erratum.json.rabl → installable_erratum.json.rabl} +3 -3
  142. data/app/views/katello/api/v2/subscription_facet/base.json.rabl +1 -1
  143. data/config/initializers/monkeys.rb +1 -0
  144. data/config/routes/api/v2.rb +2 -2
  145. data/config/routes/overrides.rb +2 -7
  146. data/config/routes.rb +2 -0
  147. data/db/migrate/20211019192121_create_cdn_configuration.katello.rb +1 -1
  148. data/db/migrate/20250912000000_add_pulp_prn_fields.rb +73 -0
  149. data/db/migrate/20250912000001_populate_pulp_prn_fields.rb +403 -0
  150. data/db/migrate/20251009142516_remove_auto_attach_from_activation_keys.rb +5 -0
  151. data/db/migrate/20251009142517_remove_autoheal_from_subscription_facets.rb +5 -0
  152. data/db/seeds.d/111-upgrade_tasks.rb +2 -0
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +2 -2
  154. data/lib/katello/permission_creator.rb +2 -2
  155. data/lib/katello/permissions/host_permissions.rb +0 -6
  156. data/lib/katello/plugin.rb +16 -8
  157. data/lib/katello/tasks/jenkins.rake +1 -1
  158. data/lib/katello/tasks/upgrades/4.19/enable_structured_apt_for_deb.rake +87 -0
  159. data/lib/katello/tasks/upgrades/4.19/populate_repository_version_prns.rake +32 -0
  160. data/lib/katello/version.rb +1 -1
  161. data/lib/monkeys/fix_rpm_repository_gpgcheck.rb +38 -0
  162. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  163. data/locale/bn/katello.po +56 -107
  164. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  165. data/locale/bn_IN/katello.po +56 -107
  166. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  167. data/locale/ca/katello.po +56 -107
  168. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  169. data/locale/cs/katello.po +56 -107
  170. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  171. data/locale/cs_CZ/katello.po +57 -108
  172. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  173. data/locale/de/katello.po +58 -109
  174. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  175. data/locale/de_AT/katello.po +56 -107
  176. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  177. data/locale/de_DE/katello.po +56 -107
  178. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  179. data/locale/el/katello.po +58 -109
  180. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  181. data/locale/en/katello.po +56 -107
  182. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  183. data/locale/en_GB/katello.po +56 -107
  184. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  185. data/locale/en_US/katello.po +56 -107
  186. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  187. data/locale/es/katello.po +58 -109
  188. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  189. data/locale/et_EE/katello.po +56 -107
  190. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  191. data/locale/fr/katello.po +59 -110
  192. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  193. data/locale/gl/katello.po +56 -107
  194. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  195. data/locale/gu/katello.po +56 -107
  196. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  197. data/locale/he_IL/katello.po +56 -107
  198. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  199. data/locale/hi/katello.po +56 -107
  200. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  201. data/locale/id/katello.po +56 -107
  202. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  203. data/locale/it/katello.po +56 -107
  204. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  205. data/locale/ja/katello.po +59 -110
  206. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  207. data/locale/ka/katello.po +58 -109
  208. data/locale/katello.pot +676 -749
  209. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  210. data/locale/kn/katello.po +56 -107
  211. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/ko/katello.po +59 -110
  213. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  214. data/locale/ml_IN/katello.po +56 -107
  215. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  216. data/locale/mr/katello.po +56 -107
  217. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  218. data/locale/nl_NL/katello.po +56 -107
  219. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  220. data/locale/or/katello.po +56 -107
  221. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  222. data/locale/pa/katello.po +56 -107
  223. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  224. data/locale/pl/katello.po +56 -107
  225. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  226. data/locale/pl_PL/katello.po +56 -107
  227. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  228. data/locale/pt/katello.po +56 -107
  229. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  230. data/locale/pt_BR/katello.po +58 -109
  231. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  232. data/locale/ro/katello.po +56 -107
  233. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  234. data/locale/ro_RO/katello.po +56 -107
  235. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  236. data/locale/ru/katello.po +57 -108
  237. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  238. data/locale/sl/katello.po +56 -107
  239. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  240. data/locale/sv_SE/katello.po +56 -107
  241. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  242. data/locale/ta/katello.po +56 -107
  243. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  244. data/locale/ta_IN/katello.po +56 -107
  245. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  246. data/locale/te/katello.po +56 -107
  247. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  248. data/locale/tr/katello.po +56 -107
  249. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  250. data/locale/vi/katello.po +56 -107
  251. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  252. data/locale/vi_VN/katello.po +56 -107
  253. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  254. data/locale/zh/katello.po +56 -107
  255. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  256. data/locale/zh_CN/katello.po +59 -110
  257. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  258. data/locale/zh_TW/katello.po +57 -108
  259. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +2 -2
  260. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +0 -2
  261. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -2
  262. data/webpack/components/extensions/Hosts/ActionsBar/index.js +1 -0
  263. data/webpack/components/extensions/Hosts/BulkActions/BulkActionsConstants.js +7 -0
  264. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/BulkChangeHostCollectionsModal.js +388 -0
  265. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/__tests__/BulkChangeHostCollectionsModal.test.js +640 -0
  266. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/actions.js +28 -0
  267. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +71 -0
  268. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +1 -1
  269. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/02_BulkPackagesTable.js +10 -3
  270. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +51 -24
  271. data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +7 -0
  272. data/webpack/containers/Application/config.js +11 -1
  273. data/webpack/global_index.js +3 -0
  274. data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesConstants.js +1 -1
  275. data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesPage.js +7 -43
  276. data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImagesPage.test.js +1 -1
  277. data/webpack/scenes/ContainerImages/ContainerImagesPage.js +86 -0
  278. data/webpack/scenes/ContainerImages/LabelsAnnotationsModal.js +105 -0
  279. data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetails.js +218 -0
  280. data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsActions.js +15 -0
  281. data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsSelectors.js +16 -0
  282. data/webpack/scenes/ContainerImages/Synced/Details/__tests__/ManifestDetails.test.js +395 -0
  283. data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestDetails.fixtures.json +43 -0
  284. data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestList.fixtures.json +58 -0
  285. data/webpack/scenes/ContainerImages/Synced/Details/index.js +4 -0
  286. data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.js +359 -0
  287. data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.scss +21 -0
  288. data/webpack/scenes/ContainerImages/Synced/__tests__/LabelsAnnotationsModal.test.js +69 -0
  289. data/webpack/scenes/ContainerImages/Synced/__tests__/SyncedContainerImagesPage.test.js +335 -0
  290. data/webpack/scenes/ContainerImages/Synced/__tests__/syncedContainerImages.fixtures.json +105 -0
  291. data/webpack/scenes/ContainerImages/TableEmptyState.js +67 -0
  292. data/webpack/scenes/ContainerImages/containerImagesHelpers.js +48 -0
  293. data/webpack/scenes/ContainerImages/index.js +4 -0
  294. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +29 -3
  295. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
  296. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +45 -1
  297. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +0 -1
  298. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +59 -1
  299. data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +1 -0
  300. data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +164 -24
  301. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVDebFilterContent.test.js +268 -0
  302. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterDetail.fixtures.json +95 -0
  303. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterRules.fixtures.json +31 -0
  304. data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyCVDebFilterRules.fixtures.json +10 -0
  305. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +0 -1
  306. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +0 -1
  307. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +15 -0
  308. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +1 -0
  309. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +9 -0
  310. data/webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js +5 -3
  311. data/webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js +1 -1
  312. data/webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js +35 -3
  313. data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js +1 -1
  314. data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.css +3 -0
  315. data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js +63 -132
  316. data/webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js +67 -143
  317. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +10 -2
  318. data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +13 -2
  319. data/webpack/scenes/SmartProxy/SmartProxyContentConstants.js +1 -0
  320. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +8 -2
  321. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +67 -1
  322. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
  323. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -2
  324. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -2
  325. metadata +83 -55
  326. data/app/lib/actions/katello/host/attach_subscriptions.rb +0 -59
  327. data/app/lib/actions/katello/host/auto_attach_subscriptions.rb +0 -22
  328. data/app/lib/actions/katello/host/remove_subscriptions.rb +0 -50
  329. data/app/lib/actions/katello/organization/simple_content_access/disable.rb +0 -25
  330. data/app/lib/actions/katello/organization/simple_content_access/enable.rb +0 -25
  331. data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +0 -42
  332. data/lib/katello/tasks/migrate_structure_content_for_deb.rake +0 -105
  333. data/lib/katello/tasks/upgrades/4.2/remove_checksum_values.rake +0 -17
  334. data/locale/action_names.rb +0 -186
  335. /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImages.fixtures.js +0 -0
  336. /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/index.js +0 -0
@@ -15,7 +15,7 @@
15
15
  #
16
16
  msgid ""
17
17
  msgstr ""
18
- "Project-Id-Version: katello 4.18.0\n"
18
+ "Project-Id-Version: katello 4.19.0.pre.master\n"
19
19
  "Report-Msgid-Bugs-To: \n"
20
20
  "PO-Revision-Date: 2017-12-19 20:14+0000\n"
21
21
  "Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2025\n"
@@ -462,9 +462,6 @@ msgstr ""
462
462
  msgid "A remote execution job is in progress."
463
463
  msgstr ""
464
464
 
465
- msgid "A service level for auto-healing process, e.g. SELF-SUPPORT"
466
- msgstr "Nível de serviço para processo de auto-reparo. Ex.: AUTO-SUPORTE"
467
-
468
465
  msgid "A smart proxy seems to have been refreshed without pulpcore being running. Please refresh the smart proxy after ensuring that pulpcore services are running."
469
466
  msgstr ""
470
467
 
@@ -567,12 +564,15 @@ msgstr ""
567
564
  msgid "Add RPM rule"
568
565
  msgstr ""
569
566
 
567
+ msgid "Add Red Hat Flatpak remote"
568
+ msgstr ""
569
+
570
+ msgid "Add Red Hat flatpak remote"
571
+ msgstr ""
572
+
570
573
  msgid "Add Subscriptions"
571
574
  msgstr "Adicionar subscrições"
572
575
 
573
- msgid "Add a subscription to a host"
574
- msgstr "Adicionar uma subscrição a um host"
575
-
576
576
  msgid "Add an alternate content source"
577
577
  msgstr ""
578
578
 
@@ -636,9 +636,6 @@ msgstr ""
636
636
  msgid "Add subscriptions consumed by a manifest from Red Hat Subscription Management"
637
637
  msgstr "Adicionar subscrições consumidas por um manifesto do Red Hat Subscription Management"
638
638
 
639
- msgid "Add subscriptions to one or more hosts"
640
- msgstr "Adicionar subscrições a um ou mais hosts"
641
-
642
639
  msgid "Add subscriptions using the Add Subscriptions button."
643
640
  msgstr ""
644
641
 
@@ -912,12 +909,6 @@ msgstr "Matriz de IDs de pool de local. Apenas pools com origem upstream são ac
912
909
  msgid "Array of pools to add"
913
910
  msgstr "Matriz de pools para adicionar"
914
911
 
915
- msgid "Array of subscriptions to add"
916
- msgstr "Matriz de subscrições a adicionar"
917
-
918
- msgid "Array of subscriptions to remove"
919
- msgstr "Matriz de subscrições a serem removidas "
920
-
921
912
  msgid "Array of uploads to import"
922
913
  msgstr "Matriz de carregamentos para importar"
923
914
 
@@ -975,15 +966,6 @@ msgstr ""
975
966
  msgid "At least one organization must exist."
976
967
  msgstr "Deve existir ao menos uma organização"
977
968
 
978
- msgid "Attach a subscription"
979
- msgstr "Anexar uma subscrição"
980
-
981
- msgid "Attach subscriptions"
982
- msgstr "Anexar subscrições"
983
-
984
- msgid "Attach subscriptions to %s"
985
- msgstr "Anexar subscrições a %s"
986
-
987
969
  msgid "Attempted to destroy consumer %s from candlepin, but consumer does not exist in candlepin"
988
970
  msgstr "Tentativa de destruir o consumidor %s do candlepin, mas o consumidor não existe no candlepin"
989
971
 
@@ -1095,6 +1077,9 @@ msgstr ""
1095
1077
  msgid "Bootc upgrade via Bootc interface"
1096
1078
  msgstr ""
1097
1079
 
1080
+ msgid "Booted"
1081
+ msgstr ""
1082
+
1098
1083
  msgid "Booted Container Images"
1099
1084
  msgstr ""
1100
1085
 
@@ -1563,6 +1548,9 @@ msgstr ""
1563
1548
  msgid "Container image tags"
1564
1549
  msgstr ""
1565
1550
 
1551
+ msgid "Container images"
1552
+ msgstr ""
1553
+
1566
1554
  msgid "Container manifest lists"
1567
1555
  msgstr ""
1568
1556
 
@@ -2076,12 +2064,6 @@ msgstr ""
2076
2064
  msgid "Create organization"
2077
2065
  msgstr "Criar organização"
2078
2066
 
2079
- msgid "Create package filter rule"
2080
- msgstr ""
2081
-
2082
- msgid "Create rule"
2083
- msgstr ""
2084
-
2085
2067
  msgid "Credentials"
2086
2068
  msgstr "Credenciais"
2087
2069
 
@@ -2481,9 +2463,6 @@ msgstr "Desabilitar"
2481
2463
  msgid "Disable Red Hat Insights."
2482
2464
  msgstr "Desabilitar o Red Hat Insights."
2483
2465
 
2484
- msgid "Disable Simple Content Access"
2485
- msgstr "Desabilitar o acesso a conteúdo simples"
2486
-
2487
2466
  msgid "Disable a repository from the set"
2488
2467
  msgstr "Desabilitar um repositório do conjunto"
2489
2468
 
@@ -2547,6 +2526,9 @@ msgstr "AVISO DE ERRATA(S)"
2547
2526
  msgid "Edit"
2548
2527
  msgstr "Editar"
2549
2528
 
2529
+ msgid "Edit DEB rule"
2530
+ msgstr ""
2531
+
2550
2532
  msgid "Edit Flatpak Remote"
2551
2533
  msgstr ""
2552
2534
 
@@ -2574,9 +2556,6 @@ msgstr ""
2574
2556
  msgid "Edit filter rule"
2575
2557
  msgstr ""
2576
2558
 
2577
- msgid "Edit package filter rule"
2578
- msgstr ""
2579
-
2580
2559
  msgid "Edit products"
2581
2560
  msgstr ""
2582
2561
 
@@ -2619,9 +2598,6 @@ msgstr "Habilitar"
2619
2598
  msgid "Enable Red Hat repositories"
2620
2599
  msgstr ""
2621
2600
 
2622
- msgid "Enable Simple Content Access"
2623
- msgstr "Habilitar acesso a conteúdo simples"
2624
-
2625
2601
  msgid "Enable Tracer"
2626
2602
  msgstr ""
2627
2603
 
@@ -3112,6 +3088,9 @@ msgstr "Gerar aplicabilidade de host"
3112
3088
  msgid "Generate repository applicability"
3113
3089
  msgstr "Gerar aplicabilidade de repositório"
3114
3090
 
3091
+ msgid "Generate username and password"
3092
+ msgstr ""
3093
+
3115
3094
  msgid "Generated"
3116
3095
  msgstr ""
3117
3096
 
@@ -3537,9 +3516,6 @@ msgstr ""
3537
3516
  msgid "If set, newly created APT repos in Katello will use the same repo structure as the remote repos they are synchronized from. You may migrate existing APT repos to match the setting, by running 'foreman-rake katello:migrate_structure_content_for_deb'."
3538
3517
  msgstr ""
3539
3518
 
3540
- msgid "If specified, remove the first instance of a subscription with matching id and quantity"
3541
- msgstr "Se especificado, remova a primeira instância de uma subscrição com quantidade e ID correspondentes "
3542
-
3543
3519
  msgid "If the smart proxies' assigned HTTP proxies should be used"
3544
3520
  msgstr ""
3545
3521
 
@@ -3963,6 +3939,9 @@ msgstr ""
3963
3939
  msgid "It's not possible to promote a rolling content view."
3964
3940
  msgstr ""
3965
3941
 
3942
+ msgid "It's not possible to provide environment_ids for anything other than a rolling content view."
3943
+ msgstr ""
3944
+
3966
3945
  msgid "It's not possible to publish a rolling content view."
3967
3946
  msgstr ""
3968
3947
 
@@ -4362,6 +4341,9 @@ msgstr "Lista de IDs de host para substituir os hosts na coleção de hosts"
4362
4341
  msgid "List of hypervisor guest uuids"
4363
4342
  msgstr "Lista de uuids de convidados do hipervisor"
4364
4343
 
4344
+ msgid "List of lifecycle environments for rolling content views"
4345
+ msgstr ""
4346
+
4365
4347
  msgid "List of package group names (Deprecated)"
4366
4348
  msgstr ""
4367
4349
 
@@ -5270,9 +5252,6 @@ msgstr "A organização %s está sendo eliminada."
5270
5252
  msgid "Organization ID"
5271
5253
  msgstr "ID de organização"
5272
5254
 
5273
- msgid "Organization ID is required"
5274
- msgstr "É necessária a ID da organização"
5275
-
5276
5255
  msgid "Organization ID or title"
5277
5256
  msgstr ""
5278
5257
 
@@ -5760,6 +5739,9 @@ msgstr "Resumo da promoção para{content_view}"
5760
5739
  msgid "Promotion to Environment"
5761
5740
  msgstr "Promoção a ambiente"
5762
5741
 
5742
+ msgid "Provide credentials if the registry requires authentication"
5743
+ msgstr ""
5744
+
5763
5745
  msgid "Provide the required information and click {update} below to save changes."
5764
5746
  msgstr ""
5765
5747
 
@@ -5886,15 +5868,6 @@ msgstr "A quantidade não deve estar acima de ${pool.available}"
5886
5868
  msgid "Quantity of entitlements to bind"
5887
5869
  msgstr "Quantidade de direitos para associar"
5888
5870
 
5889
- msgid "Quantity of specified subscription to remove"
5890
- msgstr "Quantidade de subscrições especificadas para remover"
5891
-
5892
- msgid "Quantity of this subscription to add"
5893
- msgstr "Quantidade desta subscrição a adicionar."
5894
-
5895
- msgid "Quantity of this subscriptions to add"
5896
- msgstr "Quantidade destas inscrições para adicionar "
5897
-
5898
5871
  msgid "Quantity to Allocate"
5899
5872
  msgstr "Quantidade para alocar"
5900
5873
 
@@ -6063,9 +6036,6 @@ msgstr "Refresh_Content_Host_Status"
6063
6036
  msgid "Register a host with subscription and information"
6064
6037
  msgstr "Registrar um host com subscrição e informações"
6065
6038
 
6066
- msgid "Register host '%s' before attaching subscriptions"
6067
- msgstr "Registrar host '%s' antes de vincular as subscrições"
6068
-
6069
6039
  msgid "Registered"
6070
6040
  msgstr "Registrado"
6071
6041
 
@@ -6210,18 +6180,6 @@ msgstr ""
6210
6180
  msgid "Remove products from sync plan"
6211
6181
  msgstr "Remover produtos do plano de Sincronização"
6212
6182
 
6213
- msgid "Remove subscriptions"
6214
- msgstr "Remover as subscrições"
6215
-
6216
- msgid "Remove subscriptions from %s"
6217
- msgstr "Remover as subscrições de %s"
6218
-
6219
- msgid "Remove subscriptions from a host"
6220
- msgstr ""
6221
-
6222
- msgid "Remove subscriptions from one or more hosts"
6223
- msgstr "Remover subscrições de um ou mais hosts"
6224
-
6225
6183
  msgid "Remove versions and/or environments from a content view and reassign systems and keys"
6226
6184
  msgstr "Remover as versões e/ou ambientes a partir de uma visualização de conteúdo e reajustar os sistemas e as chaves"
6227
6185
 
@@ -6441,6 +6399,9 @@ msgstr "Recuperar uma única errata para um host"
6441
6399
  msgid "Return Red Hat (non-custom) products only"
6442
6400
  msgstr "Retornar apenas produtos Red Hat (não personalizados)"
6443
6401
 
6402
+ msgid "Return a list of installed debs distinct by name"
6403
+ msgstr ""
6404
+
6444
6405
  msgid "Return a list of installed packages distinct by name"
6445
6406
  msgstr ""
6446
6407
 
@@ -6621,6 +6582,9 @@ msgstr "SUBSCRIÇÕES EXPIRANDO EM BREVE"
6621
6582
  msgid "Save"
6622
6583
  msgstr "Salvar"
6623
6584
 
6585
+ msgid "Save Environments"
6586
+ msgstr ""
6587
+
6624
6588
  msgid "Saving alternate content source..."
6625
6589
  msgstr ""
6626
6590
 
@@ -6867,11 +6831,14 @@ msgstr "nível de serviço"
6867
6831
  msgid "Service Level (SLA)"
6868
6832
  msgstr "Nível de serviço (SLA)"
6869
6833
 
6834
+ msgid "Service level"
6835
+ msgstr ""
6836
+
6870
6837
  msgid "Service level of host"
6871
6838
  msgstr ""
6872
6839
 
6873
- msgid "Service level to be used for autoheal"
6874
- msgstr "Nível de serviço a ser usado para a recuperação automática"
6840
+ msgid "Service level, e.g. SELF-SUPPORT"
6841
+ msgstr ""
6875
6842
 
6876
6843
  msgid "Set content overrides"
6877
6844
  msgstr ""
@@ -6897,9 +6864,6 @@ msgstr ""
6897
6864
  msgid "Sets the system purpose usage"
6898
6865
  msgstr "Define a finalidade de uso do sistema"
6899
6866
 
6900
- msgid "Sets whether the Host will autoheal subscriptions upon checkin"
6901
- msgstr "Define se o Host fará a recuperação automática das subscrições após check-in"
6902
-
6903
6867
  msgid "Setting 'default_location_subscribed_hosts' is not set to a valid location."
6904
6868
  msgstr "A configuração 'default_location_subscribed_hosts' não está definida para um local válido."
6905
6869
 
@@ -7050,6 +7014,9 @@ msgstr ""
7050
7014
  msgid "Smart proxy name"
7051
7015
  msgstr ""
7052
7016
 
7017
+ msgid "Smart proxy verify content checksum has started in the background"
7018
+ msgstr ""
7019
+
7053
7020
  msgid "Sockets"
7054
7021
  msgstr "Sockets"
7055
7022
 
@@ -7164,7 +7131,7 @@ msgstr ""
7164
7131
  msgid "Something went wrong while refreshing alternate content sources: "
7165
7132
  msgstr ""
7166
7133
 
7167
- msgid "Something went wrong while refreshing content counts: ${getResponseErrorMsgs(error.response)}"
7134
+ msgid "Something went wrong while refreshing content counts: ${getResponseErrorMsgs(error?.response)}"
7168
7135
  msgstr ""
7169
7136
 
7170
7137
  msgid "Something went wrong while removing a filter rule! ${getResponseErrorMsgs(error.response)}"
@@ -7233,6 +7200,9 @@ msgstr ""
7233
7200
  msgid "Something went wrong while updating the content source. See the logs for more information"
7234
7201
  msgstr ""
7235
7202
 
7203
+ msgid "Something went wrong while verifying content checksums: ${getResponseErrorMsgs(error?.response)}"
7204
+ msgstr ""
7205
+
7236
7206
  msgid "Something went wrong! Please check server logs!"
7237
7207
  msgstr ""
7238
7208
 
@@ -7320,9 +7290,6 @@ msgstr "Subscrição"
7320
7290
  msgid "Subscription Details"
7321
7291
  msgstr "Detalhes de subscrição"
7322
7292
 
7323
- msgid "Subscription ID"
7324
- msgstr "ID de subscrição"
7325
-
7326
7293
  msgid "Subscription Info"
7327
7294
  msgstr "Informações de subscrição"
7328
7295
 
@@ -7338,12 +7305,6 @@ msgstr "Verificação da validade do manifesto de subscrição"
7338
7305
  msgid "Subscription Name"
7339
7306
  msgstr "Nome de subscrição"
7340
7307
 
7341
- msgid "Subscription Pool id"
7342
- msgstr "ID do Pool de Subscrição "
7343
-
7344
- msgid "Subscription Pool uuid"
7345
- msgstr "UUID de pool de subscrição"
7346
-
7347
7308
  msgid "Subscription UUID"
7348
7309
  msgstr ""
7349
7310
 
@@ -7512,6 +7473,9 @@ msgstr ""
7512
7473
  msgid "Synced Content"
7513
7474
  msgstr "Conteúdo sincronizado"
7514
7475
 
7476
+ msgid "Synced container images content"
7477
+ msgstr ""
7478
+
7515
7479
  msgid "Synchronize"
7516
7480
  msgstr "Sincronizar"
7517
7481
 
@@ -7765,9 +7729,6 @@ msgstr ""
7765
7729
  msgid "The selected/Inherited Content View is not available for this Lifecycle Environment"
7766
7730
  msgstr ""
7767
7731
 
7768
- msgid "The specified organization is in Simple Content Access mode. Attaching subscriptions is disabled"
7769
- msgstr "A organização especificada está no modo Acesso a conteúdo simples. A vinculação de subscrições está desabilitada"
7770
-
7771
7732
  msgid "The subscription cannot be found upstream"
7772
7733
  msgstr "Não foi possível encontrar upstream a subscrição"
7773
7734
 
@@ -7909,12 +7870,6 @@ msgstr ""
7909
7870
  msgid "This host is associated with multiple content view environments. If you assign a lifecycle environment and content view here, the host will be removed from the other environments."
7910
7871
  msgstr ""
7911
7872
 
7912
- msgid "This host's organization is in Simple Content Access mode. Attaching subscriptions is disabled."
7913
- msgstr "A organização do host está no modo Acesso a conteúdo simples. A vinculação de subscrições está desabilitada"
7914
-
7915
- msgid "This host's organization is in Simple Content Access mode. Auto-attach is disabled"
7916
- msgstr "A organização do host está no modo Acesso a conteúdo simples. A vinculação automática está desabilitada"
7917
-
7918
7873
  msgid "This is disabled because a manifest task is in progress"
7919
7874
  msgstr "Isto está desabilitado porque uma tarefa do manifesto está em andamento"
7920
7875
 
@@ -7993,6 +7948,9 @@ msgstr "Título"
7993
7948
  msgid "To change content view environments, a specific organization must be selected from the organization context."
7994
7949
  msgstr ""
7995
7950
 
7951
+ msgid "To continue with Red Hat Flatpak remote, you need to generate your username and password in"
7952
+ msgstr ""
7953
+
7996
7954
  msgid "To enable the synced content option, this host must use a content source, content view, and lifecycle environment which contain synced kickstart repositories for the selected architecture and operating system."
7997
7955
  msgstr ""
7998
7956
 
@@ -8068,12 +8026,6 @@ msgstr ""
8068
8026
  msgid "Traffic for all alternate content sources associated with this smart proxy will go through the chosen HTTP proxy."
8069
8027
  msgstr ""
8070
8028
 
8071
- msgid "Trigger an auto-attach of subscriptions"
8072
- msgstr "Provoca uma anexação automática das subscrições "
8073
-
8074
- msgid "Trigger an auto-attach of subscriptions on one or more hosts"
8075
- msgstr "Aciona uma vinculação automática de subscrições em um ou mais hosts"
8076
-
8077
8029
  msgid "Try changing your search criteria."
8078
8030
  msgstr ""
8079
8031
 
@@ -8227,9 +8179,6 @@ msgstr ""
8227
8179
  msgid "Unapplied Errata"
8228
8180
  msgstr "Errata não aplicada"
8229
8181
 
8230
- msgid "Unattach a subscription"
8231
- msgstr "Desanexar uma subscrição"
8232
-
8233
8182
  msgid "Unfiltered params array: %s."
8234
8183
  msgstr "Matriz de parâmetros não filtrada: %s."
8235
8184
 
@@ -8584,6 +8533,9 @@ msgstr ""
8584
8533
  msgid "Value must either be a boolean or 'default' for 'enabled'"
8585
8534
  msgstr "O valor deve ser booleano ou 'padrão' para 'habilitado'"
8586
8535
 
8536
+ msgid "Verify Content Checksum"
8537
+ msgstr ""
8538
+
8587
8539
  msgid "Verify SSL"
8588
8540
  msgstr "Verifique o SSL"
8589
8541
 
@@ -8668,6 +8620,9 @@ msgstr ""
8668
8620
  msgid "View by"
8669
8621
  msgstr ""
8670
8622
 
8623
+ msgid "View container images in the local registry using the Synced tab. View container images booted by image mode hosts using the Booted tab. The Booted tab also shows images outside of the local container registry."
8624
+ msgstr ""
8625
+
8671
8626
  msgid "View content views"
8672
8627
  msgstr ""
8673
8628
 
@@ -8956,9 +8911,6 @@ msgstr ""
8956
8911
  msgid "attempted to sync without a feed URL"
8957
8912
  msgstr "tentativa de sincronizar sem um URL do feed"
8958
8913
 
8959
- msgid "auto attach subscriptions upon registration"
8960
- msgstr "Anexar automaticamente as subscrições após registro"
8961
-
8962
8914
  msgid "base url to perform repo discovery on"
8963
8915
  msgstr "url base onde realizar a descoberta do repo"
8964
8916
 
@@ -9595,9 +9547,6 @@ msgstr "especifica se o conteúdo deve ser incluído ou excluído, padrão: incl
9595
9547
  msgid "start datetime of synchronization"
9596
9548
  msgstr "iniciar datetime da sincronização"
9597
9549
 
9598
- msgid "subscriptions not specified"
9599
- msgstr "subscrições não especificadas"
9600
-
9601
9550
  msgid "sync plan description"
9602
9551
  msgstr "descrição do plano de sinc"
9603
9552
 
Binary file