isar 1.16.2__tar.gz → 1.16.3__tar.gz

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

Potentially problematic release.


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

Files changed (199) hide show
  1. {isar-1.16.2 → isar-1.16.3}/PKG-INFO +1 -1
  2. {isar-1.16.2 → isar-1.16.3}/setup.py +1 -1
  3. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/state_machine.py +0 -6
  4. {isar-1.16.2 → isar-1.16.3}/src/isar.egg-info/PKG-INFO +1 -1
  5. {isar-1.16.2 → isar-1.16.3}/src/isar.egg-info/requires.txt +1 -1
  6. {isar-1.16.2 → isar-1.16.3}/.dockerignore +0 -0
  7. {isar-1.16.2 → isar-1.16.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {isar-1.16.2 → isar-1.16.3}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  9. {isar-1.16.2 → isar-1.16.3}/.github/ISSUE_TEMPLATE/improvement.md +0 -0
  10. {isar-1.16.2 → isar-1.16.3}/.github/release.yml +0 -0
  11. {isar-1.16.2 → isar-1.16.3}/.github/workflows/project_automations.yml +0 -0
  12. {isar-1.16.2 → isar-1.16.3}/.github/workflows/publish_isar_base_image.yml +0 -0
  13. {isar-1.16.2 → isar-1.16.3}/.github/workflows/pythonpackage.yml +0 -0
  14. {isar-1.16.2 → isar-1.16.3}/.github/workflows/pythonpublish.yml +0 -0
  15. {isar-1.16.2 → isar-1.16.3}/.github/workflows/repository_dispatch_on_merge.yml +0 -0
  16. {isar-1.16.2 → isar-1.16.3}/.github/workflows/stale.yml +0 -0
  17. {isar-1.16.2 → isar-1.16.3}/.gitignore +0 -0
  18. {isar-1.16.2 → isar-1.16.3}/.pre-commit-config.yaml +0 -0
  19. {isar-1.16.2 → isar-1.16.3}/Dockerfile +0 -0
  20. {isar-1.16.2 → isar-1.16.3}/LICENSE +0 -0
  21. {isar-1.16.2 → isar-1.16.3}/README.md +0 -0
  22. {isar-1.16.2 → isar-1.16.3}/docker-compose-turtlebot.yml +0 -0
  23. {isar-1.16.2 → isar-1.16.3}/docker-compose.yml +0 -0
  24. {isar-1.16.2 → isar-1.16.3}/docs/Makefile +0 -0
  25. {isar-1.16.2 → isar-1.16.3}/docs/make.bat +0 -0
  26. {isar-1.16.2 → isar-1.16.3}/docs/rst_processing.py +0 -0
  27. {isar-1.16.2 → isar-1.16.3}/docs/source/conf.py +0 -0
  28. {isar-1.16.2 → isar-1.16.3}/docs/source/index.rst +0 -0
  29. {isar-1.16.2 → isar-1.16.3}/docs/source/readme_link.md +0 -0
  30. {isar-1.16.2 → isar-1.16.3}/docs/state_machine_diagram.png +0 -0
  31. {isar-1.16.2 → isar-1.16.3}/main.py +0 -0
  32. {isar-1.16.2 → isar-1.16.3}/pyproject.toml +0 -0
  33. {isar-1.16.2 → isar-1.16.3}/radixconfig.yml +0 -0
  34. {isar-1.16.2 → isar-1.16.3}/setup.cfg +0 -0
  35. {isar-1.16.2 → isar-1.16.3}/src/isar/__init__.py +0 -0
  36. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/__init__.py +0 -0
  37. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/api.py +0 -0
  38. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/models/__init__.py +0 -0
  39. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/models/models.py +0 -0
  40. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/models/start_mission_definition.py +0 -0
  41. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/schedule/__init__.py +0 -0
  42. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/schedule/scheduling_controller.py +0 -0
  43. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/security/__init__.py +0 -0
  44. {isar-1.16.2 → isar-1.16.3}/src/isar/apis/security/authentication.py +0 -0
  45. {isar-1.16.2 → isar-1.16.3}/src/isar/config/__init__.py +0 -0
  46. {isar-1.16.2 → isar-1.16.3}/src/isar/config/certs/ca-cert.pem +0 -0
  47. {isar-1.16.2 → isar-1.16.3}/src/isar/config/configuration_error.py +0 -0
  48. {isar-1.16.2 → isar-1.16.3}/src/isar/config/keyvault/__init__.py +0 -0
  49. {isar-1.16.2 → isar-1.16.3}/src/isar/config/keyvault/keyvault_error.py +0 -0
  50. {isar-1.16.2 → isar-1.16.3}/src/isar/config/keyvault/keyvault_service.py +0 -0
  51. {isar-1.16.2 → isar-1.16.3}/src/isar/config/log.py +0 -0
  52. {isar-1.16.2 → isar-1.16.3}/src/isar/config/logging.conf +0 -0
  53. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/JSP1_intermediate_deck.json +0 -0
  54. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/JSP1_weather_deck.json +0 -0
  55. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/default_map.json +0 -0
  56. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/klab_b.json +0 -0
  57. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/klab_compressor.json +0 -0
  58. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/klab_turtlebot.json +0 -0
  59. {isar-1.16.2 → isar-1.16.3}/src/isar/config/maps/turtleworld.json +0 -0
  60. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_mission_definition/__init__.py +0 -0
  61. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_mission_definition/default_mission.json +0 -0
  62. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_mission_definition/default_turtlebot.json +0 -0
  63. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_missions/__init__.py +0 -0
  64. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_missions/default.json +0 -0
  65. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_missions/default_turtlebot.json +0 -0
  66. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_poses/__init__.py +0 -0
  67. {isar-1.16.2 → isar-1.16.3}/src/isar/config/predefined_poses/predefined_poses.py +0 -0
  68. {isar-1.16.2 → isar-1.16.3}/src/isar/config/settings.env +0 -0
  69. {isar-1.16.2 → isar-1.16.3}/src/isar/config/settings.py +0 -0
  70. {isar-1.16.2 → isar-1.16.3}/src/isar/mission_planner/__init__.py +0 -0
  71. {isar-1.16.2 → isar-1.16.3}/src/isar/mission_planner/local_planner.py +0 -0
  72. {isar-1.16.2 → isar-1.16.3}/src/isar/mission_planner/mission_planner_interface.py +0 -0
  73. {isar-1.16.2 → isar-1.16.3}/src/isar/mission_planner/sequential_task_selector.py +0 -0
  74. {isar-1.16.2 → isar-1.16.3}/src/isar/mission_planner/task_selector_interface.py +0 -0
  75. {isar-1.16.2 → isar-1.16.3}/src/isar/models/__init__.py +0 -0
  76. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/__init__.py +0 -0
  77. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/message.py +0 -0
  78. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/queues/__init__.py +0 -0
  79. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/queues/queue_io.py +0 -0
  80. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/queues/queue_timeout_error.py +0 -0
  81. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/queues/queues.py +0 -0
  82. {isar-1.16.2 → isar-1.16.3}/src/isar/models/communication/queues/status_queue.py +0 -0
  83. {isar-1.16.2 → isar-1.16.3}/src/isar/models/mission_metadata/__init__.py +0 -0
  84. {isar-1.16.2 → isar-1.16.3}/src/isar/modules.py +0 -0
  85. {isar-1.16.2 → isar-1.16.3}/src/isar/services/__init__.py +0 -0
  86. {isar-1.16.2 → isar-1.16.3}/src/isar/services/auth/__init__.py +0 -0
  87. {isar-1.16.2 → isar-1.16.3}/src/isar/services/auth/azure_credentials.py +0 -0
  88. {isar-1.16.2 → isar-1.16.3}/src/isar/services/readers/__init__.py +0 -0
  89. {isar-1.16.2 → isar-1.16.3}/src/isar/services/readers/base_reader.py +0 -0
  90. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/__init__.py +0 -0
  91. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/mqtt/__init__.py +0 -0
  92. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/mqtt/mqtt_client.py +0 -0
  93. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/mqtt/robot_info_publisher.py +0 -0
  94. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/mqtt/robot_status_publisher.py +0 -0
  95. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/request_handler.py +0 -0
  96. {isar-1.16.2 → isar-1.16.3}/src/isar/services/service_connections/stid/__init__.py +0 -0
  97. {isar-1.16.2 → isar-1.16.3}/src/isar/services/utilities/__init__.py +0 -0
  98. {isar-1.16.2 → isar-1.16.3}/src/isar/services/utilities/queue_utilities.py +0 -0
  99. {isar-1.16.2 → isar-1.16.3}/src/isar/services/utilities/scheduling_utilities.py +0 -0
  100. {isar-1.16.2 → isar-1.16.3}/src/isar/services/utilities/threaded_request.py +0 -0
  101. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/__init__.py +0 -0
  102. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/__init__.py +0 -0
  103. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/idle.py +0 -0
  104. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/initialize.py +0 -0
  105. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/initiate.py +0 -0
  106. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/monitor.py +0 -0
  107. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/off.py +0 -0
  108. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/paused.py +0 -0
  109. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states/stop.py +0 -0
  110. {isar-1.16.2 → isar-1.16.3}/src/isar/state_machine/states_enum.py +0 -0
  111. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/__init__.py +0 -0
  112. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/blob_storage.py +0 -0
  113. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/local_storage.py +0 -0
  114. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/slimm_storage.py +0 -0
  115. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/storage_interface.py +0 -0
  116. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/uploader.py +0 -0
  117. {isar-1.16.2 → isar-1.16.3}/src/isar/storage/utilities.py +0 -0
  118. {isar-1.16.2 → isar-1.16.3}/src/isar.egg-info/SOURCES.txt +0 -0
  119. {isar-1.16.2 → isar-1.16.3}/src/isar.egg-info/dependency_links.txt +0 -0
  120. {isar-1.16.2 → isar-1.16.3}/src/isar.egg-info/top_level.txt +0 -0
  121. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/__init__.py +0 -0
  122. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/__init__.py +0 -0
  123. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/exceptions/__init__.py +0 -0
  124. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/exceptions/robot_exceptions.py +0 -0
  125. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/initialize/__init__.py +0 -0
  126. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/initialize/initialize_params.py +0 -0
  127. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/inspection/__init__.py +0 -0
  128. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/inspection/inspection.py +0 -0
  129. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/mission/__init__.py +0 -0
  130. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/mission/mission.py +0 -0
  131. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/mission/status.py +0 -0
  132. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/mission/step.py +0 -0
  133. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/mission/task.py +0 -0
  134. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/robots/__init__.py +0 -0
  135. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/models/robots/robot_model.py +0 -0
  136. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/robot_interface.py +0 -0
  137. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/telemetry/__init__.py +0 -0
  138. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/telemetry/mqtt_client.py +0 -0
  139. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/telemetry/payloads.py +0 -0
  140. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/test_robot_interface.py +0 -0
  141. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/utilities/__init__.py +0 -0
  142. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/utilities/json_service.py +0 -0
  143. {isar-1.16.2 → isar-1.16.3}/src/robot_interface/utilities/uuid_string_factory.py +0 -0
  144. {isar-1.16.2 → isar-1.16.3}/tests/__init__.py +0 -0
  145. {isar-1.16.2 → isar-1.16.3}/tests/conftest.py +0 -0
  146. {isar-1.16.2 → isar-1.16.3}/tests/integration/__init__.py +0 -0
  147. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/__init__.py +0 -0
  148. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/config/__init__.py +0 -0
  149. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/config/maps/__init__.py +0 -0
  150. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/config/maps/turtleworld.json +0 -0
  151. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/config/missions/__init__.py +0 -0
  152. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/config/missions/default.json +0 -0
  153. {isar-1.16.2 → isar-1.16.3}/tests/integration/turtlebot/test_successful_mission.py +0 -0
  154. {isar-1.16.2 → isar-1.16.3}/tests/isar/__init__.py +0 -0
  155. {isar-1.16.2 → isar-1.16.3}/tests/isar/apis/__init__.py +0 -0
  156. {isar-1.16.2 → isar-1.16.3}/tests/isar/apis/scheduler/__init__.py +0 -0
  157. {isar-1.16.2 → isar-1.16.3}/tests/isar/apis/scheduler/test_scheduler_router.py +0 -0
  158. {isar-1.16.2 → isar-1.16.3}/tests/isar/apis/security/__init__.py +0 -0
  159. {isar-1.16.2 → isar-1.16.3}/tests/isar/apis/security/test_authentication.py +0 -0
  160. {isar-1.16.2 → isar-1.16.3}/tests/isar/mission/__init__.py +0 -0
  161. {isar-1.16.2 → isar-1.16.3}/tests/isar/mission/test_mission.py +0 -0
  162. {isar-1.16.2 → isar-1.16.3}/tests/isar/models/__init__.py +0 -0
  163. {isar-1.16.2 → isar-1.16.3}/tests/isar/models/communication/__init__.py +0 -0
  164. {isar-1.16.2 → isar-1.16.3}/tests/isar/models/communication/test_queues.py +0 -0
  165. {isar-1.16.2 → isar-1.16.3}/tests/isar/models/test_start_mission_definition.py +0 -0
  166. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/__init__.py +0 -0
  167. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/readers/__init__.py +0 -0
  168. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/readers/test_base_reader.py +0 -0
  169. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/readers/test_mission_reader.py +0 -0
  170. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/service_connections/__init__.py +0 -0
  171. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/service_connections/echo/__init__.py +0 -0
  172. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/service_connections/test_base_request_handler.py +0 -0
  173. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/utilities/__init__.py +0 -0
  174. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/utilities/test_queue_utilities.py +0 -0
  175. {isar-1.16.2 → isar-1.16.3}/tests/isar/services/utilities/test_scheduling_utilities.py +0 -0
  176. {isar-1.16.2 → isar-1.16.3}/tests/isar/state_machine/__init__.py +0 -0
  177. {isar-1.16.2 → isar-1.16.3}/tests/isar/state_machine/states/__init__.py +0 -0
  178. {isar-1.16.2 → isar-1.16.3}/tests/isar/state_machine/states/test_monitor.py +0 -0
  179. {isar-1.16.2 → isar-1.16.3}/tests/isar/state_machine/test_state_machine.py +0 -0
  180. {isar-1.16.2 → isar-1.16.3}/tests/isar/storage/test_blob_storage.py +0 -0
  181. {isar-1.16.2 → isar-1.16.3}/tests/isar/storage/test_uploader.py +0 -0
  182. {isar-1.16.2 → isar-1.16.3}/tests/mocks/__init__.py +0 -0
  183. {isar-1.16.2 → isar-1.16.3}/tests/mocks/blob_storage.py +0 -0
  184. {isar-1.16.2 → isar-1.16.3}/tests/mocks/mission_definition.py +0 -0
  185. {isar-1.16.2 → isar-1.16.3}/tests/mocks/mqtt_client.py +0 -0
  186. {isar-1.16.2 → isar-1.16.3}/tests/mocks/pose.py +0 -0
  187. {isar-1.16.2 → isar-1.16.3}/tests/mocks/request.py +0 -0
  188. {isar-1.16.2 → isar-1.16.3}/tests/mocks/robot_interface.py +0 -0
  189. {isar-1.16.2 → isar-1.16.3}/tests/mocks/status.py +0 -0
  190. {isar-1.16.2 → isar-1.16.3}/tests/mocks/step.py +0 -0
  191. {isar-1.16.2 → isar-1.16.3}/tests/mocks/task.py +0 -0
  192. {isar-1.16.2 → isar-1.16.3}/tests/mocks/token.py +0 -0
  193. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_json_file.json +0 -0
  194. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_map_config/test_map_config.json +0 -0
  195. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_mission_not_working.json +0 -0
  196. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_mission_working.json +0 -0
  197. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_mission_working_no_tasks.json +0 -0
  198. {isar-1.16.2 → isar-1.16.3}/tests/test_data/test_thermal_image_mission.json +0 -0
  199. {isar-1.16.2 → isar-1.16.3}/tests/test_modules.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isar
3
- Version: 1.16.2
3
+ Version: 1.16.3
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Home-page: https://github.com/equinor/isar
6
6
  Author: Equinor ASA
@@ -41,7 +41,7 @@ setup(
41
41
  "opencensus-ext-azure",
42
42
  "numpy",
43
43
  "paho-mqtt",
44
- "pydantic",
44
+ "pydantic==1.10.11",
45
45
  "PyJWT",
46
46
  "python-dotenv",
47
47
  "PyYAML",
@@ -292,12 +292,6 @@ class StateMachine(object):
292
292
  )
293
293
  self.log_step_overview(mission=self.current_mission)
294
294
 
295
- # This is a workaround to enable the Flotilla repository to write the mission to
296
- # its database before the publishing from ISAR starts. This is not a permanent
297
- # solution and should be further addressed in the following issue.
298
- # https://github.com/equinor/flotilla/issues/226
299
- time.sleep(2)
300
-
301
295
  self.current_mission.status = MissionStatus.InProgress
302
296
  self.publish_mission_status()
303
297
  self.current_task = self.task_selector.next_task()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isar
3
- Version: 1.16.2
3
+ Version: 1.16.3
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Home-page: https://github.com/equinor/isar
6
6
  Author: Equinor ASA
@@ -13,7 +13,7 @@ opencensus-ext-requests
13
13
  opencensus-ext-azure
14
14
  numpy
15
15
  paho-mqtt
16
- pydantic
16
+ pydantic==1.10.11
17
17
  PyJWT
18
18
  python-dotenv
19
19
  PyYAML
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes