taskflow 5.6.0__tar.gz → 5.8.0__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 (353) hide show
  1. taskflow-5.8.0/.zuul.yaml +30 -0
  2. {taskflow-5.6.0 → taskflow-5.8.0}/AUTHORS +1 -0
  3. {taskflow-5.6.0 → taskflow-5.8.0}/ChangeLog +16 -3
  4. {taskflow-5.6.0 → taskflow-5.8.0}/PKG-INFO +1 -1
  5. {taskflow-5.6.0 → taskflow-5.8.0}/bindep.txt +4 -0
  6. taskflow-5.8.0/doc/requirements.txt +4 -0
  7. taskflow-5.8.0/doc/source/user/img/engine_states.svg +8 -0
  8. taskflow-5.8.0/doc/source/user/img/flow_states.svg +8 -0
  9. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/job_states.svg +3 -3
  10. taskflow-5.8.0/doc/source/user/img/retry_states.svg +8 -0
  11. taskflow-5.8.0/doc/source/user/img/task_states.svg +8 -0
  12. taskflow-5.8.0/playbooks/tests/functional/Debian.yaml +5 -0
  13. taskflow-5.8.0/playbooks/tests/functional/RedHat.yaml +5 -0
  14. taskflow-5.8.0/playbooks/tests/functional/pre.yml +21 -0
  15. taskflow-5.8.0/releasenotes/notes/disable-process_executor-python-312-d1074c816bc8303e.yaml +6 -0
  16. taskflow-5.8.0/releasenotes/source/2024.1.rst +6 -0
  17. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/index.rst +1 -0
  18. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/victoria.rst +1 -1
  19. {taskflow-5.6.0 → taskflow-5.8.0}/requirements.txt +2 -2
  20. {taskflow-5.6.0 → taskflow-5.8.0}/setup.cfg +2 -2
  21. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/engine.py +18 -6
  22. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/process_executor.py +2 -0
  23. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/env.py +9 -4
  24. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/test.py +0 -26
  25. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/test_creation.py +9 -3
  26. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/test_process_executor.py +19 -12
  27. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/jobs/test_redis_job.py +3 -6
  28. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_arguments_passing.py +6 -0
  29. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_engines.py +6 -0
  30. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_retries.py +6 -0
  31. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_suspend.py +6 -0
  32. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/PKG-INFO +1 -1
  33. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/SOURCES.txt +5 -0
  34. taskflow-5.8.0/taskflow.egg-info/pbr.json +1 -0
  35. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/requires.txt +4 -4
  36. {taskflow-5.6.0 → taskflow-5.8.0}/test-requirements.txt +3 -2
  37. {taskflow-5.6.0 → taskflow-5.8.0}/tools/schema_generator.py +25 -23
  38. {taskflow-5.6.0 → taskflow-5.8.0}/tools/state_graph.py +2 -1
  39. {taskflow-5.6.0 → taskflow-5.8.0}/tools/update_states.sh +5 -4
  40. {taskflow-5.6.0 → taskflow-5.8.0}/tox.ini +10 -2
  41. taskflow-5.6.0/.zuul.yaml +0 -33
  42. taskflow-5.6.0/doc/requirements.txt +0 -7
  43. taskflow-5.6.0/doc/source/user/img/engine_states.svg +0 -8
  44. taskflow-5.6.0/doc/source/user/img/flow_states.svg +0 -8
  45. taskflow-5.6.0/doc/source/user/img/retry_states.svg +0 -8
  46. taskflow-5.6.0/doc/source/user/img/task_states.svg +0 -8
  47. taskflow-5.6.0/taskflow.egg-info/pbr.json +0 -1
  48. {taskflow-5.6.0 → taskflow-5.8.0}/.coveragerc +0 -0
  49. {taskflow-5.6.0 → taskflow-5.8.0}/.mailmap +0 -0
  50. {taskflow-5.6.0 → taskflow-5.8.0}/.pre-commit-config.yaml +0 -0
  51. {taskflow-5.6.0 → taskflow-5.8.0}/.stestr.conf +0 -0
  52. {taskflow-5.6.0 → taskflow-5.8.0}/CONTRIBUTING.rst +0 -0
  53. {taskflow-5.6.0 → taskflow-5.8.0}/LICENSE +0 -0
  54. {taskflow-5.6.0 → taskflow-5.8.0}/README.rst +0 -0
  55. {taskflow-5.6.0 → taskflow-5.8.0}/doc/diagrams/area_of_influence.graffle.tgz +0 -0
  56. {taskflow-5.6.0 → taskflow-5.8.0}/doc/diagrams/core.graffle.tgz +0 -0
  57. {taskflow-5.6.0 → taskflow-5.8.0}/doc/diagrams/jobboard.graffle.tgz +0 -0
  58. {taskflow-5.6.0 → taskflow-5.8.0}/doc/diagrams/tasks.graffle.tgz +0 -0
  59. {taskflow-5.6.0 → taskflow-5.8.0}/doc/diagrams/worker-engine.graffle.tgz +0 -0
  60. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/conf.py +0 -0
  61. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/index.rst +0 -0
  62. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/templates/layout.html +0 -0
  63. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/arguments_and_results.rst +0 -0
  64. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/atoms.rst +0 -0
  65. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/conductors.rst +0 -0
  66. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/engines.rst +0 -0
  67. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/examples.rst +0 -0
  68. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/exceptions.rst +0 -0
  69. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/history.rst +0 -0
  70. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/area_of_influence.svg +0 -0
  71. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/conductor.png +0 -0
  72. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/conductor_cycle.png +0 -0
  73. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/distributed_flow_rpc.png +0 -0
  74. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/jobboard.png +0 -0
  75. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/mandelbrot.png +0 -0
  76. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/tasks.png +0 -0
  77. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/wbe_request_states.svg +0 -0
  78. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/img/worker-engine.svg +0 -0
  79. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/index.rst +0 -0
  80. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/inputs_and_outputs.rst +0 -0
  81. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/jobs.rst +0 -0
  82. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/notifications.rst +0 -0
  83. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/patterns.rst +0 -0
  84. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/persistence.rst +0 -0
  85. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/resumption.rst +0 -0
  86. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/shelf.rst +0 -0
  87. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/states.rst +0 -0
  88. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/types.rst +0 -0
  89. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/utils.rst +0 -0
  90. {taskflow-5.6.0 → taskflow-5.8.0}/doc/source/user/workers.rst +0 -0
  91. {taskflow-5.6.0 → taskflow-5.8.0}/pylintrc +0 -0
  92. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/.placeholder +0 -0
  93. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/add-sentinel-redis-support-9fd16e2a5dd5c0c9.yaml +0 -0
  94. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/bug-2056656-871b67ddbc8cfc92.yaml +0 -0
  95. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml +0 -0
  96. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/fix-endless-loop-on-storage-error-dd4467f0bbc66abf.yaml +0 -0
  97. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/fix-endless-loop-on-storage-failures-b98b30f0c34d25e1.yaml +0 -0
  98. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/fix-storage-failure-handling-5c115d92daa0eb82.yaml +0 -0
  99. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/fix-zookeeper-option-parsing-f9d37fbc39af47f4.yaml +0 -0
  100. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/redis-username-df0eb33869db09a2.yaml +0 -0
  101. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/remove-strict-redis-f2a5a924b314de41.yaml +0 -0
  102. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/sentinel-fallbacks-6fe2ab0d68959cdf.yaml +0 -0
  103. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/sentinel-ssl-399c56ed7067d282.yaml +0 -0
  104. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/sentinel-use-redis-creds-63f58b12ad46a2b5.yaml +0 -0
  105. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/notes/zookeeper-ssl-support-b9abf24a39096b62.yaml +0 -0
  106. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/2023.1.rst +0 -0
  107. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/2023.2.rst +0 -0
  108. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/_static/.placeholder +0 -0
  109. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/_templates/.placeholder +0 -0
  110. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/conf.py +0 -0
  111. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/ocata.rst +0 -0
  112. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/pike.rst +0 -0
  113. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/queens.rst +0 -0
  114. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/rocky.rst +0 -0
  115. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/stein.rst +0 -0
  116. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/train.rst +0 -0
  117. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/unreleased.rst +0 -0
  118. {taskflow-5.6.0 → taskflow-5.8.0}/releasenotes/source/ussuri.rst +0 -0
  119. {taskflow-5.6.0 → taskflow-5.8.0}/run_tests.sh +0 -0
  120. {taskflow-5.6.0 → taskflow-5.8.0}/setup.py +0 -0
  121. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/__init__.py +0 -0
  122. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/atom.py +0 -0
  123. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/__init__.py +0 -0
  124. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/backends/__init__.py +0 -0
  125. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/backends/impl_blocking.py +0 -0
  126. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/backends/impl_executor.py +0 -0
  127. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/backends/impl_nonblocking.py +0 -0
  128. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/conductors/base.py +0 -0
  129. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/contrib/__init__.py +0 -0
  130. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/deciders.py +0 -0
  131. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/__init__.py +0 -0
  132. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/__init__.py +0 -0
  133. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/actions/__init__.py +0 -0
  134. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/actions/base.py +0 -0
  135. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/actions/retry.py +0 -0
  136. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/actions/task.py +0 -0
  137. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/builder.py +0 -0
  138. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/compiler.py +0 -0
  139. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/completer.py +0 -0
  140. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/deciders.py +0 -0
  141. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/executor.py +0 -0
  142. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/runtime.py +0 -0
  143. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/scheduler.py +0 -0
  144. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/scopes.py +0 -0
  145. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/selector.py +0 -0
  146. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/action_engine/traversal.py +0 -0
  147. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/base.py +0 -0
  148. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/helpers.py +0 -0
  149. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/__init__.py +0 -0
  150. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/dispatcher.py +0 -0
  151. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/endpoint.py +0 -0
  152. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/engine.py +0 -0
  153. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/executor.py +0 -0
  154. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/protocol.py +0 -0
  155. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/proxy.py +0 -0
  156. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/server.py +0 -0
  157. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/types.py +0 -0
  158. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/engines/worker_based/worker.py +0 -0
  159. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/99_bottles.py +0 -0
  160. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/alphabet_soup.py +0 -0
  161. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/build_a_car.py +0 -0
  162. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/buildsystem.py +0 -0
  163. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/calculate_in_parallel.py +0 -0
  164. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/calculate_linear.py +0 -0
  165. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/create_parallel_volume.py +0 -0
  166. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/delayed_return.py +0 -0
  167. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/distance_calculator.py +0 -0
  168. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/dump_memory_backend.py +0 -0
  169. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/echo_listener.py +0 -0
  170. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/example_utils.py +0 -0
  171. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/fake_billing.py +0 -0
  172. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/graph_flow.py +0 -0
  173. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/hello_world.py +0 -0
  174. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/jobboard_produce_consume_colors.py +0 -0
  175. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/parallel_table_multiply.py +0 -0
  176. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/persistence_example.py +0 -0
  177. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/pseudo_scoping.out.txt +0 -0
  178. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/pseudo_scoping.py +0 -0
  179. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_from_backend.out.txt +0 -0
  180. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_from_backend.py +0 -0
  181. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_many_flows/my_flows.py +0 -0
  182. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_many_flows/resume_all.py +0 -0
  183. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_many_flows/run_flow.py +0 -0
  184. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_many_flows.out.txt +0 -0
  185. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_many_flows.py +0 -0
  186. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_vm_boot.py +0 -0
  187. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/resume_volume_create.py +0 -0
  188. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/retry_flow.out.txt +0 -0
  189. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/retry_flow.py +0 -0
  190. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/reverting_linear.out.txt +0 -0
  191. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/reverting_linear.py +0 -0
  192. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/run_by_iter.out.txt +0 -0
  193. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/run_by_iter.py +0 -0
  194. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/run_by_iter_enumerate.out.txt +0 -0
  195. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/run_by_iter_enumerate.py +0 -0
  196. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/share_engine_thread.py +0 -0
  197. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear.out.txt +0 -0
  198. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear.py +0 -0
  199. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear_listening.out.txt +0 -0
  200. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear_listening.py +0 -0
  201. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear_pass.out.txt +0 -0
  202. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_linear_pass.py +0 -0
  203. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/simple_map_reduce.py +0 -0
  204. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/switch_graph_flow.py +0 -0
  205. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/timing_listener.py +0 -0
  206. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/tox_conductor.py +0 -0
  207. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wbe_event_sender.py +0 -0
  208. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wbe_mandelbrot.out.txt +0 -0
  209. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wbe_mandelbrot.py +0 -0
  210. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wbe_simple_linear.out.txt +0 -0
  211. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wbe_simple_linear.py +0 -0
  212. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/examples/wrapped_exception.py +0 -0
  213. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/exceptions.py +0 -0
  214. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/flow.py +0 -0
  215. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/formatters.py +0 -0
  216. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/jobs/__init__.py +0 -0
  217. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/jobs/backends/__init__.py +0 -0
  218. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/jobs/backends/impl_redis.py +0 -0
  219. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/jobs/backends/impl_zookeeper.py +0 -0
  220. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/jobs/base.py +0 -0
  221. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/__init__.py +0 -0
  222. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/base.py +0 -0
  223. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/capturing.py +0 -0
  224. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/claims.py +0 -0
  225. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/logging.py +0 -0
  226. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/printing.py +0 -0
  227. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/listeners/timing.py +0 -0
  228. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/logging.py +0 -0
  229. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/patterns/__init__.py +0 -0
  230. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/patterns/graph_flow.py +0 -0
  231. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/patterns/linear_flow.py +0 -0
  232. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/patterns/unordered_flow.py +0 -0
  233. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/__init__.py +0 -0
  234. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/__init__.py +0 -0
  235. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/impl_dir.py +0 -0
  236. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/impl_memory.py +0 -0
  237. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/impl_sqlalchemy.py +0 -0
  238. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/impl_zookeeper.py +0 -0
  239. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/__init__.py +0 -0
  240. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/README +0 -0
  241. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/alembic.ini +0 -0
  242. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/script.py.mako +0 -0
  243. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/0bc3e1a3c135_set_result_meduimtext_type.py +0 -0
  244. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/14b227d79a87_add_intention_column.py +0 -0
  245. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1c783c0c2875_replace_exception_an.py +0 -0
  246. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1cea328f0f65_initial_logbook_deta.py +0 -0
  247. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/2ad4984f2864_switch_postgres_to_json_native.py +0 -0
  248. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/3162c0f3f8e4_add_revert_results_and_revert_failure_.py +0 -0
  249. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/40fc8c914bd2_fix_atomdetails_failure_size.py +0 -0
  250. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/589dccdf2b6e_rename_taskdetails_to_atomdetails.py +0 -0
  251. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/6df9422fcb43_fix_flowdetails_meta_size.py +0 -0
  252. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/84d6e888850_add_task_detail_type.py +0 -0
  253. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/alembic/versions/README +0 -0
  254. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/migration.py +0 -0
  255. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/backends/sqlalchemy/tables.py +0 -0
  256. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/base.py +0 -0
  257. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/models.py +0 -0
  258. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/persistence/path_based.py +0 -0
  259. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/retry.py +0 -0
  260. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/states.py +0 -0
  261. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/storage.py +0 -0
  262. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/task.py +0 -0
  263. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/__init__.py +0 -0
  264. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/fixtures.py +0 -0
  265. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/test_examples.py +0 -0
  266. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/__init__.py +0 -0
  267. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/__init__.py +0 -0
  268. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/test_builder.py +0 -0
  269. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/test_compile.py +0 -0
  270. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/action_engine/test_scoping.py +0 -0
  271. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/jobs/__init__.py +0 -0
  272. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/jobs/base.py +0 -0
  273. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/jobs/test_entrypoint.py +0 -0
  274. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/jobs/test_zk_job.py +0 -0
  275. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/patterns/__init__.py +0 -0
  276. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/patterns/test_graph_flow.py +0 -0
  277. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/patterns/test_linear_flow.py +0 -0
  278. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/patterns/test_unordered_flow.py +0 -0
  279. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/__init__.py +0 -0
  280. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/base.py +0 -0
  281. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/test_dir_persistence.py +0 -0
  282. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/test_memory_persistence.py +0 -0
  283. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/test_sql_persistence.py +0 -0
  284. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/persistence/test_zk_persistence.py +0 -0
  285. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_check_transition.py +0 -0
  286. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_conductors.py +0 -0
  287. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_deciders.py +0 -0
  288. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_engine_helpers.py +0 -0
  289. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_exceptions.py +0 -0
  290. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_failure.py +0 -0
  291. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_flow_dependencies.py +0 -0
  292. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_formatters.py +0 -0
  293. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_functor_task.py +0 -0
  294. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_listeners.py +0 -0
  295. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_mapfunctor_task.py +0 -0
  296. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_notifier.py +0 -0
  297. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_progress.py +0 -0
  298. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_reducefunctor_task.py +0 -0
  299. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_states.py +0 -0
  300. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_storage.py +0 -0
  301. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_task.py +0 -0
  302. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_types.py +0 -0
  303. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils.py +0 -0
  304. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils_async_utils.py +0 -0
  305. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils_binary.py +0 -0
  306. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils_iter_utils.py +0 -0
  307. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils_kazoo_utils.py +0 -0
  308. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/test_utils_threading_utils.py +0 -0
  309. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/__init__.py +0 -0
  310. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_creation.py +0 -0
  311. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_dispatcher.py +0 -0
  312. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_endpoint.py +0 -0
  313. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_executor.py +0 -0
  314. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_message_pump.py +0 -0
  315. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_pipeline.py +0 -0
  316. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_protocol.py +0 -0
  317. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_proxy.py +0 -0
  318. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_server.py +0 -0
  319. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_types.py +0 -0
  320. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/unit/worker_based/test_worker.py +0 -0
  321. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/tests/utils.py +0 -0
  322. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/__init__.py +0 -0
  323. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/entity.py +0 -0
  324. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/failure.py +0 -0
  325. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/graph.py +0 -0
  326. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/latch.py +0 -0
  327. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/notifier.py +0 -0
  328. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/sets.py +0 -0
  329. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/timing.py +0 -0
  330. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/types/tree.py +0 -0
  331. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/__init__.py +0 -0
  332. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/async_utils.py +0 -0
  333. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/banner.py +0 -0
  334. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/eventlet_utils.py +0 -0
  335. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/iter_utils.py +0 -0
  336. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/kazoo_utils.py +0 -0
  337. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/kombu_utils.py +0 -0
  338. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/misc.py +0 -0
  339. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/persistence_utils.py +0 -0
  340. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/redis_utils.py +0 -0
  341. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/schema_utils.py +0 -0
  342. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/utils/threading_utils.py +0 -0
  343. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow/version.py +0 -0
  344. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/dependency_links.txt +0 -0
  345. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/entry_points.txt +0 -0
  346. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/not-zip-safe +0 -0
  347. {taskflow-5.6.0 → taskflow-5.8.0}/taskflow.egg-info/top_level.txt +0 -0
  348. {taskflow-5.6.0 → taskflow-5.8.0}/tools/clear_zk.sh +0 -0
  349. {taskflow-5.6.0 → taskflow-5.8.0}/tools/env_builder.sh +0 -0
  350. {taskflow-5.6.0 → taskflow-5.8.0}/tools/pretty_tox.sh +0 -0
  351. {taskflow-5.6.0 → taskflow-5.8.0}/tools/speed_test.py +0 -0
  352. {taskflow-5.6.0 → taskflow-5.8.0}/tools/subunit_trace.py +0 -0
  353. {taskflow-5.6.0 → taskflow-5.8.0}/tools/test-setup.sh +0 -0
@@ -0,0 +1,30 @@
1
+ - job:
2
+ name: taskflow-functional
3
+ parent: openstack-tox
4
+ abstract: true
5
+ pre-run: playbooks/tests/functional/pre.yml
6
+ vars:
7
+ tox_envlist: functional
8
+
9
+ - job:
10
+ name: taskflow-functional-redis
11
+ parent: taskflow-functional
12
+ vars:
13
+ tox_environment:
14
+ PIFPAF_DAEMON: redis
15
+
16
+ - project:
17
+ templates:
18
+ - check-requirements
19
+ - lib-forward-testing-python3
20
+ - openstack-cover-jobs
21
+ - openstack-python3-jobs
22
+ - periodic-stable-jobs
23
+ - publish-openstack-docs-pti
24
+ - release-notes-jobs-python3
25
+ check:
26
+ jobs:
27
+ - taskflow-functional-redis
28
+ gate:
29
+ jobs:
30
+ - taskflow-functional-redis
@@ -16,6 +16,7 @@ Christian Berendt <berendt@b1-systems.de>
16
16
  Chuck Short <chuck.short@canonical.com>
17
17
  Corey Bryant <corey.bryant@canonical.com>
18
18
  Cyril Roelandt <cyril.roelandt@enovance.com>
19
+ Cyril Roelandt <cyril@redhat.com>
19
20
  Dan Krause <dan.krause@rackspace.com>
20
21
  Daniel Bengtsson <dbengt@redhat.com>
21
22
  Davanum Srinivas <davanum@gmail.com>
@@ -1,12 +1,25 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
- 5.6.0
4
+ 5.8.0
5
5
  -----
6
6
 
7
+ * Python3.12: disable process\_executor, which depends on asyncore
8
+ * Remove SQLAlchemy tips jobs
9
+ * Remove old excludes
10
+ * Remove assertRaisesRegex
11
+ * Replace deprecated Engine.execute
12
+
13
+ 5.7.0
14
+ -----
15
+
16
+ * Add functional job with redis enabled
17
+ * db: Don't rely on branched connections
18
+ * Fix broken unit tests for redis jobboard driver
19
+ * Fix update-states target
7
20
  * Revert "Use consistent credential for Redis and Redis Sentinel"
8
- * Update TOX\_CONSTRAINTS\_FILE for stable/2024.1
9
- * Update .gitreview for stable/2024.1
21
+ * Update master for stable/2024.1
22
+ * reno: Update master for unmaintained/victoria
10
23
 
11
24
  5.5.0
12
25
  -----
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskflow
3
- Version: 5.6.0
3
+ Version: 5.8.0
4
4
  Summary: Taskflow structured state management library.
5
5
  Home-page: https://docs.openstack.org/taskflow/latest/
6
6
  Author: OpenStack
@@ -15,3 +15,7 @@ mysql-server [platform:dpkg !platform:debian]
15
15
  postgresql
16
16
  postgresql-client [platform:dpkg]
17
17
  libpq-dev [platform:dpkg]
18
+
19
+ redis [platform:rpm tests-functional-redis]
20
+ redis-server [platform:dpkg tests-functional-redis]
21
+ redis-sentinel [platform:dpkg tests-functional-redis]
@@ -0,0 +1,4 @@
1
+ sphinx>=2.0.0 # BSD
2
+ openstackdocstheme>=2.2.1 # Apache-2.0
3
+ reno>=3.1.0 # Apache-2.0
4
+ doc8>=0.6.0 # Apache-2.0
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
3
+ <!-- Generated by graphviz version 7.1.0 (0)
4
+ -->
5
+ <!-- Title: Engines states Pages: 1 -->
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="751pt" height="370pt" viewBox="0.00 0.00 750.69 370.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 366)"><polygon fill="white" stroke="none" points="-4,4 -4,-366 746.69,-366 746.69,4 -4,4"/><title>Engines states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="484.76" cy="-236" rx="51.93" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.76" cy="-236" rx="51.93" ry="18" style="fill: url(#none);stroke: black;"/><title>GAME_OVER</title><text text-anchor="middle" x="484.76" y="-233.2" font-family="Times,serif" font-size="11.00" fill="blue">GAME_OVER</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="693.98" cy="-344" rx="44.5" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="693.98" cy="-344" rx="44.5" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTED</title><text text-anchor="middle" x="693.98" y="-341.2" font-family="Times,serif" font-size="11.00" fill="darkorange">REVERTED</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="644.77,-333.4 655.36,-333.14 646.92,-326.74 644.77,-333.4" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M504.06,-253.15C517.67,-265.22 537.12,-281.1 556.27,-292 584.6,-308.11 618.87,-321.14 646.02,-330.12" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="644.77,-333.4 655.36,-333.14 646.92,-326.74 644.77,-333.4" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M504.06,-253.15C517.67,-265.22 537.12,-281.1 556.27,-292 584.6,-308.11 618.87,-321.14 646.02,-330.12"/><title>GAME_OVER-&gt;REVERTED</title><text text-anchor="middle" x="591.77" y="-325.8" font-family="Times,serif" font-size="14.00" fill="darkorange">reverted</text></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="693.98" cy="-290" rx="39.17" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="693.98" cy="-290" rx="39.17" ry="18" style="fill: url(#none);stroke: black;"/><title>SUCCESS</title><text text-anchor="middle" x="693.98" y="-287.2" font-family="Times,serif" font-size="11.00" fill="green">SUCCESS</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="646.94,-281.98 657.5,-281.04 648.66,-275.19 646.94,-281.98" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M526.38,-247.04C536.16,-249.67 546.59,-252.45 556.27,-255 586.86,-263.03 621.35,-271.86 648.04,-278.64" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="646.94,-281.98 657.5,-281.04 648.66,-275.19 646.94,-281.98" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M526.38,-247.04C536.16,-249.67 546.59,-252.45 556.27,-255 586.86,-263.03 621.35,-271.86 648.04,-278.64"/><title>GAME_OVER-&gt;SUCCESS</title><text text-anchor="middle" x="591.77" y="-276.8" font-family="Times,serif" font-size="14.00" fill="green">success</text></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="693.98" cy="-236" rx="48.92" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="693.98" cy="-236" rx="48.92" ry="18" style="fill: url(#none);stroke: black;"/><title>SUSPENDED</title><text text-anchor="middle" x="693.98" y="-233.2" font-family="Times,serif" font-size="11.00">SUSPENDED</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="633.32,-239.5 643.32,-236 633.32,-232.5 633.32,-239.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M536.98,-236C566.21,-236 602.98,-236 633.48,-236" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="633.32,-239.5 643.32,-236 633.32,-232.5 633.32,-239.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M536.98,-236C566.21,-236 602.98,-236 633.48,-236"/><title>GAME_OVER-&gt;SUSPENDED</title><text text-anchor="middle" x="591.77" y="-239.8" font-family="Times,serif" font-size="14.00">suspended</text></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="693.98" cy="-182" rx="37.77" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="693.98" cy="-182" rx="37.77" ry="18" style="fill: url(#none);stroke: black;"/><title>FAILURE</title><text text-anchor="middle" x="693.98" y="-179.2" font-family="Times,serif" font-size="11.00" fill="red">FAILURE</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="649.78,-196.52 658.61,-190.67 648.06,-189.74 649.78,-196.52" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M526.38,-224.96C536.16,-222.33 546.59,-219.55 556.27,-217 587.27,-208.86 622.29,-199.9 649.12,-193.08" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="649.78,-196.52 658.61,-190.67 648.06,-189.74 649.78,-196.52" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M526.38,-224.96C536.16,-222.33 546.59,-219.55 556.27,-217 587.27,-208.86 622.29,-199.9 649.12,-193.08"/><title>GAME_OVER-&gt;FAILURE</title><text text-anchor="middle" x="591.77" y="-220.8" font-family="Times,serif" font-size="14.00" fill="red">failed</text></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="112.91" cy="-18" rx="48.92" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="112.91" cy="-18" rx="48.92" ry="18" style="fill: url(#none);stroke: black;"/><title>UNDEFINED</title><text text-anchor="middle" x="112.91" y="-15.2" font-family="Times,serif" font-size="11.00" fill="blue">UNDEFINED</text></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="270.93" cy="-18" rx="45.2" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="270.93" cy="-18" rx="45.2" ry="18" style="fill: url(#none);stroke: black;"/><title>RESUMING</title><text text-anchor="middle" x="270.93" y="-15.2" font-family="Times,serif" font-size="11.00">RESUMING</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="213.94,-21.5 223.94,-18 213.94,-14.5 213.94,-21.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M161.99,-18C178.43,-18 196.96,-18 213.97,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="213.94,-21.5 223.94,-18 213.94,-14.5 213.94,-21.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M161.99,-18C178.43,-18 196.96,-18 213.97,-18"/><title>UNDEFINED-&gt;RESUMING</title><text text-anchor="middle" x="191.62" y="-21.8" font-family="Times,serif" font-size="14.00">start</text></g><g id="node9" class="node"><ellipse fill="none" stroke="black" cx="484.76" cy="-99" rx="53.54" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="484.76" cy="-99" rx="53.54" ry="18" style="fill: url(#none);stroke: black;"/><title>SCHEDULING</title><text text-anchor="middle" x="484.76" y="-96.2" font-family="Times,serif" font-size="11.00">SCHEDULING</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="436.25,-84.58 446.84,-84.88 438.75,-78.04 436.25,-84.58" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M304.56,-30.48C340.17,-44.1 397.47,-66 437.66,-81.37" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="436.25,-84.58 446.84,-84.88 438.75,-78.04 436.25,-84.58" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M304.56,-30.48C340.17,-44.1 397.47,-66 437.66,-81.37"/><title>RESUMING-&gt;SCHEDULING</title><text text-anchor="middle" x="375.74" y="-73.8" font-family="Times,serif" font-size="14.00">schedule next</text></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="270.93" cy="-169" rx="49.12" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="270.93" cy="-169" rx="49.12" ry="18" style="fill: url(#none);stroke: black;"/><title>ANALYZING</title><text text-anchor="middle" x="270.93" y="-166.2" font-family="Times,serif" font-size="11.00">ANALYZING</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="423.98,-230.83 434.44,-229.11 425.19,-223.93 423.98,-230.83" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M296.63,-184.62C308.77,-191.72 323.86,-199.69 338.24,-205 365.91,-215.21 397.84,-222.48 424.74,-227.4" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="423.98,-230.83 434.44,-229.11 425.19,-223.93 423.98,-230.83" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M296.63,-184.62C308.77,-191.72 323.86,-199.69 338.24,-205 365.91,-215.21 397.84,-222.48 424.74,-227.4"/><title>ANALYZING-&gt;GAME_OVER</title><text text-anchor="middle" x="375.74" y="-228.8" font-family="Times,serif" font-size="14.00">completed</text></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="435.84,-118.52 444.24,-112.06 433.64,-111.87 435.84,-118.52" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M308.34,-156.97C343.37,-145.39 396.57,-127.81 435.19,-115.05" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="435.84,-118.52 444.24,-112.06 433.64,-111.87 435.84,-118.52" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M308.34,-156.97C343.37,-145.39 396.57,-127.81 435.19,-115.05"/><title>ANALYZING-&gt;SCHEDULING</title><text text-anchor="middle" x="375.74" y="-149.8" font-family="Times,serif" font-size="14.00">schedule next</text></g><g id="node10" class="node"><ellipse fill="none" stroke="black" cx="693.98" cy="-99" rx="39.17" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="693.98" cy="-99" rx="39.17" ry="18" style="fill: url(#none);stroke: black;"/><title>WAITING</title><text text-anchor="middle" x="693.98" y="-96.2" font-family="Times,serif" font-size="11.00">WAITING</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="651.02,-115.71 659.67,-109.59 649.09,-108.98 651.02,-115.71" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M318.86,-164.37C387.21,-157.14 517.91,-141.54 627.27,-118 634.76,-116.39 642.65,-114.38 650.26,-112.28" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="651.02,-115.71 659.67,-109.59 649.09,-108.98 651.02,-115.71" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M318.86,-164.37C387.21,-157.14 517.91,-141.54 627.27,-118 634.76,-116.39 642.65,-114.38 650.26,-112.28"/><title>ANALYZING-&gt;WAITING</title><text text-anchor="middle" x="484.76" y="-153.8" font-family="Times,serif" font-size="14.00">wait finished</text></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="642.81,-102.5 652.81,-99 642.81,-95.5 642.81,-102.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M538.58,-99C570.73,-99 611.54,-99 643.13,-99" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="642.81,-102.5 652.81,-99 642.81,-95.5 642.81,-102.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M538.58,-99C570.73,-99 611.54,-99 643.13,-99"/><title>SCHEDULING-&gt;WAITING</title><text text-anchor="middle" x="591.77" y="-102.8" font-family="Times,serif" font-size="14.00">wait finished</text></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="294.45,-141.36 289.66,-150.81 299.3,-146.41 294.45,-141.36" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M665.24,-86.32C616.77,-65.97 513.95,-30.83 431.24,-57 377.25,-74.08 325.72,-116.74 296.54,-144.21" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="294.45,-141.36 289.66,-150.81 299.3,-146.41 294.45,-141.36" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M665.24,-86.32C616.77,-65.97 513.95,-30.83 431.24,-57 377.25,-74.08 325.72,-116.74 296.54,-144.21"/><title>WAITING-&gt;ANALYZING</title><text text-anchor="middle" x="484.76" y="-60.8" font-family="Times,serif" font-size="14.00">examine finished</text></g><g id="node11" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><title>__start__</title><text text-anchor="middle" x="10" y="-5.6" font-family="Times,serif" font-size="11.00" fill="green">start</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="52.06,-21.5 62.06,-18 52.06,-14.5 52.06,-21.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5,-18C32.03,-18 41.39,-18 52.29,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="52.06,-21.5 62.06,-18 52.06,-14.5 52.06,-21.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5,-18C32.03,-18 41.39,-18 52.29,-18"/><title>__start__-&gt;UNDEFINED</title></g></g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
3
+ <!-- Generated by graphviz version 7.1.0 (0)
4
+ -->
5
+ <!-- Title: Flow states Pages: 1 -->
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="669pt" height="325pt" viewBox="0.00 0.00 668.61 324.56" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 320.56)"><polygon fill="white" stroke="none" points="-4,4 -4,-320.56 664.61,-320.56 664.61,4 -4,4"/><title>Flow states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.89" cy="-26.56" rx="39.88" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.89" cy="-26.56" rx="39.88" ry="18" style="fill: url(#none);stroke: black;"/><title>PENDING</title><text text-anchor="middle" x="102.89" y="-23.76" font-family="Times,serif" font-size="11.00">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.07" cy="-158.56" rx="41.48" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.07" cy="-158.56" rx="41.48" ry="18" style="fill: url(#none);stroke: black;"/><title>RUNNING</title><text text-anchor="middle" x="220.07" y="-155.76" font-family="Times,serif" font-size="11.00">RUNNING</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="194.1,-135.27 203.31,-140.5 199.37,-130.67 194.1,-135.27" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M118.71,-43.55C138.58,-66.32 174.01,-106.93 197.02,-133.29" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="194.1,-135.27 203.31,-140.5 199.37,-130.67 194.1,-135.27" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M118.71,-43.55C138.58,-66.32 174.01,-106.93 197.02,-133.29"/><title>PENDING-&gt;RUNNING</title></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="349.28" cy="-298.56" rx="51.93" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="349.28" cy="-298.56" rx="51.93" ry="18" style="fill: url(#none);stroke: black;"/><title>SUSPENDING</title><text text-anchor="middle" x="349.28" y="-295.76" font-family="Times,serif" font-size="11.00">SUSPENDING</text></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="308.23,-279.79 318.49,-282.44 312.12,-273.97 308.23,-279.79" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M230.66,-176.24C243.64,-199.05 268.55,-239.06 297.56,-266.56 301.46,-270.26 305.86,-273.77 310.38,-277.02" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="308.23,-279.79 318.49,-282.44 312.12,-273.97 308.23,-279.79" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M230.66,-176.24C243.64,-199.05 268.55,-239.06 297.56,-266.56 301.46,-270.26 305.86,-273.77 310.38,-277.02"/><title>RUNNING-&gt;SUSPENDING</title></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="482.09" cy="-204.56" rx="45.2" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.09" cy="-204.56" rx="45.2" ry="18" style="fill: url(#none);stroke: black;"/><title>RESUMING</title><text text-anchor="middle" x="482.09" y="-201.76" font-family="Times,serif" font-size="11.00">RESUMING</text></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="427.95,-198.97 438.4,-197.22 429.14,-192.07 427.95,-198.97" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M258.8,-165.53C271.15,-167.8 284.94,-170.31 297.56,-172.56 341.85,-180.48 392.2,-189.24 428.95,-195.59" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="427.95,-198.97 438.4,-197.22 429.14,-192.07 427.95,-198.97" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M258.8,-165.53C271.15,-167.8 284.94,-170.31 297.56,-172.56 341.85,-180.48 392.2,-189.24 428.95,-195.59"/><title>RUNNING-&gt;RESUMING</title></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="482.09" cy="-112.56" rx="44.5" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.09" cy="-112.56" rx="44.5" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTED</title><text text-anchor="middle" x="482.09" y="-109.76" font-family="Times,serif" font-size="11.00" fill="darkorange">REVERTED</text></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="429.87,-124.93 439.12,-119.78 428.67,-118.03 429.87,-124.93" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M258.8,-151.59C271.15,-149.33 284.94,-146.82 297.56,-144.56 342.14,-136.6 392.86,-127.77 429.66,-121.41" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="429.87,-124.93 439.12,-119.78 428.67,-118.03 429.87,-124.93" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M258.8,-151.59C271.15,-149.33 284.94,-146.82 297.56,-144.56 342.14,-136.6 392.86,-127.77 429.66,-121.41"/><title>RUNNING-&gt;REVERTED</title></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="482.09" cy="-58.56" rx="39.17" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.09" cy="-58.56" rx="39.17" ry="18" style="fill: url(#none);stroke: black;"/><title>SUCCESS</title><text text-anchor="middle" x="482.09" y="-55.76" font-family="Times,serif" font-size="11.00" fill="green">SUCCESS</text></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="433.93,-69.82 442.65,-63.8 432.08,-63.07 433.93,-69.82" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M239.07,-142.25C254.42,-132.82 277.18,-121.89 297.56,-113.56 342.86,-95.07 395.72,-76.99 433.05,-66.43" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="433.93,-69.82 442.65,-63.8 432.08,-63.07 433.93,-69.82" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M239.07,-142.25C254.42,-132.82 277.18,-121.89 297.56,-113.56 342.86,-95.07 395.72,-76.99 433.05,-66.43"/><title>RUNNING-&gt;SUCCESS</title></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="482.09" cy="-258.56" rx="37.77" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="482.09" cy="-258.56" rx="37.77" ry="18" style="fill: url(#none);stroke: black;"/><title>FAILURE</title><text text-anchor="middle" x="482.09" y="-255.76" font-family="Times,serif" font-size="11.00" fill="red">FAILURE</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="444.45,-244 455.04,-244.4 447.01,-237.48 444.45,-244" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M256.53,-167.73C269.33,-173.31 283.97,-180.02 297.56,-185.56 348.46,-206.35 408.9,-226.6 446.13,-240.9" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="444.45,-244 455.04,-244.4 447.01,-237.48 444.45,-244" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M256.53,-167.73C269.33,-173.31 283.97,-180.02 297.56,-185.56 348.46,-206.35 408.9,-226.6 446.13,-240.9"/><title>RUNNING-&gt;FAILURE</title></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="447.73,-228.62 454.32,-220.33 444,-222.7 447.73,-228.62" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M370.48,-281.95C387.76,-267.98 413.5,-247.76 436.99,-231.56 439.86,-229.59 442.86,-227.59 445.9,-225.63" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="447.73,-228.62 454.32,-220.33 444,-222.7 447.73,-228.62" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M370.48,-281.95C387.76,-267.98 413.5,-247.76 436.99,-231.56 439.86,-229.59 442.86,-227.59 445.9,-225.63"/><title>SUSPENDING-&gt;RESUMING</title></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="611.9" cy="-204.56" rx="48.92" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="611.9" cy="-204.56" rx="48.92" ry="18" style="fill: url(#none);stroke: black;"/><title>SUSPENDED</title><text text-anchor="middle" x="611.9" y="-201.76" font-family="Times,serif" font-size="11.00">SUSPENDED</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="594.45,-233.36 597.83,-223.32 588.92,-229.06 594.45,-233.36" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M399.38,-303.71C436.15,-305.53 486.86,-303.63 527.19,-285.56 553.56,-273.75 576.57,-249.9 591.75,-231.12" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="594.45,-233.36 597.83,-223.32 588.92,-229.06 594.45,-233.36" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M399.38,-303.71C436.15,-305.53 486.86,-303.63 527.19,-285.56 553.56,-273.75 576.57,-249.9 591.75,-231.12"/><title>SUSPENDING-&gt;SUSPENDED</title></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="465.02,-141.5 467.91,-131.31 459.29,-137.48 465.02,-141.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M362.82,-280.73C385.93,-247.87 435.34,-177.62 462.41,-139.13" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="465.02,-141.5 467.91,-131.31 459.29,-137.48 465.02,-141.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M362.82,-280.73C385.93,-247.87 435.34,-177.62 462.41,-139.13"/><title>SUSPENDING-&gt;REVERTED</title></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="446.5,-81.1 452.58,-72.42 442.42,-75.41 446.5,-81.1" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M353.67,-280.3C361.81,-240.76 385.69,-145.97 436.99,-85.56 439.24,-82.91 441.82,-80.45 444.58,-78.17" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="446.5,-81.1 452.58,-72.42 442.42,-75.41 446.5,-81.1" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M353.67,-280.3C361.81,-240.76 385.69,-145.97 436.99,-85.56 439.24,-82.91 441.82,-80.45 444.58,-78.17"/><title>SUSPENDING-&gt;SUCCESS</title></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="439.6,-274.91 448.14,-268.64 437.56,-268.22 439.6,-274.91" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M389.17,-286.67C404.84,-281.88 422.94,-276.34 438.92,-271.46" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="439.6,-274.91 448.14,-268.64 437.56,-268.22 439.6,-274.91" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M389.17,-286.67C404.84,-281.88 422.94,-276.34 438.92,-271.46"/><title>SUSPENDING-&gt;FAILURE</title></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="551.01,-208.06 561.01,-204.56 551.01,-201.06 551.01,-208.06" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M527.79,-204.56C535.34,-204.56 543.28,-204.56 551.13,-204.56" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="551.01,-208.06 561.01,-204.56 551.01,-201.06 551.01,-208.06" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M527.79,-204.56C535.34,-204.56 543.28,-204.56 551.13,-204.56"/><title>RESUMING-&gt;SUSPENDED</title></g><g id="edge14" class="edge"><polygon fill="black" stroke="black" points="273.09,-154.36 263.09,-157.88 273.1,-161.36 273.09,-154.36" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M577.19,-191.56C562.12,-186.31 544,-180.74 527.19,-177.56 438.96,-160.87 334.14,-157.93 272.87,-157.86" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="273.09,-154.36 263.09,-157.88 273.1,-161.36 273.09,-154.36" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M577.19,-191.56C562.12,-186.31 544,-180.74 527.19,-177.56 438.96,-160.87 334.14,-157.93 272.87,-157.86"/><title>SUSPENDED-&gt;RUNNING</title></g><g id="edge15" class="edge"><polygon fill="black" stroke="black" points="151.04,-33.72 140.51,-34.91 149.48,-40.55 151.04,-33.72" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M442.54,-103.77C372.61,-87.83 225.16,-54.21 150.02,-37.08" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="151.04,-33.72 140.51,-34.91 149.48,-40.55 151.04,-33.72" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M442.54,-103.77C372.61,-87.83 225.16,-54.21 150.02,-37.08"/><title>REVERTED-&gt;PENDING</title></g><g id="edge17" class="edge"><polygon fill="black" stroke="black" points="149.04,-12.49 139.95,-17.94 150.46,-19.34 149.04,-12.49" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M461,-43.04C445.55,-32.13 423.15,-18.47 400.99,-12.56 314.46,10.52 208.81,-4.1 149.66,-15.93" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="149.04,-12.49 139.95,-17.94 150.46,-19.34 149.04,-12.49" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M461,-43.04C445.55,-32.13 423.15,-18.47 400.99,-12.56 314.46,10.52 208.81,-4.1 149.66,-15.93"/><title>SUCCESS-&gt;PENDING</title></g><g id="edge16" class="edge"><polygon fill="black" stroke="black" points="265.65,-141.55 257.91,-148.79 268.48,-147.96 265.65,-141.55" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M455.85,-72.42C420.18,-86.78 353.17,-108.86 297.56,-131.56 287.48,-135.68 276.81,-140.44 266.75,-144.9" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="265.65,-141.55 257.91,-148.79 268.48,-147.96 265.65,-141.55" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M455.85,-72.42C420.18,-86.78 353.17,-108.86 297.56,-131.56 287.48,-135.68 276.81,-140.44 266.75,-144.9"/><title>SUCCESS-&gt;RUNNING</title></g><g id="edge13" class="edge"><polygon fill="black" stroke="black" points="250.78,-177.63 240.38,-175.64 247.27,-183.68 250.78,-177.63" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M445.15,-254C407.85,-244.25 348.01,-224.17 297.56,-203.56 281.16,-196.87 263.22,-188.48 248.84,-180.55" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="250.78,-177.63 240.38,-175.64 247.27,-183.68 250.78,-177.63" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M445.15,-254C407.85,-244.25 348.01,-224.17 297.56,-203.56 281.16,-196.87 263.22,-188.48 248.84,-180.55"/><title>FAILURE-&gt;RUNNING</title></g><g id="node9" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-26.56" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-26.56" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><title>__start__</title><text text-anchor="middle" x="10" y="-14.16" font-family="Times,serif" font-size="11.00" fill="green">start</text></g><g id="edge18" class="edge"><polygon fill="black" stroke="black" points="51.33,-30.06 61.33,-26.56 51.33,-23.06 51.33,-30.06" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-26.56C31.99,-26.56 41.04,-26.56 51.33,-26.56" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="51.33,-30.06 61.33,-26.56 51.33,-23.06 51.33,-30.06" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-26.56C31.99,-26.56 41.04,-26.56 51.33,-26.56"/><title>__start__-&gt;PENDING</title></g></g>
8
+ </svg>
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
3
- <!-- Generated by graphviz version 2.36.0 (20140111.2315)
3
+ <!-- Generated by graphviz version 7.1.0 (0)
4
4
  -->
5
5
  <!-- Title: Jobs states Pages: 1 -->
6
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="418pt" height="44pt" viewBox="0.00 0.00 417.60 44.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
- <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"><polygon fill="white" stroke="none" points="-4,4 -4,-40 413.6,-40 413.6,4 -4,4"/><title>Jobs states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="114.6" cy="-18" rx="50.5248" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="114.6" cy="-18" rx="50.5248" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="114.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:sans-serif;">UNCLAIMED</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="242.6" cy="-18" rx="40.7822" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="242.6" cy="-18" rx="40.7822" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="242.6" y="-15.2" font-family="Times,serif" font-size="11.00" style="font-size:10px; font-family:sans-serif;">CLAIMED</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="193.955,-14.9345 204.065,-11.7661 194.186,-7.9383 193.955,-14.9345" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M161.802,-11.4679C172.232,-11.1913 183.325,-11.178 193.818,-11.4282" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="193.955,-14.9345 204.065,-11.7661 194.186,-7.9383 193.955,-14.9345" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M161.802,-11.4679C172.232,-11.1913 183.325,-11.178 193.818,-11.4282"/></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="171.864,-21.2135 161.802,-24.5321 171.737,-28.2123 171.864,-21.2135" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M204.065,-24.2339C194.008,-24.6641 182.909,-24.8253 172.071,-24.7177" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="171.864,-21.2135 161.802,-24.5321 171.737,-28.2123 171.864,-21.2135" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M204.065,-24.2339C194.008,-24.6641 182.909,-24.8253 172.071,-24.7177"/></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="364.6" cy="-18" rx="45.2009" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="364.6" cy="-18" rx="45.2009" ry="18" style="fill: url(#none);stroke: black;"/><text text-anchor="middle" x="364.6" y="-15.2" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:sans-serif;">COMPLETE</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="309.268,-21.5001 319.268,-18 309.268,-14.5001 309.268,-21.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M283.558,-18C291.791,-18 300.592,-18 309.236,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="309.268,-21.5001 319.268,-18 309.268,-14.5001 309.268,-21.5001" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M283.558,-18C291.791,-18 300.592,-18 309.236,-18"/></g><g id="node4" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><text text-anchor="middle" x="10" y="-5.6" font-family="Times,serif" font-size="11.00" fill="green" style="font-size:10px; font-family:sans-serif;">start</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="53.8715,-21.5001 63.8715,-18 53.8714,-14.5001 53.8715,-21.5001" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5612,-18C32.2735,-18 42.1213,-18 53.5317,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="53.8715,-21.5001 63.8715,-18 53.8714,-14.5001 53.8715,-21.5001" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.5612,-18C32.2735,-18 42.1213,-18 53.5317,-18"/></g></g>
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="416pt" height="44pt" viewBox="0.00 0.00 416.21 44.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"><polygon fill="white" stroke="none" points="-4,4 -4,-40 412.21,-40 412.21,4 -4,4"/><title>Jobs states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="113.71" cy="-18" rx="50.52" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="113.71" cy="-18" rx="50.52" ry="18" style="fill: url(#none);stroke: black;"/><title>UNCLAIMED</title><text text-anchor="middle" x="113.71" y="-15.2" font-family="Times,serif" font-size="11.00">UNCLAIMED</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="241.12" cy="-18" rx="40.78" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="241.12" cy="-18" rx="40.78" ry="18" style="fill: url(#none);stroke: black;"/><title>CLAIMED</title><text text-anchor="middle" x="241.12" y="-15.2" font-family="Times,serif" font-size="11.00">CLAIMED</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="190.76,-14.89 200.87,-11.7 190.98,-7.89 190.76,-14.89" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M161.41,-11.45C171.12,-11.2 181.38,-11.18 191.17,-11.4" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="190.76,-14.89 200.87,-11.7 190.98,-7.89 190.76,-14.89" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M161.41,-11.45C171.12,-11.2 181.38,-11.18 191.17,-11.4"/><title>UNCLAIMED-&gt;CLAIMED</title></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="172.98,-21.24 162.92,-24.58 172.86,-28.24 172.98,-21.24" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M202.38,-24.25C193.01,-24.65 182.76,-24.81 172.67,-24.73" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="172.98,-21.24 162.92,-24.58 172.86,-28.24 172.98,-21.24" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M202.38,-24.25C193.01,-24.65 182.76,-24.81 172.67,-24.73"/><title>CLAIMED-&gt;UNCLAIMED</title></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="363.11" cy="-18" rx="45.2" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="363.11" cy="-18" rx="45.2" ry="18" style="fill: url(#none);stroke: black;"/><title>COMPLETE</title><text text-anchor="middle" x="363.11" y="-15.2" font-family="Times,serif" font-size="11.00" fill="green">COMPLETE</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="306.26,-21.5 316.26,-18 306.26,-14.5 306.26,-21.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M282.07,-18C289.86,-18 298.15,-18 306.34,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="306.26,-21.5 316.26,-18 306.26,-14.5 306.26,-21.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M282.07,-18C289.86,-18 298.15,-18 306.34,-18"/><title>CLAIMED-&gt;COMPLETE</title></g><g id="node4" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-18" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><title>__start__</title><text text-anchor="middle" x="10" y="-5.6" font-family="Times,serif" font-size="11.00" fill="green">start</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="51.51,-21.5 61.51,-18 51.51,-14.5 51.51,-21.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.53,-18C31.96,-18 40.99,-18 51.56,-18" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="51.51,-21.5 61.51,-18 51.51,-14.5 51.51,-21.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.53,-18C31.96,-18 40.99,-18 51.56,-18"/><title>__start__-&gt;UNCLAIMED</title></g></g>
8
8
  </svg>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
3
+ <!-- Generated by graphviz version 7.1.0 (0)
4
+ -->
5
+ <!-- Title: Retries states Pages: 1 -->
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="685pt" height="160pt" viewBox="0.00 0.00 685.45 160.24" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 156.24)"><polygon fill="white" stroke="none" points="-4,4 -4,-156.24 681.45,-156.24 681.45,4 -4,4"/><title>Retries states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.89" cy="-88.24" rx="39.88" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.89" cy="-88.24" rx="39.88" ry="18" style="fill: url(#none);stroke: black;"/><title>PENDING</title><text text-anchor="middle" x="102.89" y="-85.44" font-family="Times,serif" font-size="11.00">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.07" cy="-115.24" rx="35.46" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.07" cy="-115.24" rx="35.46" ry="18" style="fill: url(#none);stroke: black;"/><title>IGNORE</title><text text-anchor="middle" x="220.07" y="-112.44" font-family="Times,serif" font-size="11.00">IGNORE</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="180.63,-103.44 191.21,-102.85 182.56,-96.72 180.63,-103.44" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M142.56,-90.89C155.17,-93.38 169.14,-96.67 181.66,-100.1" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="180.63,-103.44 191.21,-102.85 182.56,-96.72 180.63,-103.44" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M142.56,-90.89C155.17,-93.38 169.14,-96.67 181.66,-100.1"/><title>PENDING-&gt;IGNORE</title></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="220.07" cy="-61.24" rx="41.48" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.07" cy="-61.24" rx="41.48" ry="18" style="fill: url(#none);stroke: black;"/><title>RUNNING</title><text text-anchor="middle" x="220.07" y="-58.44" font-family="Times,serif" font-size="11.00">RUNNING</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="172.71,-75.7 181.65,-70.01 171.11,-68.88 172.71,-75.7" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M138.76,-80.06C149.29,-77.59 161.02,-74.84 172.2,-72.22" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="172.71,-75.7 181.65,-70.01 171.11,-68.88 172.71,-75.7" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M138.76,-80.06C149.29,-77.59 161.02,-74.84 172.2,-72.22"/><title>PENDING-&gt;RUNNING</title></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="144.39,-100.59 133.82,-101.24 142.49,-107.33 144.39,-100.59" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M184.35,-113.35C171.37,-110.9 156.53,-107.49 143.17,-103.88" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="144.39,-100.59 133.82,-101.24 142.49,-107.33 144.39,-100.59" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M184.35,-113.35C171.37,-110.9 156.53,-107.49 143.17,-103.88"/><title>IGNORE-&gt;PENDING</title></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="336.65" cy="-134.24" rx="37.77" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.65" cy="-134.24" rx="37.77" ry="18" style="fill: url(#none);stroke: black;"/><title>FAILURE</title><text text-anchor="middle" x="336.65" y="-131.44" font-family="Times,serif" font-size="11.00" fill="red">FAILURE</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="301.41,-116.57 311.72,-118.99 305.17,-110.67 301.41,-116.57" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M244.53,-76.19C261.51,-87 284.68,-101.76 303.4,-113.69" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="301.41,-116.57 311.72,-118.99 305.17,-110.67 301.41,-116.57" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M244.53,-76.19C261.51,-87 284.68,-101.76 303.4,-113.69"/><title>RUNNING-&gt;FAILURE</title></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="336.65" cy="-80.24" rx="39.17" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.65" cy="-80.24" rx="39.17" ry="18" style="fill: url(#none);stroke: black;"/><title>SUCCESS</title><text text-anchor="middle" x="336.65" y="-77.44" font-family="Times,serif" font-size="11.00" fill="green">SUCCESS</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="287.28,-75.76 297.72,-73.95 288.43,-68.86 287.28,-75.76" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M259.22,-67.56C268.49,-69.1 278.51,-70.76 288.14,-72.36" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="287.28,-75.76 297.72,-73.95 288.43,-68.86 287.28,-75.76" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M259.22,-67.56C268.49,-69.1 278.51,-70.76 288.14,-72.36"/><title>RUNNING-&gt;SUCCESS</title></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="459.84" cy="-96.24" rx="48.21" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.84" cy="-96.24" rx="48.21" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTING</title><text text-anchor="middle" x="459.84" y="-93.44" font-family="Times,serif" font-size="11.00">REVERTING</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="412.2,-114.53 420.7,-108.2 410.11,-107.85 412.2,-114.53" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M368.86,-124.45C381.82,-120.38 397.16,-115.58 411.46,-111.09" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="412.2,-114.53 420.7,-108.2 410.11,-107.85 412.2,-114.53" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M368.86,-124.45C381.82,-120.38 397.16,-115.58 411.46,-111.09"/><title>FAILURE-&gt;REVERTING</title></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="402.06,-92.27 412.43,-90.11 402.98,-85.33 402.06,-92.27" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M374.67,-85.12C383.48,-86.29 393.07,-87.55 402.53,-88.8" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="402.06,-92.27 412.43,-90.11 402.98,-85.33 402.06,-92.27" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M374.67,-85.12C383.48,-86.29 393.07,-87.55 402.53,-88.8"/><title>SUCCESS-&gt;REVERTING</title></g><g id="node9" class="node"><ellipse fill="none" stroke="black" cx="459.84" cy="-42.24" rx="43.8" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.84" cy="-42.24" rx="43.8" ry="18" style="fill: url(#none);stroke: black;"/><title>RETRYING</title><text text-anchor="middle" x="459.84" y="-39.44" font-family="Times,serif" font-size="11.00">RETRYING</text></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="414.47,-59.82 422.96,-53.49 412.37,-53.14 414.47,-59.82" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M369.81,-70.15C383.22,-65.95 399.03,-60.99 413.59,-56.43" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="414.47,-59.82 422.96,-53.49 412.37,-53.14 414.47,-59.82" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M369.81,-70.15C383.22,-65.95 399.03,-60.99 413.59,-56.43"/><title>SUCCESS-&gt;RETRYING</title></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="610.7" cy="-96.24" rx="67" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="610.7" cy="-96.24" rx="67" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERT_FAILURE</title><text text-anchor="middle" x="610.7" y="-93.44" font-family="Times,serif" font-size="11.00" fill="red">REVERT_FAILURE</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="531.86,-99.74 541.86,-96.24 531.86,-92.74 531.86,-99.74" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M508.35,-96.24C515.93,-96.24 523.93,-96.24 531.99,-96.24" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="531.86,-99.74 541.86,-96.24 531.86,-92.74 531.86,-99.74" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M508.35,-96.24C515.93,-96.24 523.93,-96.24 531.99,-96.24"/><title>REVERTING-&gt;REVERT_FAILURE</title></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="610.7" cy="-19.24" rx="44.5" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="610.7" cy="-19.24" rx="44.5" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTED</title><text text-anchor="middle" x="610.7" y="-16.44" font-family="Times,serif" font-size="11.00" fill="darkorange">REVERTED</text></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="573.59,-41.85 580.86,-34.15 570.37,-35.64 573.59,-41.85" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M489.19,-81.57C512.69,-69.41 546.3,-52.03 572.06,-38.71" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="573.59,-41.85 580.86,-34.15 570.37,-35.64 573.59,-41.85" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M489.19,-81.57C512.69,-69.41 546.3,-52.03 572.06,-38.71"/><title>REVERTING-&gt;REVERTED</title></g><g id="edge12" class="edge"><polygon fill="black" stroke="black" points="127.14,-61.73 121.84,-70.91 131.7,-67.04 127.14,-61.73" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M569.16,-12.46C490.81,-1.12 314.35,15.89 178.58,-34.24 160.53,-40.9 142.95,-53.22 129.39,-64.41" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="127.14,-61.73 121.84,-70.91 131.7,-67.04 127.14,-61.73" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M569.16,-12.46C490.81,-1.12 314.35,15.89 178.58,-34.24 160.53,-40.9 142.95,-53.22 129.39,-64.41"/><title>REVERTED-&gt;PENDING</title></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="271.84,-52.15 262.25,-56.66 272.56,-59.11 271.84,-52.15" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M416.02,-44.73C383.5,-46.73 337.69,-49.77 297.56,-53.24 289.33,-53.95 280.61,-54.78 272.12,-55.64" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="271.84,-52.15 262.25,-56.66 272.56,-59.11 271.84,-52.15" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M416.02,-44.73C383.5,-46.73 337.69,-49.77 297.56,-53.24 289.33,-53.95 280.61,-54.78 272.12,-55.64"/><title>RETRYING-&gt;RUNNING</title></g><g id="node10" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-88.24" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-88.24" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><title>__start__</title><text text-anchor="middle" x="10" y="-75.84" font-family="Times,serif" font-size="11.00" fill="green">start</text></g><g id="edge13" class="edge"><polygon fill="black" stroke="black" points="51.33,-91.74 61.33,-88.24 51.33,-84.74 51.33,-91.74" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-88.24C31.99,-88.24 41.04,-88.24 51.33,-88.24" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="51.33,-91.74 61.33,-88.24 51.33,-84.74 51.33,-91.74" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-88.24C31.99,-88.24 41.04,-88.24 51.33,-88.24"/><title>__start__-&gt;PENDING</title></g></g>
8
+ </svg>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
3
+ <!-- Generated by graphviz version 7.1.0 (0)
4
+ -->
5
+ <!-- Title: Tasks states Pages: 1 -->
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="685pt" height="144pt" viewBox="0.00 0.00 685.45 144.00" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.1" contentScriptType="application/ecmascript" contentStyleType="text/css"><defs><linearGradient id="white" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient><linearGradient id="black" x1="0%" y1="0%" x2="0%" y2="0%"><stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1"/></linearGradient><linearGradient id="aquamarine" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(127,255,212);stop-opacity:1"/></linearGradient><linearGradient id="azure" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(240,255,255);stop-opacity:1"/></linearGradient><linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1"/></linearGradient><linearGradient id="blueviolet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(138,43,226);stop-opacity:1"/></linearGradient><linearGradient id="brown" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(165,42,42);stop-opacity:1"/></linearGradient><linearGradient id="cadetblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(95,158,160);stop-opacity:1"/></linearGradient><linearGradient id="chocolate" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(210,105,30);stop-opacity:1"/></linearGradient><linearGradient id="cornflowerblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(100,149,237);stop-opacity:1"/></linearGradient><linearGradient id="crimson" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(220,20,60);stop-opacity:1"/></linearGradient><linearGradient id="cyan" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,255);stop-opacity:1"/></linearGradient><linearGradient id="darkgreen" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,100,0);stop-opacity:1"/></linearGradient><linearGradient id="darkorange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,140,0);stop-opacity:1"/></linearGradient><linearGradient id="gold" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,215,0);stop-opacity:1"/></linearGradient><linearGradient id="gray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="greenyellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,255,47);stop-opacity:1"/></linearGradient><linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,255,0);stop-opacity:1"/></linearGradient><linearGradient id="grey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(192,192,192);stop-opacity:1"/></linearGradient><linearGradient id="hotpink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,105,180);stop-opacity:1"/></linearGradient><linearGradient id="indianred" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(205,92,92);stop-opacity:1"/></linearGradient><linearGradient id="indigo" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(75,0,130);stop-opacity:1"/></linearGradient><linearGradient id="lavender" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(230,230,250);stop-opacity:1"/></linearGradient><linearGradient id="lightblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(173,216,230);stop-opacity:1"/></linearGradient><linearGradient id="lightgray" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="lightgrey" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(211,211,211);stop-opacity:1"/></linearGradient><linearGradient id="magenta" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,255);stop-opacity:1"/></linearGradient><linearGradient id="maroon" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(176,48,96);stop-opacity:1"/></linearGradient><linearGradient id="mediumblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(0,0,205);stop-opacity:1"/></linearGradient><linearGradient id="mediumpurple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(147,112,219);stop-opacity:1"/></linearGradient><linearGradient id="orange" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,165,0);stop-opacity:1"/></linearGradient><linearGradient id="pink" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,192,203);stop-opacity:1"/></linearGradient><linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(160,32,240);stop-opacity:1"/></linearGradient><linearGradient id="red" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1"/></linearGradient><linearGradient id="steelblue" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(70,130,180);stop-opacity:1"/></linearGradient><linearGradient id="violet" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(238,130,238);stop-opacity:1"/></linearGradient><linearGradient id="yellow" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1"/></linearGradient><linearGradient id="none" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:1"/><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1"/></linearGradient></defs>
7
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 140)"><polygon fill="white" stroke="none" points="-4,4 -4,-140 681.45,-140 681.45,4 -4,4"/><title>Tasks states</title><g id="node1" class="node"><ellipse fill="none" stroke="black" cx="102.89" cy="-91" rx="39.88" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="102.89" cy="-91" rx="39.88" ry="18" style="fill: url(#none);stroke: black;"/><title>PENDING</title><text text-anchor="middle" x="102.89" y="-88.2" font-family="Times,serif" font-size="11.00">PENDING</text></g><g id="node2" class="node"><ellipse fill="none" stroke="black" cx="220.07" cy="-118" rx="35.46" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.07" cy="-118" rx="35.46" ry="18" style="fill: url(#none);stroke: black;"/><title>IGNORE</title><text text-anchor="middle" x="220.07" y="-115.2" font-family="Times,serif" font-size="11.00">IGNORE</text></g><g id="edge1" class="edge"><polygon fill="black" stroke="black" points="180.63,-106.21 191.21,-105.61 182.56,-99.48 180.63,-106.21" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M142.56,-93.65C155.17,-96.14 169.14,-99.44 181.66,-102.86" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="180.63,-106.21 191.21,-105.61 182.56,-99.48 180.63,-106.21" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M142.56,-93.65C155.17,-96.14 169.14,-99.44 181.66,-102.86"/><title>PENDING-&gt;IGNORE</title></g><g id="node3" class="node"><ellipse fill="none" stroke="black" cx="220.07" cy="-64" rx="41.48" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="220.07" cy="-64" rx="41.48" ry="18" style="fill: url(#none);stroke: black;"/><title>RUNNING</title><text text-anchor="middle" x="220.07" y="-61.2" font-family="Times,serif" font-size="11.00">RUNNING</text></g><g id="edge2" class="edge"><polygon fill="black" stroke="black" points="172.71,-78.46 181.65,-72.77 171.11,-71.65 172.71,-78.46" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M138.76,-82.83C149.29,-80.36 161.02,-77.61 172.2,-74.99" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="172.71,-78.46 181.65,-72.77 171.11,-71.65 172.71,-78.46" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M138.76,-82.83C149.29,-80.36 161.02,-77.61 172.2,-74.99"/><title>PENDING-&gt;RUNNING</title></g><g id="edge8" class="edge"><polygon fill="black" stroke="black" points="144.39,-103.35 133.82,-104 142.49,-110.09 144.39,-103.35" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M184.35,-116.11C171.37,-113.67 156.53,-110.25 143.17,-106.64" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="144.39,-103.35 133.82,-104 142.49,-110.09 144.39,-103.35" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M184.35,-116.11C171.37,-113.67 156.53,-110.25 143.17,-106.64"/><title>IGNORE-&gt;PENDING</title></g><g id="node4" class="node"><ellipse fill="none" stroke="black" cx="336.65" cy="-118" rx="37.77" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.65" cy="-118" rx="37.77" ry="18" style="fill: url(#none);stroke: black;"/><title>FAILURE</title><text text-anchor="middle" x="336.65" y="-115.2" font-family="Times,serif" font-size="11.00" fill="red">FAILURE</text></g><g id="edge3" class="edge"><polygon fill="black" stroke="black" points="297.18,-103.74 307.72,-104.84 300.17,-97.41 297.18,-103.74" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M249.1,-77.21C264.1,-84.28 282.76,-93.07 298.9,-100.68" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="297.18,-103.74 307.72,-104.84 300.17,-97.41 297.18,-103.74" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M249.1,-77.21C264.1,-84.28 282.76,-93.07 298.9,-100.68"/><title>RUNNING-&gt;FAILURE</title></g><g id="node5" class="node"><ellipse fill="none" stroke="black" cx="336.65" cy="-64" rx="39.17" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="336.65" cy="-64" rx="39.17" ry="18" style="fill: url(#none);stroke: black;"/><title>SUCCESS</title><text text-anchor="middle" x="336.65" y="-61.2" font-family="Times,serif" font-size="11.00" fill="green">SUCCESS</text></g><g id="edge4" class="edge"><polygon fill="black" stroke="black" points="285.47,-67.5 295.47,-64 285.47,-60.5 285.47,-67.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M261.79,-64C269.48,-64 277.61,-64 285.55,-64" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="285.47,-67.5 295.47,-64 285.47,-60.5 285.47,-67.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M261.79,-64C269.48,-64 277.61,-64 285.55,-64"/><title>RUNNING-&gt;SUCCESS</title></g><g id="node6" class="node"><ellipse fill="none" stroke="black" cx="459.84" cy="-68" rx="48.21" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="459.84" cy="-68" rx="48.21" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTING</title><text text-anchor="middle" x="459.84" y="-65.2" font-family="Times,serif" font-size="11.00">REVERTING</text></g><g id="edge5" class="edge"><polygon fill="black" stroke="black" points="417.01,-89.04 424.92,-81.99 414.35,-82.57 417.01,-89.04" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M366.06,-106.28C380.87,-100.17 399.29,-92.57 415.8,-85.76" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="417.01,-89.04 424.92,-81.99 414.35,-82.57 417.01,-89.04" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M366.06,-106.28C380.87,-100.17 399.29,-92.57 415.8,-85.76"/><title>FAILURE-&gt;REVERTING</title></g><g id="edge10" class="edge"><polygon fill="black" stroke="black" points="399.76,-69.55 409.87,-66.38 399.99,-62.56 399.76,-69.55" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M375.99,-65.27C383.63,-65.52 391.81,-65.79 399.96,-66.06" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="399.76,-69.55 409.87,-66.38 399.99,-62.56 399.76,-69.55" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M375.99,-65.27C383.63,-65.52 391.81,-65.79 399.96,-66.06"/><title>SUCCESS-&gt;REVERTING</title></g><g id="node7" class="node"><ellipse fill="none" stroke="black" cx="610.7" cy="-72" rx="67" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="610.7" cy="-72" rx="67" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERT_FAILURE</title><text text-anchor="middle" x="610.7" y="-69.2" font-family="Times,serif" font-size="11.00" fill="red">REVERT_FAILURE</text></g><g id="edge6" class="edge"><polygon fill="black" stroke="black" points="532.04,-73.41 542.13,-70.18 532.23,-66.42 532.04,-73.41" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M508.35,-69.28C515.98,-69.48 524.05,-69.7 532.17,-69.92" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="532.04,-73.41 542.13,-70.18 532.23,-66.42 532.04,-73.41" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M508.35,-69.28C515.98,-69.48 524.05,-69.7 532.17,-69.92"/><title>REVERTING-&gt;REVERT_FAILURE</title></g><g id="node8" class="node"><ellipse fill="none" stroke="black" cx="610.7" cy="-18" rx="44.5" ry="18" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="none" stroke="black" cx="610.7" cy="-18" rx="44.5" ry="18" style="fill: url(#none);stroke: black;"/><title>REVERTED</title><text text-anchor="middle" x="610.7" y="-15.2" font-family="Times,serif" font-size="11.00" fill="darkorange">REVERTED</text></g><g id="edge7" class="edge"><polygon fill="black" stroke="black" points="565.81,-36.43 574.18,-29.93 563.58,-29.8 565.81,-36.43" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M496.5,-56.02C517.03,-49.13 543.01,-40.4 564.91,-33.04" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="565.81,-36.43 574.18,-29.93 563.58,-29.8 565.81,-36.43" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M496.5,-56.02C517.03,-49.13 543.01,-40.4 564.91,-33.04"/><title>REVERTING-&gt;REVERTED</title></g><g id="edge9" class="edge"><polygon fill="black" stroke="black" points="127,-64.24 121.75,-73.44 131.6,-69.52 127,-64.24" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" d="M568.11,-12.14C489.46,-2.7 314.6,10.36 178.58,-37 160.41,-43.33 142.83,-55.62 129.29,-66.89" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="127,-64.24 121.75,-73.44 131.6,-69.52 127,-64.24" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" d="M568.11,-12.14C489.46,-2.7 314.6,10.36 178.58,-37 160.41,-43.33 142.83,-55.62 129.29,-66.89"/><title>REVERTED-&gt;PENDING</title></g><g id="node9" class="node"><ellipse fill="black" stroke="black" cx="23.6" cy="-91" rx="3.6" ry="3.6" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><ellipse fill="black" stroke="black" cx="23.6" cy="-91" rx="3.6" ry="3.6" style="fill: url(#black);stroke: black;"/><title>__start__</title><text text-anchor="middle" x="10" y="-78.6" font-family="Times,serif" font-size="11.00" fill="green">start</text></g><g id="edge11" class="edge"><polygon fill="black" stroke="black" points="51.33,-94.5 61.33,-91 51.33,-87.5 51.33,-94.5" style="fill: black; stroke: none; fill-opacity:0.3" transform="translate(3,3)"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-91C31.99,-91 41.04,-91 51.33,-91" style="fill: none; stroke: black; stroke-opacity:0.3" transform="translate(3,3)"/><polygon fill="black" stroke="black" points="51.33,-94.5 61.33,-91 51.33,-87.5 51.33,-94.5" style="fill: url(#black);stroke: black;"/><path fill="none" stroke="black" stroke-dasharray="1,5" d="M27.54,-91C31.99,-91 41.04,-91 51.33,-91"/><title>__start__-&gt;PENDING</title></g></g>
8
+ </svg>
@@ -0,0 +1,5 @@
1
+ ---
2
+ backend_services_map:
3
+ redis:
4
+ - redis-server
5
+ - redis-sentinel
@@ -0,0 +1,5 @@
1
+ ---
2
+ backend_services_map:
3
+ redis:
4
+ - redis
5
+ - redis-sentinel
@@ -0,0 +1,21 @@
1
+ - hosts: all
2
+ vars:
3
+ taskflow_backend_daemon: "{{ tox_environment.PIFPAF_DAEMON }}"
4
+ roles:
5
+ - role: bindep
6
+ bindep_profile: "tests-functional-{{ taskflow_backend_daemon }}"
7
+ tasks:
8
+ - name: Include OS-specific variables
9
+ include_vars: "{{ ansible_os_family }}.yaml"
10
+ # NOTE(yoctozepto): Debian and Ubuntu have this nasty policy of starting
11
+ # installed services for us. We don't rely on system-wide service and use
12
+ # pifpaf. Unfortunately, default port may conflict with system-wide service.
13
+ # So, for sanity and resource conservation, let's stop it before tests run.
14
+ - name: "Stop backend services"
15
+ service:
16
+ name: "{{ item }}"
17
+ state: stopped
18
+ enabled: no
19
+ become: yes
20
+ loop: "{{ backend_services_map[taskflow_backend_daemon] }}"
21
+
@@ -0,0 +1,6 @@
1
+ ---
2
+ deprecations:
3
+ - |
4
+ The process_executor module has been deprecated, starting with Python 3.12.
5
+ It is still available in older versions of Python. There is no replacement
6
+ for it.